Make the new error scheme source compatible with older FT versions

by introducing another layer.

* include/freetype/fterrors.h (FT_ERRORDEF_, FT_NOERRORDEF_): New
macros.
(FT_NOERRORDEF): Removed.
* include/*/*err*.h: Use FT_ERRORDEF_ and FT_NOERRORDEF_.
This commit is contained in:
Werner Lemberg 2001-06-18 10:35:00 +00:00
parent b9ae6d06d2
commit f8e9f4261b
15 changed files with 161 additions and 107 deletions

View File

@ -1,3 +1,13 @@
2001-06-18 Werner Lemberg <wl@gnu.org>
Make the new error scheme source compatible with older FT versions
by introducing another layer.
* include/freetype/fterrors.h (FT_ERRORDEF_, FT_NOERRORDEF_): New
macros.
(FT_NOERRORDEF): Removed.
* include/*/*err*.h: Use FT_ERRORDEF_ and FT_NOERRORDEF_.
2001-06-16 Werner Lemberg <wl@gnu.org>
* include/freetype/freetype.h (FT_ENC_TAG): New macro.

View File

@ -34,8 +34,7 @@
/* */
/* { */
/* #undef __FTERRORS_H__ */
/* #define FT_ERRORDEF( e, v, s ) { FT_Err_ ## e, s }, */
/* #define FT_NOERRORDEF( e, v, s ) { FT_Err_ ## e, s }, */
/* #define FT_ERRORDEF( e, v, s ) { e, s }, */
/* #define FT_ERROR_START_LIST { */
/* #define FT_ERROR_END_LIST { 0, 0 } }; */
/* */
@ -62,13 +61,11 @@
#undef FT_NEED_EXTERN_C
/* public interface */
#ifndef FT_ERRORDEF
#define FT_ERRORDEF( e, v, s ) FT_Err_ ## e = v + FT_Mod_Err_Base,
#define FT_NOERRORDEF( e, v, s ) FT_Err_ ## e = v,
#define FT_ERROR_START_LIST enum {
#define FT_ERROR_END_LIST FT_Err_Max };
#define FT_ERRORDEF( e, v, s ) e = v,
#ifdef __cplusplus
#define FT_NEED_EXTERN_C
@ -78,6 +75,26 @@
#endif /* !FT_ERRORDEF */
#ifndef FT_ERROR_START_LIST
#define FT_ERROR_START_LIST enum {
#define FT_ERROR_END_LIST FT_Err_Max };
#endif /* !FT_ERROR_START_LIST */
/* internal interface */
#ifndef FT_ERRORDEF_
#define FT_ERRORDEF_( e, v, s ) \
FT_ERRORDEF( FT_Err_ ## e, v + FT_Mod_Err_Base, s )
#define FT_NOERRORDEF_( e, v, s ) \
FT_ERRORDEF( FT_Err_ ## e, v, s )
#endif /* !FT_ERRORDEF_ */
#ifdef FT_ERROR_START_LIST
FT_ERROR_START_LIST
#endif
@ -85,177 +102,177 @@
/* generic errors */
FT_NOERRORDEF( Ok, 0x00, \
"no error" )
FT_NOERRORDEF_( Ok, 0x00, \
"no error" )
FT_ERRORDEF( Cannot_Open_Resource, 0x01, \
FT_ERRORDEF_( Cannot_Open_Resource, 0x01, \
"cannot open resource" )
FT_ERRORDEF( Unknown_File_Format, 0x02, \
FT_ERRORDEF_( Unknown_File_Format, 0x02, \
"unknown file format" )
FT_ERRORDEF( Invalid_File_Format, 0x03, \
FT_ERRORDEF_( Invalid_File_Format, 0x03, \
"broken file" )
FT_ERRORDEF( Invalid_Version, 0x04, \
FT_ERRORDEF_( Invalid_Version, 0x04, \
"invalid FreeType version" )
FT_ERRORDEF( Lower_Module_Version, 0x05, \
FT_ERRORDEF_( Lower_Module_Version, 0x05, \
"module version is too low" )
FT_ERRORDEF( Invalid_Argument, 0x06, \
FT_ERRORDEF_( Invalid_Argument, 0x06, \
"invalid argument" )
FT_ERRORDEF( Unimplemented_Feature, 0x07, \
FT_ERRORDEF_( Unimplemented_Feature, 0x07, \
"unimplemented feature" )
/* glyph/character errors */
FT_ERRORDEF( Invalid_Glyph_Index, 0x10, \
FT_ERRORDEF_( Invalid_Glyph_Index, 0x10, \
"invalid glyph index" )
FT_ERRORDEF( Invalid_Character_Code, 0x11, \
FT_ERRORDEF_( Invalid_Character_Code, 0x11, \
"invalid character code" )
FT_ERRORDEF( Invalid_Glyph_Format, 0x12, \
FT_ERRORDEF_( Invalid_Glyph_Format, 0x12, \
"unsupported glyph image format" )
FT_ERRORDEF( Cannot_Render_Glyph, 0x13, \
FT_ERRORDEF_( Cannot_Render_Glyph, 0x13, \
"cannot render this glyph format" )
FT_ERRORDEF( Invalid_Outline, 0x14, \
FT_ERRORDEF_( Invalid_Outline, 0x14, \
"invalid outline" )
FT_ERRORDEF( Invalid_Composite, 0x15, \
FT_ERRORDEF_( Invalid_Composite, 0x15, \
"invalid composite glyph" )
FT_ERRORDEF( Too_Many_Hints, 0x16, \
FT_ERRORDEF_( Too_Many_Hints, 0x16, \
"too many hints" )
FT_ERRORDEF( Invalid_Pixel_Size, 0x17, \
FT_ERRORDEF_( Invalid_Pixel_Size, 0x17, \
"invalid pixel size" )
/* handle errors */
FT_ERRORDEF( Invalid_Handle, 0x20, \
FT_ERRORDEF_( Invalid_Handle, 0x20, \
"invalid object handle" )
FT_ERRORDEF( Invalid_Library_Handle, 0x21, \
FT_ERRORDEF_( Invalid_Library_Handle, 0x21, \
"invalid library handle" )
FT_ERRORDEF( Invalid_Driver_Handle, 0x22, \
FT_ERRORDEF_( Invalid_Driver_Handle, 0x22, \
"invalid module handle" )
FT_ERRORDEF( Invalid_Face_Handle, 0x23, \
FT_ERRORDEF_( Invalid_Face_Handle, 0x23, \
"invalid face handle" )
FT_ERRORDEF( Invalid_Size_Handle, 0x24, \
FT_ERRORDEF_( Invalid_Size_Handle, 0x24, \
"invalid size handle" )
FT_ERRORDEF( Invalid_Slot_Handle, 0x25, \
FT_ERRORDEF_( Invalid_Slot_Handle, 0x25, \
"invalid glyph slot handle" )
FT_ERRORDEF( Invalid_CharMap_Handle, 0x26, \
FT_ERRORDEF_( Invalid_CharMap_Handle, 0x26, \
"invalid charmap handle" )
FT_ERRORDEF( Invalid_Cache_Handle, 0x27, \
FT_ERRORDEF_( Invalid_Cache_Handle, 0x27, \
"invalid cache manager handle" )
FT_ERRORDEF( Invalid_Stream_Handle, 0x28, \
FT_ERRORDEF_( Invalid_Stream_Handle, 0x28, \
"invalid stream handle" )
/* driver errors */
FT_ERRORDEF( Too_Many_Drivers, 0x30, \
FT_ERRORDEF_( Too_Many_Drivers, 0x30, \
"too many modules" )
FT_ERRORDEF( Too_Many_Extensions, 0x31, \
FT_ERRORDEF_( Too_Many_Extensions, 0x31, \
"too many extensions" )
/* memory errors */
FT_ERRORDEF( Out_Of_Memory, 0x40, \
FT_ERRORDEF_( Out_Of_Memory, 0x40, \
"out of memory" )
FT_ERRORDEF( Unlisted_Object, 0x41, \
FT_ERRORDEF_( Unlisted_Object, 0x41, \
"unlisted object" )
/* stream errors */
FT_ERRORDEF( Cannot_Open_Stream, 0x51, \
FT_ERRORDEF_( Cannot_Open_Stream, 0x51, \
"cannot open stream" )
FT_ERRORDEF( Invalid_Stream_Seek, 0x52, \
FT_ERRORDEF_( Invalid_Stream_Seek, 0x52, \
"invalid stream seek" )
FT_ERRORDEF( Invalid_Stream_Skip, 0x53, \
FT_ERRORDEF_( Invalid_Stream_Skip, 0x53, \
"invalid stream skip" )
FT_ERRORDEF( Invalid_Stream_Read, 0x54, \
FT_ERRORDEF_( Invalid_Stream_Read, 0x54, \
"invalid stream read" )
FT_ERRORDEF( Invalid_Stream_Operation, 0x55, \
FT_ERRORDEF_( Invalid_Stream_Operation, 0x55, \
"invalid stream operation" )
FT_ERRORDEF( Invalid_Frame_Operation, 0x56, \
FT_ERRORDEF_( Invalid_Frame_Operation, 0x56, \
"invalid frame operation" )
FT_ERRORDEF( Nested_Frame_Access, 0x57, \
FT_ERRORDEF_( Nested_Frame_Access, 0x57, \
"nested frame access" )
FT_ERRORDEF( Invalid_Frame_Read, 0x58, \
FT_ERRORDEF_( Invalid_Frame_Read, 0x58, \
"invalid frame read" )
/* raster errors */
FT_ERRORDEF( Raster_Uninitialized, 0x60, \
FT_ERRORDEF_( Raster_Uninitialized, 0x60, \
"raster uninitialized" )
FT_ERRORDEF( Raster_Corrupted, 0x61, \
FT_ERRORDEF_( Raster_Corrupted, 0x61, \
"raster corrupted" )
FT_ERRORDEF( Raster_Overflow, 0x62, \
FT_ERRORDEF_( Raster_Overflow, 0x62, \
"raster overflow" )
FT_ERRORDEF( Raster_Negative_Height, 0x63, \
FT_ERRORDEF_( Raster_Negative_Height, 0x63, \
"negative height while rastering" )
/* cache errors */
FT_ERRORDEF( Too_Many_Caches, 0x70, \
FT_ERRORDEF_( Too_Many_Caches, 0x70, \
"too many registered caches" )
/* TrueType and SFNT errors */
FT_ERRORDEF( Invalid_Opcode, 0x80, \
FT_ERRORDEF_( Invalid_Opcode, 0x80, \
"invalid opcode" )
FT_ERRORDEF( Too_Few_Arguments, 0x81, \
FT_ERRORDEF_( Too_Few_Arguments, 0x81, \
"too few arguments" )
FT_ERRORDEF( Stack_Overflow, 0x82, \
FT_ERRORDEF_( Stack_Overflow, 0x82, \
"stack overflow" )
FT_ERRORDEF( Code_Overflow, 0x83, \
FT_ERRORDEF_( Code_Overflow, 0x83, \
"code overflow" )
FT_ERRORDEF( Bad_Argument, 0x84, \
FT_ERRORDEF_( Bad_Argument, 0x84, \
"bad argument" )
FT_ERRORDEF( Divide_By_Zero, 0x85, \
FT_ERRORDEF_( Divide_By_Zero, 0x85, \
"division by zero" )
FT_ERRORDEF( Invalid_Reference, 0x86, \
FT_ERRORDEF_( Invalid_Reference, 0x86, \
"invalid reference" )
FT_ERRORDEF( Debug_OpCode, 0x87, \
FT_ERRORDEF_( Debug_OpCode, 0x87, \
"found debug opcode" )
FT_ERRORDEF( ENDF_In_Exec_Stream, 0x88, \
FT_ERRORDEF_( ENDF_In_Exec_Stream, 0x88, \
"found ENDF opcode in execution stream" )
FT_ERRORDEF( Nested_DEFS, 0x89, \
FT_ERRORDEF_( Nested_DEFS, 0x89, \
"nested DEFS" )
FT_ERRORDEF( Invalid_CodeRange, 0x8A, \
FT_ERRORDEF_( Invalid_CodeRange, 0x8A, \
"invalid code range" )
FT_ERRORDEF( Execution_Too_Long, 0x8B, \
FT_ERRORDEF_( Execution_Too_Long, 0x8B, \
"execution context too long" )
FT_ERRORDEF( Too_Many_Function_Defs, 0x8C, \
FT_ERRORDEF_( Too_Many_Function_Defs, 0x8C, \
"too many function definitions" )
FT_ERRORDEF( Too_Many_Instruction_Defs, 0x8D, \
FT_ERRORDEF_( Too_Many_Instruction_Defs, 0x8D, \
"too many instruction definitions" )
FT_ERRORDEF( Table_Missing, 0x8E, \
FT_ERRORDEF_( Table_Missing, 0x8E, \
"SFNT font table missing" )
FT_ERRORDEF( Horiz_Header_Missing, 0x8F, \
FT_ERRORDEF_( Horiz_Header_Missing, 0x8F, \
"horizontal header (hhea) table missing" )
FT_ERRORDEF( Locations_Missing, 0x90, \
FT_ERRORDEF_( Locations_Missing, 0x90, \
"locations (loca) table missing" )
FT_ERRORDEF( Name_Table_Missing, 0x91, \
FT_ERRORDEF_( Name_Table_Missing, 0x91, \
"name table missing" )
FT_ERRORDEF( CMap_Table_Missing, 0x92, \
FT_ERRORDEF_( CMap_Table_Missing, 0x92, \
"character map (cmap) table missing" )
FT_ERRORDEF( Hmtx_Table_Missing, 0x93, \
FT_ERRORDEF_( Hmtx_Table_Missing, 0x93, \
"horizontal metrics (hmtx) table missing" )
FT_ERRORDEF( Post_Table_Missing, 0x94, \
FT_ERRORDEF_( Post_Table_Missing, 0x94, \
"PostScript (post) table missing" )
FT_ERRORDEF( Invalid_Horiz_Metrics, 0x95, \
FT_ERRORDEF_( Invalid_Horiz_Metrics, 0x95, \
"invalid horizontal metrics" )
FT_ERRORDEF( Invalid_CharMap_Format, 0x96, \
FT_ERRORDEF_( Invalid_CharMap_Format, 0x96, \
"invalid character map (cmap) format" )
FT_ERRORDEF( Invalid_PPem, 0x97, \
FT_ERRORDEF_( Invalid_PPem, 0x97, \
"invalid ppem value" )
FT_ERRORDEF( Invalid_Vert_Metrics, 0x98, \
FT_ERRORDEF_( Invalid_Vert_Metrics, 0x98, \
"invalid vertical metrics" )
FT_ERRORDEF( Could_Not_Find_Context, 0x99, \
FT_ERRORDEF_( Could_Not_Find_Context, 0x99, \
"could not find context" )
FT_ERRORDEF( Invalid_Post_Table_Format, 0x9A, \
FT_ERRORDEF_( Invalid_Post_Table_Format, 0x9A, \
"invalid PostScript (post) table format" )
FT_ERRORDEF( Invalid_Post_Table, 0x9B, \
FT_ERRORDEF_( Invalid_Post_Table, 0x9B, \
"invalid PostScript (post) table" )
/* CFF, CID, and Type 1 errors */
FT_ERRORDEF( Syntax_Error, 0xA0, \
FT_ERRORDEF_( Syntax_Error, 0xA0, \
"opcode syntax error" )
FT_ERRORDEF( Stack_Underflow, 0xA1, \
FT_ERRORDEF_( Stack_Underflow, 0xA1, \
"argument stack underflow" )
@ -267,7 +284,8 @@
#undef FT_ERROR_START_LIST
#undef FT_ERROR_END_LIST
#undef FT_ERRORDEF
#undef FT_NOERRORDEF
#undef FT_ERRORDEF_
#undef FT_NOERRORDEF_
#ifdef FT_NEED_EXTERN_C

View File

@ -30,8 +30,10 @@
#undef __FTERRORS_H__
#define FT_ERRORDEF( e, v, s ) AH_Err_ ## e = v + FT_Mod_Err_Autohint,
#define FT_NOERRORDEF( e, v, s ) AH_Err_ ## e = v,
#define FT_ERRORDEF_( e, v, s ) \
FT_ERRORDEF( AH_Err_ ## e, v + FT_Mod_Err_Autohint, s )
#define FT_NOERRORDEF_( e, v, s ) \
FT_ERRORDEF( AH_Err_ ## e, v, s )
#define FT_ERROR_START_LIST enum {
#define FT_ERROR_END_LIST AH_Err_Max };

View File

@ -30,8 +30,10 @@
#undef __FTERRORS_H__
#define FT_ERRORDEF( e, v, s ) FTC_Err_ ## e = v + FT_Mod_Err_Cache,
#define FT_NOERRORDEF( e, v, s ) FTC_Err_ ## e = v,
#define FT_ERRORDEF_( e, v, s ) \
FT_ERRORDEF( FTC_Err_ ## e, v + FT_Mod_Err_Cache, s )
#define FT_NOERRORDEF_( e, v, s ) \
FT_ERRORDEF( FTC_Err_ ## e, v, s )
#define FT_ERROR_START_LIST enum {
#define FT_ERROR_END_LIST FTC_Err_Max };

View File

@ -29,8 +29,10 @@
#undef __FTERRORS_H__
#define FT_ERRORDEF( e, v, s ) CFF_Err_ ## e = v + FT_Mod_Err_CFF,
#define FT_NOERRORDEF( e, v, s ) CFF_Err_ ## e = v,
#define FT_ERRORDEF_( e, v, s ) \
FT_ERRORDEF( CFF_Err_ ## e, v + FT_Mod_Err_CFF, s )
#define FT_NOERRORDEF_( e, v, s ) \
FT_ERRORDEF( CFF_Err_ ## e, v, s )
#define FT_ERROR_START_LIST enum {
#define FT_ERROR_END_LIST CFF_Err_Max };

View File

@ -29,8 +29,10 @@
#undef __FTERRORS_H__
#define FT_ERRORDEF( e, v, s ) CID_Err_ ## e = v + FT_Mod_Err_CID,
#define FT_NOERRORDEF( e, v, s ) CID_Err_ ## e = v,
#define FT_ERRORDEF_( e, v, s ) \
FT_ERRORDEF( CID_Err_ ## e, v + FT_Mod_Err_CID, s )
#define FT_NOERRORDEF_( e, v, s ) \
FT_ERRORDEF( CID_Err_ ## e, v, s )
#define FT_ERROR_START_LIST enum {
#define FT_ERROR_END_LIST CID_Err_Max };

View File

@ -29,8 +29,10 @@
#undef __FTERRORS_H__
#define FT_ERRORDEF( e, v, s ) PCF_Err_ ## e = v + FT_Mod_Err_PCF,
#define FT_NOERRORDEF( e, v, s ) PCF_Err_ ## e = v,
#define FT_ERRORDEF_( e, v, s ) \
FT_ERRORDEF( PCF_Err_ ## e, v + FT_Mod_Err_PCF, s )
#define FT_NOERRORDEF_( e, v, s ) \
FT_ERRORDEF( PCF_Err_ ## e, v, s )
#define FT_ERROR_START_LIST enum {
#define FT_ERROR_END_LIST PCF_Err_Max };

View File

@ -30,8 +30,10 @@
#undef __FTERRORS_H__
#define FT_ERRORDEF( e, v, s ) PSaux_Err_ ## e = v + FT_Mod_Err_PSaux,
#define FT_NOERRORDEF( e, v, s ) PSaux_Err_ ## e = v,
#define FT_ERRORDEF_( e, v, s ) \
FT_ERRORDEF( PSaux_Err_ ## e, v + FT_Mod_Err_PSaux, s )
#define FT_NOERRORDEF_( e, v, s ) \
FT_ERRORDEF( PSaux_Err_ ## e, v, s )
#define FT_ERROR_START_LIST enum {
#define FT_ERROR_END_LIST PSaux_Err_Max };

View File

@ -30,8 +30,10 @@
#undef __FTERRORS_H__
#define FT_ERRORDEF( e, v, s ) PSnames_Err_ ## e = v + FT_Mod_Err_PSnames,
#define FT_NOERRORDEF( e, v, s ) PSnames_Err_ ## e = v,
#define FT_ERRORDEF_( e, v, s ) \
FT_ERRORDEF( PSnames_Err_ ## e, v + FT_Mod_Err_PSnames, s )
#define FT_NOERRORDEF_( e, v, s ) \
FT_ERRORDEF( PSnames_Err_ ## e, v, s )
#define FT_ERROR_START_LIST enum {
#define FT_ERROR_END_LIST PSnames_Err_Max };

View File

@ -30,8 +30,10 @@
#undef __FTERRORS_H__
#define FT_ERRORDEF( e, v, s ) Raster_Err_ ## e = v + FT_Mod_Err_Raster,
#define FT_NOERRORDEF( e, v, s ) Raster_Err_ ## e = v,
#define FT_ERRORDEF_( e, v, s ) \
FT_ERRORDEF( Raster_Err_ ## e, v + FT_Mod_Err_Raster, s )
#define FT_NOERRORDEF_( e, v, s ) \
FT_ERRORDEF( Raster_Err_ ## e, v, s )
#define FT_ERROR_START_LIST enum {
#define FT_ERROR_END_LIST Raster_Err_Max };

View File

@ -29,8 +29,10 @@
#undef __FTERRORS_H__
#define FT_ERRORDEF( e, v, s ) SFNT_Err_ ## e = v + FT_Mod_Err_SFNT,
#define FT_NOERRORDEF( e, v, s ) SFNT_Err_ ## e = v,
#define FT_ERRORDEF_( e, v, s ) \
FT_ERRORDEF( SFNT_Err_ ## e, v + FT_Mod_Err_SFNT, s )
#define FT_NOERRORDEF_( e, v, s ) \
FT_ERRORDEF( SFNT_Err_ ## e, v, s )
#define FT_ERROR_START_LIST enum {
#define FT_ERROR_END_LIST SFNT_Err_Max };

View File

@ -30,8 +30,10 @@
#undef __FTERRORS_H__
#define FT_ERRORDEF( e, v, s ) Smooth_Err_ ## e = v + FT_Mod_Err_Smooth,
#define FT_NOERRORDEF( e, v, s ) Smooth_Err_ ## e = v,
#define FT_ERRORDEF_( e, v, s ) \
FT_ERRORDEF( Smooth_Err_ ## e, v + FT_Mod_Err_Smooth, s )
#define FT_NOERRORDEF_( e, v, s ) \
FT_ERRORDEF( Smooth_Err_ ## e, v, s )
#define FT_ERROR_START_LIST enum {
#define FT_ERROR_END_LIST Smooth_Err_Max };

View File

@ -30,8 +30,10 @@
#undef __FTERRORS_H__
#define FT_ERRORDEF( e, v, s ) TT_Err_ ## e = v + FT_Mod_Err_TrueType,
#define FT_NOERRORDEF( e, v, s ) TT_Err_ ## e = v,
#define FT_ERRORDEF_( e, v, s ) \
FT_ERRORDEF( TT_Err_ ## e, v + FT_Mod_Err_TrueType, s )
#define FT_NOERRORDEF_( e, v, s ) \
FT_ERRORDEF( TT_Err_ ## e, v, s )
#define FT_ERROR_START_LIST enum {
#define FT_ERROR_END_LIST TT_Err_Max };

View File

@ -29,8 +29,10 @@
#undef __FTERRORS_H__
#define FT_ERRORDEF( e, v, s ) T1_Err_ ## e = v + FT_Mod_Err_Type1,
#define FT_NOERRORDEF( e, v, s ) T1_Err_ ## e = v,
#define FT_ERRORDEF_( e, v, s ) \
FT_ERRORDEF( T1_Err_ ## e, v + FT_Mod_Err_Type1, s )
#define FT_NOERRORDEF_( e, v, s ) \
FT_ERRORDEF( T1_Err_ ## e, v, s )
#define FT_ERROR_START_LIST enum {
#define FT_ERROR_END_LIST T1_Err_Max };

View File

@ -30,8 +30,10 @@
#undef __FTERRORS_H__
#define FT_ERRORDEF( e, v, s ) FNT_Err_ ## e = v + FT_Mod_Err_Winfonts,
#define FT_NOERRORDEF( e, v, s ) FNT_Err_ ## e = v,
#define FT_ERRORDEF_( e, v, s ) \
FT_ERRORDEF( FNT_Err_ ## e, v + FT_Mod_Err_Winfonts, s )
#define FT_NOERRORDEF_( e, v, s ) \
FT_ERRORDEF( FNT_Err_ ## e, v, s )
#define FT_ERROR_START_LIST enum {
#define FT_ERROR_END_LIST FNT_Err_Max };