* include/freetype/ftconfig.h: changed FT_LOCAL xxxx to FT_LOCAL( xxxx )

everywhere in the source. Sames goes for FT_LOCAL_DEF xxxx translated
        into FT_LOCAL_DEF( xxxxx )
This commit is contained in:
David Turner 2002-03-01 02:26:22 +00:00
parent 041889e763
commit bc82f1bbef
75 changed files with 858 additions and 590 deletions

View File

@ -1,24 +1,28 @@
2002-02-28 David Turner <david@freetype.org> 2002-02-28 David Turner <david@freetype.org>
* include/freetype/ftconfig.h: changed FT_LOCAL xxxx to FT_LOCAL( xxxx )
everywhere in the source. Sames goes for FT_LOCAL_DEF xxxx translated
into FT_LOCAL_DEF( xxxxx )
* include/freetype/freetype.h: changing version to 2.1.0 to indicate * include/freetype/freetype.h: changing version to 2.1.0 to indicate
an unstable branch. Added the declarations of FT_Get_First_Char and an unstable branch. Added the declarations of FT_Get_First_Char and
FT_Get_Next_Char FT_Get_Next_Char
* src/base/ftobjs.c: implemented FT_Get_First_Char and FT_Get_Next_Char * src/base/ftobjs.c: implemented FT_Get_First_Char and FT_Get_Next_Char
* include/freetype/t1tables.h: re-naming structure types. This done * include/freetype/t1tables.h: re-naming structure types. This done
basically: basically:
typedef T1_Struct_ typedef T1_Struct_
{ {
} T1_Struct; } T1_Struct;
becomes: becomes:
typedef PS_StructRec_ typedef PS_StructRec_
{ {
} PS_StructRec, *PS_Struct; } PS_StructRec, *PS_Struct;
typedef PS_StructRec T1_Struct; /* backwards-compatibility */ typedef PS_StructRec T1_Struct; /* backwards-compatibility */

View File

@ -205,17 +205,17 @@ FT_BEGIN_HEADER
#ifdef FT_MAKE_OPTION_SINGLE_OBJECT #ifdef FT_MAKE_OPTION_SINGLE_OBJECT
#define FT_LOCAL static #define FT_LOCAL(x) static x
#define FT_LOCAL_DEF static #define FT_LOCAL_DEF(x) static x
#else #else
#ifdef __cplusplus #ifdef __cplusplus
#define FT_LOCAL extern "C" #define FT_LOCAL(x) extern "C" x
#define FT_LOCAL_DEF extern "C" #define FT_LOCAL_DEF(x) extern "C" x
#else #else
#define FT_LOCAL extern #define FT_LOCAL(x) extern x
#define FT_LOCAL_DEF extern #define FT_LOCAL_DEF(x) extern x
#endif #endif
#endif /* FT_MAKE_OPTION_SINGLE_OBJECT */ #endif /* FT_MAKE_OPTION_SINGLE_OBJECT */

View File

@ -76,6 +76,15 @@ FT_BEGIN_HEADER
/*************************************************************************/ /*************************************************************************/
#undef FT_CONFIG_OPTION_USE_CMAPS
#define TT_CONFIG_CMAP_FORMAT_0
#define TT_CONFIG_CMAP_FORMAT_2
#define TT_CONFIG_CMAP_FORMAT_4
#define TT_CONFIG_CMAP_FORMAT_6
#define TT_CONFIG_CMAP_FORMAT_8
#define TT_CONFIG_CMAP_FORMAT_10
#define TT_CONFIG_CMAP_FORMAT_12
/*************************************************************************/ /*************************************************************************/
/* */ /* */
/* Convenience functions support */ /* Convenience functions support */

View File

@ -218,16 +218,22 @@ FT_BEGIN_HEADER
#define MEM_Free( _pointer_ ) \ #define MEM_Free( _pointer_ ) \
FT_Free_Debug( memory, (void**)&(_pointer_), __FILE__, __LINE__ ) FT_Free_Debug( memory, (void**)&(_pointer_), __FILE__, __LINE__ )
#else /* !FT_DEBUG_MEMORY */ #else /* !FT_DEBUG_MEMORY */
#define MEM_Alloc( _pointer_, _size_ ) \ #define MEM_Alloc( _pointer_, _size_ ) \
FT_Alloc( memory, _size_, (void**)&(_pointer_) ) FT_Alloc( memory, _size_, (void**)&(_pointer_) )
#define MEM_New( _pointer_ ) MEM_Alloc( _pointer_, sizeof(*(_pointer_)) )
#define MEM_Alloc_Array( _pointer_, _count_, _type_ ) \ #define MEM_Alloc_Array( _pointer_, _count_, _type_ ) \
FT_Alloc( memory, (_count_)*sizeof ( _type_ ), \ FT_Alloc( memory, (_count_)*sizeof ( _type_ ), \
(void**)&(_pointer_) ) (void**)&(_pointer_) )
#define MEM_New_Array( _pointer_, _count_ ) \
MEM_Alloc_Array( _pointer_, _count_, sizeof(*(_pointer_)) )
#define MEM_Realloc( _pointer_, _current_, _size_ ) \ #define MEM_Realloc( _pointer_, _current_, _size_ ) \
FT_Realloc( memory, _current_, _size_, (void**)&(_pointer_) ) FT_Realloc( memory, _current_, _size_, (void**)&(_pointer_) )
@ -235,6 +241,9 @@ FT_BEGIN_HEADER
FT_Realloc( memory, (_current_)*sizeof ( _type_ ), \ FT_Realloc( memory, (_current_)*sizeof ( _type_ ), \
(_new_)*sizeof ( _type_ ), (void**)&(_pointer_) ) (_new_)*sizeof ( _type_ ), (void**)&(_pointer_) )
#define MEM_Renew_Array( _pointer_, _current_, _new_ ) \
MEM_Realloc_Array( _pointer_, _current_, _new_, *(_pointer_) )
#define MEM_Free( _pointer_ ) \ #define MEM_Free( _pointer_ ) \
FT_Free( memory, (void**)&(_pointer_) ) FT_Free( memory, (void**)&(_pointer_) )
@ -244,6 +253,9 @@ FT_BEGIN_HEADER
#define ALLOC( _pointer_, _size_ ) \ #define ALLOC( _pointer_, _size_ ) \
FT_SET_ERROR( MEM_Alloc( _pointer_, _size_ ) ) FT_SET_ERROR( MEM_Alloc( _pointer_, _size_ ) )
#define NEW( _pointer_ ) \
FT_SET_ERROR( MEM_New( _pointer_ ) )
#define REALLOC( _pointer_, _current_, _size_ ) \ #define REALLOC( _pointer_, _current_, _size_ ) \
FT_SET_ERROR( MEM_Realloc( _pointer_, _current_, _size_ ) ) FT_SET_ERROR( MEM_Realloc( _pointer_, _current_, _size_ ) )
@ -251,11 +263,17 @@ FT_BEGIN_HEADER
FT_SET_ERROR( MEM_Alloc( _pointer_, \ FT_SET_ERROR( MEM_Alloc( _pointer_, \
(_count_)*sizeof ( _type_ ) ) ) (_count_)*sizeof ( _type_ ) ) )
#define NEW_ARRAY( _pointer_, _count_ ) \
FT_SET_ERROR( MEM_New_Array( _pointer_, _count_ ) )
#define REALLOC_ARRAY( _pointer_, _current_, _count_, _type_ ) \ #define REALLOC_ARRAY( _pointer_, _current_, _count_, _type_ ) \
FT_SET_ERROR( MEM_Realloc( _pointer_, \ FT_SET_ERROR( MEM_Realloc( _pointer_, \
(_current_)*sizeof ( _type_ ), \ (_current_)*sizeof ( _type_ ), \
(_count_)*sizeof ( _type_ ) ) ) (_count_)*sizeof ( _type_ ) ) )
#define RENEW_ARRAY( _pointer_, _current_, _new_ ) \
FT_SET_ERROR( MEM_Renew_Array( _pointer_, _current_, _new_ ) )
#define FREE( _pointer_ ) \ #define FREE( _pointer_ ) \
MEM_Free( _pointer_ ) MEM_Free( _pointer_ )

View File

@ -102,7 +102,7 @@ FT_BEGIN_HEADER
* FT_VALIDATE_TIGHT :: * FT_VALIDATE_TIGHT ::
* a table that passes this validation level can be used reliably and * a table that passes this validation level can be used reliably and
* doesn't contain invalid data. For example, a charmap table that * doesn't contain invalid data. For example, a charmap table that
* returns invalid glyph indices will not pass, even though it can * returns invalid glyph indices will not pass, even though it can
* be used with FreeType in default mode (the library will simply * be used with FreeType in default mode (the library will simply
* return an error later when trying to load the glyph) * return an error later when trying to load the glyph)
* *
@ -120,7 +120,7 @@ FT_BEGIN_HEADER
FT_VALIDATE_DEFAULT = 0, FT_VALIDATE_DEFAULT = 0,
FT_VALIDATE_TIGHT, FT_VALIDATE_TIGHT,
FT_VALIDATE_PARANOID FT_VALIDATE_PARANOID
} FT_ValidationLevel; } FT_ValidationLevel;
@ -131,9 +131,9 @@ FT_BEGIN_HEADER
FT_Byte* limit; /* 'base' + sizeof(table) in memory */ FT_Byte* limit; /* 'base' + sizeof(table) in memory */
FT_ValidationLevel level; /* validation level */ FT_ValidationLevel level; /* validation level */
FT_Error error; /* error returned. 0 means success */ FT_Error error; /* error returned. 0 means success */
jmp_buf jump_buffer; /* used for exception handling */ jmp_buf jump_buffer; /* used for exception handling */
} FT_ValidatorRec; } FT_ValidatorRec;
@ -183,7 +183,7 @@ FT_BEGIN_HEADER
/* handle to internal charmap object */ /* handle to internal charmap object */
typedef struct FT_CMapRec_* FT_CMap; typedef struct FT_CMapRec_* FT_CMap;
/* handle to charmap class structure */ /* handle to charmap class structure */
typedef const struct FT_CMap_ClassRec_* FT_CMap_Class; typedef const struct FT_CMap_ClassRec_* FT_CMap_Class;
@ -192,8 +192,7 @@ FT_BEGIN_HEADER
{ {
FT_CharMapRec charmap; FT_CharMapRec charmap;
FT_CMap_Class clazz; FT_CMap_Class clazz;
FT_Pointer data;
} FT_CMapRec; } FT_CMapRec;
/* typecase any pointer to a charmap handle */ /* typecase any pointer to a charmap handle */
@ -208,15 +207,16 @@ FT_BEGIN_HEADER
/* class method definitions */ /* class method definitions */
typedef FT_Error (*FT_CMap_InitFunc)( FT_CMap cmap, typedef FT_Error (*FT_CMap_InitFunc)( FT_CMap cmap,
FT_Pointer data ); FT_Pointer init_data );
typedef void (*FT_CMap_DoneFunc)( FT_CMap cmap ); typedef void (*FT_CMap_DoneFunc)( FT_CMap cmap );
typedef FT_UInt (*FT_CMap_CharIndexFunc)( FT_Pointer cmap_data, typedef FT_UInt (*FT_CMap_CharIndexFunc)( FT_CMap cmap,
FT_ULong char_code ); FT_UInt32 char_code );
typedef FT_UInt (*FT_CMap_CharNextFunc)( FT_Pointer cmap_data, typedef FT_UInt32 (*FT_CMap_CharNextFunc)( FT_CMap cmap,
FT_ULong *achar_code ); FT_UInt32 char_code,
FT_UInt *agindex );
typedef struct FT_CMap_ClassRec_ typedef struct FT_CMap_ClassRec_
{ {
@ -225,14 +225,14 @@ FT_BEGIN_HEADER
FT_CMap_DoneFunc done; FT_CMap_DoneFunc done;
FT_CMap_CharIndexFunc char_index; FT_CMap_CharIndexFunc char_index;
FT_CMap_CharNextFunc char_next; FT_CMap_CharNextFunc char_next;
} FT_CMap_ClassRec; } FT_CMap_ClassRec;
/* create a new charmap and add it to charmap->face */ /* create a new charmap and add it to charmap->face */
FT_BASE( FT_Error ) FT_BASE( FT_Error )
FT_CMap_New( FT_CMap_Class clazz, FT_CMap_New( FT_CMap_Class clazz,
FT_Pointer data, FT_Pointer init_data,
FT_CharMap charmap, FT_CharMap charmap,
FT_CMap *acmap ); FT_CMap *acmap );

View File

@ -1101,18 +1101,6 @@ FT_BEGIN_HEADER
} TT_CharMapRec; } TT_CharMapRec;
typedef const struct TT_CMap_ClassRec_* TT_CMap_Class;
typedef FT_Error (*TT_CMap_ValidateFunc)( FT_Byte* data,
FT_Validator valid );
typedef struct TT_CMap_ClassRec_
{
FT_CMap_ClassRec clazz;
TT_CMap_ValidateFunc validate;
} TT_CMap_ClassRec;
/*************************************************************************/ /*************************************************************************/
@ -1485,9 +1473,18 @@ FT_BEGIN_HEADER
TT_OS2 os2; /* TrueType OS/2 table */ TT_OS2 os2; /* TrueType OS/2 table */
TT_Postscript postscript; /* TrueType Postscript table */ TT_Postscript postscript; /* TrueType Postscript table */
#ifdef FT_CONFIG_OPTION_USE_CMAPS
FT_Byte* cmap_table; /* extracted 'cmap' table */
FT_ULong cmap_size;
#else /* !FT_CONFIG_OPTION_USE_CMAPS */
FT_Int num_charmaps; FT_Int num_charmaps;
TT_CharMap charmaps; /* array of TT_CharMapRec */ TT_CharMap charmaps; /* array of TT_CharMapRec */
#endif /* !FT_CONFIG_OPTION_USE_CMAPS */
TT_Goto_Table_Func goto_table; TT_Goto_Table_Func goto_table;
TT_Access_Glyph_Frame_Func access_glyph_frame; TT_Access_Glyph_Frame_Func access_glyph_frame;

View File

@ -64,7 +64,7 @@
}; };
FT_LOCAL_DEF AH_Angle FT_LOCAL_DEF( AH_Angle )
ah_angle( FT_Vector* v ) ah_angle( FT_Vector* v )
{ {
FT_Pos dx, dy; FT_Pos dx, dy;

View File

@ -47,7 +47,7 @@ FT_BEGIN_HEADER
const AH_Angle ah_arctan[1L << AH_ATAN_BITS]; const AH_Angle ah_arctan[1L << AH_ATAN_BITS];
FT_LOCAL AH_Angle FT_LOCAL( AH_Angle )
ah_angle( FT_Vector* v ); ah_angle( FT_Vector* v );

View File

@ -384,7 +384,7 @@
} }
FT_LOCAL_DEF FT_Error FT_LOCAL_DEF( FT_Error )
ah_hinter_compute_globals( AH_Hinter* hinter ) ah_hinter_compute_globals( AH_Hinter* hinter )
{ {
return ah_hinter_compute_widths( hinter ) || return ah_hinter_compute_widths( hinter ) ||

View File

@ -37,8 +37,7 @@ FT_BEGIN_HEADER
/* compute global metrics automatically */ /* compute global metrics automatically */
FT_LOCAL FT_LOCAL( FT_Error ) ah_hinter_compute_globals( AH_Hinter* hinter );
FT_Error ah_hinter_compute_globals( AH_Hinter* hinter );
FT_END_HEADER FT_END_HEADER

View File

@ -299,7 +299,7 @@
/* <Description> */ /* <Description> */
/* Creates a new and empty AH_Outline object. */ /* Creates a new and empty AH_Outline object. */
/* */ /* */
FT_LOCAL_DEF FT_Error FT_LOCAL_DEF( FT_Error )
ah_outline_new( FT_Memory memory, ah_outline_new( FT_Memory memory,
AH_Outline** aoutline ) AH_Outline** aoutline )
{ {
@ -325,7 +325,7 @@
/* <Description> */ /* <Description> */
/* Destroys a given AH_Outline object. */ /* Destroys a given AH_Outline object. */
/* */ /* */
FT_LOCAL_DEF void FT_LOCAL_DEF( void )
ah_outline_done( AH_Outline* outline ) ah_outline_done( AH_Outline* outline )
{ {
FT_Memory memory = outline->memory; FT_Memory memory = outline->memory;
@ -349,7 +349,7 @@
/* Saves the content of a given AH_Outline object into a face's glyph */ /* Saves the content of a given AH_Outline object into a face's glyph */
/* slot. */ /* slot. */
/* */ /* */
FT_LOCAL_DEF void FT_LOCAL_DEF( void )
ah_outline_save( AH_Outline* outline, ah_outline_save( AH_Outline* outline,
AH_Loader gloader ) AH_Loader gloader )
{ {
@ -384,7 +384,7 @@
/* Loads an unscaled outline from a glyph slot into an AH_Outline */ /* Loads an unscaled outline from a glyph slot into an AH_Outline */
/* object. */ /* object. */
/* */ /* */
FT_LOCAL_DEF FT_Error FT_LOCAL_DEF( FT_Error )
ah_outline_load( AH_Outline* outline, ah_outline_load( AH_Outline* outline,
FT_Face face ) FT_Face face )
{ {
@ -622,7 +622,7 @@
} }
FT_LOCAL_DEF void FT_LOCAL_DEF( void )
ah_setup_uv( AH_Outline* outline, ah_setup_uv( AH_Outline* outline,
AH_UV source ) AH_UV source )
{ {
@ -676,7 +676,7 @@
} }
FT_LOCAL_DEF void FT_LOCAL_DEF( void )
ah_outline_compute_segments( AH_Outline* outline ) ah_outline_compute_segments( AH_Outline* outline )
{ {
int dimension; int dimension;
@ -918,7 +918,7 @@
} }
FT_LOCAL_DEF void FT_LOCAL_DEF( void )
ah_outline_link_segments( AH_Outline* outline ) ah_outline_link_segments( AH_Outline* outline )
{ {
AH_Segment* segments; AH_Segment* segments;
@ -1286,7 +1286,7 @@
/* <Description> */ /* <Description> */
/* Performs feature detection on a given AH_Outline object. */ /* Performs feature detection on a given AH_Outline object. */
/* */ /* */
FT_LOCAL_DEF void FT_LOCAL_DEF( void )
ah_outline_detect_features( AH_Outline* outline ) ah_outline_detect_features( AH_Outline* outline )
{ {
ah_outline_compute_segments( outline ); ah_outline_compute_segments( outline );
@ -1304,7 +1304,7 @@
/* Computes the `blue edges' in a given outline (i.e. those that must */ /* Computes the `blue edges' in a given outline (i.e. those that must */
/* be snapped to a blue zone edge (top or bottom). */ /* be snapped to a blue zone edge (top or bottom). */
/* */ /* */
FT_LOCAL_DEF void FT_LOCAL_DEF( void )
ah_outline_compute_blue_edges( AH_Outline* outline, ah_outline_compute_blue_edges( AH_Outline* outline,
AH_Face_Globals* face_globals ) AH_Face_Globals* face_globals )
{ {
@ -1438,7 +1438,7 @@
/* the contents of the detected edges (basically change the `blue */ /* the contents of the detected edges (basically change the `blue */
/* edge' pointer from `design units' to `scaled ones'). */ /* edge' pointer from `design units' to `scaled ones'). */
/* */ /* */
FT_LOCAL_DEF void FT_LOCAL_DEF( void )
ah_outline_scale_blue_edges( AH_Outline* outline, ah_outline_scale_blue_edges( AH_Outline* outline,
AH_Face_Globals* globals ) AH_Face_Globals* globals )
{ {

View File

@ -45,43 +45,43 @@ FT_BEGIN_HEADER
} AH_UV; } AH_UV;
FT_LOCAL void FT_LOCAL( void )
ah_setup_uv( AH_Outline* outline, ah_setup_uv( AH_Outline* outline,
AH_UV source ); AH_UV source );
/* AH_Outline functions - they should be typically called in this order */ /* AH_Outline functions - they should be typically called in this order */
FT_LOCAL FT_Error FT_LOCAL( FT_Error )
ah_outline_new( FT_Memory memory, ah_outline_new( FT_Memory memory,
AH_Outline** aoutline ); AH_Outline** aoutline );
FT_LOCAL FT_Error FT_LOCAL( FT_Error )
ah_outline_load( AH_Outline* outline, ah_outline_load( AH_Outline* outline,
FT_Face face ); FT_Face face );
FT_LOCAL void FT_LOCAL( void )
ah_outline_compute_segments( AH_Outline* outline ); ah_outline_compute_segments( AH_Outline* outline );
FT_LOCAL void FT_LOCAL( void )
ah_outline_link_segments( AH_Outline* outline ); ah_outline_link_segments( AH_Outline* outline );
FT_LOCAL void FT_LOCAL( void )
ah_outline_detect_features( AH_Outline* outline ); ah_outline_detect_features( AH_Outline* outline );
FT_LOCAL void FT_LOCAL( void )
ah_outline_compute_blue_edges( AH_Outline* outline, ah_outline_compute_blue_edges( AH_Outline* outline,
AH_Face_Globals* globals ); AH_Face_Globals* globals );
FT_LOCAL void FT_LOCAL( void )
ah_outline_scale_blue_edges( AH_Outline* outline, ah_outline_scale_blue_edges( AH_Outline* outline,
AH_Face_Globals* globals ); AH_Face_Globals* globals );
FT_LOCAL void FT_LOCAL( void )
ah_outline_save( AH_Outline* outline, ah_outline_save( AH_Outline* outline,
AH_Loader loader ); AH_Loader loader );
FT_LOCAL void FT_LOCAL( void )
ah_outline_done( AH_Outline* outline ); ah_outline_done( AH_Outline* outline );

View File

@ -378,7 +378,7 @@
} }
FT_LOCAL_DEF void FT_LOCAL_DEF( void )
ah_hinter_hint_edges( AH_Hinter* hinter, ah_hinter_hint_edges( AH_Hinter* hinter,
FT_Bool no_horz_edges, FT_Bool no_horz_edges,
FT_Bool no_vert_edges ) FT_Bool no_vert_edges )
@ -807,7 +807,7 @@
#endif /* !AH_OPTION_NO_WEAK_INTERPOLATION */ #endif /* !AH_OPTION_NO_WEAK_INTERPOLATION */
FT_LOCAL_DEF void FT_LOCAL_DEF( void )
ah_hinter_align_points( AH_Hinter* hinter ) ah_hinter_align_points( AH_Hinter* hinter )
{ {
ah_hinter_align_edge_points( hinter ); ah_hinter_align_edge_points( hinter );
@ -896,7 +896,7 @@
/* finalize a hinter object */ /* finalize a hinter object */
FT_LOCAL_DEF void FT_LOCAL_DEF( void )
ah_hinter_done( AH_Hinter* hinter ) ah_hinter_done( AH_Hinter* hinter )
{ {
if ( hinter ) if ( hinter )
@ -919,7 +919,7 @@
/* create a new empty hinter object */ /* create a new empty hinter object */
FT_LOCAL_DEF FT_Error FT_LOCAL_DEF( FT_Error )
ah_hinter_new( FT_Library library, ah_hinter_new( FT_Library library,
AH_Hinter** ahinter ) AH_Hinter** ahinter )
{ {
@ -955,7 +955,7 @@
/* create a face's autohint globals */ /* create a face's autohint globals */
FT_LOCAL_DEF FT_Error FT_LOCAL_DEF( FT_Error )
ah_hinter_new_face_globals( AH_Hinter* hinter, ah_hinter_new_face_globals( AH_Hinter* hinter,
FT_Face face, FT_Face face,
AH_Globals* globals ) AH_Globals* globals )
@ -987,7 +987,7 @@
/* discard a face's autohint globals */ /* discard a face's autohint globals */
FT_LOCAL_DEF void FT_LOCAL_DEF( void )
ah_hinter_done_face_globals( AH_Face_Globals* globals ) ah_hinter_done_face_globals( AH_Face_Globals* globals )
{ {
FT_Face face = globals->face; FT_Face face = globals->face;
@ -1327,7 +1327,7 @@
/* load and hint a given glyph */ /* load and hint a given glyph */
FT_LOCAL_DEF FT_Error FT_LOCAL_DEF( FT_Error )
ah_hinter_load_glyph( AH_Hinter* hinter, ah_hinter_load_glyph( AH_Hinter* hinter,
FT_GlyphSlot slot, FT_GlyphSlot slot,
FT_Size size, FT_Size size,
@ -1381,7 +1381,7 @@
/* retrieve a face's autohint globals for client applications */ /* retrieve a face's autohint globals for client applications */
FT_LOCAL_DEF void FT_LOCAL_DEF( void )
ah_hinter_get_global_hints( AH_Hinter* hinter, ah_hinter_get_global_hints( AH_Hinter* hinter,
FT_Face face, FT_Face face,
void** global_hints, void** global_hints,
@ -1418,7 +1418,7 @@
} }
FT_LOCAL_DEF void FT_LOCAL_DEF( void )
ah_hinter_done_global_hints( AH_Hinter* hinter, ah_hinter_done_global_hints( AH_Hinter* hinter,
void* global_hints ) void* global_hints )
{ {

View File

@ -37,12 +37,12 @@ FT_BEGIN_HEADER
/* create a new empty hinter object */ /* create a new empty hinter object */
FT_LOCAL FT_Error FT_LOCAL( FT_Error )
ah_hinter_new( FT_Library library, ah_hinter_new( FT_Library library,
AH_Hinter** ahinter ); AH_Hinter** ahinter );
/* Load a hinted glyph in the hinter */ /* Load a hinted glyph in the hinter */
FT_LOCAL FT_Error FT_LOCAL( FT_Error )
ah_hinter_load_glyph( AH_Hinter* hinter, ah_hinter_load_glyph( AH_Hinter* hinter,
FT_GlyphSlot slot, FT_GlyphSlot slot,
FT_Size size, FT_Size size,
@ -50,19 +50,19 @@ FT_BEGIN_HEADER
FT_Int load_flags ); FT_Int load_flags );
/* finalize a hinter object */ /* finalize a hinter object */
FT_LOCAL void FT_LOCAL( void )
ah_hinter_done( AH_Hinter* hinter ); ah_hinter_done( AH_Hinter* hinter );
FT_LOCAL void FT_LOCAL( void )
ah_hinter_done_face_globals( AH_Face_Globals* globals ); ah_hinter_done_face_globals( AH_Face_Globals* globals );
FT_LOCAL void FT_LOCAL( void )
ah_hinter_get_global_hints( AH_Hinter* hinter, ah_hinter_get_global_hints( AH_Hinter* hinter,
FT_Face face, FT_Face face,
void** global_hints, void** global_hints,
long* global_len ); long* global_len );
FT_LOCAL void FT_LOCAL( void )
ah_hinter_done_global_hints( AH_Hinter* hinter, ah_hinter_done_global_hints( AH_Hinter* hinter,
void* global_hints ); void* global_hints );

View File

@ -1382,9 +1382,9 @@
FT_CMap_Class clazz = cmap->clazz; FT_CMap_Class clazz = cmap->clazz;
FT_Face face = cmap->charmap.face; FT_Face face = cmap->charmap.face;
FT_Memory memory = FT_FACE_MEMORY(face); FT_Memory memory = FT_FACE_MEMORY(face);
if ( clazz->done ) if ( clazz->done )
clazz->done( cmap->data ); clazz->done( cmap );
FREE( cmap ); FREE( cmap );
} }
@ -1393,15 +1393,15 @@
FT_BASE_DEF( FT_Error ) FT_BASE_DEF( FT_Error )
FT_CMap_New( FT_CMap_Class clazz, FT_CMap_New( FT_CMap_Class clazz,
FT_Pointer data, FT_Pointer init_data,
FT_CharMap charmap, FT_CharMap charmap,
FT_CMap *acmap ) FT_CMap *acmap )
{ {
FT_Error error = 0; FT_Error error = 0;
FT_Face face; FT_Face face;
FT_Memory memory; FT_Memory memory;
FT_CMap cmap; FT_CMap cmap;
if ( clazz == NULL || charmap == NULL || charmap->face == NULL ) if ( clazz == NULL || charmap == NULL || charmap->face == NULL )
return FT_Err_Invalid_Argument; return FT_Err_Invalid_Argument;
@ -1412,36 +1412,35 @@
{ {
cmap->charmap = *charmap; cmap->charmap = *charmap;
cmap->clazz = clazz; cmap->clazz = clazz;
cmap->data = data;
if ( clazz->init ) if ( clazz->init )
{ {
error = clazz->init( cmap, data ); error = clazz->init( cmap, init_data );
if (error) if (error)
goto Fail; goto Fail;
} }
/* add it to our list of charmaps */ /* add it to our list of charmaps */
if ( REALLOC_ARRAY( face->charmaps, if ( REALLOC_ARRAY( face->charmaps,
face->num_charmaps, face->num_charmaps,
face->num_charmaps+1, face->num_charmaps+1,
FT_CharMap* ) ) FT_CharMap* ) )
goto Fail; goto Fail;
face->charmaps[ face->num_charmaps++ ] = (FT_CharMap) cmap; face->charmaps[ face->num_charmaps++ ] = (FT_CharMap) cmap;
} }
Exit: Exit:
if ( acmap ) if ( acmap )
*acmap = cmap; *acmap = cmap;
return error; return error;
Fail: Fail:
FT_CMap_Done( cmap ); FT_CMap_Done( cmap );
cmap = NULL; cmap = NULL;
goto Exit; goto Exit;
} }
/* documentation is in freetype.h */ /* documentation is in freetype.h */
@ -1457,8 +1456,14 @@
result = 0; result = 0;
if ( face && face->charmap ) if ( face && face->charmap )
{ {
#ifdef FT_CONFIG_OPTION_USE_CMAPS
FT_CMap cmap = FT_CMAP( face->charmap );
result = cmap->clazz->char_index( cmap, charcode );
#else /* !FT_CONFIG_OPTION_USE_CMAPS */
driver = face->driver; driver = face->driver;
result = driver->clazz->get_char_index( face->charmap, charcode ); result = driver->clazz->get_char_index( face->charmap, charcode );
#endif /* !FT_CONFIG_OPTION_USE_CMAPS */
} }
return result; return result;
} }
@ -1471,17 +1476,17 @@
{ {
FT_ULong result = 0; FT_ULong result = 0;
FT_UInt gindex = 0; FT_UInt gindex = 0;
if ( face && face->charmap ) if ( face && face->charmap )
{ {
gindex = FT_Get_Char_Index( face, 0 ); gindex = FT_Get_Char_Index( face, 0 );
if ( gindex == 0 ) if ( gindex == 0 )
result = FT_Get_Next_Char( face, 0, &gindex ); result = FT_Get_Next_Char( face, 0, &gindex );
} }
if ( agindex ) if ( agindex )
*agindex = gindex; *agindex = gindex;
return result; return result;
} }
@ -1499,6 +1504,13 @@
if ( face && face->charmap ) if ( face && face->charmap )
{ {
#ifdef FT_CONFIG_OPTION_USE_CMAPS
FT_CMap cmap = FT_CMAP( face->charmap );
result = cmap->clazz->char_next( cmap, charcode, &gindex );
if ( gindex == 0 )
result = 0;
#else /* !FT_CONFIG_OPTION_USE_CMAPS */
driver = face->driver; driver = face->driver;
result = driver->clazz->get_next_char( face->charmap, charcode ); result = driver->clazz->get_next_char( face->charmap, charcode );
if ( result != 0 ) if ( result != 0 )
@ -1507,11 +1519,12 @@
if ( gindex == 0 ) if ( gindex == 0 )
result = 0; result = 0;
} }
#endif /* !FT_CONFIG_OPTION_USE_CMAPS */
} }
if ( agindex ) if ( agindex )
*agindex = gindex; *agindex = gindex;
return result; return result;
} }

View File

@ -345,7 +345,7 @@
/* */ /* */
/* slot :: The current glyph object. */ /* slot :: The current glyph object. */
/* */ /* */
FT_LOCAL_DEF void FT_LOCAL_DEF( void )
CFF_Init_Decoder( CFF_Decoder* decoder, CFF_Init_Decoder( CFF_Decoder* decoder,
TT_Face face, TT_Face face,
CFF_Size size, CFF_Size size,
@ -369,7 +369,7 @@
/* this function is used to select the locals subrs array */ /* this function is used to select the locals subrs array */
FT_LOCAL_DEF void FT_LOCAL_DEF( void )
CFF_Prepare_Decoder( CFF_Decoder* decoder, CFF_Prepare_Decoder( CFF_Decoder* decoder,
FT_UInt glyph_index ) FT_UInt glyph_index )
{ {
@ -699,7 +699,7 @@
/* <Return> */ /* <Return> */
/* FreeType error code. 0 means success. */ /* FreeType error code. 0 means success. */
/* */ /* */
FT_LOCAL_DEF FT_Error FT_LOCAL_DEF( FT_Error )
CFF_Parse_CharStrings( CFF_Decoder* decoder, CFF_Parse_CharStrings( CFF_Decoder* decoder,
FT_Byte* charstring_base, FT_Byte* charstring_base,
FT_Int charstring_len ) FT_Int charstring_len )
@ -2108,7 +2108,7 @@
#if 0 /* unused until we support pure CFF fonts */ #if 0 /* unused until we support pure CFF fonts */
FT_LOCAL_DEF FT_Error FT_LOCAL_DEF( FT_Error )
CFF_Compute_Max_Advance( TT_Face face, CFF_Compute_Max_Advance( TT_Face face,
FT_Int* max_advance ) FT_Int* max_advance )
{ {
@ -2175,7 +2175,7 @@
/*************************************************************************/ /*************************************************************************/
FT_LOCAL_DEF FT_Error FT_LOCAL_DEF( FT_Error )
CFF_Load_Glyph( CFF_GlyphSlot glyph, CFF_Load_Glyph( CFF_GlyphSlot glyph,
CFF_Size size, CFF_Size size,
FT_Int glyph_index, FT_Int glyph_index,

View File

@ -167,32 +167,32 @@ FT_BEGIN_HEADER
} CFF_Decoder; } CFF_Decoder;
FT_LOCAL void FT_LOCAL( void )
CFF_Init_Decoder( CFF_Decoder* decoder, CFF_Init_Decoder( CFF_Decoder* decoder,
TT_Face face, TT_Face face,
CFF_Size size, CFF_Size size,
CFF_GlyphSlot slot, CFF_GlyphSlot slot,
FT_Bool hinting ); FT_Bool hinting );
FT_LOCAL void FT_LOCAL( void )
CFF_Prepare_Decoder( CFF_Decoder* decoder, CFF_Prepare_Decoder( CFF_Decoder* decoder,
FT_UInt glyph_index ); FT_UInt glyph_index );
#if 0 /* unused until we support pure CFF fonts */ #if 0 /* unused until we support pure CFF fonts */
/* Compute the maximum advance width of a font through quick parsing */ /* Compute the maximum advance width of a font through quick parsing */
FT_LOCAL FT_Error FT_LOCAL( FT_Error )
CFF_Compute_Max_Advance( TT_Face face, CFF_Compute_Max_Advance( TT_Face face,
FT_Int* max_advance ); FT_Int* max_advance );
#endif /* 0 */ #endif /* 0 */
FT_LOCAL FT_Error FT_LOCAL( FT_Error )
CFF_Parse_CharStrings( CFF_Decoder* decoder, CFF_Parse_CharStrings( CFF_Decoder* decoder,
FT_Byte* charstring_base, FT_Byte* charstring_base,
FT_Int charstring_len ); FT_Int charstring_len );
FT_LOCAL FT_Error FT_LOCAL( FT_Error )
CFF_Load_Glyph( CFF_GlyphSlot glyph, CFF_Load_Glyph( CFF_GlyphSlot glyph,
CFF_Size size, CFF_Size size,
FT_Int glyph_index, FT_Int glyph_index,

View File

@ -1046,7 +1046,7 @@
#endif #endif
FT_LOCAL_DEF FT_UShort FT_LOCAL_DEF( FT_UShort )
CFF_Get_Standard_Encoding( FT_UInt charcode ) CFF_Get_Standard_Encoding( FT_UInt charcode )
{ {
return (FT_UShort)(charcode < 256 ? cff_standard_encoding[charcode] : 0); return (FT_UShort)(charcode < 256 ? cff_standard_encoding[charcode] : 0);
@ -1204,7 +1204,7 @@
} }
FT_LOCAL_DEF FT_Error FT_LOCAL_DEF( FT_Error )
CFF_Access_Element( CFF_Index index, CFF_Access_Element( CFF_Index index,
FT_UInt element, FT_UInt element,
FT_Byte** pbytes, FT_Byte** pbytes,
@ -1269,7 +1269,7 @@
} }
FT_LOCAL_DEF void FT_LOCAL_DEF( void )
CFF_Forget_Element( CFF_Index index, CFF_Forget_Element( CFF_Index index,
FT_Byte** pbytes ) FT_Byte** pbytes )
{ {
@ -1283,7 +1283,7 @@
} }
FT_LOCAL_DEF FT_String* FT_LOCAL_DEF( FT_String* )
CFF_Get_Name( CFF_Index index, CFF_Get_Name( CFF_Index index,
FT_UInt element ) FT_UInt element )
{ {
@ -1310,7 +1310,7 @@
} }
FT_LOCAL_DEF FT_String* FT_LOCAL_DEF( FT_String* )
CFF_Get_String( CFF_Index index, CFF_Get_String( CFF_Index index,
FT_UInt sid, FT_UInt sid,
PSNames_Service interface ) PSNames_Service interface )
@ -1413,7 +1413,7 @@
} }
FT_LOCAL_DEF FT_Byte FT_LOCAL_DEF( FT_Byte )
CFF_Get_FD( CFF_FD_Select* select, CFF_Get_FD( CFF_FD_Select* select,
FT_UInt glyph_index ) FT_UInt glyph_index )
{ {
@ -2056,7 +2056,7 @@
} }
FT_LOCAL_DEF FT_Error FT_LOCAL_DEF( FT_Error )
CFF_Load_Font( FT_Stream stream, CFF_Load_Font( FT_Stream stream,
FT_Int face_index, FT_Int face_index,
CFF_Font* font ) CFF_Font* font )
@ -2239,7 +2239,7 @@
} }
FT_LOCAL_DEF void FT_LOCAL_DEF( void )
CFF_Done_Font( CFF_Font* font ) CFF_Done_Font( CFF_Font* font )
{ {
FT_Memory memory = font->memory; FT_Memory memory = font->memory;

View File

@ -27,41 +27,41 @@
FT_BEGIN_HEADER FT_BEGIN_HEADER
FT_LOCAL FT_UShort FT_LOCAL( FT_UShort )
CFF_Get_Standard_Encoding( FT_UInt charcode ); CFF_Get_Standard_Encoding( FT_UInt charcode );
FT_LOCAL FT_String* FT_LOCAL( FT_String* )
CFF_Get_Name( CFF_Index index, CFF_Get_Name( CFF_Index index,
FT_UInt element ); FT_UInt element );
FT_LOCAL FT_String* FT_LOCAL( FT_String* )
CFF_Get_String( CFF_Index index, CFF_Get_String( CFF_Index index,
FT_UInt sid, FT_UInt sid,
PSNames_Service interface ); PSNames_Service interface );
FT_LOCAL FT_Error FT_LOCAL( FT_Error )
CFF_Access_Element( CFF_Index index, CFF_Access_Element( CFF_Index index,
FT_UInt element, FT_UInt element,
FT_Byte** pbytes, FT_Byte** pbytes,
FT_ULong* pbyte_len ); FT_ULong* pbyte_len );
FT_LOCAL void FT_LOCAL( void )
CFF_Forget_Element( CFF_Index index, CFF_Forget_Element( CFF_Index index,
FT_Byte** pbytes ); FT_Byte** pbytes );
FT_LOCAL FT_Error FT_LOCAL( FT_Error )
CFF_Load_Font( FT_Stream stream, CFF_Load_Font( FT_Stream stream,
FT_Int face_index, FT_Int face_index,
CFF_Font* font ); CFF_Font* font );
FT_LOCAL void FT_LOCAL( void )
CFF_Done_Font( CFF_Font* font ); CFF_Done_Font( CFF_Font* font );
FT_LOCAL FT_Byte FT_LOCAL( FT_Byte )
CFF_Get_FD( CFF_FD_Select* select, CFF_Get_FD( CFF_FD_Select* select,
FT_UInt glyph_index ); FT_UInt glyph_index );

View File

@ -73,7 +73,7 @@
} }
FT_LOCAL_DEF void FT_LOCAL_DEF( void )
CFF_Size_Done( CFF_Size size ) CFF_Size_Done( CFF_Size size )
{ {
if ( size->internal ) if ( size->internal )
@ -90,7 +90,7 @@
} }
FT_LOCAL_DEF FT_Error FT_LOCAL_DEF( FT_Error )
CFF_Size_Init( CFF_Size size ) CFF_Size_Init( CFF_Size size )
{ {
FT_Error error = 0; FT_Error error = 0;
@ -163,7 +163,7 @@
} }
FT_LOCAL_DEF FT_Error FT_LOCAL_DEF( FT_Error )
CFF_Size_Reset( CFF_Size size ) CFF_Size_Reset( CFF_Size size )
{ {
PSH_Globals_Funcs funcs = CFF_Size_Get_Globals_Funcs( size ); PSH_Globals_Funcs funcs = CFF_Size_Get_Globals_Funcs( size );
@ -185,14 +185,14 @@
/* */ /* */
/*************************************************************************/ /*************************************************************************/
FT_LOCAL_DEF void FT_LOCAL_DEF( void )
CFF_GlyphSlot_Done( CFF_GlyphSlot slot ) CFF_GlyphSlot_Done( CFF_GlyphSlot slot )
{ {
slot->root.internal->glyph_hints = 0; slot->root.internal->glyph_hints = 0;
} }
FT_LOCAL_DEF FT_Error FT_LOCAL_DEF( FT_Error )
CFF_GlyphSlot_Init( CFF_GlyphSlot slot ) CFF_GlyphSlot_Init( CFF_GlyphSlot slot )
{ {
CFF_Face face = (CFF_Face)slot->root.face; CFF_Face face = (CFF_Face)slot->root.face;
@ -441,7 +441,7 @@
/* <Return> */ /* <Return> */
/* FreeType error code. 0 means success. */ /* FreeType error code. 0 means success. */
/* */ /* */
FT_LOCAL_DEF FT_Error FT_LOCAL_DEF( FT_Error )
CFF_Face_Init( FT_Stream stream, CFF_Face_Init( FT_Stream stream,
CFF_Face face, CFF_Face face,
FT_Int face_index, FT_Int face_index,
@ -700,7 +700,7 @@
/* <Input> */ /* <Input> */
/* face :: A pointer to the face object to destroy. */ /* face :: A pointer to the face object to destroy. */
/* */ /* */
FT_LOCAL_DEF void FT_LOCAL_DEF( void )
CFF_Face_Done( CFF_Face face ) CFF_Face_Done( CFF_Face face )
{ {
FT_Memory memory = face->root.memory; FT_Memory memory = face->root.memory;
@ -737,7 +737,7 @@
/* <Return> */ /* <Return> */
/* FreeType error code. 0 means success. */ /* FreeType error code. 0 means success. */
/* */ /* */
FT_LOCAL_DEF FT_Error FT_LOCAL_DEF( FT_Error )
CFF_Driver_Init( CFF_Driver driver ) CFF_Driver_Init( CFF_Driver driver )
{ {
/* init extension registry if needed */ /* init extension registry if needed */
@ -767,7 +767,7 @@
/* <Input> */ /* <Input> */
/* driver :: A handle to the target OpenType driver. */ /* driver :: A handle to the target OpenType driver. */
/* */ /* */
FT_LOCAL_DEF void FT_LOCAL_DEF( void )
CFF_Driver_Done( CFF_Driver driver ) CFF_Driver_Done( CFF_Driver driver )
{ {
/* destroy extensions registry if needed */ /* destroy extensions registry if needed */

View File

@ -109,33 +109,33 @@ FT_BEGIN_HEADER
} CFF_DriverRec; } CFF_DriverRec;
FT_LOCAL FT_Error FT_LOCAL( FT_Error )
CFF_Size_Init( CFF_Size size ); CFF_Size_Init( CFF_Size size );
FT_LOCAL void FT_LOCAL( void )
CFF_Size_Done( CFF_Size size ); CFF_Size_Done( CFF_Size size );
FT_LOCAL FT_Error FT_LOCAL( FT_Error )
CFF_Size_Reset( CFF_Size size ); CFF_Size_Reset( CFF_Size size );
FT_LOCAL void FT_LOCAL( void )
CFF_GlyphSlot_Done( CFF_GlyphSlot slot ); CFF_GlyphSlot_Done( CFF_GlyphSlot slot );
FT_LOCAL FT_Error FT_LOCAL( FT_Error )
CFF_GlyphSlot_Init( CFF_GlyphSlot slot ); CFF_GlyphSlot_Init( CFF_GlyphSlot slot );
/*************************************************************************/ /*************************************************************************/
/* */ /* */
/* Face functions */ /* Face functions */
/* */ /* */
FT_LOCAL FT_Error FT_LOCAL( FT_Error )
CFF_Face_Init( FT_Stream stream, CFF_Face_Init( FT_Stream stream,
CFF_Face face, CFF_Face face,
FT_Int face_index, FT_Int face_index,
FT_Int num_params, FT_Int num_params,
FT_Parameter* params ); FT_Parameter* params );
FT_LOCAL void FT_LOCAL( void )
CFF_Face_Done( CFF_Face face ); CFF_Face_Done( CFF_Face face );
@ -143,10 +143,10 @@ FT_BEGIN_HEADER
/* */ /* */
/* Driver functions */ /* Driver functions */
/* */ /* */
FT_LOCAL FT_Error FT_LOCAL( FT_Error )
CFF_Driver_Init( CFF_Driver driver ); CFF_Driver_Init( CFF_Driver driver );
FT_LOCAL void FT_LOCAL( void )
CFF_Driver_Done( CFF_Driver driver ); CFF_Driver_Done( CFF_Driver driver );

View File

@ -63,7 +63,7 @@
} CFF_Field_Handler; } CFF_Field_Handler;
FT_LOCAL_DEF void FT_LOCAL_DEF( void )
CFF_Parser_Init( CFF_Parser* parser, CFF_Parser_Init( CFF_Parser* parser,
FT_UInt code, FT_UInt code,
void* object ) void* object )
@ -479,7 +479,7 @@
}; };
FT_LOCAL_DEF FT_Error FT_LOCAL_DEF( FT_Error )
CFF_Parser_Run( CFF_Parser* parser, CFF_Parser_Run( CFF_Parser* parser,
FT_Byte* start, FT_Byte* start,
FT_Byte* limit ) FT_Byte* limit )

View File

@ -49,12 +49,12 @@ FT_BEGIN_HEADER
} CFF_Parser; } CFF_Parser;
FT_LOCAL void FT_LOCAL( void )
CFF_Parser_Init( CFF_Parser* parser, CFF_Parser_Init( CFF_Parser* parser,
FT_UInt code, FT_UInt code,
void* object ); void* object );
FT_LOCAL FT_Error FT_LOCAL( FT_Error )
CFF_Parser_Run( CFF_Parser* parser, CFF_Parser_Run( CFF_Parser* parser,
FT_Byte* start, FT_Byte* start,
FT_Byte* limit ); FT_Byte* limit );

View File

@ -138,7 +138,7 @@
/*************************************************************************/ /*************************************************************************/
FT_LOCAL_DEF FT_Error FT_LOCAL_DEF( FT_Error )
CID_Compute_Max_Advance( CID_Face face, CID_Compute_Max_Advance( CID_Face face,
FT_Int* max_advance ) FT_Int* max_advance )
{ {
@ -201,7 +201,7 @@
/*************************************************************************/ /*************************************************************************/
FT_LOCAL_DEF FT_Error FT_LOCAL_DEF( FT_Error )
CID_Load_Glyph( CID_GlyphSlot glyph, CID_Load_Glyph( CID_GlyphSlot glyph,
CID_Size size, CID_Size size,
FT_Int glyph_index, FT_Int glyph_index,

View File

@ -30,13 +30,13 @@ FT_BEGIN_HEADER
#if 0 #if 0
/* Compute the maximum advance width of a font through quick parsing */ /* Compute the maximum advance width of a font through quick parsing */
FT_LOCAL FT_Error FT_LOCAL( FT_Error )
CID_Compute_Max_Advance( CID_Face face, CID_Compute_Max_Advance( CID_Face face,
FT_Int* max_advance ); FT_Int* max_advance );
#endif /* 0 */ #endif /* 0 */
FT_LOCAL FT_Error FT_LOCAL( FT_Error )
CID_Load_Glyph( CID_GlyphSlot glyph, CID_Load_Glyph( CID_GlyphSlot glyph,
CID_Size size, CID_Size size,
FT_Int glyph_index, FT_Int glyph_index,

View File

@ -41,7 +41,7 @@
/* read a single offset */ /* read a single offset */
FT_LOCAL_DEF FT_Long FT_LOCAL_DEF( FT_Long )
cid_get_offset( FT_Byte** start, cid_get_offset( FT_Byte** start,
FT_Byte offsize ) FT_Byte offsize )
{ {
@ -60,7 +60,7 @@
} }
FT_LOCAL_DEF void FT_LOCAL_DEF( void )
cid_decrypt( FT_Byte* buffer, cid_decrypt( FT_Byte* buffer,
FT_Offset length, FT_Offset length,
FT_UShort seed ) FT_UShort seed )
@ -515,7 +515,7 @@
} }
FT_LOCAL_DEF FT_Error FT_LOCAL_DEF( FT_Error )
CID_Open_Face( CID_Face face ) CID_Open_Face( CID_Face face )
{ {
CID_Loader loader; CID_Loader loader;

View File

@ -36,16 +36,16 @@ FT_BEGIN_HEADER
} CID_Loader; } CID_Loader;
FT_LOCAL FT_Long FT_LOCAL( FT_Long )
cid_get_offset( FT_Byte** start, cid_get_offset( FT_Byte** start,
FT_Byte offsize ); FT_Byte offsize );
FT_LOCAL void FT_LOCAL( void )
cid_decrypt( FT_Byte* buffer, cid_decrypt( FT_Byte* buffer,
FT_Offset length, FT_Offset length,
FT_UShort seed ); FT_UShort seed );
FT_LOCAL FT_Error FT_LOCAL( FT_Error )
CID_Open_Face( CID_Face face ); CID_Open_Face( CID_Face face );

View File

@ -44,14 +44,14 @@
/* */ /* */
/*************************************************************************/ /*************************************************************************/
FT_LOCAL_DEF void FT_LOCAL_DEF( void )
CID_GlyphSlot_Done( CID_GlyphSlot slot ) CID_GlyphSlot_Done( CID_GlyphSlot slot )
{ {
slot->root.internal->glyph_hints = 0; slot->root.internal->glyph_hints = 0;
} }
FT_LOCAL_DEF FT_Error FT_LOCAL_DEF( FT_Error )
CID_GlyphSlot_Init( CID_GlyphSlot slot ) CID_GlyphSlot_Init( CID_GlyphSlot slot )
{ {
CID_Face face; CID_Face face;
@ -105,7 +105,7 @@
} }
FT_LOCAL_DEF void FT_LOCAL_DEF( void )
CID_Size_Done( CID_Size size ) CID_Size_Done( CID_Size size )
{ {
if ( size->root.internal ) if ( size->root.internal )
@ -122,7 +122,7 @@
} }
FT_LOCAL_DEF FT_Error FT_LOCAL_DEF( FT_Error )
CID_Size_Init( CID_Size size ) CID_Size_Init( CID_Size size )
{ {
FT_Error error = 0; FT_Error error = 0;
@ -146,7 +146,7 @@
} }
FT_LOCAL_DEF FT_Error FT_LOCAL_DEF( FT_Error )
CID_Size_Reset( CID_Size size ) CID_Size_Reset( CID_Size size )
{ {
PSH_Globals_Funcs funcs = CID_Size_Get_Globals_Funcs( size ); PSH_Globals_Funcs funcs = CID_Size_Get_Globals_Funcs( size );
@ -182,7 +182,7 @@
/* <Input> */ /* <Input> */
/* face :: A pointer to the face object to destroy. */ /* face :: A pointer to the face object to destroy. */
/* */ /* */
FT_LOCAL_DEF void FT_LOCAL_DEF( void )
CID_Face_Done( CID_Face face ) CID_Face_Done( CID_Face face )
{ {
FT_Memory memory; FT_Memory memory;
@ -262,7 +262,7 @@
/* <Return> */ /* <Return> */
/* FreeType error code. 0 means success. */ /* FreeType error code. 0 means success. */
/* */ /* */
FT_LOCAL_DEF FT_Error FT_LOCAL_DEF( FT_Error )
CID_Face_Init( FT_Stream stream, CID_Face_Init( FT_Stream stream,
CID_Face face, CID_Face face,
FT_Int face_index, FT_Int face_index,
@ -511,7 +511,7 @@
/* <Return> */ /* <Return> */
/* FreeType error code. 0 means success. */ /* FreeType error code. 0 means success. */
/* */ /* */
FT_LOCAL_DEF FT_Error FT_LOCAL_DEF( FT_Error )
CID_Driver_Init( CID_Driver driver ) CID_Driver_Init( CID_Driver driver )
{ {
FT_UNUSED( driver ); FT_UNUSED( driver );
@ -531,7 +531,7 @@
/* <Input> */ /* <Input> */
/* driver :: A handle to the target CID driver. */ /* driver :: A handle to the target CID driver. */
/* */ /* */
FT_LOCAL_DEF void FT_LOCAL_DEF( void )
CID_Driver_Done( CID_Driver driver ) CID_Driver_Done( CID_Driver driver )
{ {
FT_UNUSED( driver ); FT_UNUSED( driver );

View File

@ -111,26 +111,26 @@ FT_BEGIN_HEADER
} CID_GlyphSlotRec; } CID_GlyphSlotRec;
FT_LOCAL void FT_LOCAL( void )
CID_GlyphSlot_Done( CID_GlyphSlot slot ); CID_GlyphSlot_Done( CID_GlyphSlot slot );
FT_LOCAL FT_Error FT_LOCAL( FT_Error )
CID_GlyphSlot_Init( CID_GlyphSlot slot ); CID_GlyphSlot_Init( CID_GlyphSlot slot );
FT_LOCAL void FT_LOCAL( void )
CID_Size_Done( CID_Size size ); CID_Size_Done( CID_Size size );
FT_LOCAL FT_Error FT_LOCAL( FT_Error )
CID_Size_Init( CID_Size size ); CID_Size_Init( CID_Size size );
FT_LOCAL FT_Error FT_LOCAL( FT_Error )
CID_Size_Reset( CID_Size size ); CID_Size_Reset( CID_Size size );
FT_LOCAL FT_Error FT_LOCAL( FT_Error )
CID_Face_Init( FT_Stream stream, CID_Face_Init( FT_Stream stream,
CID_Face face, CID_Face face,
FT_Int face_index, FT_Int face_index,
@ -138,15 +138,15 @@ FT_BEGIN_HEADER
FT_Parameter* params ); FT_Parameter* params );
FT_LOCAL void FT_LOCAL( void )
CID_Face_Done( CID_Face face ); CID_Face_Done( CID_Face face );
FT_LOCAL FT_Error FT_LOCAL( FT_Error )
CID_Driver_Init( CID_Driver driver ); CID_Driver_Init( CID_Driver driver );
FT_LOCAL void FT_LOCAL( void )
CID_Driver_Done( CID_Driver driver ); CID_Driver_Done( CID_Driver driver );

View File

@ -50,7 +50,7 @@
/*************************************************************************/ /*************************************************************************/
FT_LOCAL_DEF FT_Error FT_LOCAL_DEF( FT_Error )
CID_New_Parser( CID_Parser* parser, CID_New_Parser( CID_Parser* parser,
FT_Stream stream, FT_Stream stream,
FT_Memory memory, FT_Memory memory,
@ -139,7 +139,7 @@
} }
FT_LOCAL_DEF void FT_LOCAL_DEF( void )
CID_Done_Parser( CID_Parser* parser ) CID_Done_Parser( CID_Parser* parser )
{ {
/* always free the private dictionary */ /* always free the private dictionary */

View File

@ -71,13 +71,13 @@ FT_BEGIN_HEADER
} CID_Parser; } CID_Parser;
FT_LOCAL FT_Error FT_LOCAL( FT_Error )
CID_New_Parser( CID_Parser* parser, CID_New_Parser( CID_Parser* parser,
FT_Stream stream, FT_Stream stream,
FT_Memory memory, FT_Memory memory,
PSAux_Service psaux ); PSAux_Service psaux );
FT_LOCAL void FT_LOCAL( void )
CID_Done_Parser( CID_Parser* parser ); CID_Done_Parser( CID_Parser* parser );

View File

@ -221,7 +221,7 @@ FT_BEGIN_HEADER
#define GLYPHPADOPTIONS 4 /* I'm not sure about this */ #define GLYPHPADOPTIONS 4 /* I'm not sure about this */
FT_LOCAL FT_Error FT_LOCAL( FT_Error )
pcf_load_font( FT_Stream, pcf_load_font( FT_Stream,
PCF_Face ); PCF_Face );

View File

@ -855,7 +855,7 @@ THE SOFTWARE.
} }
FT_LOCAL_DEF FT_Error FT_LOCAL_DEF( FT_Error )
pcf_load_font( FT_Stream stream, pcf_load_font( FT_Stream stream,
PCF_Face face ) PCF_Face face )
{ {

View File

@ -53,7 +53,7 @@
/* <Return> */ /* <Return> */
/* FreeType error code. 0 means success. */ /* FreeType error code. 0 means success. */
/* */ /* */
FT_LOCAL_DEF FT_Error FT_LOCAL_DEF( FT_Error )
PS_Table_New( PS_Table table, PS_Table_New( PS_Table table,
FT_Int count, FT_Int count,
FT_Memory memory ) FT_Memory memory )
@ -149,7 +149,7 @@
/* FreeType error code. 0 means success. An error is returned if a */ /* FreeType error code. 0 means success. An error is returned if a */
/* reallocation fails. */ /* reallocation fails. */
/* */ /* */
FT_LOCAL_DEF FT_Error FT_LOCAL_DEF( FT_Error )
PS_Table_Add( PS_Table table, PS_Table_Add( PS_Table table,
FT_Int index, FT_Int index,
void* object, void* object,
@ -209,7 +209,7 @@
/* This function does NOT release the heap's memory block. It is up */ /* This function does NOT release the heap's memory block. It is up */
/* to the caller to clean it, or reference it in its own structures. */ /* to the caller to clean it, or reference it in its own structures. */
/* */ /* */
FT_LOCAL_DEF void FT_LOCAL_DEF( void )
PS_Table_Done( PS_Table table ) PS_Table_Done( PS_Table table )
{ {
FT_Memory memory = table->memory; FT_Memory memory = table->memory;
@ -233,7 +233,7 @@
} }
FT_LOCAL_DEF void FT_LOCAL_DEF( void )
PS_Table_Release( PS_Table table ) PS_Table_Release( PS_Table table )
{ {
FT_Memory memory = table->memory; FT_Memory memory = table->memory;
@ -264,7 +264,7 @@
#define IS_T1_SPACE( c ) ( IS_T1_WHITESPACE( c ) || IS_T1_LINESPACE( c ) ) #define IS_T1_SPACE( c ) ( IS_T1_WHITESPACE( c ) || IS_T1_LINESPACE( c ) )
FT_LOCAL_DEF void FT_LOCAL_DEF( void )
PS_Parser_SkipSpaces( PS_Parser parser ) PS_Parser_SkipSpaces( PS_Parser parser )
{ {
FT_Byte* cur = parser->cursor; FT_Byte* cur = parser->cursor;
@ -284,7 +284,7 @@
} }
FT_LOCAL_DEF void FT_LOCAL_DEF( void )
PS_Parser_SkipAlpha( PS_Parser parser ) PS_Parser_SkipAlpha( PS_Parser parser )
{ {
FT_Byte* cur = parser->cursor; FT_Byte* cur = parser->cursor;
@ -304,7 +304,7 @@
} }
FT_LOCAL_DEF void FT_LOCAL_DEF( void )
PS_Parser_ToToken( PS_Parser parser, PS_Parser_ToToken( PS_Parser parser,
T1_Token token ) T1_Token token )
{ {
@ -387,7 +387,7 @@
} }
FT_LOCAL_DEF void FT_LOCAL_DEF( void )
PS_Parser_ToTokenArray( PS_Parser parser, PS_Parser_ToTokenArray( PS_Parser parser,
T1_Token tokens, T1_Token tokens,
FT_UInt max_tokens, FT_UInt max_tokens,
@ -783,7 +783,7 @@
/* Load a simple field (i.e. non-table) into the current list of objects */ /* Load a simple field (i.e. non-table) into the current list of objects */
FT_LOCAL_DEF FT_Error FT_LOCAL_DEF( FT_Error )
PS_Parser_LoadField( PS_Parser parser, PS_Parser_LoadField( PS_Parser parser,
const T1_Field field, const T1_Field field,
void** objects, void** objects,
@ -904,7 +904,7 @@
#define T1_MAX_TABLE_ELEMENTS 32 #define T1_MAX_TABLE_ELEMENTS 32
FT_LOCAL_DEF FT_Error FT_LOCAL_DEF( FT_Error )
PS_Parser_LoadFieldTable( PS_Parser parser, PS_Parser_LoadFieldTable( PS_Parser parser,
const T1_Field field, const T1_Field field,
void** objects, void** objects,
@ -968,14 +968,14 @@
} }
FT_LOCAL_DEF FT_Long FT_LOCAL_DEF( FT_Long )
PS_Parser_ToInt( PS_Parser parser ) PS_Parser_ToInt( PS_Parser parser )
{ {
return t1_toint( &parser->cursor, parser->limit ); return t1_toint( &parser->cursor, parser->limit );
} }
FT_LOCAL_DEF FT_Fixed FT_LOCAL_DEF( FT_Fixed )
PS_Parser_ToFixed( PS_Parser parser, PS_Parser_ToFixed( PS_Parser parser,
FT_Int power_ten ) FT_Int power_ten )
{ {
@ -983,7 +983,7 @@
} }
FT_LOCAL_DEF FT_Int FT_LOCAL_DEF( FT_Int )
PS_Parser_ToCoordArray( PS_Parser parser, PS_Parser_ToCoordArray( PS_Parser parser,
FT_Int max_coords, FT_Int max_coords,
FT_Short* coords ) FT_Short* coords )
@ -993,7 +993,7 @@
} }
FT_LOCAL_DEF FT_Int FT_LOCAL_DEF( FT_Int )
PS_Parser_ToFixedArray( PS_Parser parser, PS_Parser_ToFixedArray( PS_Parser parser,
FT_Int max_values, FT_Int max_values,
FT_Fixed* values, FT_Fixed* values,
@ -1006,14 +1006,14 @@
#if 0 #if 0
FT_LOCAL_DEF FT_String* FT_LOCAL_DEF( FT_String* )
T1_ToString( PS_Parser parser ) T1_ToString( PS_Parser parser )
{ {
return t1_tostring( &parser->cursor, parser->limit, parser->memory ); return t1_tostring( &parser->cursor, parser->limit, parser->memory );
} }
FT_LOCAL_DEF FT_Bool FT_LOCAL_DEF( FT_Bool )
T1_ToBool( PS_Parser parser ) T1_ToBool( PS_Parser parser )
{ {
return t1_tobool( &parser->cursor, parser->limit ); return t1_tobool( &parser->cursor, parser->limit );
@ -1022,7 +1022,7 @@
#endif /* 0 */ #endif /* 0 */
FT_LOCAL_DEF void FT_LOCAL_DEF( void )
PS_Parser_Init( PS_Parser parser, PS_Parser_Init( PS_Parser parser,
FT_Byte* base, FT_Byte* base,
FT_Byte* limit, FT_Byte* limit,
@ -1037,7 +1037,7 @@
} }
FT_LOCAL_DEF void FT_LOCAL_DEF( void )
PS_Parser_Done( PS_Parser parser ) PS_Parser_Done( PS_Parser parser )
{ {
FT_UNUSED( parser ); FT_UNUSED( parser );
@ -1070,7 +1070,7 @@
/* */ /* */
/* glyph :: The current glyph object. */ /* glyph :: The current glyph object. */
/* */ /* */
FT_LOCAL_DEF void FT_LOCAL_DEF( void )
T1_Builder_Init( T1_Builder* builder, T1_Builder_Init( T1_Builder* builder,
FT_Face face, FT_Face face,
FT_Size size, FT_Size size,
@ -1132,7 +1132,7 @@
/* <Input> */ /* <Input> */
/* builder :: A pointer to the glyph builder to finalize. */ /* builder :: A pointer to the glyph builder to finalize. */
/* */ /* */
FT_LOCAL_DEF void FT_LOCAL_DEF( void )
T1_Builder_Done( T1_Builder* builder ) T1_Builder_Done( T1_Builder* builder )
{ {
FT_GlyphSlot glyph = builder->glyph; FT_GlyphSlot glyph = builder->glyph;
@ -1144,7 +1144,7 @@
/* check that there is enough room for `count' more points */ /* check that there is enough room for `count' more points */
FT_LOCAL_DEF FT_Error FT_LOCAL_DEF( FT_Error )
T1_Builder_Check_Points( T1_Builder* builder, T1_Builder_Check_Points( T1_Builder* builder,
FT_Int count ) FT_Int count )
{ {
@ -1153,7 +1153,7 @@
/* add a new point, do not check space */ /* add a new point, do not check space */
FT_LOCAL_DEF void FT_LOCAL_DEF( void )
T1_Builder_Add_Point( T1_Builder* builder, T1_Builder_Add_Point( T1_Builder* builder,
FT_Pos x, FT_Pos x,
FT_Pos y, FT_Pos y,
@ -1184,7 +1184,7 @@
/* check space for a new on-curve point, then add it */ /* check space for a new on-curve point, then add it */
FT_LOCAL_DEF FT_Error FT_LOCAL_DEF( FT_Error )
T1_Builder_Add_Point1( T1_Builder* builder, T1_Builder_Add_Point1( T1_Builder* builder,
FT_Pos x, FT_Pos x,
FT_Pos y ) FT_Pos y )
@ -1201,7 +1201,7 @@
/* check room for a new contour, then add it */ /* check room for a new contour, then add it */
FT_LOCAL_DEF FT_Error FT_LOCAL_DEF( FT_Error )
T1_Builder_Add_Contour( T1_Builder* builder ) T1_Builder_Add_Contour( T1_Builder* builder )
{ {
FT_Outline* outline = builder->current; FT_Outline* outline = builder->current;
@ -1229,7 +1229,7 @@
/* if a path was begun, add its first on-curve point */ /* if a path was begun, add its first on-curve point */
FT_LOCAL_DEF FT_Error FT_LOCAL_DEF( FT_Error )
T1_Builder_Start_Point( T1_Builder* builder, T1_Builder_Start_Point( T1_Builder* builder,
FT_Pos x, FT_Pos x,
FT_Pos y ) FT_Pos y )
@ -1250,7 +1250,7 @@
/* close the current contour */ /* close the current contour */
FT_LOCAL_DEF void FT_LOCAL_DEF( void )
T1_Builder_Close_Contour( T1_Builder* builder ) T1_Builder_Close_Contour( T1_Builder* builder )
{ {
FT_Outline* outline = builder->current; FT_Outline* outline = builder->current;
@ -1293,7 +1293,7 @@
/*************************************************************************/ /*************************************************************************/
/*************************************************************************/ /*************************************************************************/
FT_LOCAL_DEF void FT_LOCAL_DEF( void )
T1_Decrypt( FT_Byte* buffer, T1_Decrypt( FT_Byte* buffer,
FT_Offset length, FT_Offset length,
FT_UShort seed ) FT_UShort seed )

View File

@ -46,22 +46,22 @@ FT_BEGIN_HEADER
const T1_Builder_Funcs t1_builder_funcs; const T1_Builder_Funcs t1_builder_funcs;
FT_LOCAL FT_Error FT_LOCAL( FT_Error )
PS_Table_New( PS_Table table, PS_Table_New( PS_Table table,
FT_Int count, FT_Int count,
FT_Memory memory ); FT_Memory memory );
FT_LOCAL FT_Error FT_LOCAL( FT_Error )
PS_Table_Add( PS_Table table, PS_Table_Add( PS_Table table,
FT_Int index, FT_Int index,
void* object, void* object,
FT_Int length ); FT_Int length );
FT_LOCAL void FT_LOCAL( void )
PS_Table_Done( PS_Table table ); PS_Table_Done( PS_Table table );
FT_LOCAL void FT_LOCAL( void )
PS_Table_Release( PS_Table table ); PS_Table_Release( PS_Table table );
@ -74,64 +74,64 @@ FT_BEGIN_HEADER
/*************************************************************************/ /*************************************************************************/
FT_LOCAL void FT_LOCAL( void )
PS_Parser_SkipSpaces( PS_Parser parser ); PS_Parser_SkipSpaces( PS_Parser parser );
FT_LOCAL void FT_LOCAL( void )
PS_Parser_SkipAlpha( PS_Parser parser ); PS_Parser_SkipAlpha( PS_Parser parser );
FT_LOCAL void FT_LOCAL( void )
PS_Parser_ToToken( PS_Parser parser, PS_Parser_ToToken( PS_Parser parser,
T1_Token token ); T1_Token token );
FT_LOCAL void FT_LOCAL( void )
PS_Parser_ToTokenArray( PS_Parser parser, PS_Parser_ToTokenArray( PS_Parser parser,
T1_Token tokens, T1_Token tokens,
FT_UInt max_tokens, FT_UInt max_tokens,
FT_Int* pnum_tokens ); FT_Int* pnum_tokens );
FT_LOCAL FT_Error FT_LOCAL( FT_Error )
PS_Parser_LoadField( PS_Parser parser, PS_Parser_LoadField( PS_Parser parser,
const T1_Field field, const T1_Field field,
void** objects, void** objects,
FT_UInt max_objects, FT_UInt max_objects,
FT_ULong* pflags ); FT_ULong* pflags );
FT_LOCAL FT_Error FT_LOCAL( FT_Error )
PS_Parser_LoadFieldTable( PS_Parser parser, PS_Parser_LoadFieldTable( PS_Parser parser,
const T1_Field field, const T1_Field field,
void** objects, void** objects,
FT_UInt max_objects, FT_UInt max_objects,
FT_ULong* pflags ); FT_ULong* pflags );
FT_LOCAL FT_Long FT_LOCAL( FT_Long )
PS_Parser_ToInt( PS_Parser parser ); PS_Parser_ToInt( PS_Parser parser );
FT_LOCAL FT_Fixed FT_LOCAL( FT_Fixed )
PS_Parser_ToFixed( PS_Parser parser, PS_Parser_ToFixed( PS_Parser parser,
FT_Int power_ten ); FT_Int power_ten );
FT_LOCAL FT_Int FT_LOCAL( FT_Int )
PS_Parser_ToCoordArray( PS_Parser parser, PS_Parser_ToCoordArray( PS_Parser parser,
FT_Int max_coords, FT_Int max_coords,
FT_Short* coords ); FT_Short* coords );
FT_LOCAL FT_Int FT_LOCAL( FT_Int )
PS_Parser_ToFixedArray( PS_Parser parser, PS_Parser_ToFixedArray( PS_Parser parser,
FT_Int max_values, FT_Int max_values,
FT_Fixed* values, FT_Fixed* values,
FT_Int power_ten ); FT_Int power_ten );
FT_LOCAL void FT_LOCAL( void )
PS_Parser_Init( PS_Parser parser, PS_Parser_Init( PS_Parser parser,
FT_Byte* base, FT_Byte* base,
FT_Byte* limit, FT_Byte* limit,
FT_Memory memory ); FT_Memory memory );
FT_LOCAL void FT_LOCAL( void )
PS_Parser_Done( PS_Parser parser ); PS_Parser_Done( PS_Parser parser );
@ -143,42 +143,42 @@ FT_BEGIN_HEADER
/*************************************************************************/ /*************************************************************************/
/*************************************************************************/ /*************************************************************************/
FT_LOCAL void FT_LOCAL( void )
T1_Builder_Init( T1_Builder* builder, T1_Builder_Init( T1_Builder* builder,
FT_Face face, FT_Face face,
FT_Size size, FT_Size size,
FT_GlyphSlot glyph, FT_GlyphSlot glyph,
FT_Bool hinting ); FT_Bool hinting );
FT_LOCAL void FT_LOCAL( void )
T1_Builder_Done( T1_Builder* builder ); T1_Builder_Done( T1_Builder* builder );
FT_LOCAL FT_Error FT_LOCAL( FT_Error )
T1_Builder_Check_Points( T1_Builder* builder, T1_Builder_Check_Points( T1_Builder* builder,
FT_Int count ); FT_Int count );
FT_LOCAL void FT_LOCAL( void )
T1_Builder_Add_Point( T1_Builder* builder, T1_Builder_Add_Point( T1_Builder* builder,
FT_Pos x, FT_Pos x,
FT_Pos y, FT_Pos y,
FT_Byte flag ); FT_Byte flag );
FT_LOCAL FT_Error FT_LOCAL( FT_Error )
T1_Builder_Add_Point1( T1_Builder* builder, T1_Builder_Add_Point1( T1_Builder* builder,
FT_Pos x, FT_Pos x,
FT_Pos y ); FT_Pos y );
FT_LOCAL FT_Error FT_LOCAL( FT_Error )
T1_Builder_Add_Contour( T1_Builder* builder ); T1_Builder_Add_Contour( T1_Builder* builder );
FT_LOCAL FT_Error FT_LOCAL( FT_Error )
T1_Builder_Start_Point( T1_Builder* builder, T1_Builder_Start_Point( T1_Builder* builder,
FT_Pos x, FT_Pos x,
FT_Pos y ); FT_Pos y );
FT_LOCAL void FT_LOCAL( void )
T1_Builder_Close_Contour( T1_Builder* builder ); T1_Builder_Close_Contour( T1_Builder* builder );
@ -190,7 +190,7 @@ FT_BEGIN_HEADER
/*************************************************************************/ /*************************************************************************/
/*************************************************************************/ /*************************************************************************/
FT_LOCAL void FT_LOCAL( void )
T1_Decrypt( FT_Byte* buffer, T1_Decrypt( FT_Byte* buffer,
FT_Offset length, FT_Offset length,
FT_UShort seed ); FT_UShort seed );

View File

@ -330,7 +330,7 @@
/* <Return> */ /* <Return> */
/* FreeType error code. 0 means success. */ /* FreeType error code. 0 means success. */
/* */ /* */
FT_LOCAL_DEF FT_Error FT_LOCAL_DEF( FT_Error )
T1_Decoder_Parse_Charstrings( T1_Decoder decoder, T1_Decoder_Parse_Charstrings( T1_Decoder decoder,
FT_Byte* charstring_base, FT_Byte* charstring_base,
FT_UInt charstring_len ) FT_UInt charstring_len )
@ -1097,7 +1097,7 @@
/* parse a single Type 1 glyph */ /* parse a single Type 1 glyph */
FT_LOCAL_DEF FT_Error FT_LOCAL_DEF( FT_Error )
T1_Decoder_Parse_Glyph( T1_Decoder decoder, T1_Decoder_Parse_Glyph( T1_Decoder decoder,
FT_UInt glyph ) FT_UInt glyph )
{ {
@ -1106,7 +1106,7 @@
/* initialise T1 decoder */ /* initialise T1 decoder */
FT_LOCAL_DEF FT_Error FT_LOCAL_DEF( FT_Error )
T1_Decoder_Init( T1_Decoder decoder, T1_Decoder_Init( T1_Decoder decoder,
FT_Face face, FT_Face face,
FT_Size size, FT_Size size,
@ -1148,7 +1148,7 @@
/* finalize T1 decoder */ /* finalize T1 decoder */
FT_LOCAL_DEF void FT_LOCAL_DEF( void )
T1_Decoder_Done( T1_Decoder decoder ) T1_Decoder_Done( T1_Decoder decoder )
{ {
T1_Builder_Done( &decoder->builder ); T1_Builder_Done( &decoder->builder );

View File

@ -33,16 +33,16 @@ FT_BEGIN_HEADER
const T1_Decoder_FuncsRec t1_decoder_funcs; const T1_Decoder_FuncsRec t1_decoder_funcs;
FT_LOCAL FT_Error FT_LOCAL( FT_Error )
T1_Decoder_Parse_Glyph( T1_Decoder decoder, T1_Decoder_Parse_Glyph( T1_Decoder decoder,
FT_UInt glyph_index ); FT_UInt glyph_index );
FT_LOCAL FT_Error FT_LOCAL( FT_Error )
T1_Decoder_Parse_Charstrings( T1_Decoder decoder, T1_Decoder_Parse_Charstrings( T1_Decoder decoder,
FT_Byte* base, FT_Byte* base,
FT_UInt len ); FT_UInt len );
FT_LOCAL FT_Error FT_LOCAL( FT_Error )
T1_Decoder_Init( T1_Decoder decoder, T1_Decoder_Init( T1_Decoder decoder,
FT_Face face, FT_Face face,
FT_Size size, FT_Size size,
@ -52,7 +52,7 @@ FT_BEGIN_HEADER
FT_Bool hinting, FT_Bool hinting,
T1_Decoder_Callback parse_glyph ); T1_Decoder_Callback parse_glyph );
FT_LOCAL void FT_LOCAL( void )
T1_Decoder_Done( T1_Decoder decoder ); T1_Decoder_Done( T1_Decoder decoder );

View File

@ -356,7 +356,7 @@
#endif #endif
FT_LOCAL_DEF FT_Error FT_LOCAL_DEF( FT_Error )
psh1_hint_table_optimize( PSH1_Hint_Table table, psh1_hint_table_optimize( PSH1_Hint_Table table,
PSH_Globals globals, PSH_Globals globals,
FT_Outline* outline, FT_Outline* outline,

View File

@ -57,7 +57,7 @@
/* org_width is is font units, result in device pixels, 26.6 format */ /* org_width is is font units, result in device pixels, 26.6 format */
FT_LOCAL_DEF FT_Pos FT_LOCAL_DEF( FT_Pos )
psh_dimension_snap_width( PSH_Dimension dimension, psh_dimension_snap_width( PSH_Dimension dimension,
FT_Int org_width ) FT_Int org_width )
{ {
@ -480,7 +480,7 @@
} }
FT_LOCAL_DEF void FT_LOCAL_DEF( void )
psh_blues_snap_stem( PSH_Blues blues, psh_blues_snap_stem( PSH_Blues blues,
FT_Int stem_top, FT_Int stem_top,
FT_Int stem_bot, FT_Int stem_bot,
@ -701,7 +701,7 @@
} }
FT_LOCAL_DEF void FT_LOCAL_DEF( void )
psh_globals_funcs_init( PSH_Globals_FuncsRec* funcs ) psh_globals_funcs_init( PSH_Globals_FuncsRec* funcs )
{ {
funcs->create = psh_globals_new; funcs->create = psh_globals_new;

View File

@ -159,18 +159,18 @@ FT_BEGIN_HEADER
} PSH_AlignmentRec, *PSH_Alignment; } PSH_AlignmentRec, *PSH_Alignment;
FT_LOCAL void FT_LOCAL( void )
psh_globals_funcs_init( PSH_Globals_FuncsRec* funcs ); psh_globals_funcs_init( PSH_Globals_FuncsRec* funcs );
/* snap a stem width to fitter coordinates. `org_width' is in font */ /* snap a stem width to fitter coordinates. `org_width' is in font */
/* units. The result is in device pixels (26.6 format). */ /* units. The result is in device pixels (26.6 format). */
FT_LOCAL FT_Pos FT_LOCAL( FT_Pos )
psh_dimension_snap_width( PSH_Dimension dimension, psh_dimension_snap_width( PSH_Dimension dimension,
FT_Int org_width ); FT_Int org_width );
/* snap a stem to one or two blue zones */ /* snap a stem to one or two blue zones */
FT_LOCAL void FT_LOCAL( void )
psh_blues_snap_stem( PSH_Blues blues, psh_blues_snap_stem( PSH_Blues blues,
FT_Int stem_top, FT_Int stem_top,
FT_Int stem_bot, FT_Int stem_bot,

View File

@ -779,7 +779,7 @@
/* destroy hints */ /* destroy hints */
FT_LOCAL void FT_LOCAL( void )
ps_hints_done( PS_Hints hints ) ps_hints_done( PS_Hints hints )
{ {
FT_Memory memory = hints->memory; FT_Memory memory = hints->memory;
@ -793,7 +793,7 @@
} }
FT_LOCAL FT_Error FT_LOCAL( FT_Error )
ps_hints_init( PS_Hints hints, ps_hints_init( PS_Hints hints,
FT_Memory memory ) FT_Memory memory )
{ {
@ -1129,7 +1129,7 @@
} }
FT_LOCAL_DEF void FT_LOCAL_DEF( void )
t1_hints_funcs_init( T1_Hints_FuncsRec* funcs ) t1_hints_funcs_init( T1_Hints_FuncsRec* funcs )
{ {
memset( (char*)funcs, 0, sizeof ( *funcs ) ); memset( (char*)funcs, 0, sizeof ( *funcs ) );
@ -1194,7 +1194,7 @@
} }
FT_LOCAL_DEF void FT_LOCAL_DEF( void )
t2_hints_funcs_init( T2_Hints_FuncsRec* funcs ) t2_hints_funcs_init( T2_Hints_FuncsRec* funcs )
{ {
memset( funcs, 0, sizeof ( *funcs ) ); memset( funcs, 0, sizeof ( *funcs ) );

View File

@ -145,20 +145,20 @@ FT_BEGIN_HEADER
/* */ /* */
/* initialize hints recorder */ /* initialize hints recorder */
FT_LOCAL FT_Error FT_LOCAL( FT_Error )
ps_hints_init( PS_Hints hints, ps_hints_init( PS_Hints hints,
FT_Memory memory ); FT_Memory memory );
/* finalize hints recorder */ /* finalize hints recorder */
FT_LOCAL void FT_LOCAL( void )
ps_hints_done( PS_Hints hints ); ps_hints_done( PS_Hints hints );
/* initialize Type1 hints recorder interface */ /* initialize Type1 hints recorder interface */
FT_LOCAL void FT_LOCAL( void )
t1_hints_funcs_init( T1_Hints_FuncsRec* funcs ); t1_hints_funcs_init( T1_Hints_FuncsRec* funcs );
/* initialize Type2 hints recorder interface */ /* initialize Type2 hints recorder interface */
FT_LOCAL void FT_LOCAL( void )
t2_hints_funcs_init( T2_Hints_FuncsRec* funcs ); t2_hints_funcs_init( T2_Hints_FuncsRec* funcs );

View File

@ -2965,7 +2965,7 @@
/* <Return> */ /* <Return> */
/* FreeType error code. 0 means success. */ /* FreeType error code. 0 means success. */
/* */ /* */
FT_LOCAL_DEF FT_Error FT_LOCAL_DEF( FT_Error )
Render_Glyph( RAS_ARG ) Render_Glyph( RAS_ARG )
{ {
FT_Error error; FT_Error error;
@ -3028,7 +3028,7 @@
/* <Return> */ /* <Return> */
/* FreeType error code. 0 means success. */ /* FreeType error code. 0 means success. */
/* */ /* */
FT_LOCAL_DEF FT_Error FT_LOCAL_DEF( FT_Error )
Render_Gray_Glyph( RAS_ARG ) Render_Gray_Glyph( RAS_ARG )
{ {
Long pixel_width; Long pixel_width;
@ -3086,17 +3086,17 @@
return Raster_Err_Ok; return Raster_Err_Ok;
} }
#else /* FT_RASTER_OPTION_ANTI_ALIASING */ #else /* !FT_RASTER_OPTION_ANTI_ALIASING */
FT_LOCAL_DEF FT_LOCAL_DEF( FT_Error )
FT_Error Render_Gray_Glyph( RAS_ARG ) Render_Gray_Glyph( RAS_ARG )
{ {
FT_UNUSED_RASTER; FT_UNUSED_RASTER;
return Raster_Err_Cannot_Render_Glyph; return Raster_Err_Cannot_Render_Glyph;
} }
#endif /* FT_RASTER_OPTION_ANTI_ALIASING */ #endif /* !FT_RASTER_OPTION_ANTI_ALIASING */
static void static void

View File

@ -179,7 +179,7 @@
} }
FT_LOCAL_DEF FT_Error FT_LOCAL_DEF( FT_Error )
SFNT_Init_Face( FT_Stream stream, SFNT_Init_Face( FT_Stream stream,
TT_Face face, TT_Face face,
FT_Int face_index, FT_Int face_index,
@ -242,7 +242,7 @@
!= SFNT_Err_Ok ) != SFNT_Err_Ok )
FT_LOCAL_DEF FT_Error FT_LOCAL_DEF( FT_Error )
SFNT_Load_Face( FT_Stream stream, SFNT_Load_Face( FT_Stream stream,
TT_Face face, TT_Face face,
FT_Int face_index, FT_Int face_index,
@ -592,7 +592,7 @@
#undef LOAD_ #undef LOAD_
FT_LOCAL_DEF void FT_LOCAL_DEF( void )
SFNT_Done_Face( TT_Face face ) SFNT_Done_Face( TT_Face face )
{ {
FT_Memory memory = face->root.memory; FT_Memory memory = face->root.memory;

View File

@ -28,21 +28,21 @@
FT_BEGIN_HEADER FT_BEGIN_HEADER
FT_LOCAL FT_Error FT_LOCAL( FT_Error )
SFNT_Init_Face( FT_Stream stream, SFNT_Init_Face( FT_Stream stream,
TT_Face face, TT_Face face,
FT_Int face_index, FT_Int face_index,
FT_Int num_params, FT_Int num_params,
FT_Parameter* params ); FT_Parameter* params );
FT_LOCAL FT_Error FT_LOCAL( FT_Error )
SFNT_Load_Face( FT_Stream stream, SFNT_Load_Face( FT_Stream stream,
TT_Face face, TT_Face face,
FT_Int face_index, FT_Int face_index,
FT_Int num_params, FT_Int num_params,
FT_Parameter* params ); FT_Parameter* params );
FT_LOCAL void FT_LOCAL( void )
SFNT_Done_Face( TT_Face face ); SFNT_Done_Face( TT_Face face );

View File

@ -106,7 +106,7 @@
/* opened). In case of error, all partially allocated tables are */ /* opened). In case of error, all partially allocated tables are */
/* released. */ /* released. */
/* */ /* */
FT_LOCAL_DEF FT_Error FT_LOCAL_DEF( FT_Error )
TT_CharMap_Load( TT_Face face, TT_CharMap_Load( TT_Face face,
TT_CMapTable* cmap, TT_CMapTable* cmap,
FT_Stream stream ) FT_Stream stream )
@ -414,7 +414,7 @@
/* <Return> */ /* <Return> */
/* FreeType error code. 0 means success. */ /* FreeType error code. 0 means success. */
/* */ /* */
FT_LOCAL_DEF FT_Error FT_LOCAL_DEF( FT_Error )
TT_CharMap_Free( TT_Face face, TT_CharMap_Free( TT_Face face,
TT_CMapTable* cmap ) TT_CMapTable* cmap )
{ {

View File

@ -27,12 +27,12 @@
FT_BEGIN_HEADER FT_BEGIN_HEADER
FT_LOCAL FT_Error FT_LOCAL( FT_Error )
TT_CharMap_Load( TT_Face face, TT_CharMap_Load( TT_Face face,
TT_CMapTable* cmap, TT_CMapTable* cmap,
FT_Stream input ); FT_Stream input );
FT_LOCAL FT_Error FT_LOCAL( FT_Error )
TT_CharMap_Free( TT_Face face, TT_CharMap_Free( TT_Face face,
TT_CMapTable* cmap ); TT_CMapTable* cmap );

View File

@ -45,32 +45,13 @@
#define TT_NEXT_ULong FT_NEXT_ULONG_BE #define TT_NEXT_ULong FT_NEXT_ULONG_BE
typedef struct TT_CMap_InfoRec_
{
FT_ByteP base;
FT_ByteP limit;
FT_ValidationLevel level;
} TT_CMap_InfoRec, *TT_CMap_Info;
FT_CALLBACK_DEF FT_Error FT_CALLBACK_DEF FT_Error
tt_cmap_init( FT_CMap cmap, tt_cmap_init( TT_CMap cmap,
TT_CMap_Info info ) FT_Byte* data )
{ {
FT_Error error; cmap->data = data;
TT_CMap_Class clazz = (TT_CMap_Class) FT_CMAP_CLASS(cmap); return 0;
FT_ValidatorRec valid; }
cmap->data = info->base;
ft_validator_init( &valid, info->base, info->limit, info->level );
if ( setjmp( valid->jump_buffer, 0 ) == 0 )
clazz->validate( info->base, &valid );
return valid.error;
}
/************************************************************************/ /************************************************************************/
@ -124,19 +105,22 @@
FT_CALLBACK_DEF FT_UInt FT_CALLBACK_DEF FT_UInt
tt_cmap0_char_index( FT_Byte* table, tt_cmap0_char_index( TT_CMap cmap,
FT_ULong char_code ) FT_UInt32 char_code )
{ {
FT_Byte* table = cmap->data;
return ( char_code < 256 ? table[6+char_code] : 0 ); return ( char_code < 256 ? table[6+char_code] : 0 );
} }
FT_CALLBACK_DEF FT_ULong FT_CALLBACK_DEF FT_UInt32
tt_cmap0_char_next( FT_Byte* table, tt_cmap0_char_next( TT_CMap cmap,
FT_ULong char_code, FT_UInt32 char_code,
FT_UInt *agindex ) FT_UInt *agindex )
{ {
FT_ULong result = 0; FT_Byte* table = cmap->data;
FT_UInt32 result = 0;
FT_UInt gindex = 0; FT_UInt gindex = 0;
table += 6; /* go to glyph ids */ table += 6; /* go to glyph ids */
@ -157,20 +141,21 @@
} }
FT_CALLBACK_TABLE const TT_Cmap_ClassRec tt_cmap0_class_rec = FT_CALLBACK_TABLE const TT_CMap_ClassRec tt_cmap0_class_rec =
{ {
{ {
sizeof( FT_CMapRec ), sizeof( FT_CMapRec ),
(FT_CMap_InitFunc) tt_cmap_init, (FT_CMap_InitFunc) tt_cmap_init,
(FT_CMap_DoneFunc) NULL, (FT_CMap_DoneFunc) NULL,
(FT_CMap_CharIndexFunc) tt_cmap0_char_index, (FT_CMap_CharIndexFunc) tt_cmap0_char_index,
(FT_CMap_CharNextFunc) tt_cmap0_char_next (FT_CMap_CharNextFunc) tt_cmap0_char_next
}, },
0,
(TT_CMap_ValidateFunc) tt_cmap0_validate (TT_CMap_ValidateFunc) tt_cmap0_validate
}; };
FT_LOCAL_DEF TT_CMap_Class tt_cmap0_class = &tt_cmap0_class_rec; FT_LOCAL_DEF( TT_CMap_Class ) tt_cmap0_class = &tt_cmap0_class_rec;
#endif /* TT_CONFIG_CMAP_FORMAT_0 */ #endif /* TT_CONFIG_CMAP_FORMAT_0 */
@ -354,8 +339,8 @@
/* return sub header corresponding to a given character code */ /* return sub header corresponding to a given character code */
/* NULL on invalid charcode.. */ /* NULL on invalid charcode.. */
static FT_Byte* static FT_Byte*
tt_cmap2_get_subheader( FT_Byte* table, tt_cmap2_get_subheader( FT_Byte* table,
FT_ULong char_code ) FT_UInt32 char_code )
{ {
FT_Byte* result = NULL; FT_Byte* result = NULL;
@ -401,9 +386,10 @@
FT_CALLBACK_DEF FT_UInt FT_CALLBACK_DEF FT_UInt
tt_cmap2_char_index( FT_Byte* table, tt_cmap2_char_index( TT_CMap cmap,
FT_ULong char_code ) FT_UInt32 char_code )
{ {
FT_Byte* table = cmap->data;
FT_UInt result = 0; FT_UInt result = 0;
FT_Byte* subheader; FT_Byte* subheader;
@ -437,10 +423,11 @@
FT_CALLBACK_DEF FT_UInt FT_CALLBACK_DEF FT_UInt
tt_cmap2_char_next( FT_Byte* table, tt_cmap2_char_next( TT_CMap cmap,
FT_ULong char_code, FT_UInt32 char_code,
FT_UInt *agindex ) FT_UInt *agindex )
{ {
FT_Byte* table = cmap->data;
FT_UInt result = 0; FT_UInt result = 0;
FT_UInt n, gindex = 0; FT_UInt n, gindex = 0;
FT_Byte* subheader; FT_Byte* subheader;
@ -502,20 +489,21 @@
return result; return result;
} }
FT_CALLBACK_TABLE const TT_Cmap_ClassRec tt_cmap2_class_rec = FT_CALLBACK_TABLE const TT_CMap_ClassRec tt_cmap2_class_rec =
{ {
{ {
sizeof( FT_CMapRec ), sizeof( FT_CMapRec ),
(FT_CMap_InitFunc) tt_cmap_init, (FT_CMap_InitFunc) tt_cmap_init,
(FT_CMap_DoneFunc) NULL, (FT_CMap_DoneFunc) NULL,
(FT_CMap_CharIndexFunc) tt_cmap2_char_index, (FT_CMap_CharIndexFunc) tt_cmap2_char_index,
(FT_CMap_CharNextFunc) tt_cmap2_char_next (FT_CMap_CharNextFunc) tt_cmap2_char_next
}, },
2,
(TT_CMap_ValidateFunc) tt_cmap2_validate (TT_CMap_ValidateFunc) tt_cmap2_validate
}; };
FT_LOCAL_DEF TT_CMap_Class tt_cmap2_class = &tt_cmap2_class_rec; FT_LOCAL_DEF( TT_CMap_Class ) tt_cmap2_class = &tt_cmap2_class_rec;
#endif /* TT_CONFIG_CMAP_FORMAT_2 */ #endif /* TT_CONFIG_CMAP_FORMAT_2 */
@ -700,9 +688,10 @@
FT_CALLBACK_DEF FT_UInt FT_CALLBACK_DEF FT_UInt
tt_cmap4_char_index( FT_Byte* table, tt_cmap4_char_index( TT_CMap cmap,
FT_ULong char_code ) FT_UInt32 char_code )
{ {
FT_Byte* table = cmap->data;
FT_UInt result = 0; FT_UInt result = 0;
if ( char_code < 0x10000U ) if ( char_code < 0x10000U )
@ -749,12 +738,13 @@
FT_CALLBACK_DEF FT_ULong FT_CALLBACK_DEF FT_UInt32
tt_cmap4_char_next( FT_Byte* table, tt_cmap4_char_next( TT_CMap cmap,
FT_ULong char_code, FT_UInt32 char_code,
FT_UInt *agindex ) FT_UInt *agindex )
{ {
FT_ULong result = 0; FT_Byte* table = cmap->data;
FT_UInt32 result = 0;
FT_UInt gindex = 0; FT_UInt gindex = 0;
FT_Byte* p; FT_Byte* p;
FT_UInt code, num_segs2; FT_UInt code, num_segs2;
@ -830,20 +820,21 @@
return result; return result;
} }
FT_CALLBACK_TABLE const TT_Cmap_ClassRec tt_cmap4_class_rec = FT_CALLBACK_TABLE const TT_CMap_ClassRec tt_cmap4_class_rec =
{ {
{ {
sizeof( FT_CMapRec ), sizeof( FT_CMapRec ),
(FT_CMap_InitFunc) tt_cmap_init, (FT_CMap_InitFunc) tt_cmap_init,
(FT_CMap_DoneFunc) NULL, (FT_CMap_DoneFunc) NULL,
(FT_CMap_CharIndexFunc) tt_cmap4_char_index, (FT_CMap_CharIndexFunc) tt_cmap4_char_index,
(FT_CMap_CharNextFunc) tt_cmap4_char_next (FT_CMap_CharNextFunc) tt_cmap4_char_next
}, },
4,
(TT_CMap_ValidateFunc) tt_cmap4_validate (TT_CMap_ValidateFunc) tt_cmap4_validate
}; };
FT_LOCAL_DEF TT_CMap_Class tt_cmap4_class = &tt_cmap4_class_rec; static TT_CMap_Class tt_cmap4_class = &tt_cmap4_class_rec;
#endif /* TT_CONFIG_CMAP_FORMAT_4 */ #endif /* TT_CONFIG_CMAP_FORMAT_4 */
@ -912,9 +903,10 @@
FT_CALLBACK_DEF FT_UInt FT_CALLBACK_DEF FT_UInt
tt_cmap6_char_index( FT_Byte* table, tt_cmap6_char_index( TT_CMap cmap,
FT_ULong char_code ) FT_UInt32 char_code )
{ {
FT_Byte* table = cmap->data;
FT_UInt result = 0; FT_UInt result = 0;
FT_Byte* p = table + 6; FT_Byte* p = table + 6;
FT_UInt start = TT_NEXT_USHORT(p); FT_UInt start = TT_NEXT_USHORT(p);
@ -930,12 +922,13 @@
} }
FT_CALLBACK_DEF FT_ULong FT_CALLBACK_DEF FT_UInt32
tt_cmap6_char_next( FT_Byte* table, tt_cmap6_char_next( TT_CMap cmap,
FT_ULong char_code, FT_UInt32 char_code,
FT_UInt *agindex ) FT_UInt *agindex )
{ {
FT_ULong result = 0; FT_Byte* table = cmap->data;
FT_UInt32 result = 0;
FT_UInt gindex = 0; FT_UInt gindex = 0;
FT_Byte* p = table + 6; FT_Byte* p = table + 6;
FT_UInt start = TT_NEXT_USHORT(p); FT_UInt start = TT_NEXT_USHORT(p);
@ -971,20 +964,21 @@
} }
FT_CALLBACK_TABLE const TT_Cmap_ClassRec tt_cmap6_class_rec = FT_CALLBACK_TABLE const TT_CMap_ClassRec tt_cmap6_class_rec =
{ {
{ {
sizeof( FT_CMapRec ), sizeof( FT_CMapRec ),
(FT_CMap_InitFunc) tt_cmap_init, (FT_CMap_InitFunc) tt_cmap_init,
(FT_CMap_DoneFunc) NULL, (FT_CMap_DoneFunc) NULL,
(FT_CMap_CharIndexFunc) tt_cmap6_char_index, (FT_CMap_CharIndexFunc) tt_cmap6_char_index,
(FT_CMap_CharNextFunc) tt_cmap6_char_next (FT_CMap_CharNextFunc) tt_cmap6_char_next
}, },
6,
(TT_CMap_ValidateFunc) tt_cmap6_validate (TT_CMap_ValidateFunc) tt_cmap6_validate
}; };
FT_LOCAL_DEF TT_CMap_Class tt_cmap6_class = &tt_cmap6_class_rec; FT_LOCAL_DEF( TT_CMap_Class ) tt_cmap6_class = &tt_cmap6_class_rec;
#endif /* TT_CONFIG_CMAP_FORMAT_6 */ #endif /* TT_CONFIG_CMAP_FORMAT_6 */
@ -1054,8 +1048,8 @@
{ {
FT_Byte* p = table + 4; FT_Byte* p = table + 4;
FT_Byte* is32; FT_Byte* is32;
FT_ULong length; FT_UInt32 length;
FT_ULong num_groups; FT_UInt32 num_groups;
if ( table + 16 + 8192 > valid->limit ) if ( table + 16 + 8192 > valid->limit )
INVALID_TOO_SHORT; INVALID_TOO_SHORT;
@ -1073,7 +1067,7 @@
/* check groups, they must be in increasing order */ /* check groups, they must be in increasing order */
{ {
FT_ULong n, start, end, start_id, count, last = 0; FT_UInt32 n, start, end, start_id, count, last = 0;
for ( n = 0; n < num_groups; n++ ) for ( n = 0; n < num_groups; n++ )
{ {
@ -1095,7 +1089,7 @@
if ( start_id + end - start >= valid->num_glyphs ) if ( start_id + end - start >= valid->num_glyphs )
INVALID_GLYPH_ID; INVALID_GLYPH_ID;
count = (FT_ULong)(end - start + 1); count = (FT_UInt32)(end - start + 1);
if ( start & ~0xFFFFU ) if ( start & ~0xFFFFU )
{ {
@ -1139,13 +1133,14 @@
FT_CALLBACK_DEF FT_UInt FT_CALLBACK_DEF FT_UInt
tt_cmap8_char_index( FT_Byte* table, tt_cmap8_char_index( TT_CMap cmap,
FT_ULong char_code ) FT_UInt32 char_code )
{ {
FT_UInt result = 0; FT_Byte* table = cmap->data;
FT_Byte* p = table + 8204; FT_UInt result = 0;
FT_ULong num_groups = TT_NEXT_ULONG(p); FT_Byte* p = table + 8204;
FT_ULong n, start, end, start_id; FT_UInt32 num_groups = TT_NEXT_ULONG(p);
FT_UInt32 n, start, end, start_id;
for ( ; num_groups > 0; num_groups-- ) for ( ; num_groups > 0; num_groups-- )
{ {
@ -1166,16 +1161,16 @@
} }
FT_CALLBACK_DEF FT_ULong FT_CALLBACK_DEF FT_UInt32
tt_cmap8_char_next( FT_Byte* table, tt_cmap8_char_next( TT_CMap cmap,
FT_ULong char_code, FT_UInt32 char_code,
FT_UInt *agindex ) FT_UInt *agindex )
{ {
FT_ULong result = 0; FT_UInt32 result = 0;
FT_UInt gindex = 0; FT_UInt gindex = 0;
FT_Byte* p = table + 8204; FT_Byte* p = table + 8204;
FT_ULong num_groups = TT_NEXT_ULONG(p); FT_UInt32 num_groups = TT_NEXT_ULONG(p);
FT_ULong n, start, end, start_id; FT_UInt32 n, start, end, start_id;
++char_code; ++char_code;
p = table + 8208; p = table + 8208;
@ -1208,20 +1203,21 @@
} }
FT_CALLBACK_TABLE const TT_Cmap_ClassRec tt_cmap8_class_rec = FT_CALLBACK_TABLE const TT_CMap_ClassRec tt_cmap8_class_rec =
{ {
{ {
sizeof( FT_CMapRec ), sizeof( FT_CMapRec ),
(FT_CMap_InitFunc) tt_cmap_init, (FT_CMap_InitFunc) tt_cmap_init,
(FT_CMap_DoneFunc) NULL, (FT_CMap_DoneFunc) NULL,
(FT_CMap_CharIndexFunc) tt_cmap8_char_index, (FT_CMap_CharIndexFunc) tt_cmap8_char_index,
(FT_CMap_CharNextFunc) tt_cmap8_char_next (FT_CMap_CharNextFunc) tt_cmap8_char_next
}, },
8,
(TT_CMap_ValidateFunc) tt_cmap8_validate (TT_CMap_ValidateFunc) tt_cmap8_validate
}; };
FT_LOCAL_DEF TT_CMap_Class tt_cmap8_class = &tt_cmap8_class_rec; FT_LOCAL_DEF( TT_CMap_Class ) tt_cmap8_class = &tt_cmap8_class_rec;
#endif /* TT_CONFIG_CMAP_FORMAT_8 */ #endif /* TT_CONFIG_CMAP_FORMAT_8 */
@ -1286,14 +1282,15 @@
FT_CALLBACK_DEF FT_UInt FT_CALLBACK_DEF FT_UInt
tt_cmap10_char_index( FT_Byte* table, tt_cmap10_char_index( TT_CMap cmap,
FT_ULong char_code ) FT_UInt32 char_code )
{ {
FT_UInt result = 0; FT_Byte* table = cmap->data;
FT_Byte* p = table + 12; FT_UInt result = 0;
FT_ULong start = TT_NEXT_ULONG(p); FT_Byte* p = table + 12;
FT_ULong count = TT_NEXT_ULONG(p); FT_UInt32 start = TT_NEXT_ULONG(p);
FT_ULong index = (FT_ULong)( char_code - start ); FT_UInt32 count = TT_NEXT_ULONG(p);
FT_UInt32 index = (FT_ULong)( char_code - start );
if ( index < count ) if ( index < count )
{ {
@ -1304,23 +1301,24 @@
} }
FT_CALLBACK_DEF FT_ULong FT_CALLBACK_DEF FT_UInt32
tt_cmap10_char_next( FT_Byte* table, tt_cmap10_char_next( TT_CMap cmap,
FT_ULong char_code, FT_UInt32 char_code,
FT_UInt *agindex ) FT_UInt *agindex )
{ {
FT_ULong result = 0; FT_Byte* table = cmap->data;
FT_UInt gindex = 0; FT_UInt32 result = 0;
FT_Byte* p = table + 12; FT_UInt gindex = 0;
FT_ULong start = TT_NEXT_ULONG(p); FT_Byte* p = table + 12;
FT_ULong count = TT_NEXT_ULONG(p); FT_UInt32 start = TT_NEXT_ULONG(p);
FT_ULong index; FT_UInt32 count = TT_NEXT_ULONG(p);
FT_UInt32 index;
char_code++; char_code++;
if ( char_code < start ) if ( char_code < start )
char_code = start; char_code = start;
index = (FT_ULong)( char_code - start ); index = (FT_UInt32)( char_code - start );
p += 2*index; p += 2*index;
for ( ; index < count; index++ ) for ( ; index < count; index++ )
@ -1342,20 +1340,21 @@
} }
FT_CALLBACK_TABLE const TT_Cmap_ClassRec tt_cmap10_class_rec = FT_CALLBACK_TABLE const TT_CMap_ClassRec tt_cmap10_class_rec =
{ {
{ {
sizeof( FT_CMapRec ), sizeof( FT_CMapRec ),
(FT_CMap_InitFunc) tt_cmap_init, (FT_CMap_InitFunc) tt_cmap_init,
(FT_CMap_DoneFunc) NULL, (FT_CMap_DoneFunc) NULL,
(FT_CMap_CharIndexFunc) tt_cmap10_char_index, (FT_CMap_CharIndexFunc) tt_cmap10_char_index,
(FT_CMap_CharNextFunc) tt_cmap10_char_next (FT_CMap_CharNextFunc) tt_cmap10_char_next
}, },
10,
(TT_CMap_ValidateFunc) tt_cmap10_validate (TT_CMap_ValidateFunc) tt_cmap10_validate
}; };
FT_LOCAL_DEF TT_CMap_Class tt_cmap10_class = &tt_cmap10_class_rec; FT_LOCAL_DEF( TT_CMap_Class ) tt_cmap10_class = &tt_cmap10_class_rec;
#endif /* TT_CONFIG_CMAP_FORMAT_10 */ #endif /* TT_CONFIG_CMAP_FORMAT_10 */
@ -1445,13 +1444,13 @@
FT_CALLBACK_DEF FT_UInt FT_CALLBACK_DEF FT_UInt
tt_cmap12_char_index( FT_Byte* table, tt_cmap12_char_index( TT_CMap cmap,
FT_ULong char_code ) FT_UInt32 char_code )
{ {
FT_UInt result = 0; FT_UInt result = 0;
FT_Byte* p = table + 12; FT_Byte* p = table + 12;
FT_ULong num_groups = TT_NEXT_ULONG(p); FT_UInt32 num_groups = TT_NEXT_ULONG(p);
FT_ULong n, start, end, start_id; FT_UInt32 n, start, end, start_id;
for ( ; num_groups > 0; num_groups-- ) for ( ; num_groups > 0; num_groups-- )
{ {
@ -1472,16 +1471,17 @@
} }
FT_CALLBACK_DEF FT_ULong FT_CALLBACK_DEF FT_UInt32
tt_cmap12_char_next( FT_Byte* table, tt_cmap12_char_next( TT_CMap cmap,
FT_ULong char_code, FT_UInt32 char_code,
FT_UInt *agindex ) FT_UInt *agindex )
{ {
FT_ULong result = 0; FT_Byte* table = cmap->data;
FT_UInt32 result = 0;
FT_UInt gindex = 0; FT_UInt gindex = 0;
FT_Byte* p = table + 12; FT_Byte* p = table + 12;
FT_ULong num_groups = TT_NEXT_ULONG(p); FT_UInt32 num_groups = TT_NEXT_ULONG(p);
FT_ULong n, start, end, start_id; FT_UInt32 n, start, end, start_id;
++char_code; ++char_code;
p = table + 8208; p = table + 8208;
@ -1514,21 +1514,124 @@
} }
FT_CALLBACK_TABLE const TT_Cmap_ClassRec tt_cmap12_class_rec = FT_CALLBACK_TABLE const TT_CMap_ClassRec tt_cmap12_class_rec =
{ {
{ {
sizeof( FT_CMapRec ), sizeof( FT_CMapRec ),
(FT_CMap_InitFunc) tt_cmap_init, (FT_CMap_InitFunc) tt_cmap_init,
(FT_CMap_DoneFunc) NULL, (FT_CMap_DoneFunc) NULL,
(FT_CMap_CharIndexFunc) tt_cmap12_char_index, (FT_CMap_CharIndexFunc) tt_cmap12_char_index,
(FT_CMap_CharNextFunc) tt_cmap12_char_next (FT_CMap_CharNextFunc) tt_cmap12_char_next
}, },
12,
(TT_CMap_ValidateFunc) tt_cmap12_validate (TT_CMap_ValidateFunc) tt_cmap12_validate
}; };
FT_LOCAL_DEF TT_CMap_Class tt_cmap12_class = &tt_cmap12_class_rec; FT_LOCAL_DEF( TT_CMap_Class ) tt_cmap12_class = &tt_cmap12_class_rec;
#endif /* TT_CONFIG_CMAP_FORMAT_12 */ #endif /* TT_CONFIG_CMAP_FORMAT_12 */
static TT_CMap_Class tt_cmap_classes[] =
{
#ifdef TT_CONFIG_CMAP_FORMAT_0
tt_cmap0_class,
#endif
#ifdef TT_CONFIG_CMAP_FORMAT_2
tt_cmap2_class,
#endif
#ifdef TT_CONFIG_CMAP_FORMAT_4
tt_cmap4_class,
#endif
#ifdef TT_CONFIG_CMAP_FORMAT_6
tt_cmap6_class,
#endif
#ifdef TT_CONFIG_CMAP_FORMAT_8
tt_cmap8_class,
#endif
#ifdef TT_CONFIG_CMAP_FORMAT_10
tt_cmap10_class,
#endif
#ifdef TT_CONFIG_CMAP_FORMAT_12
tt_cmap12_class,
#endif
NULL,
};
/* parse the 'cmap' table and build the corresponding TT_CMap objects */
/* in the current face.. */
/* */
FT_LOCAL_DEF( FT_Error )
TT_Build_CMaps( TT_Face face )
{
TT_CMap_Class clazz;
FT_ValidatorRec valid;
FT_UInt num_cmaps;
FT_Byte* table = face->cmap_table;
FT_Byte* limit = table + face->cmap_size;
FT_Byte* p = table;
FT_UInt format;
if ( p + 4 < limit )
return FT_Err_Invalid_Table;
/* only recognize format 0 */
if ( NEXT_UShort(p) != 0 )
return FT_Err_Invalid_Table;
num_cmaps = NEXT_UShort(p);
for ( ; num_cmaps > 0 && p + 8 <= limit; num_cmaps-- )
{
FT_CharMapRec charmap;
FT_UInt32 offset;
charmap.platform_id = NEXT_UShort(p);
charmap.encoding_id = NEXT_UShort(p);
offset = NEXT_ULong(p);
if ( offset && table + offset + 2 < limit )
{
FT_Byte* cmap = table + offset;
FT_UInt format = PEEK_UShort(cmap);
TT_CMap_Class* pclazz = tt_cmap_classes;
TT_CMap_Class clazz;
for ( ; *pclazz; pclazz++ )
{
clazz = *pclazz;
if ( clazz->format == format )
{
volatile FT_Validator valid;
ft_validator_init( &valid, cmap, limit,
FT_VALIDATE_LEVEL_DEFAULT );
if ( setjmp( valid.jump_buffer ) == 0 )
clazz->validate( cmap, &valid );
if ( valid.error == 0 )
(void)FT_CMap_New( clazz, cmap, face, NULL );
else
FT_ERROR(( "TT_Build_CMaps: broken cmap sub-table ignored !!\n" ));
}
}
}
}
return 0;
}
/* END */ /* END */

View File

@ -27,14 +27,29 @@
FT_BEGIN_HEADER FT_BEGIN_HEADER
FT_LOCAL FT_Error typedef struct TT_CMapRec_
TT_CharMap_Load( TT_Face face, {
TT_CMapTable* cmap, FT_CMapRec cmap;
FT_Stream input ); FT_Byte* data;
FT_LOCAL FT_Error } TT_CMapRec, *TT_CMap;
TT_CharMap_Free( TT_Face face,
TT_CMapTable* cmap ); typedef const struct TT_CMap_ClassRec_* TT_CMap_Class;
typedef FT_Error (*TT_CMap_ValidateFunc)( FT_Byte* data,
FT_Validator valid );
typedef struct TT_CMap_ClassRec_
{
FT_CMap_ClassRec clazz;
FT_UInt format;
TT_CMap_ValidateFunc validate;
} TT_CMap_ClassRec;
FT_LOCAL( FT_Error )
TT_Build_CMaps( TT_Face face )
FT_END_HEADER FT_END_HEADER

View File

@ -53,7 +53,7 @@
/* <Return> */ /* <Return> */
/* A pointer to the table directory entry. 0 if not found. */ /* A pointer to the table directory entry. 0 if not found. */
/* */ /* */
FT_LOCAL_DEF TT_Table* FT_LOCAL_DEF( TT_Table* )
TT_LookUp_Table( TT_Face face, TT_LookUp_Table( TT_Face face,
FT_ULong tag ) FT_ULong tag )
{ {
@ -104,7 +104,7 @@
/* <Return> */ /* <Return> */
/* FreeType error code. 0 means success. */ /* FreeType error code. 0 means success. */
/* */ /* */
FT_LOCAL_DEF FT_Error FT_LOCAL_DEF( FT_Error )
TT_Goto_Table( TT_Face face, TT_Goto_Table( TT_Face face,
FT_ULong tag, FT_ULong tag,
FT_Stream stream, FT_Stream stream,
@ -159,7 +159,7 @@
/* The header will be checked whether it is valid by looking at the */ /* The header will be checked whether it is valid by looking at the */
/* values of `search_range', `entry_selector', and `range_shift'. */ /* values of `search_range', `entry_selector', and `range_shift'. */
/* */ /* */
FT_LOCAL_DEF FT_Error FT_LOCAL_DEF( FT_Error )
TT_Load_SFNT_Header( TT_Face face, TT_Load_SFNT_Header( TT_Face face,
FT_Stream stream, FT_Stream stream,
FT_Long face_index, FT_Long face_index,
@ -294,7 +294,7 @@
/* <Note> */ /* <Note> */
/* The stream cursor must be at the font file's origin. */ /* The stream cursor must be at the font file's origin. */
/* */ /* */
FT_LOCAL_DEF FT_Error FT_LOCAL_DEF( FT_Error )
TT_Load_Directory( TT_Face face, TT_Load_Directory( TT_Face face,
FT_Stream stream, FT_Stream stream,
SFNT_Header* sfnt ) SFNT_Header* sfnt )
@ -388,7 +388,7 @@
/* <Return> */ /* <Return> */
/* FreeType error code. 0 means success. */ /* FreeType error code. 0 means success. */
/* */ /* */
FT_LOCAL_DEF FT_Error FT_LOCAL_DEF( FT_Error )
TT_Load_Any( TT_Face face, TT_Load_Any( TT_Face face,
FT_ULong tag, FT_ULong tag,
FT_Long offset, FT_Long offset,
@ -519,7 +519,7 @@
} }
FT_LOCAL_DEF FT_Error FT_LOCAL_DEF( FT_Error )
TT_Load_Header( TT_Face face, TT_Load_Header( TT_Face face,
FT_Stream stream ) FT_Stream stream )
{ {
@ -529,7 +529,7 @@
#ifdef TT_CONFIG_OPTION_EMBEDDED_BITMAPS #ifdef TT_CONFIG_OPTION_EMBEDDED_BITMAPS
FT_LOCAL_DEF FT_Error FT_LOCAL_DEF( FT_Error )
TT_Load_Bitmap_Header( TT_Face face, TT_Load_Bitmap_Header( TT_Face face,
FT_Stream stream ) FT_Stream stream )
{ {
@ -554,7 +554,7 @@
/* <Return> */ /* <Return> */
/* FreeType error code. 0 means success. */ /* FreeType error code. 0 means success. */
/* */ /* */
FT_LOCAL_DEF FT_Error FT_LOCAL_DEF( FT_Error )
TT_Load_MaxProfile( TT_Face face, TT_Load_MaxProfile( TT_Face face,
FT_Stream stream ) FT_Stream stream )
{ {
@ -816,7 +816,7 @@
/* <Return> */ /* <Return> */
/* FreeType error code. 0 means success. */ /* FreeType error code. 0 means success. */
/* */ /* */
FT_LOCAL_DEF FT_Error FT_LOCAL_DEF( FT_Error )
TT_Load_Metrics_Header( TT_Face face, TT_Load_Metrics_Header( TT_Face face,
FT_Stream stream, FT_Stream stream,
FT_Bool vertical ) FT_Bool vertical )
@ -915,7 +915,7 @@
/* <Return> */ /* <Return> */
/* FreeType error code. 0 means success. */ /* FreeType error code. 0 means success. */
/* */ /* */
FT_LOCAL_DEF FT_Error FT_LOCAL_DEF( FT_Error )
TT_Load_Names( TT_Face face, TT_Load_Names( TT_Face face,
FT_Stream stream ) FT_Stream stream )
{ {
@ -1080,7 +1080,7 @@
/* <Input> */ /* <Input> */
/* face :: A handle to the target face object. */ /* face :: A handle to the target face object. */
/* */ /* */
FT_LOCAL_DEF void FT_LOCAL_DEF( void )
TT_Free_Names( TT_Face face ) TT_Free_Names( TT_Face face )
{ {
FT_Memory memory = face->root.driver->root.memory; FT_Memory memory = face->root.driver->root.memory;
@ -1115,7 +1115,7 @@
/* <Return> */ /* <Return> */
/* FreeType error code. 0 means success. */ /* FreeType error code. 0 means success. */
/* */ /* */
FT_LOCAL_DEF FT_Error FT_LOCAL_DEF( FT_Error )
TT_Load_CMap( TT_Face face, TT_Load_CMap( TT_Face face,
FT_Stream stream ) FT_Stream stream )
{ {
@ -1229,7 +1229,7 @@
/* <Return> */ /* <Return> */
/* FreeType error code. 0 means success. */ /* FreeType error code. 0 means success. */
/* */ /* */
FT_LOCAL_DEF FT_Error FT_LOCAL_DEF( FT_Error )
TT_Load_OS2( TT_Face face, TT_Load_OS2( TT_Face face,
FT_Stream stream ) FT_Stream stream )
{ {
@ -1371,7 +1371,7 @@
/* <Return> */ /* <Return> */
/* FreeType error code. 0 means success. */ /* FreeType error code. 0 means success. */
/* */ /* */
FT_LOCAL_DEF FT_Error FT_LOCAL_DEF( FT_Error )
TT_Load_PostScript( TT_Face face, TT_Load_PostScript( TT_Face face,
FT_Stream stream ) FT_Stream stream )
{ {
@ -1429,7 +1429,7 @@
/* <Return> */ /* <Return> */
/* FreeType error code. 0 means success. */ /* FreeType error code. 0 means success. */
/* */ /* */
FT_LOCAL_DEF FT_Error FT_LOCAL_DEF( FT_Error )
TT_Load_PCLT( TT_Face face, TT_Load_PCLT( TT_Face face,
FT_Stream stream ) FT_Stream stream )
{ {
@ -1496,7 +1496,7 @@
/* <Return> */ /* <Return> */
/* FreeType error code. 0 means success. */ /* FreeType error code. 0 means success. */
/* */ /* */
FT_LOCAL_DEF FT_Error FT_LOCAL_DEF( FT_Error )
TT_Load_Gasp( TT_Face face, TT_Load_Gasp( TT_Face face,
FT_Stream stream ) FT_Stream stream )
{ {
@ -1573,7 +1573,7 @@
/* <Return> */ /* <Return> */
/* FreeType error code. 0 means success. */ /* FreeType error code. 0 means success. */
/* */ /* */
FT_LOCAL_DEF FT_Error FT_LOCAL_DEF( FT_Error )
TT_Load_Kern( TT_Face face, TT_Load_Kern( TT_Face face,
FT_Stream stream ) FT_Stream stream )
{ {
@ -1720,7 +1720,7 @@
/* <Return> */ /* <Return> */
/* FreeType error code. 0 means success. */ /* FreeType error code. 0 means success. */
/* */ /* */
FT_LOCAL_DEF FT_Error FT_LOCAL_DEF( FT_Error )
TT_Load_Hdmx( TT_Face face, TT_Load_Hdmx( TT_Face face,
FT_Stream stream ) FT_Stream stream )
{ {
@ -1798,7 +1798,7 @@
/* <Input> */ /* <Input> */
/* face :: A handle to the target face object. */ /* face :: A handle to the target face object. */
/* */ /* */
FT_LOCAL_DEF void FT_LOCAL_DEF( void )
TT_Free_Hdmx( TT_Face face ) TT_Free_Hdmx( TT_Face face )
{ {
if ( face ) if ( face )

View File

@ -29,29 +29,29 @@
FT_BEGIN_HEADER FT_BEGIN_HEADER
FT_LOCAL TT_Table* FT_LOCAL( TT_Table* )
TT_LookUp_Table( TT_Face face, TT_LookUp_Table( TT_Face face,
FT_ULong tag ); FT_ULong tag );
FT_LOCAL FT_Error FT_LOCAL( FT_Error )
TT_Goto_Table( TT_Face face, TT_Goto_Table( TT_Face face,
FT_ULong tag, FT_ULong tag,
FT_Stream stream, FT_Stream stream,
FT_ULong* length ); FT_ULong* length );
FT_LOCAL FT_Error FT_LOCAL( FT_Error )
TT_Load_SFNT_Header( TT_Face face, TT_Load_SFNT_Header( TT_Face face,
FT_Stream stream, FT_Stream stream,
FT_Long face_index, FT_Long face_index,
SFNT_Header* sfnt ); SFNT_Header* sfnt );
FT_LOCAL FT_Error FT_LOCAL( FT_Error )
TT_Load_Directory( TT_Face face, TT_Load_Directory( TT_Face face,
FT_Stream stream, FT_Stream stream,
SFNT_Header* sfnt ); SFNT_Header* sfnt );
FT_LOCAL FT_Error FT_LOCAL( FT_Error )
TT_Load_Any( TT_Face face, TT_Load_Any( TT_Face face,
FT_ULong tag, FT_ULong tag,
FT_Long offset, FT_Long offset,
@ -59,70 +59,70 @@ FT_BEGIN_HEADER
FT_ULong* length ); FT_ULong* length );
FT_LOCAL FT_Error FT_LOCAL( FT_Error )
TT_Load_Header( TT_Face face, TT_Load_Header( TT_Face face,
FT_Stream stream ); FT_Stream stream );
FT_LOCAL FT_Error FT_LOCAL( FT_Error )
TT_Load_Metrics_Header( TT_Face face, TT_Load_Metrics_Header( TT_Face face,
FT_Stream stream, FT_Stream stream,
FT_Bool vertical ); FT_Bool vertical );
FT_LOCAL FT_Error FT_LOCAL( FT_Error )
TT_Load_CMap( TT_Face face, TT_Load_CMap( TT_Face face,
FT_Stream stream ); FT_Stream stream );
FT_LOCAL FT_Error FT_LOCAL( FT_Error )
TT_Load_MaxProfile( TT_Face face, TT_Load_MaxProfile( TT_Face face,
FT_Stream stream ); FT_Stream stream );
FT_LOCAL FT_Error FT_LOCAL( FT_Error )
TT_Load_Names( TT_Face face, TT_Load_Names( TT_Face face,
FT_Stream stream ); FT_Stream stream );
FT_LOCAL FT_Error FT_LOCAL( FT_Error )
TT_Load_OS2( TT_Face face, TT_Load_OS2( TT_Face face,
FT_Stream stream ); FT_Stream stream );
FT_LOCAL FT_Error FT_LOCAL( FT_Error )
TT_Load_PostScript( TT_Face face, TT_Load_PostScript( TT_Face face,
FT_Stream stream ); FT_Stream stream );
FT_LOCAL FT_Error FT_LOCAL( FT_Error )
TT_Load_Hdmx( TT_Face face, TT_Load_Hdmx( TT_Face face,
FT_Stream stream ); FT_Stream stream );
FT_LOCAL FT_Error FT_LOCAL( FT_Error )
TT_Load_PCLT( TT_Face face, TT_Load_PCLT( TT_Face face,
FT_Stream stream ); FT_Stream stream );
FT_LOCAL void FT_LOCAL( void )
TT_Free_Names( TT_Face face ); TT_Free_Names( TT_Face face );
FT_LOCAL void FT_LOCAL( void )
TT_Free_Hdmx ( TT_Face face ); TT_Free_Hdmx ( TT_Face face );
FT_LOCAL FT_Error FT_LOCAL( FT_Error )
TT_Load_Kern( TT_Face face, TT_Load_Kern( TT_Face face,
FT_Stream stream ); FT_Stream stream );
FT_LOCAL FT_Error FT_LOCAL( FT_Error )
TT_Load_Gasp( TT_Face face, TT_Load_Gasp( TT_Face face,
FT_Stream stream ); FT_Stream stream );
#ifdef TT_CONFIG_OPTION_EMBEDDED_BITMAPS #ifdef TT_CONFIG_OPTION_EMBEDDED_BITMAPS
FT_LOCAL FT_Error FT_LOCAL( FT_Error )
TT_Load_Bitmap_Header( TT_Face face, TT_Load_Bitmap_Header( TT_Face face,
FT_Stream stream ); FT_Stream stream );

View File

@ -377,7 +377,7 @@
} }
FT_LOCAL_DEF void FT_LOCAL_DEF( void )
TT_Free_Post_Names( TT_Face face ) TT_Free_Post_Names( TT_Face face )
{ {
FT_Memory memory = face->root.memory; FT_Memory memory = face->root.memory;
@ -441,7 +441,7 @@
/* <Output> */ /* <Output> */
/* FreeType error code. 0 means success. */ /* FreeType error code. 0 means success. */
/* */ /* */
FT_LOCAL_DEF FT_Error FT_LOCAL_DEF( FT_Error )
TT_Get_PS_Name( TT_Face face, TT_Get_PS_Name( TT_Face face,
FT_UInt index, FT_UInt index,
FT_String** PSname ) FT_String** PSname )

View File

@ -29,12 +29,12 @@
FT_BEGIN_HEADER FT_BEGIN_HEADER
FT_LOCAL FT_Error FT_LOCAL( FT_Error )
TT_Get_PS_Name( TT_Face face, TT_Get_PS_Name( TT_Face face,
FT_UInt index, FT_UInt index,
FT_String** PSname ); FT_String** PSname );
FT_LOCAL void FT_LOCAL( void )
TT_Free_Post_Names( TT_Face face ); TT_Free_Post_Names( TT_Face face );

View File

@ -391,7 +391,7 @@
/* <Return> */ /* <Return> */
/* FreeType error code. 0 means success. */ /* FreeType error code. 0 means success. */
/* */ /* */
FT_LOCAL_DEF FT_Error FT_LOCAL_DEF( FT_Error )
TT_Load_SBit_Strikes( TT_Face face, TT_Load_SBit_Strikes( TT_Face face,
FT_Stream stream ) FT_Stream stream )
{ {
@ -588,7 +588,7 @@
/* <Input> */ /* <Input> */
/* face :: The target face object. */ /* face :: The target face object. */
/* */ /* */
FT_LOCAL_DEF void FT_LOCAL_DEF( void )
TT_Free_SBit_Strikes( TT_Face face ) TT_Free_SBit_Strikes( TT_Face face )
{ {
FT_Memory memory = face->root.memory; FT_Memory memory = face->root.memory;
@ -623,7 +623,7 @@
} }
FT_LOCAL_DEF FT_Error FT_LOCAL_DEF( FT_Error )
TT_Set_SBit_Strike( TT_Face face, TT_Set_SBit_Strike( TT_Face face,
FT_Int x_ppem, FT_Int x_ppem,
FT_Int y_ppem, FT_Int y_ppem,
@ -1395,7 +1395,7 @@
/* <Note> */ /* <Note> */
/* The `map.buffer' field is always freed before the glyph is loaded. */ /* The `map.buffer' field is always freed before the glyph is loaded. */
/* */ /* */
FT_LOCAL_DEF FT_Error FT_LOCAL_DEF( FT_Error )
TT_Load_SBit_Image( TT_Face face, TT_Load_SBit_Image( TT_Face face,
FT_ULong strike_index, FT_ULong strike_index,
FT_UInt glyph_index, FT_UInt glyph_index,

View File

@ -27,21 +27,21 @@
FT_BEGIN_HEADER FT_BEGIN_HEADER
FT_LOCAL FT_Error FT_LOCAL( FT_Error )
TT_Load_SBit_Strikes( TT_Face face, TT_Load_SBit_Strikes( TT_Face face,
FT_Stream stream ); FT_Stream stream );
FT_LOCAL void FT_LOCAL( void )
TT_Free_SBit_Strikes( TT_Face face ); TT_Free_SBit_Strikes( TT_Face face );
FT_LOCAL FT_Error FT_LOCAL( FT_Error )
TT_Set_SBit_Strike( TT_Face face, TT_Set_SBit_Strike( TT_Face face,
FT_Int x_ppem, FT_Int x_ppem,
FT_Int y_ppem, FT_Int y_ppem,
FT_ULong *astrike_index ); FT_ULong *astrike_index );
FT_LOCAL FT_Error FT_LOCAL( FT_Error )
TT_Load_SBit_Image( TT_Face face, TT_Load_SBit_Image( TT_Face face,
FT_ULong strike_index, FT_ULong strike_index,
FT_UInt glyph_index, FT_UInt glyph_index,

View File

@ -81,7 +81,7 @@
/* This function will much probably move to another component in the */ /* This function will much probably move to another component in the */
/* near future, but I haven't decided which yet. */ /* near future, but I haven't decided which yet. */
/* */ /* */
FT_LOCAL_DEF void FT_LOCAL_DEF( void )
TT_Get_Metrics( TT_HoriHeader* header, TT_Get_Metrics( TT_HoriHeader* header,
FT_UInt index, FT_UInt index,
FT_Short* bearing, FT_Short* bearing,
@ -581,7 +581,7 @@
} }
FT_LOCAL_DEF void FT_LOCAL_DEF( void )
TT_Init_Glyph_Loading( TT_Face face ) TT_Init_Glyph_Loading( TT_Face face )
{ {
face->access_glyph_frame = TT_Access_Glyph_Frame; face->access_glyph_frame = TT_Access_Glyph_Frame;
@ -1416,7 +1416,7 @@
/* <Return> */ /* <Return> */
/* FreeType error code. 0 means success. */ /* FreeType error code. 0 means success. */
/* */ /* */
FT_LOCAL_DEF FT_Error FT_LOCAL_DEF( FT_Error )
TT_Load_Glyph( TT_Size size, TT_Load_Glyph( TT_Size size,
TT_GlyphSlot glyph, TT_GlyphSlot glyph,
FT_UShort glyph_index, FT_UShort glyph_index,

View File

@ -31,16 +31,16 @@
FT_BEGIN_HEADER FT_BEGIN_HEADER
FT_LOCAL void FT_LOCAL( void )
TT_Get_Metrics( TT_HoriHeader* header, TT_Get_Metrics( TT_HoriHeader* header,
FT_UInt index, FT_UInt index,
FT_Short* bearing, FT_Short* bearing,
FT_UShort* advance ); FT_UShort* advance );
FT_LOCAL void FT_LOCAL( void )
TT_Init_Glyph_Loading( TT_Face face ); TT_Init_Glyph_Loading( TT_Face face );
FT_LOCAL FT_Error FT_LOCAL( FT_Error )
TT_Load_Glyph( TT_Size size, TT_Load_Glyph( TT_Size size,
TT_GlyphSlot glyph, TT_GlyphSlot glyph,
FT_UShort glyph_index, FT_UShort glyph_index,

View File

@ -256,7 +256,7 @@
/* <Return> */ /* <Return> */
/* FreeType error code. 0 means success. */ /* FreeType error code. 0 means success. */
/* */ /* */
FT_LOCAL_DEF FT_Error FT_LOCAL_DEF( FT_Error )
TT_Goto_CodeRange( TT_ExecContext exec, TT_Goto_CodeRange( TT_ExecContext exec,
FT_Int range, FT_Int range,
FT_Long IP ) FT_Long IP )
@ -306,7 +306,7 @@
/* <Return> */ /* <Return> */
/* FreeType error code. 0 means success. */ /* FreeType error code. 0 means success. */
/* */ /* */
FT_LOCAL_DEF FT_Error FT_LOCAL_DEF( FT_Error )
TT_Set_CodeRange( TT_ExecContext exec, TT_Set_CodeRange( TT_ExecContext exec,
FT_Int range, FT_Int range,
void* base, void* base,
@ -341,7 +341,7 @@
/* <Note> */ /* <Note> */
/* Does not set the Error variable. */ /* Does not set the Error variable. */
/* */ /* */
FT_LOCAL_DEF FT_Error FT_LOCAL_DEF( FT_Error )
TT_Clear_CodeRange( TT_ExecContext exec, TT_Clear_CodeRange( TT_ExecContext exec,
FT_Int range ) FT_Int range )
{ {
@ -380,7 +380,7 @@
/* <Note> */ /* <Note> */
/* Only the glyph loader and debugger should call this function. */ /* Only the glyph loader and debugger should call this function. */
/* */ /* */
FT_LOCAL_DEF FT_Error FT_LOCAL_DEF( FT_Error )
TT_Destroy_Context( TT_ExecContext exec, TT_Destroy_Context( TT_ExecContext exec,
FT_Memory memory ) FT_Memory memory )
{ {
@ -544,7 +544,7 @@
/* <Note> */ /* <Note> */
/* Only the glyph loader and debugger should call this function. */ /* Only the glyph loader and debugger should call this function. */
/* */ /* */
FT_LOCAL_DEF FT_Error FT_LOCAL_DEF( FT_Error )
TT_Load_Context( TT_ExecContext exec, TT_Load_Context( TT_ExecContext exec,
TT_Face face, TT_Face face,
TT_Size size ) TT_Size size )
@ -647,7 +647,7 @@
/* <Note> */ /* <Note> */
/* Only the glyph loader and debugger should call this function. */ /* Only the glyph loader and debugger should call this function. */
/* */ /* */
FT_LOCAL_DEF FT_Error FT_LOCAL_DEF( FT_Error )
TT_Save_Context( TT_ExecContext exec, TT_Save_Context( TT_ExecContext exec,
TT_Size size ) TT_Size size )
{ {
@ -694,7 +694,7 @@
/* <Note> */ /* <Note> */
/* Only the glyph loader and debugger should call this function. */ /* Only the glyph loader and debugger should call this function. */
/* */ /* */
FT_LOCAL_DEF FT_Error FT_LOCAL_DEF( FT_Error )
TT_Run_Context( TT_ExecContext exec, TT_Run_Context( TT_ExecContext exec,
FT_Bool debug ) FT_Bool debug )
{ {
@ -815,7 +815,7 @@
/* <Note> */ /* <Note> */
/* Only the glyph loader and debugger should call this function. */ /* Only the glyph loader and debugger should call this function. */
/* */ /* */
FT_LOCAL_DEF FT_Error FT_LOCAL_DEF( FT_Error )
TT_Done_Context( TT_ExecContext exec ) TT_Done_Context( TT_ExecContext exec )
{ {
/* Nothing at all for now */ /* Nothing at all for now */

View File

@ -224,18 +224,18 @@ FT_BEGIN_HEADER
extern const TT_GraphicsState tt_default_graphics_state; extern const TT_GraphicsState tt_default_graphics_state;
FT_LOCAL FT_Error FT_LOCAL( FT_Error )
TT_Goto_CodeRange( TT_ExecContext exec, TT_Goto_CodeRange( TT_ExecContext exec,
FT_Int range, FT_Int range,
FT_Long IP ); FT_Long IP );
FT_LOCAL FT_Error FT_LOCAL( FT_Error )
TT_Set_CodeRange( TT_ExecContext exec, TT_Set_CodeRange( TT_ExecContext exec,
FT_Int range, FT_Int range,
void* base, void* base,
FT_Long length ); FT_Long length );
FT_LOCAL FT_Error FT_LOCAL( FT_Error )
TT_Clear_CodeRange( TT_ExecContext exec, TT_Clear_CodeRange( TT_ExecContext exec,
FT_Int range ); FT_Int range );
@ -263,23 +263,23 @@ FT_BEGIN_HEADER
TT_New_Context( TT_Face face ); TT_New_Context( TT_Face face );
FT_LOCAL FT_Error FT_LOCAL( FT_Error )
TT_Done_Context( TT_ExecContext exec ); TT_Done_Context( TT_ExecContext exec );
FT_LOCAL FT_Error FT_LOCAL( FT_Error )
TT_Destroy_Context( TT_ExecContext exec, TT_Destroy_Context( TT_ExecContext exec,
FT_Memory memory ); FT_Memory memory );
FT_LOCAL FT_Error FT_LOCAL( FT_Error )
TT_Load_Context( TT_ExecContext exec, TT_Load_Context( TT_ExecContext exec,
TT_Face face, TT_Face face,
TT_Size size ); TT_Size size );
FT_LOCAL FT_Error FT_LOCAL( FT_Error )
TT_Save_Context( TT_ExecContext exec, TT_Save_Context( TT_ExecContext exec,
TT_Size ins ); TT_Size ins );
FT_LOCAL FT_Error FT_LOCAL( FT_Error )
TT_Run_Context( TT_ExecContext exec, TT_Run_Context( TT_ExecContext exec,
FT_Bool debug ); FT_Bool debug );

View File

@ -65,7 +65,7 @@
/* <Input> */ /* <Input> */
/* zone :: A pointer to the target glyph zone. */ /* zone :: A pointer to the target glyph zone. */
/* */ /* */
FT_LOCAL_DEF void FT_LOCAL_DEF( void )
TT_Done_GlyphZone( TT_GlyphZone* zone ) TT_Done_GlyphZone( TT_GlyphZone* zone )
{ {
FT_Memory memory = zone->memory; FT_Memory memory = zone->memory;
@ -102,7 +102,7 @@
/* <Return> */ /* <Return> */
/* FreeType error code. 0 means success. */ /* FreeType error code. 0 means success. */
/* */ /* */
FT_LOCAL_DEF FT_Error FT_LOCAL_DEF( FT_Error )
TT_New_GlyphZone( FT_Memory memory, TT_New_GlyphZone( FT_Memory memory,
FT_UShort maxPoints, FT_UShort maxPoints,
FT_Short maxContours, FT_Short maxContours,
@ -153,7 +153,7 @@
/* <Return> */ /* <Return> */
/* FreeType error code. 0 means success. */ /* FreeType error code. 0 means success. */
/* */ /* */
FT_LOCAL_DEF FT_Error FT_LOCAL_DEF( FT_Error )
TT_Init_Face( FT_Stream stream, TT_Init_Face( FT_Stream stream,
TT_Face face, TT_Face face,
FT_Int face_index, FT_Int face_index,
@ -224,7 +224,7 @@
/* <Input> */ /* <Input> */
/* face :: A pointer to the face object to destroy. */ /* face :: A pointer to the face object to destroy. */
/* */ /* */
FT_LOCAL_DEF void FT_LOCAL_DEF( void )
TT_Done_Face( TT_Face face ) TT_Done_Face( TT_Face face )
{ {
FT_Memory memory = face->root.memory; FT_Memory memory = face->root.memory;
@ -277,7 +277,7 @@
/* <Return> */ /* <Return> */
/* FreeType error code. 0 means success. */ /* FreeType error code. 0 means success. */
/* */ /* */
FT_LOCAL_DEF FT_Error FT_LOCAL_DEF( FT_Error )
TT_Init_Size( TT_Size size ) TT_Init_Size( TT_Size size )
{ {
FT_Error error = TT_Err_Ok; FT_Error error = TT_Err_Ok;
@ -464,7 +464,7 @@
/* <Input> */ /* <Input> */
/* size :: A handle to the target size object. */ /* size :: A handle to the target size object. */
/* */ /* */
FT_LOCAL_DEF void FT_LOCAL_DEF( void )
TT_Done_Size( TT_Size size ) TT_Done_Size( TT_Size size )
{ {
@ -756,7 +756,7 @@
/* <Input> */ /* <Input> */
/* size :: A handle to the target size object. */ /* size :: A handle to the target size object. */
/* */ /* */
FT_LOCAL_DEF FT_Error FT_LOCAL_DEF( FT_Error )
TT_Reset_Size( TT_Size size ) TT_Reset_Size( TT_Size size )
{ {
FT_Face face; FT_Face face;
@ -808,7 +808,7 @@
/* <Return> */ /* <Return> */
/* FreeType error code. 0 means success. */ /* FreeType error code. 0 means success. */
/* */ /* */
FT_LOCAL_DEF FT_Error FT_LOCAL_DEF( FT_Error )
TT_Init_Driver( TT_Driver driver ) TT_Init_Driver( TT_Driver driver )
{ {
FT_Error error; FT_Error error;
@ -839,7 +839,7 @@
/* <Input> */ /* <Input> */
/* driver :: A handle to the target TrueType driver. */ /* driver :: A handle to the target TrueType driver. */
/* */ /* */
FT_LOCAL_DEF void FT_LOCAL_DEF( void )
TT_Done_Driver( TT_Driver driver ) TT_Done_Driver( TT_Driver driver )
{ {
/* destroy extensions registry if needed */ /* destroy extensions registry if needed */

View File

@ -107,10 +107,10 @@ FT_BEGIN_HEADER
#ifdef TT_CONFIG_OPTION_BYTECODE_INTERPRETER #ifdef TT_CONFIG_OPTION_BYTECODE_INTERPRETER
FT_LOCAL void FT_LOCAL( void )
TT_Done_GlyphZone( TT_GlyphZone* zone ); TT_Done_GlyphZone( TT_GlyphZone* zone );
FT_LOCAL FT_Error FT_LOCAL( FT_Error )
TT_New_GlyphZone( FT_Memory memory, TT_New_GlyphZone( FT_Memory memory,
FT_UShort maxPoints, FT_UShort maxPoints,
FT_Short maxContours, FT_Short maxContours,
@ -378,14 +378,14 @@ FT_BEGIN_HEADER
/* */ /* */
/* Face functions */ /* Face functions */
/* */ /* */
FT_LOCAL FT_Error FT_LOCAL( FT_Error )
TT_Init_Face( FT_Stream stream, TT_Init_Face( FT_Stream stream,
TT_Face face, TT_Face face,
FT_Int face_index, FT_Int face_index,
FT_Int num_params, FT_Int num_params,
FT_Parameter* params ); FT_Parameter* params );
FT_LOCAL void FT_LOCAL( void )
TT_Done_Face( TT_Face face ); TT_Done_Face( TT_Face face );
@ -393,13 +393,13 @@ FT_BEGIN_HEADER
/* */ /* */
/* Size functions */ /* Size functions */
/* */ /* */
FT_LOCAL FT_Error FT_LOCAL( FT_Error )
TT_Init_Size( TT_Size size ); TT_Init_Size( TT_Size size );
FT_LOCAL void FT_LOCAL( void )
TT_Done_Size( TT_Size size ); TT_Done_Size( TT_Size size );
FT_LOCAL FT_Error FT_LOCAL( FT_Error )
TT_Reset_Size( TT_Size size ); TT_Reset_Size( TT_Size size );
@ -407,10 +407,10 @@ FT_BEGIN_HEADER
/* */ /* */
/* Driver functions */ /* Driver functions */
/* */ /* */
FT_LOCAL FT_Error FT_LOCAL( FT_Error )
TT_Init_Driver( TT_Driver driver ); TT_Init_Driver( TT_Driver driver );
FT_LOCAL void FT_LOCAL( void )
TT_Done_Driver( TT_Driver driver ); TT_Done_Driver( TT_Driver driver );

View File

@ -54,7 +54,7 @@
/* <Return> */ /* <Return> */
/* FreeType error code. 0 means success. */ /* FreeType error code. 0 means success. */
/* */ /* */
FT_LOCAL_DEF FT_Error FT_LOCAL_DEF( FT_Error )
TT_Load_Locations( TT_Face face, TT_Load_Locations( TT_Face face,
FT_Stream stream ) FT_Stream stream )
{ {
@ -147,7 +147,7 @@
/* <Return> */ /* <Return> */
/* FreeType error code. 0 means success. */ /* FreeType error code. 0 means success. */
/* */ /* */
FT_LOCAL_DEF FT_Error FT_LOCAL_DEF( FT_Error )
TT_Load_CVT( TT_Face face, TT_Load_CVT( TT_Face face,
FT_Stream stream ) FT_Stream stream )
{ {
@ -214,7 +214,7 @@
/* <Return> */ /* <Return> */
/* FreeType error code. 0 means success. */ /* FreeType error code. 0 means success. */
/* */ /* */
FT_LOCAL_DEF FT_Error FT_LOCAL_DEF( FT_Error )
TT_Load_Programs( TT_Face face, TT_Load_Programs( TT_Face face,
FT_Stream stream ) FT_Stream stream )
{ {

View File

@ -27,15 +27,15 @@
FT_BEGIN_HEADER FT_BEGIN_HEADER
FT_LOCAL FT_Error FT_LOCAL( FT_Error )
TT_Load_Locations( TT_Face face, TT_Load_Locations( TT_Face face,
FT_Stream stream ); FT_Stream stream );
FT_LOCAL FT_Error FT_LOCAL( FT_Error )
TT_Load_CVT( TT_Face face, TT_Load_CVT( TT_Face face,
FT_Stream stream ); FT_Stream stream );
FT_LOCAL FT_Error FT_LOCAL( FT_Error )
TT_Load_Programs( TT_Face face, TT_Load_Programs( TT_Face face,
FT_Stream stream ); FT_Stream stream );

View File

@ -35,7 +35,7 @@
#define FT_COMPONENT trace_t1afm #define FT_COMPONENT trace_t1afm
FT_LOCAL_DEF void FT_LOCAL_DEF( void )
T1_Done_AFM( FT_Memory memory, T1_Done_AFM( FT_Memory memory,
T1_AFM* afm ) T1_AFM* afm )
{ {
@ -156,7 +156,7 @@
/* parse an AFM file -- for now, only read the kerning pairs */ /* parse an AFM file -- for now, only read the kerning pairs */
FT_LOCAL_DEF FT_Error FT_LOCAL_DEF( FT_Error )
T1_Read_AFM( FT_Face t1_face, T1_Read_AFM( FT_Face t1_face,
FT_Stream stream ) FT_Stream stream )
{ {
@ -244,7 +244,7 @@
/* find the kerning for a given glyph pair */ /* find the kerning for a given glyph pair */
FT_LOCAL_DEF void FT_LOCAL_DEF( void )
T1_Get_Kerning( T1_AFM* afm, T1_Get_Kerning( T1_AFM* afm,
FT_UInt glyph1, FT_UInt glyph1,
FT_UInt glyph2, FT_UInt glyph2,

View File

@ -43,15 +43,15 @@ FT_BEGIN_HEADER
} T1_AFM; } T1_AFM;
FT_LOCAL FT_Error FT_LOCAL( FT_Error )
T1_Read_AFM( FT_Face face, T1_Read_AFM( FT_Face face,
FT_Stream stream ); FT_Stream stream );
FT_LOCAL void FT_LOCAL( void )
T1_Done_AFM( FT_Memory memory, T1_Done_AFM( FT_Memory memory,
T1_AFM* afm ); T1_AFM* afm );
FT_LOCAL void FT_LOCAL( void )
T1_Get_Kerning( T1_AFM* afm, T1_Get_Kerning( T1_AFM* afm,
FT_UInt glyph1, FT_UInt glyph1,
FT_UInt glyph2, FT_UInt glyph2,

View File

@ -112,7 +112,7 @@
}; };
FT_LOCAL_DEF T1_CMap_Class FT_LOCAL_DEF( T1_CMap_Class )
t1_cmap_standard_class = &t1_cmap_standard_class_rec; t1_cmap_standard_class = &t1_cmap_standard_class_rec;
@ -138,7 +138,7 @@
}; };
FT_LOCAL_DEF T1_CMap_Class FT_LOCAL_DEF( T1_CMap_Class )
t1_cmap_expert_class = &t1_cmap_expert_class_rec; t1_cmap_expert_class = &t1_cmap_expert_class_rec;
@ -232,7 +232,7 @@
}; };
FT_LOCAL_DEF FT_CMap_Class FT_LOCAL_DEF( FT_CMap_Class )
t1_cmap_custom_class = &t1_cmap_custom_class_rec; t1_cmap_custom_class = &t1_cmap_custom_class_rec;
@ -301,7 +301,7 @@
new_count, new_count,
sizeof(T1_CMapUniPairRec), sizeof(T1_CMapUniPairRec),
t1_cmap_uni_pair_compare ); t1_cmap_uni_pair_compare );
cmap->num_pairs = new_count; cmap->num_pairs = new_count;
} }
} }
@ -316,7 +316,7 @@
{ {
FT_Face face = FT_CMAP_FACE(cmap); FT_Face face = FT_CMAP_FACE(cmap);
FT_Memory memory = FT_FACE_MEMORY(face); FT_Memory memory = FT_FACE_MEMORY(face);
FREE( cmap->pairs ); FREE( cmap->pairs );
cmap->num_pairs = 0; cmap->num_pairs = 0;
} }
@ -330,15 +330,15 @@
FT_UInt max = cmap->num_pairs; FT_UInt max = cmap->num_pairs;
FT_UInt mid; FT_UInt mid;
T1_CMapUniPair pair; T1_CMapUniPair pair;
while ( min < max ) while ( min < max )
{ {
mid = min + (max - min)/2; mid = min + (max - min)/2;
pair = cmap->pairs + mid; pair = cmap->pairs + mid;
if ( pair->unicode == char_code ) if ( pair->unicode == char_code )
return pair->gindex; return pair->gindex;
if ( pair->unicode < char_code ) if ( pair->unicode < char_code )
min = mid+1; min = mid+1;
else else
@ -365,26 +365,26 @@
{ {
mid = min + (max - min)/2; mid = min + (max - min)/2;
pair = cmap->pairs + mid; pair = cmap->pairs + mid;
if ( pair->unicode == char_code ) if ( pair->unicode == char_code )
{ {
result = pair->gindex; result = pair->gindex;
if ( result != 0 ) if ( result != 0 )
goto Exit; goto Exit;
char_code++; char_code++;
goto Restart; goto Restart;
} }
if ( pair->unicode < char_code ) if ( pair->unicode < char_code )
min = mid+1; min = mid+1;
else else
max = mid; max = mid;
} }
/* we didn't find it, but we have a pair just above it */ /* we didn't find it, but we have a pair just above it */
char_code = 0; char_code = 0;
if ( min < cmap->num_pairs ) if ( min < cmap->num_pairs )
{ {
pair = cmap->num_pairs + min; pair = cmap->num_pairs + min;

View File

@ -73,7 +73,7 @@
} }
FT_LOCAL_DEF FT_Error FT_LOCAL_DEF( FT_Error )
T1_Compute_Max_Advance( T1_Face face, T1_Compute_Max_Advance( T1_Face face,
FT_Int* max_advance ) FT_Int* max_advance )
{ {
@ -136,7 +136,7 @@
/*************************************************************************/ /*************************************************************************/
FT_LOCAL_DEF FT_Error FT_LOCAL_DEF( FT_Error )
T1_Load_Glyph( T1_GlyphSlot glyph, T1_Load_Glyph( T1_GlyphSlot glyph,
T1_Size size, T1_Size size,
FT_Int glyph_index, FT_Int glyph_index,

View File

@ -27,11 +27,11 @@
FT_BEGIN_HEADER FT_BEGIN_HEADER
FT_LOCAL FT_Error FT_LOCAL( FT_Error )
T1_Compute_Max_Advance( T1_Face face, T1_Compute_Max_Advance( T1_Face face,
FT_Int* max_advance ); FT_Int* max_advance );
FT_LOCAL FT_Error FT_LOCAL( FT_Error )
T1_Load_Glyph( T1_GlyphSlot glyph, T1_Load_Glyph( T1_GlyphSlot glyph,
T1_Size size, T1_Size size,
FT_Int glyph_index, FT_Int glyph_index,

View File

@ -180,7 +180,7 @@
} }
FT_LOCAL_DEF FT_Error FT_LOCAL_DEF( FT_Error )
T1_Get_Multi_Master( T1_Face face, T1_Get_Multi_Master( T1_Face face,
FT_Multi_Master* master ) FT_Multi_Master* master )
{ {
@ -212,7 +212,7 @@
} }
FT_LOCAL_DEF FT_Error FT_LOCAL_DEF( FT_Error )
T1_Set_MM_Blend( T1_Face face, T1_Set_MM_Blend( T1_Face face,
FT_UInt num_coords, FT_UInt num_coords,
FT_Fixed* coords ) FT_Fixed* coords )
@ -258,7 +258,7 @@
} }
FT_LOCAL_DEF FT_Error FT_LOCAL_DEF( FT_Error )
T1_Set_MM_Design( T1_Face face, T1_Set_MM_Design( T1_Face face,
FT_UInt num_coords, FT_UInt num_coords,
FT_Long* coords ) FT_Long* coords )
@ -328,7 +328,7 @@
} }
FT_LOCAL_DEF void FT_LOCAL_DEF( void )
T1_Done_Blend( T1_Face face ) T1_Done_Blend( T1_Face face )
{ {
FT_Memory memory = face->root.memory; FT_Memory memory = face->root.memory;
@ -1637,7 +1637,7 @@
} }
FT_LOCAL_DEF FT_Error FT_LOCAL_DEF( FT_Error )
T1_Open_Face( T1_Face face ) T1_Open_Face( T1_Face face )
{ {
T1_Loader loader; T1_Loader loader;

View File

@ -51,26 +51,26 @@ FT_BEGIN_HEADER
} T1_Loader; } T1_Loader;
FT_LOCAL FT_Error FT_LOCAL( FT_Error )
T1_Open_Face( T1_Face face ); T1_Open_Face( T1_Face face );
#ifndef T1_CONFIG_OPTION_NO_MM_SUPPORT #ifndef T1_CONFIG_OPTION_NO_MM_SUPPORT
FT_LOCAL FT_Error FT_LOCAL( FT_Error )
T1_Get_Multi_Master( T1_Face face, T1_Get_Multi_Master( T1_Face face,
FT_Multi_Master* master ); FT_Multi_Master* master );
FT_LOCAL FT_Error FT_LOCAL( FT_Error )
T1_Set_MM_Blend( T1_Face face, T1_Set_MM_Blend( T1_Face face,
FT_UInt num_coords, FT_UInt num_coords,
FT_Fixed* coords ); FT_Fixed* coords );
FT_LOCAL FT_Error FT_LOCAL( FT_Error )
T1_Set_MM_Design( T1_Face face, T1_Set_MM_Design( T1_Face face,
FT_UInt num_coords, FT_UInt num_coords,
FT_Long* coords ); FT_Long* coords );
FT_LOCAL void FT_LOCAL( void )
T1_Done_Blend( T1_Face face ); T1_Done_Blend( T1_Face face );
#endif /* !T1_CONFIG_OPTION_NO_MM_SUPPORT */ #endif /* !T1_CONFIG_OPTION_NO_MM_SUPPORT */

View File

@ -71,7 +71,7 @@
} }
FT_LOCAL_DEF void FT_LOCAL_DEF( void )
T1_Size_Done( T1_Size size ) T1_Size_Done( T1_Size size )
{ {
if ( size->root.internal ) if ( size->root.internal )
@ -88,7 +88,7 @@
} }
FT_LOCAL_DEF FT_Error FT_LOCAL_DEF( FT_Error )
T1_Size_Init( T1_Size size ) T1_Size_Init( T1_Size size )
{ {
FT_Error error = 0; FT_Error error = 0;
@ -111,7 +111,7 @@
} }
FT_LOCAL_DEF FT_Error FT_LOCAL_DEF( FT_Error )
T1_Size_Reset( T1_Size size ) T1_Size_Reset( T1_Size size )
{ {
PSH_Globals_Funcs funcs = T1_Size_Get_Globals_Funcs( size ); PSH_Globals_Funcs funcs = T1_Size_Get_Globals_Funcs( size );
@ -133,14 +133,14 @@
/* */ /* */
/*************************************************************************/ /*************************************************************************/
FT_LOCAL_DEF void FT_LOCAL_DEF( void )
T1_GlyphSlot_Done( T1_GlyphSlot slot ) T1_GlyphSlot_Done( T1_GlyphSlot slot )
{ {
slot->root.internal->glyph_hints = 0; slot->root.internal->glyph_hints = 0;
} }
FT_LOCAL_DEF FT_Error FT_LOCAL_DEF( FT_Error )
T1_GlyphSlot_Init( T1_GlyphSlot slot ) T1_GlyphSlot_Init( T1_GlyphSlot slot )
{ {
T1_Face face; T1_Face face;
@ -183,7 +183,7 @@
/* <Input> */ /* <Input> */
/* face :: A typeless pointer to the face object to destroy. */ /* face :: A typeless pointer to the face object to destroy. */
/* */ /* */
FT_LOCAL_DEF void FT_LOCAL_DEF( void )
T1_Face_Done( T1_Face face ) T1_Face_Done( T1_Face face )
{ {
FT_Memory memory; FT_Memory memory;
@ -267,7 +267,7 @@
/* <Return> */ /* <Return> */
/* FreeType error code. 0 means success. */ /* FreeType error code. 0 means success. */
/* */ /* */
FT_LOCAL_DEF FT_Error FT_LOCAL_DEF( FT_Error )
T1_Face_Init( FT_Stream stream, T1_Face_Init( FT_Stream stream,
T1_Face face, T1_Face face,
FT_Int face_index, FT_Int face_index,
@ -530,7 +530,7 @@
/* <Return> */ /* <Return> */
/* FreeType error code. 0 means success. */ /* FreeType error code. 0 means success. */
/* */ /* */
FT_LOCAL_DEF FT_Error FT_LOCAL_DEF( FT_Error )
T1_Driver_Init( T1_Driver driver ) T1_Driver_Init( T1_Driver driver )
{ {
FT_UNUSED( driver ); FT_UNUSED( driver );
@ -550,7 +550,7 @@
/* <Input> */ /* <Input> */
/* driver :: A handle to the target Type 1 driver. */ /* driver :: A handle to the target Type 1 driver. */
/* */ /* */
FT_LOCAL_DEF void FT_LOCAL_DEF( void )
T1_Driver_Done( T1_Driver driver ) T1_Driver_Done( T1_Driver driver )
{ {
FT_UNUSED( driver ); FT_UNUSED( driver );

View File

@ -105,13 +105,13 @@ FT_BEGIN_HEADER
} T1_SizeRec; } T1_SizeRec;
FT_LOCAL void FT_LOCAL( void )
T1_Size_Done( T1_Size size ); T1_Size_Done( T1_Size size );
FT_LOCAL FT_Error FT_LOCAL( FT_Error )
T1_Size_Reset( T1_Size size ); T1_Size_Reset( T1_Size size );
FT_LOCAL FT_Error FT_LOCAL( FT_Error )
T1_Size_Init( T1_Size size ); T1_Size_Init( T1_Size size );
@ -139,26 +139,26 @@ FT_BEGIN_HEADER
} T1_GlyphSlotRec; } T1_GlyphSlotRec;
FT_LOCAL FT_Error FT_LOCAL( FT_Error )
T1_Face_Init( FT_Stream stream, T1_Face_Init( FT_Stream stream,
T1_Face face, T1_Face face,
FT_Int face_index, FT_Int face_index,
FT_Int num_params, FT_Int num_params,
FT_Parameter* params ); FT_Parameter* params );
FT_LOCAL void FT_LOCAL( void )
T1_Face_Done( T1_Face face ); T1_Face_Done( T1_Face face );
FT_LOCAL FT_Error FT_LOCAL( FT_Error )
T1_GlyphSlot_Init( T1_GlyphSlot slot ); T1_GlyphSlot_Init( T1_GlyphSlot slot );
FT_LOCAL void FT_LOCAL( void )
T1_GlyphSlot_Done( T1_GlyphSlot slot ); T1_GlyphSlot_Done( T1_GlyphSlot slot );
FT_LOCAL FT_Error FT_LOCAL( FT_Error )
T1_Driver_Init( T1_Driver driver ); T1_Driver_Init( T1_Driver driver );
FT_LOCAL void FT_LOCAL( void )
T1_Driver_Done( T1_Driver driver ); T1_Driver_Done( T1_Driver driver );

View File

@ -118,7 +118,7 @@
} }
FT_LOCAL_DEF FT_Error FT_LOCAL_DEF( FT_Error )
T1_New_Parser( T1_Parser parser, T1_New_Parser( T1_Parser parser,
FT_Stream stream, FT_Stream stream,
FT_Memory memory, FT_Memory memory,
@ -227,7 +227,7 @@
} }
FT_LOCAL_DEF void FT_LOCAL_DEF( void )
T1_Finalize_Parser( T1_Parser parser ) T1_Finalize_Parser( T1_Parser parser )
{ {
FT_Memory memory = parser->root.memory; FT_Memory memory = parser->root.memory;
@ -267,7 +267,7 @@
} }
FT_LOCAL_DEF FT_Error FT_LOCAL_DEF( FT_Error )
T1_Get_Private_Dict( T1_Parser parser, T1_Get_Private_Dict( T1_Parser parser,
PSAux_Service psaux ) PSAux_Service psaux )
{ {

View File

@ -113,17 +113,17 @@ FT_BEGIN_HEADER
(p)->root.funcs.load_field_table( &(p)->root, f, o, m, pf ) (p)->root.funcs.load_field_table( &(p)->root, f, o, m, pf )
FT_LOCAL FT_Error FT_LOCAL( FT_Error )
T1_New_Parser( T1_Parser parser, T1_New_Parser( T1_Parser parser,
FT_Stream stream, FT_Stream stream,
FT_Memory memory, FT_Memory memory,
PSAux_Service psaux ); PSAux_Service psaux );
FT_LOCAL FT_Error FT_LOCAL( FT_Error )
T1_Get_Private_Dict( T1_Parser parser, T1_Get_Private_Dict( T1_Parser parser,
PSAux_Service psaux ); PSAux_Service psaux );
FT_LOCAL void FT_LOCAL( void )
T1_Finalize_Parser( T1_Parser parser ); T1_Finalize_Parser( T1_Parser parser );

View File

@ -310,6 +310,141 @@
} }
#ifdef FT_CONFIG_OPTION_USE_CMAPS
typedef struct FNT_CMapRec_
{
FT_CMapRec cmap;
FT_UInt32 first;
FT_UInt32 count;
} FNT_CMapRec, *FNT_CMap;
static FT_Error
fnt_cmap_init( FT_CMap cmap )
{
FNT_Face face = (FNT_Face) FT_CMAP_FACE(cmap);
FNT_Font* font = face->fonts;
cmap->first = (FT_UInt32) font->header.first_char;
cmap->count = (FT_UInt32)(font->header.last_char - cmap->first + 1);
return 0;
}
static FT_UInt
fnt_cmap_char_index( FT_CMap cmap,
FT_UInt32 char_code )
{
FT_UInt gindex = 0;
char_code -= cmap->first;
if ( char_code < cmap->count )
gindex = char_code + 1;
return gindex;
}
static FT_UInt32
fnt_cmap_char_next( FT_CMap cmap,
FT_UInt32 char_code,
FT_UInt *agindex )
{
FT_UInt gindex = 0;
FT_UInt32 result = 0;
char_code ++;
if ( char_code <= cmap->first )
{
result = cmap->first;
gindex = 1;
}
else
{
char_code -= cmap->first;
if ( char_code < cmap->count )
{
result = cmap->first + char_code;
gindex = char_code + 1;
}
}
*agindex = gindex;
return result;
}
static FT_CMap_ClassRec fnt_cmap_class_rec =
{
sizeof( FNT_CMapRec ),
(FT_CMap_InitFunc) fnt_cmap_init,
(FT_CMap_DoneFunc) NULL,
(FT_CMap_CharIndexFunc) fnt_cmap_char_index,
(FT_CMap_CharNextFunc) fnt_cmap_char_next
};
static FT_CMap_Class fnt_cmap_class = &fnt_cmap_class_rec;
#else /* !FT_CONFIG_OPTION_USE_CMAPS */
static FT_UInt
FNT_Get_Char_Index( FT_CharMap charmap,
FT_Long char_code )
{
FT_Long result = char_code;
if ( charmap )
{
FNT_Font* font = ((FNT_Face)charmap->face)->fonts;
FT_Long first = font->header.first_char;
FT_Long count = font->header.last_char - first + 1;
char_code -= first;
if ( char_code < count )
result = char_code + 1;
else
result = 0;
}
return result;
}
static FT_Long
FNT_Get_Next_Char( FT_CharMap charmap,
FT_Long char_code )
{
FT_ULong result = 0;
FT_UInt gindex = 0;
char_code++;
if ( charmap )
{
FNT_Font* font = ((FNT_Face)charmap->face)->fonts;
FT_Long first = font->header.first_char;
if ( char_code < first )
char_code = first;
if ( char_code <= font->header.last_char )
return char_code;
}
else
return char_code;
return 0;
}
#endif /* !FT_CONFIG_OPTION_USE_CMAPS */
static void static void
FNT_Face_Done( FNT_Face face ) FNT_Face_Done( FNT_Face face )
{ {
@ -399,6 +534,25 @@
} }
} }
#ifdef FT_CONFIG_OPTION_USE_CMAPS
{
FT_CharMapRec charmap;
charmap.encoding = ft_encoding_unicode;
charmap.platform_id = 3;
charmap.encoding_id = 1;
charmap.face = root;
error = FT_CMap_New( fnt_cmap_class,
NULL,
&charmap,
NULL );
if (error) goto Fail;
}
#else /* !FT_CONFIG_OPTION_USE_CMAPS */
/* Setup the `charmaps' array */ /* Setup the `charmaps' array */
root->charmaps = &face->charmap_handle; root->charmaps = &face->charmap_handle;
root->num_charmaps = 1; root->num_charmaps = 1;
@ -412,6 +566,8 @@
root->charmap = face->charmap_handle; root->charmap = face->charmap_handle;
#endif /* !FT_CONFIG_OPTION_USE_CMAPS */
/* setup remaining flags */ /* setup remaining flags */
root->num_glyphs = fonts->header.last_char - root->num_glyphs = fonts->header.last_char -
fonts->header.first_char + 1; fonts->header.first_char + 1;
@ -470,52 +626,6 @@
} }
static FT_UInt
FNT_Get_Char_Index( FT_CharMap charmap,
FT_Long char_code )
{
FT_Long result = char_code;
if ( charmap )
{
FNT_Font* font = ((FNT_Face)charmap->face)->fonts;
FT_Long first = font->header.first_char;
FT_Long count = font->header.last_char - first + 1;
char_code -= first;
if ( char_code < count )
result = char_code + 1;
else
result = 0;
}
return result;
}
static FT_Long
FNT_Get_Next_Char( FT_CharMap charmap,
FT_Long char_code )
{
char_code++;
if ( charmap )
{
FNT_Font* font = ((FNT_Face)charmap->face)->fonts;
FT_Long first = font->header.first_char;
if ( char_code < first )
char_code = first;
if ( char_code <= font->header.last_char )
return char_code;
}
else
return char_code;
return 0;
}
static FT_Error static FT_Error
FNT_Load_Glyph( FT_GlyphSlot slot, FNT_Load_Glyph( FT_GlyphSlot slot,
FNT_Size size, FNT_Size size,