* 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:
parent
041889e763
commit
bc82f1bbef
14
ChangeLog
14
ChangeLog
|
@ -1,24 +1,28 @@
|
|||
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
|
||||
an unstable branch. Added the declarations of 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
|
||||
basically:
|
||||
|
||||
|
||||
typedef T1_Struct_
|
||||
{
|
||||
} T1_Struct;
|
||||
|
||||
|
||||
becomes:
|
||||
|
||||
|
||||
typedef PS_StructRec_
|
||||
{
|
||||
} PS_StructRec, *PS_Struct;
|
||||
|
||||
|
||||
typedef PS_StructRec T1_Struct; /* backwards-compatibility */
|
||||
|
||||
|
||||
|
|
|
@ -205,17 +205,17 @@ FT_BEGIN_HEADER
|
|||
|
||||
#ifdef FT_MAKE_OPTION_SINGLE_OBJECT
|
||||
|
||||
#define FT_LOCAL static
|
||||
#define FT_LOCAL_DEF static
|
||||
#define FT_LOCAL(x) static x
|
||||
#define FT_LOCAL_DEF(x) static x
|
||||
|
||||
#else
|
||||
|
||||
#ifdef __cplusplus
|
||||
#define FT_LOCAL extern "C"
|
||||
#define FT_LOCAL_DEF extern "C"
|
||||
#define FT_LOCAL(x) extern "C" x
|
||||
#define FT_LOCAL_DEF(x) extern "C" x
|
||||
#else
|
||||
#define FT_LOCAL extern
|
||||
#define FT_LOCAL_DEF extern
|
||||
#define FT_LOCAL(x) extern x
|
||||
#define FT_LOCAL_DEF(x) extern x
|
||||
#endif
|
||||
|
||||
#endif /* FT_MAKE_OPTION_SINGLE_OBJECT */
|
||||
|
|
|
@ -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 */
|
||||
|
|
|
@ -218,16 +218,22 @@ FT_BEGIN_HEADER
|
|||
|
||||
#define MEM_Free( _pointer_ ) \
|
||||
FT_Free_Debug( memory, (void**)&(_pointer_), __FILE__, __LINE__ )
|
||||
|
||||
|
||||
#else /* !FT_DEBUG_MEMORY */
|
||||
|
||||
#define MEM_Alloc( _pointer_, _size_ ) \
|
||||
FT_Alloc( memory, _size_, (void**)&(_pointer_) )
|
||||
|
||||
#define MEM_New( _pointer_ ) MEM_Alloc( _pointer_, sizeof(*(_pointer_)) )
|
||||
|
||||
|
||||
#define MEM_Alloc_Array( _pointer_, _count_, _type_ ) \
|
||||
FT_Alloc( memory, (_count_)*sizeof ( _type_ ), \
|
||||
(void**)&(_pointer_) )
|
||||
|
||||
#define MEM_New_Array( _pointer_, _count_ ) \
|
||||
MEM_Alloc_Array( _pointer_, _count_, sizeof(*(_pointer_)) )
|
||||
|
||||
#define MEM_Realloc( _pointer_, _current_, _size_ ) \
|
||||
FT_Realloc( memory, _current_, _size_, (void**)&(_pointer_) )
|
||||
|
||||
|
@ -235,6 +241,9 @@ FT_BEGIN_HEADER
|
|||
FT_Realloc( memory, (_current_)*sizeof ( _type_ ), \
|
||||
(_new_)*sizeof ( _type_ ), (void**)&(_pointer_) )
|
||||
|
||||
#define MEM_Renew_Array( _pointer_, _current_, _new_ ) \
|
||||
MEM_Realloc_Array( _pointer_, _current_, _new_, *(_pointer_) )
|
||||
|
||||
#define MEM_Free( _pointer_ ) \
|
||||
FT_Free( memory, (void**)&(_pointer_) )
|
||||
|
||||
|
@ -244,6 +253,9 @@ FT_BEGIN_HEADER
|
|||
#define ALLOC( _pointer_, _size_ ) \
|
||||
FT_SET_ERROR( MEM_Alloc( _pointer_, _size_ ) )
|
||||
|
||||
#define NEW( _pointer_ ) \
|
||||
FT_SET_ERROR( MEM_New( _pointer_ ) )
|
||||
|
||||
#define 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_, \
|
||||
(_count_)*sizeof ( _type_ ) ) )
|
||||
|
||||
#define NEW_ARRAY( _pointer_, _count_ ) \
|
||||
FT_SET_ERROR( MEM_New_Array( _pointer_, _count_ ) )
|
||||
|
||||
#define REALLOC_ARRAY( _pointer_, _current_, _count_, _type_ ) \
|
||||
FT_SET_ERROR( MEM_Realloc( _pointer_, \
|
||||
(_current_)*sizeof ( _type_ ), \
|
||||
(_count_)*sizeof ( _type_ ) ) )
|
||||
|
||||
#define RENEW_ARRAY( _pointer_, _current_, _new_ ) \
|
||||
FT_SET_ERROR( MEM_Renew_Array( _pointer_, _current_, _new_ ) )
|
||||
|
||||
#define FREE( _pointer_ ) \
|
||||
MEM_Free( _pointer_ )
|
||||
|
||||
|
|
|
@ -102,7 +102,7 @@ FT_BEGIN_HEADER
|
|||
* FT_VALIDATE_TIGHT ::
|
||||
* a table that passes this validation level can be used reliably and
|
||||
* 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
|
||||
* return an error later when trying to load the glyph)
|
||||
*
|
||||
|
@ -120,7 +120,7 @@ FT_BEGIN_HEADER
|
|||
FT_VALIDATE_DEFAULT = 0,
|
||||
FT_VALIDATE_TIGHT,
|
||||
FT_VALIDATE_PARANOID
|
||||
|
||||
|
||||
} FT_ValidationLevel;
|
||||
|
||||
|
||||
|
@ -131,9 +131,9 @@ FT_BEGIN_HEADER
|
|||
FT_Byte* limit; /* 'base' + sizeof(table) in memory */
|
||||
FT_ValidationLevel level; /* validation level */
|
||||
FT_Error error; /* error returned. 0 means success */
|
||||
|
||||
|
||||
jmp_buf jump_buffer; /* used for exception handling */
|
||||
|
||||
|
||||
} FT_ValidatorRec;
|
||||
|
||||
|
||||
|
@ -183,7 +183,7 @@ FT_BEGIN_HEADER
|
|||
|
||||
/* handle to internal charmap object */
|
||||
typedef struct FT_CMapRec_* FT_CMap;
|
||||
|
||||
|
||||
/* handle to charmap class structure */
|
||||
typedef const struct FT_CMap_ClassRec_* FT_CMap_Class;
|
||||
|
||||
|
@ -192,8 +192,7 @@ FT_BEGIN_HEADER
|
|||
{
|
||||
FT_CharMapRec charmap;
|
||||
FT_CMap_Class clazz;
|
||||
FT_Pointer data;
|
||||
|
||||
|
||||
} FT_CMapRec;
|
||||
|
||||
/* typecase any pointer to a charmap handle */
|
||||
|
@ -208,15 +207,16 @@ FT_BEGIN_HEADER
|
|||
|
||||
/* class method definitions */
|
||||
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 FT_UInt (*FT_CMap_CharIndexFunc)( FT_Pointer cmap_data,
|
||||
FT_ULong char_code );
|
||||
typedef FT_UInt (*FT_CMap_CharIndexFunc)( FT_CMap cmap,
|
||||
FT_UInt32 char_code );
|
||||
|
||||
typedef FT_UInt (*FT_CMap_CharNextFunc)( FT_Pointer cmap_data,
|
||||
FT_ULong *achar_code );
|
||||
typedef FT_UInt32 (*FT_CMap_CharNextFunc)( FT_CMap cmap,
|
||||
FT_UInt32 char_code,
|
||||
FT_UInt *agindex );
|
||||
|
||||
typedef struct FT_CMap_ClassRec_
|
||||
{
|
||||
|
@ -225,14 +225,14 @@ FT_BEGIN_HEADER
|
|||
FT_CMap_DoneFunc done;
|
||||
FT_CMap_CharIndexFunc char_index;
|
||||
FT_CMap_CharNextFunc char_next;
|
||||
|
||||
|
||||
} FT_CMap_ClassRec;
|
||||
|
||||
|
||||
/* create a new charmap and add it to charmap->face */
|
||||
FT_BASE( FT_Error )
|
||||
FT_CMap_New( FT_CMap_Class clazz,
|
||||
FT_Pointer data,
|
||||
FT_Pointer init_data,
|
||||
FT_CharMap charmap,
|
||||
FT_CMap *acmap );
|
||||
|
||||
|
|
|
@ -1101,18 +1101,6 @@ FT_BEGIN_HEADER
|
|||
} 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_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;
|
||||
TT_CharMap charmaps; /* array of TT_CharMapRec */
|
||||
|
||||
#endif /* !FT_CONFIG_OPTION_USE_CMAPS */
|
||||
|
||||
TT_Goto_Table_Func goto_table;
|
||||
|
||||
TT_Access_Glyph_Frame_Func access_glyph_frame;
|
||||
|
|
|
@ -64,7 +64,7 @@
|
|||
};
|
||||
|
||||
|
||||
FT_LOCAL_DEF AH_Angle
|
||||
FT_LOCAL_DEF( AH_Angle )
|
||||
ah_angle( FT_Vector* v )
|
||||
{
|
||||
FT_Pos dx, dy;
|
||||
|
|
|
@ -47,7 +47,7 @@ FT_BEGIN_HEADER
|
|||
const AH_Angle ah_arctan[1L << AH_ATAN_BITS];
|
||||
|
||||
|
||||
FT_LOCAL AH_Angle
|
||||
FT_LOCAL( AH_Angle )
|
||||
ah_angle( FT_Vector* v );
|
||||
|
||||
|
||||
|
|
|
@ -384,7 +384,7 @@
|
|||
}
|
||||
|
||||
|
||||
FT_LOCAL_DEF FT_Error
|
||||
FT_LOCAL_DEF( FT_Error )
|
||||
ah_hinter_compute_globals( AH_Hinter* hinter )
|
||||
{
|
||||
return ah_hinter_compute_widths( hinter ) ||
|
||||
|
|
|
@ -37,8 +37,7 @@ FT_BEGIN_HEADER
|
|||
|
||||
|
||||
/* compute global metrics automatically */
|
||||
FT_LOCAL
|
||||
FT_Error ah_hinter_compute_globals( AH_Hinter* hinter );
|
||||
FT_LOCAL( FT_Error ) ah_hinter_compute_globals( AH_Hinter* hinter );
|
||||
|
||||
|
||||
FT_END_HEADER
|
||||
|
|
|
@ -299,7 +299,7 @@
|
|||
/* <Description> */
|
||||
/* 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** aoutline )
|
||||
{
|
||||
|
@ -325,7 +325,7 @@
|
|||
/* <Description> */
|
||||
/* Destroys a given AH_Outline object. */
|
||||
/* */
|
||||
FT_LOCAL_DEF void
|
||||
FT_LOCAL_DEF( void )
|
||||
ah_outline_done( AH_Outline* outline )
|
||||
{
|
||||
FT_Memory memory = outline->memory;
|
||||
|
@ -349,7 +349,7 @@
|
|||
/* Saves the content of a given AH_Outline object into a face's glyph */
|
||||
/* slot. */
|
||||
/* */
|
||||
FT_LOCAL_DEF void
|
||||
FT_LOCAL_DEF( void )
|
||||
ah_outline_save( AH_Outline* outline,
|
||||
AH_Loader gloader )
|
||||
{
|
||||
|
@ -384,7 +384,7 @@
|
|||
/* Loads an unscaled outline from a glyph slot into an AH_Outline */
|
||||
/* object. */
|
||||
/* */
|
||||
FT_LOCAL_DEF FT_Error
|
||||
FT_LOCAL_DEF( FT_Error )
|
||||
ah_outline_load( AH_Outline* outline,
|
||||
FT_Face face )
|
||||
{
|
||||
|
@ -622,7 +622,7 @@
|
|||
}
|
||||
|
||||
|
||||
FT_LOCAL_DEF void
|
||||
FT_LOCAL_DEF( void )
|
||||
ah_setup_uv( AH_Outline* outline,
|
||||
AH_UV source )
|
||||
{
|
||||
|
@ -676,7 +676,7 @@
|
|||
}
|
||||
|
||||
|
||||
FT_LOCAL_DEF void
|
||||
FT_LOCAL_DEF( void )
|
||||
ah_outline_compute_segments( AH_Outline* outline )
|
||||
{
|
||||
int dimension;
|
||||
|
@ -918,7 +918,7 @@
|
|||
}
|
||||
|
||||
|
||||
FT_LOCAL_DEF void
|
||||
FT_LOCAL_DEF( void )
|
||||
ah_outline_link_segments( AH_Outline* outline )
|
||||
{
|
||||
AH_Segment* segments;
|
||||
|
@ -1286,7 +1286,7 @@
|
|||
/* <Description> */
|
||||
/* 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_compute_segments( outline );
|
||||
|
@ -1304,7 +1304,7 @@
|
|||
/* Computes the `blue edges' in a given outline (i.e. those that must */
|
||||
/* 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_Face_Globals* face_globals )
|
||||
{
|
||||
|
@ -1438,7 +1438,7 @@
|
|||
/* the contents of the detected edges (basically change the `blue */
|
||||
/* 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_Face_Globals* globals )
|
||||
{
|
||||
|
|
|
@ -45,43 +45,43 @@ FT_BEGIN_HEADER
|
|||
} AH_UV;
|
||||
|
||||
|
||||
FT_LOCAL void
|
||||
FT_LOCAL( void )
|
||||
ah_setup_uv( AH_Outline* outline,
|
||||
AH_UV source );
|
||||
|
||||
|
||||
/* 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** aoutline );
|
||||
|
||||
FT_LOCAL FT_Error
|
||||
FT_LOCAL( FT_Error )
|
||||
ah_outline_load( AH_Outline* outline,
|
||||
FT_Face face );
|
||||
|
||||
FT_LOCAL void
|
||||
FT_LOCAL( void )
|
||||
ah_outline_compute_segments( AH_Outline* outline );
|
||||
|
||||
FT_LOCAL void
|
||||
FT_LOCAL( void )
|
||||
ah_outline_link_segments( AH_Outline* outline );
|
||||
|
||||
FT_LOCAL void
|
||||
FT_LOCAL( void )
|
||||
ah_outline_detect_features( AH_Outline* outline );
|
||||
|
||||
FT_LOCAL void
|
||||
FT_LOCAL( void )
|
||||
ah_outline_compute_blue_edges( AH_Outline* outline,
|
||||
AH_Face_Globals* globals );
|
||||
|
||||
FT_LOCAL void
|
||||
FT_LOCAL( void )
|
||||
ah_outline_scale_blue_edges( AH_Outline* outline,
|
||||
AH_Face_Globals* globals );
|
||||
|
||||
FT_LOCAL void
|
||||
FT_LOCAL( void )
|
||||
ah_outline_save( AH_Outline* outline,
|
||||
AH_Loader loader );
|
||||
|
||||
FT_LOCAL void
|
||||
FT_LOCAL( void )
|
||||
ah_outline_done( AH_Outline* outline );
|
||||
|
||||
|
||||
|
|
|
@ -378,7 +378,7 @@
|
|||
}
|
||||
|
||||
|
||||
FT_LOCAL_DEF void
|
||||
FT_LOCAL_DEF( void )
|
||||
ah_hinter_hint_edges( AH_Hinter* hinter,
|
||||
FT_Bool no_horz_edges,
|
||||
FT_Bool no_vert_edges )
|
||||
|
@ -807,7 +807,7 @@
|
|||
#endif /* !AH_OPTION_NO_WEAK_INTERPOLATION */
|
||||
|
||||
|
||||
FT_LOCAL_DEF void
|
||||
FT_LOCAL_DEF( void )
|
||||
ah_hinter_align_points( AH_Hinter* hinter )
|
||||
{
|
||||
ah_hinter_align_edge_points( hinter );
|
||||
|
@ -896,7 +896,7 @@
|
|||
|
||||
|
||||
/* finalize a hinter object */
|
||||
FT_LOCAL_DEF void
|
||||
FT_LOCAL_DEF( void )
|
||||
ah_hinter_done( AH_Hinter* hinter )
|
||||
{
|
||||
if ( hinter )
|
||||
|
@ -919,7 +919,7 @@
|
|||
|
||||
|
||||
/* create a new empty hinter object */
|
||||
FT_LOCAL_DEF FT_Error
|
||||
FT_LOCAL_DEF( FT_Error )
|
||||
ah_hinter_new( FT_Library library,
|
||||
AH_Hinter** ahinter )
|
||||
{
|
||||
|
@ -955,7 +955,7 @@
|
|||
|
||||
|
||||
/* create a face's autohint globals */
|
||||
FT_LOCAL_DEF FT_Error
|
||||
FT_LOCAL_DEF( FT_Error )
|
||||
ah_hinter_new_face_globals( AH_Hinter* hinter,
|
||||
FT_Face face,
|
||||
AH_Globals* globals )
|
||||
|
@ -987,7 +987,7 @@
|
|||
|
||||
|
||||
/* discard a face's autohint globals */
|
||||
FT_LOCAL_DEF void
|
||||
FT_LOCAL_DEF( void )
|
||||
ah_hinter_done_face_globals( AH_Face_Globals* globals )
|
||||
{
|
||||
FT_Face face = globals->face;
|
||||
|
@ -1327,7 +1327,7 @@
|
|||
|
||||
|
||||
/* load and hint a given glyph */
|
||||
FT_LOCAL_DEF FT_Error
|
||||
FT_LOCAL_DEF( FT_Error )
|
||||
ah_hinter_load_glyph( AH_Hinter* hinter,
|
||||
FT_GlyphSlot slot,
|
||||
FT_Size size,
|
||||
|
@ -1381,7 +1381,7 @@
|
|||
|
||||
|
||||
/* 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,
|
||||
FT_Face face,
|
||||
void** global_hints,
|
||||
|
@ -1418,7 +1418,7 @@
|
|||
}
|
||||
|
||||
|
||||
FT_LOCAL_DEF void
|
||||
FT_LOCAL_DEF( void )
|
||||
ah_hinter_done_global_hints( AH_Hinter* hinter,
|
||||
void* global_hints )
|
||||
{
|
||||
|
|
|
@ -37,12 +37,12 @@ FT_BEGIN_HEADER
|
|||
|
||||
|
||||
/* create a new empty hinter object */
|
||||
FT_LOCAL FT_Error
|
||||
FT_LOCAL( FT_Error )
|
||||
ah_hinter_new( FT_Library library,
|
||||
AH_Hinter** ahinter );
|
||||
|
||||
/* Load a hinted glyph in the hinter */
|
||||
FT_LOCAL FT_Error
|
||||
FT_LOCAL( FT_Error )
|
||||
ah_hinter_load_glyph( AH_Hinter* hinter,
|
||||
FT_GlyphSlot slot,
|
||||
FT_Size size,
|
||||
|
@ -50,19 +50,19 @@ FT_BEGIN_HEADER
|
|||
FT_Int load_flags );
|
||||
|
||||
/* finalize a hinter object */
|
||||
FT_LOCAL void
|
||||
FT_LOCAL( void )
|
||||
ah_hinter_done( AH_Hinter* hinter );
|
||||
|
||||
FT_LOCAL void
|
||||
FT_LOCAL( void )
|
||||
ah_hinter_done_face_globals( AH_Face_Globals* globals );
|
||||
|
||||
FT_LOCAL void
|
||||
FT_LOCAL( void )
|
||||
ah_hinter_get_global_hints( AH_Hinter* hinter,
|
||||
FT_Face face,
|
||||
void** global_hints,
|
||||
long* global_len );
|
||||
|
||||
FT_LOCAL void
|
||||
FT_LOCAL( void )
|
||||
ah_hinter_done_global_hints( AH_Hinter* hinter,
|
||||
void* global_hints );
|
||||
|
||||
|
|
|
@ -1382,9 +1382,9 @@
|
|||
FT_CMap_Class clazz = cmap->clazz;
|
||||
FT_Face face = cmap->charmap.face;
|
||||
FT_Memory memory = FT_FACE_MEMORY(face);
|
||||
|
||||
|
||||
if ( clazz->done )
|
||||
clazz->done( cmap->data );
|
||||
clazz->done( cmap );
|
||||
|
||||
FREE( cmap );
|
||||
}
|
||||
|
@ -1393,15 +1393,15 @@
|
|||
|
||||
FT_BASE_DEF( FT_Error )
|
||||
FT_CMap_New( FT_CMap_Class clazz,
|
||||
FT_Pointer data,
|
||||
FT_Pointer init_data,
|
||||
FT_CharMap charmap,
|
||||
FT_CMap *acmap )
|
||||
{
|
||||
{
|
||||
FT_Error error = 0;
|
||||
FT_Face face;
|
||||
FT_Memory memory;
|
||||
FT_CMap cmap;
|
||||
|
||||
|
||||
if ( clazz == NULL || charmap == NULL || charmap->face == NULL )
|
||||
return FT_Err_Invalid_Argument;
|
||||
|
||||
|
@ -1412,36 +1412,35 @@
|
|||
{
|
||||
cmap->charmap = *charmap;
|
||||
cmap->clazz = clazz;
|
||||
cmap->data = data;
|
||||
|
||||
|
||||
if ( clazz->init )
|
||||
{
|
||||
error = clazz->init( cmap, data );
|
||||
error = clazz->init( cmap, init_data );
|
||||
if (error)
|
||||
goto Fail;
|
||||
}
|
||||
|
||||
|
||||
/* add it to our list of charmaps */
|
||||
if ( REALLOC_ARRAY( face->charmaps,
|
||||
face->num_charmaps,
|
||||
face->num_charmaps+1,
|
||||
FT_CharMap* ) )
|
||||
goto Fail;
|
||||
|
||||
|
||||
face->charmaps[ face->num_charmaps++ ] = (FT_CharMap) cmap;
|
||||
}
|
||||
|
||||
|
||||
Exit:
|
||||
if ( acmap )
|
||||
*acmap = cmap;
|
||||
|
||||
return error;
|
||||
|
||||
|
||||
Fail:
|
||||
FT_CMap_Done( cmap );
|
||||
cmap = NULL;
|
||||
goto Exit;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* documentation is in freetype.h */
|
||||
|
@ -1457,8 +1456,14 @@
|
|||
result = 0;
|
||||
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;
|
||||
result = driver->clazz->get_char_index( face->charmap, charcode );
|
||||
#endif /* !FT_CONFIG_OPTION_USE_CMAPS */
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
@ -1471,17 +1476,17 @@
|
|||
{
|
||||
FT_ULong result = 0;
|
||||
FT_UInt gindex = 0;
|
||||
|
||||
|
||||
if ( face && face->charmap )
|
||||
{
|
||||
gindex = FT_Get_Char_Index( face, 0 );
|
||||
if ( gindex == 0 )
|
||||
result = FT_Get_Next_Char( face, 0, &gindex );
|
||||
}
|
||||
|
||||
|
||||
if ( agindex )
|
||||
*agindex = gindex;
|
||||
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
|
@ -1499,6 +1504,13 @@
|
|||
|
||||
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;
|
||||
result = driver->clazz->get_next_char( face->charmap, charcode );
|
||||
if ( result != 0 )
|
||||
|
@ -1507,11 +1519,12 @@
|
|||
if ( gindex == 0 )
|
||||
result = 0;
|
||||
}
|
||||
#endif /* !FT_CONFIG_OPTION_USE_CMAPS */
|
||||
}
|
||||
|
||||
|
||||
if ( agindex )
|
||||
*agindex = gindex;
|
||||
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
|
|
|
@ -345,7 +345,7 @@
|
|||
/* */
|
||||
/* slot :: The current glyph object. */
|
||||
/* */
|
||||
FT_LOCAL_DEF void
|
||||
FT_LOCAL_DEF( void )
|
||||
CFF_Init_Decoder( CFF_Decoder* decoder,
|
||||
TT_Face face,
|
||||
CFF_Size size,
|
||||
|
@ -369,7 +369,7 @@
|
|||
|
||||
|
||||
/* this function is used to select the locals subrs array */
|
||||
FT_LOCAL_DEF void
|
||||
FT_LOCAL_DEF( void )
|
||||
CFF_Prepare_Decoder( CFF_Decoder* decoder,
|
||||
FT_UInt glyph_index )
|
||||
{
|
||||
|
@ -699,7 +699,7 @@
|
|||
/* <Return> */
|
||||
/* FreeType error code. 0 means success. */
|
||||
/* */
|
||||
FT_LOCAL_DEF FT_Error
|
||||
FT_LOCAL_DEF( FT_Error )
|
||||
CFF_Parse_CharStrings( CFF_Decoder* decoder,
|
||||
FT_Byte* charstring_base,
|
||||
FT_Int charstring_len )
|
||||
|
@ -2108,7 +2108,7 @@
|
|||
#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,
|
||||
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_Size size,
|
||||
FT_Int glyph_index,
|
||||
|
|
|
@ -167,32 +167,32 @@ FT_BEGIN_HEADER
|
|||
} CFF_Decoder;
|
||||
|
||||
|
||||
FT_LOCAL void
|
||||
FT_LOCAL( void )
|
||||
CFF_Init_Decoder( CFF_Decoder* decoder,
|
||||
TT_Face face,
|
||||
CFF_Size size,
|
||||
CFF_GlyphSlot slot,
|
||||
FT_Bool hinting );
|
||||
|
||||
FT_LOCAL void
|
||||
FT_LOCAL( void )
|
||||
CFF_Prepare_Decoder( CFF_Decoder* decoder,
|
||||
FT_UInt glyph_index );
|
||||
|
||||
#if 0 /* unused until we support pure CFF fonts */
|
||||
|
||||
/* 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,
|
||||
FT_Int* max_advance );
|
||||
|
||||
#endif /* 0 */
|
||||
|
||||
FT_LOCAL FT_Error
|
||||
FT_LOCAL( FT_Error )
|
||||
CFF_Parse_CharStrings( CFF_Decoder* decoder,
|
||||
FT_Byte* charstring_base,
|
||||
FT_Int charstring_len );
|
||||
|
||||
FT_LOCAL FT_Error
|
||||
FT_LOCAL( FT_Error )
|
||||
CFF_Load_Glyph( CFF_GlyphSlot glyph,
|
||||
CFF_Size size,
|
||||
FT_Int glyph_index,
|
||||
|
|
|
@ -1046,7 +1046,7 @@
|
|||
#endif
|
||||
|
||||
|
||||
FT_LOCAL_DEF FT_UShort
|
||||
FT_LOCAL_DEF( FT_UShort )
|
||||
CFF_Get_Standard_Encoding( FT_UInt charcode )
|
||||
{
|
||||
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,
|
||||
FT_UInt element,
|
||||
FT_Byte** pbytes,
|
||||
|
@ -1269,7 +1269,7 @@
|
|||
}
|
||||
|
||||
|
||||
FT_LOCAL_DEF void
|
||||
FT_LOCAL_DEF( void )
|
||||
CFF_Forget_Element( CFF_Index index,
|
||||
FT_Byte** pbytes )
|
||||
{
|
||||
|
@ -1283,7 +1283,7 @@
|
|||
}
|
||||
|
||||
|
||||
FT_LOCAL_DEF FT_String*
|
||||
FT_LOCAL_DEF( FT_String* )
|
||||
CFF_Get_Name( CFF_Index index,
|
||||
FT_UInt element )
|
||||
{
|
||||
|
@ -1310,7 +1310,7 @@
|
|||
}
|
||||
|
||||
|
||||
FT_LOCAL_DEF FT_String*
|
||||
FT_LOCAL_DEF( FT_String* )
|
||||
CFF_Get_String( CFF_Index index,
|
||||
FT_UInt sid,
|
||||
PSNames_Service interface )
|
||||
|
@ -1413,7 +1413,7 @@
|
|||
}
|
||||
|
||||
|
||||
FT_LOCAL_DEF FT_Byte
|
||||
FT_LOCAL_DEF( FT_Byte )
|
||||
CFF_Get_FD( CFF_FD_Select* select,
|
||||
FT_UInt glyph_index )
|
||||
{
|
||||
|
@ -2056,7 +2056,7 @@
|
|||
}
|
||||
|
||||
|
||||
FT_LOCAL_DEF FT_Error
|
||||
FT_LOCAL_DEF( FT_Error )
|
||||
CFF_Load_Font( FT_Stream stream,
|
||||
FT_Int face_index,
|
||||
CFF_Font* font )
|
||||
|
@ -2239,7 +2239,7 @@
|
|||
}
|
||||
|
||||
|
||||
FT_LOCAL_DEF void
|
||||
FT_LOCAL_DEF( void )
|
||||
CFF_Done_Font( CFF_Font* font )
|
||||
{
|
||||
FT_Memory memory = font->memory;
|
||||
|
|
|
@ -27,41 +27,41 @@
|
|||
|
||||
FT_BEGIN_HEADER
|
||||
|
||||
FT_LOCAL FT_UShort
|
||||
FT_LOCAL( FT_UShort )
|
||||
CFF_Get_Standard_Encoding( FT_UInt charcode );
|
||||
|
||||
|
||||
FT_LOCAL FT_String*
|
||||
FT_LOCAL( FT_String* )
|
||||
CFF_Get_Name( CFF_Index index,
|
||||
FT_UInt element );
|
||||
|
||||
FT_LOCAL FT_String*
|
||||
FT_LOCAL( FT_String* )
|
||||
CFF_Get_String( CFF_Index index,
|
||||
FT_UInt sid,
|
||||
PSNames_Service interface );
|
||||
|
||||
|
||||
FT_LOCAL FT_Error
|
||||
FT_LOCAL( FT_Error )
|
||||
CFF_Access_Element( CFF_Index index,
|
||||
FT_UInt element,
|
||||
FT_Byte** pbytes,
|
||||
FT_ULong* pbyte_len );
|
||||
|
||||
FT_LOCAL void
|
||||
FT_LOCAL( void )
|
||||
CFF_Forget_Element( CFF_Index index,
|
||||
FT_Byte** pbytes );
|
||||
|
||||
|
||||
FT_LOCAL FT_Error
|
||||
FT_LOCAL( FT_Error )
|
||||
CFF_Load_Font( FT_Stream stream,
|
||||
FT_Int face_index,
|
||||
CFF_Font* font );
|
||||
|
||||
FT_LOCAL void
|
||||
FT_LOCAL( void )
|
||||
CFF_Done_Font( CFF_Font* font );
|
||||
|
||||
|
||||
FT_LOCAL FT_Byte
|
||||
FT_LOCAL( FT_Byte )
|
||||
CFF_Get_FD( CFF_FD_Select* select,
|
||||
FT_UInt glyph_index );
|
||||
|
||||
|
|
|
@ -73,7 +73,7 @@
|
|||
}
|
||||
|
||||
|
||||
FT_LOCAL_DEF void
|
||||
FT_LOCAL_DEF( void )
|
||||
CFF_Size_Done( CFF_Size size )
|
||||
{
|
||||
if ( size->internal )
|
||||
|
@ -90,7 +90,7 @@
|
|||
}
|
||||
|
||||
|
||||
FT_LOCAL_DEF FT_Error
|
||||
FT_LOCAL_DEF( FT_Error )
|
||||
CFF_Size_Init( CFF_Size size )
|
||||
{
|
||||
FT_Error error = 0;
|
||||
|
@ -163,7 +163,7 @@
|
|||
}
|
||||
|
||||
|
||||
FT_LOCAL_DEF FT_Error
|
||||
FT_LOCAL_DEF( FT_Error )
|
||||
CFF_Size_Reset( CFF_Size 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 )
|
||||
{
|
||||
slot->root.internal->glyph_hints = 0;
|
||||
}
|
||||
|
||||
|
||||
FT_LOCAL_DEF FT_Error
|
||||
FT_LOCAL_DEF( FT_Error )
|
||||
CFF_GlyphSlot_Init( CFF_GlyphSlot slot )
|
||||
{
|
||||
CFF_Face face = (CFF_Face)slot->root.face;
|
||||
|
@ -441,7 +441,7 @@
|
|||
/* <Return> */
|
||||
/* FreeType error code. 0 means success. */
|
||||
/* */
|
||||
FT_LOCAL_DEF FT_Error
|
||||
FT_LOCAL_DEF( FT_Error )
|
||||
CFF_Face_Init( FT_Stream stream,
|
||||
CFF_Face face,
|
||||
FT_Int face_index,
|
||||
|
@ -700,7 +700,7 @@
|
|||
/* <Input> */
|
||||
/* face :: A pointer to the face object to destroy. */
|
||||
/* */
|
||||
FT_LOCAL_DEF void
|
||||
FT_LOCAL_DEF( void )
|
||||
CFF_Face_Done( CFF_Face face )
|
||||
{
|
||||
FT_Memory memory = face->root.memory;
|
||||
|
@ -737,7 +737,7 @@
|
|||
/* <Return> */
|
||||
/* FreeType error code. 0 means success. */
|
||||
/* */
|
||||
FT_LOCAL_DEF FT_Error
|
||||
FT_LOCAL_DEF( FT_Error )
|
||||
CFF_Driver_Init( CFF_Driver driver )
|
||||
{
|
||||
/* init extension registry if needed */
|
||||
|
@ -767,7 +767,7 @@
|
|||
/* <Input> */
|
||||
/* driver :: A handle to the target OpenType driver. */
|
||||
/* */
|
||||
FT_LOCAL_DEF void
|
||||
FT_LOCAL_DEF( void )
|
||||
CFF_Driver_Done( CFF_Driver driver )
|
||||
{
|
||||
/* destroy extensions registry if needed */
|
||||
|
|
|
@ -109,33 +109,33 @@ FT_BEGIN_HEADER
|
|||
} CFF_DriverRec;
|
||||
|
||||
|
||||
FT_LOCAL FT_Error
|
||||
FT_LOCAL( FT_Error )
|
||||
CFF_Size_Init( CFF_Size size );
|
||||
|
||||
FT_LOCAL void
|
||||
FT_LOCAL( void )
|
||||
CFF_Size_Done( CFF_Size size );
|
||||
|
||||
FT_LOCAL FT_Error
|
||||
FT_LOCAL( FT_Error )
|
||||
CFF_Size_Reset( CFF_Size size );
|
||||
|
||||
FT_LOCAL void
|
||||
FT_LOCAL( void )
|
||||
CFF_GlyphSlot_Done( CFF_GlyphSlot slot );
|
||||
|
||||
FT_LOCAL FT_Error
|
||||
FT_LOCAL( FT_Error )
|
||||
CFF_GlyphSlot_Init( CFF_GlyphSlot slot );
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* Face functions */
|
||||
/* */
|
||||
FT_LOCAL FT_Error
|
||||
FT_LOCAL( FT_Error )
|
||||
CFF_Face_Init( FT_Stream stream,
|
||||
CFF_Face face,
|
||||
FT_Int face_index,
|
||||
FT_Int num_params,
|
||||
FT_Parameter* params );
|
||||
|
||||
FT_LOCAL void
|
||||
FT_LOCAL( void )
|
||||
CFF_Face_Done( CFF_Face face );
|
||||
|
||||
|
||||
|
@ -143,10 +143,10 @@ FT_BEGIN_HEADER
|
|||
/* */
|
||||
/* Driver functions */
|
||||
/* */
|
||||
FT_LOCAL FT_Error
|
||||
FT_LOCAL( FT_Error )
|
||||
CFF_Driver_Init( CFF_Driver driver );
|
||||
|
||||
FT_LOCAL void
|
||||
FT_LOCAL( void )
|
||||
CFF_Driver_Done( CFF_Driver driver );
|
||||
|
||||
|
||||
|
|
|
@ -63,7 +63,7 @@
|
|||
} CFF_Field_Handler;
|
||||
|
||||
|
||||
FT_LOCAL_DEF void
|
||||
FT_LOCAL_DEF( void )
|
||||
CFF_Parser_Init( CFF_Parser* parser,
|
||||
FT_UInt code,
|
||||
void* object )
|
||||
|
@ -479,7 +479,7 @@
|
|||
};
|
||||
|
||||
|
||||
FT_LOCAL_DEF FT_Error
|
||||
FT_LOCAL_DEF( FT_Error )
|
||||
CFF_Parser_Run( CFF_Parser* parser,
|
||||
FT_Byte* start,
|
||||
FT_Byte* limit )
|
||||
|
|
|
@ -49,12 +49,12 @@ FT_BEGIN_HEADER
|
|||
} CFF_Parser;
|
||||
|
||||
|
||||
FT_LOCAL void
|
||||
FT_LOCAL( void )
|
||||
CFF_Parser_Init( CFF_Parser* parser,
|
||||
FT_UInt code,
|
||||
void* object );
|
||||
|
||||
FT_LOCAL FT_Error
|
||||
FT_LOCAL( FT_Error )
|
||||
CFF_Parser_Run( CFF_Parser* parser,
|
||||
FT_Byte* start,
|
||||
FT_Byte* limit );
|
||||
|
|
|
@ -138,7 +138,7 @@
|
|||
/*************************************************************************/
|
||||
|
||||
|
||||
FT_LOCAL_DEF FT_Error
|
||||
FT_LOCAL_DEF( FT_Error )
|
||||
CID_Compute_Max_Advance( CID_Face face,
|
||||
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_Size size,
|
||||
FT_Int glyph_index,
|
||||
|
|
|
@ -30,13 +30,13 @@ FT_BEGIN_HEADER
|
|||
#if 0
|
||||
|
||||
/* 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,
|
||||
FT_Int* max_advance );
|
||||
|
||||
#endif /* 0 */
|
||||
|
||||
FT_LOCAL FT_Error
|
||||
FT_LOCAL( FT_Error )
|
||||
CID_Load_Glyph( CID_GlyphSlot glyph,
|
||||
CID_Size size,
|
||||
FT_Int glyph_index,
|
||||
|
|
|
@ -41,7 +41,7 @@
|
|||
|
||||
|
||||
/* read a single offset */
|
||||
FT_LOCAL_DEF FT_Long
|
||||
FT_LOCAL_DEF( FT_Long )
|
||||
cid_get_offset( FT_Byte** start,
|
||||
FT_Byte offsize )
|
||||
{
|
||||
|
@ -60,7 +60,7 @@
|
|||
}
|
||||
|
||||
|
||||
FT_LOCAL_DEF void
|
||||
FT_LOCAL_DEF( void )
|
||||
cid_decrypt( FT_Byte* buffer,
|
||||
FT_Offset length,
|
||||
FT_UShort seed )
|
||||
|
@ -515,7 +515,7 @@
|
|||
}
|
||||
|
||||
|
||||
FT_LOCAL_DEF FT_Error
|
||||
FT_LOCAL_DEF( FT_Error )
|
||||
CID_Open_Face( CID_Face face )
|
||||
{
|
||||
CID_Loader loader;
|
||||
|
|
|
@ -36,16 +36,16 @@ FT_BEGIN_HEADER
|
|||
} CID_Loader;
|
||||
|
||||
|
||||
FT_LOCAL FT_Long
|
||||
FT_LOCAL( FT_Long )
|
||||
cid_get_offset( FT_Byte** start,
|
||||
FT_Byte offsize );
|
||||
|
||||
FT_LOCAL void
|
||||
FT_LOCAL( void )
|
||||
cid_decrypt( FT_Byte* buffer,
|
||||
FT_Offset length,
|
||||
FT_UShort seed );
|
||||
|
||||
FT_LOCAL FT_Error
|
||||
FT_LOCAL( FT_Error )
|
||||
CID_Open_Face( CID_Face face );
|
||||
|
||||
|
||||
|
|
|
@ -44,14 +44,14 @@
|
|||
/* */
|
||||
/*************************************************************************/
|
||||
|
||||
FT_LOCAL_DEF void
|
||||
FT_LOCAL_DEF( void )
|
||||
CID_GlyphSlot_Done( CID_GlyphSlot slot )
|
||||
{
|
||||
slot->root.internal->glyph_hints = 0;
|
||||
}
|
||||
|
||||
|
||||
FT_LOCAL_DEF FT_Error
|
||||
FT_LOCAL_DEF( FT_Error )
|
||||
CID_GlyphSlot_Init( CID_GlyphSlot slot )
|
||||
{
|
||||
CID_Face face;
|
||||
|
@ -105,7 +105,7 @@
|
|||
}
|
||||
|
||||
|
||||
FT_LOCAL_DEF void
|
||||
FT_LOCAL_DEF( void )
|
||||
CID_Size_Done( CID_Size size )
|
||||
{
|
||||
if ( size->root.internal )
|
||||
|
@ -122,7 +122,7 @@
|
|||
}
|
||||
|
||||
|
||||
FT_LOCAL_DEF FT_Error
|
||||
FT_LOCAL_DEF( FT_Error )
|
||||
CID_Size_Init( CID_Size size )
|
||||
{
|
||||
FT_Error error = 0;
|
||||
|
@ -146,7 +146,7 @@
|
|||
}
|
||||
|
||||
|
||||
FT_LOCAL_DEF FT_Error
|
||||
FT_LOCAL_DEF( FT_Error )
|
||||
CID_Size_Reset( CID_Size size )
|
||||
{
|
||||
PSH_Globals_Funcs funcs = CID_Size_Get_Globals_Funcs( size );
|
||||
|
@ -182,7 +182,7 @@
|
|||
/* <Input> */
|
||||
/* face :: A pointer to the face object to destroy. */
|
||||
/* */
|
||||
FT_LOCAL_DEF void
|
||||
FT_LOCAL_DEF( void )
|
||||
CID_Face_Done( CID_Face face )
|
||||
{
|
||||
FT_Memory memory;
|
||||
|
@ -262,7 +262,7 @@
|
|||
/* <Return> */
|
||||
/* FreeType error code. 0 means success. */
|
||||
/* */
|
||||
FT_LOCAL_DEF FT_Error
|
||||
FT_LOCAL_DEF( FT_Error )
|
||||
CID_Face_Init( FT_Stream stream,
|
||||
CID_Face face,
|
||||
FT_Int face_index,
|
||||
|
@ -511,7 +511,7 @@
|
|||
/* <Return> */
|
||||
/* FreeType error code. 0 means success. */
|
||||
/* */
|
||||
FT_LOCAL_DEF FT_Error
|
||||
FT_LOCAL_DEF( FT_Error )
|
||||
CID_Driver_Init( CID_Driver driver )
|
||||
{
|
||||
FT_UNUSED( driver );
|
||||
|
@ -531,7 +531,7 @@
|
|||
/* <Input> */
|
||||
/* driver :: A handle to the target CID driver. */
|
||||
/* */
|
||||
FT_LOCAL_DEF void
|
||||
FT_LOCAL_DEF( void )
|
||||
CID_Driver_Done( CID_Driver driver )
|
||||
{
|
||||
FT_UNUSED( driver );
|
||||
|
|
|
@ -111,26 +111,26 @@ FT_BEGIN_HEADER
|
|||
} CID_GlyphSlotRec;
|
||||
|
||||
|
||||
FT_LOCAL void
|
||||
FT_LOCAL( void )
|
||||
CID_GlyphSlot_Done( CID_GlyphSlot slot );
|
||||
|
||||
FT_LOCAL FT_Error
|
||||
FT_LOCAL( FT_Error )
|
||||
CID_GlyphSlot_Init( CID_GlyphSlot slot );
|
||||
|
||||
|
||||
FT_LOCAL void
|
||||
FT_LOCAL( void )
|
||||
CID_Size_Done( CID_Size size );
|
||||
|
||||
|
||||
FT_LOCAL FT_Error
|
||||
FT_LOCAL( FT_Error )
|
||||
CID_Size_Init( CID_Size size );
|
||||
|
||||
|
||||
FT_LOCAL FT_Error
|
||||
FT_LOCAL( FT_Error )
|
||||
CID_Size_Reset( CID_Size size );
|
||||
|
||||
|
||||
FT_LOCAL FT_Error
|
||||
FT_LOCAL( FT_Error )
|
||||
CID_Face_Init( FT_Stream stream,
|
||||
CID_Face face,
|
||||
FT_Int face_index,
|
||||
|
@ -138,15 +138,15 @@ FT_BEGIN_HEADER
|
|||
FT_Parameter* params );
|
||||
|
||||
|
||||
FT_LOCAL void
|
||||
FT_LOCAL( void )
|
||||
CID_Face_Done( CID_Face face );
|
||||
|
||||
|
||||
FT_LOCAL FT_Error
|
||||
FT_LOCAL( FT_Error )
|
||||
CID_Driver_Init( CID_Driver driver );
|
||||
|
||||
|
||||
FT_LOCAL void
|
||||
FT_LOCAL( void )
|
||||
CID_Driver_Done( CID_Driver driver );
|
||||
|
||||
|
||||
|
|
|
@ -50,7 +50,7 @@
|
|||
/*************************************************************************/
|
||||
|
||||
|
||||
FT_LOCAL_DEF FT_Error
|
||||
FT_LOCAL_DEF( FT_Error )
|
||||
CID_New_Parser( CID_Parser* parser,
|
||||
FT_Stream stream,
|
||||
FT_Memory memory,
|
||||
|
@ -139,7 +139,7 @@
|
|||
}
|
||||
|
||||
|
||||
FT_LOCAL_DEF void
|
||||
FT_LOCAL_DEF( void )
|
||||
CID_Done_Parser( CID_Parser* parser )
|
||||
{
|
||||
/* always free the private dictionary */
|
||||
|
|
|
@ -71,13 +71,13 @@ FT_BEGIN_HEADER
|
|||
} CID_Parser;
|
||||
|
||||
|
||||
FT_LOCAL FT_Error
|
||||
FT_LOCAL( FT_Error )
|
||||
CID_New_Parser( CID_Parser* parser,
|
||||
FT_Stream stream,
|
||||
FT_Memory memory,
|
||||
PSAux_Service psaux );
|
||||
|
||||
FT_LOCAL void
|
||||
FT_LOCAL( void )
|
||||
CID_Done_Parser( CID_Parser* parser );
|
||||
|
||||
|
||||
|
|
|
@ -221,7 +221,7 @@ FT_BEGIN_HEADER
|
|||
|
||||
#define GLYPHPADOPTIONS 4 /* I'm not sure about this */
|
||||
|
||||
FT_LOCAL FT_Error
|
||||
FT_LOCAL( FT_Error )
|
||||
pcf_load_font( FT_Stream,
|
||||
PCF_Face );
|
||||
|
||||
|
|
|
@ -855,7 +855,7 @@ THE SOFTWARE.
|
|||
}
|
||||
|
||||
|
||||
FT_LOCAL_DEF FT_Error
|
||||
FT_LOCAL_DEF( FT_Error )
|
||||
pcf_load_font( FT_Stream stream,
|
||||
PCF_Face face )
|
||||
{
|
||||
|
|
|
@ -53,7 +53,7 @@
|
|||
/* <Return> */
|
||||
/* FreeType error code. 0 means success. */
|
||||
/* */
|
||||
FT_LOCAL_DEF FT_Error
|
||||
FT_LOCAL_DEF( FT_Error )
|
||||
PS_Table_New( PS_Table table,
|
||||
FT_Int count,
|
||||
FT_Memory memory )
|
||||
|
@ -149,7 +149,7 @@
|
|||
/* FreeType error code. 0 means success. An error is returned if a */
|
||||
/* reallocation fails. */
|
||||
/* */
|
||||
FT_LOCAL_DEF FT_Error
|
||||
FT_LOCAL_DEF( FT_Error )
|
||||
PS_Table_Add( PS_Table table,
|
||||
FT_Int index,
|
||||
void* object,
|
||||
|
@ -209,7 +209,7 @@
|
|||
/* 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. */
|
||||
/* */
|
||||
FT_LOCAL_DEF void
|
||||
FT_LOCAL_DEF( void )
|
||||
PS_Table_Done( PS_Table table )
|
||||
{
|
||||
FT_Memory memory = table->memory;
|
||||
|
@ -233,7 +233,7 @@
|
|||
}
|
||||
|
||||
|
||||
FT_LOCAL_DEF void
|
||||
FT_LOCAL_DEF( void )
|
||||
PS_Table_Release( PS_Table table )
|
||||
{
|
||||
FT_Memory memory = table->memory;
|
||||
|
@ -264,7 +264,7 @@
|
|||
#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 )
|
||||
{
|
||||
FT_Byte* cur = parser->cursor;
|
||||
|
@ -284,7 +284,7 @@
|
|||
}
|
||||
|
||||
|
||||
FT_LOCAL_DEF void
|
||||
FT_LOCAL_DEF( void )
|
||||
PS_Parser_SkipAlpha( PS_Parser parser )
|
||||
{
|
||||
FT_Byte* cur = parser->cursor;
|
||||
|
@ -304,7 +304,7 @@
|
|||
}
|
||||
|
||||
|
||||
FT_LOCAL_DEF void
|
||||
FT_LOCAL_DEF( void )
|
||||
PS_Parser_ToToken( PS_Parser parser,
|
||||
T1_Token token )
|
||||
{
|
||||
|
@ -387,7 +387,7 @@
|
|||
}
|
||||
|
||||
|
||||
FT_LOCAL_DEF void
|
||||
FT_LOCAL_DEF( void )
|
||||
PS_Parser_ToTokenArray( PS_Parser parser,
|
||||
T1_Token tokens,
|
||||
FT_UInt max_tokens,
|
||||
|
@ -783,7 +783,7 @@
|
|||
|
||||
|
||||
/* 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,
|
||||
const T1_Field field,
|
||||
void** objects,
|
||||
|
@ -904,7 +904,7 @@
|
|||
#define T1_MAX_TABLE_ELEMENTS 32
|
||||
|
||||
|
||||
FT_LOCAL_DEF FT_Error
|
||||
FT_LOCAL_DEF( FT_Error )
|
||||
PS_Parser_LoadFieldTable( PS_Parser parser,
|
||||
const T1_Field field,
|
||||
void** objects,
|
||||
|
@ -968,14 +968,14 @@
|
|||
}
|
||||
|
||||
|
||||
FT_LOCAL_DEF FT_Long
|
||||
FT_LOCAL_DEF( FT_Long )
|
||||
PS_Parser_ToInt( PS_Parser parser )
|
||||
{
|
||||
return t1_toint( &parser->cursor, parser->limit );
|
||||
}
|
||||
|
||||
|
||||
FT_LOCAL_DEF FT_Fixed
|
||||
FT_LOCAL_DEF( FT_Fixed )
|
||||
PS_Parser_ToFixed( PS_Parser parser,
|
||||
FT_Int power_ten )
|
||||
{
|
||||
|
@ -983,7 +983,7 @@
|
|||
}
|
||||
|
||||
|
||||
FT_LOCAL_DEF FT_Int
|
||||
FT_LOCAL_DEF( FT_Int )
|
||||
PS_Parser_ToCoordArray( PS_Parser parser,
|
||||
FT_Int max_coords,
|
||||
FT_Short* coords )
|
||||
|
@ -993,7 +993,7 @@
|
|||
}
|
||||
|
||||
|
||||
FT_LOCAL_DEF FT_Int
|
||||
FT_LOCAL_DEF( FT_Int )
|
||||
PS_Parser_ToFixedArray( PS_Parser parser,
|
||||
FT_Int max_values,
|
||||
FT_Fixed* values,
|
||||
|
@ -1006,14 +1006,14 @@
|
|||
|
||||
#if 0
|
||||
|
||||
FT_LOCAL_DEF FT_String*
|
||||
FT_LOCAL_DEF( FT_String* )
|
||||
T1_ToString( PS_Parser parser )
|
||||
{
|
||||
return t1_tostring( &parser->cursor, parser->limit, parser->memory );
|
||||
}
|
||||
|
||||
|
||||
FT_LOCAL_DEF FT_Bool
|
||||
FT_LOCAL_DEF( FT_Bool )
|
||||
T1_ToBool( PS_Parser parser )
|
||||
{
|
||||
return t1_tobool( &parser->cursor, parser->limit );
|
||||
|
@ -1022,7 +1022,7 @@
|
|||
#endif /* 0 */
|
||||
|
||||
|
||||
FT_LOCAL_DEF void
|
||||
FT_LOCAL_DEF( void )
|
||||
PS_Parser_Init( PS_Parser parser,
|
||||
FT_Byte* base,
|
||||
FT_Byte* limit,
|
||||
|
@ -1037,7 +1037,7 @@
|
|||
}
|
||||
|
||||
|
||||
FT_LOCAL_DEF void
|
||||
FT_LOCAL_DEF( void )
|
||||
PS_Parser_Done( PS_Parser parser )
|
||||
{
|
||||
FT_UNUSED( parser );
|
||||
|
@ -1070,7 +1070,7 @@
|
|||
/* */
|
||||
/* glyph :: The current glyph object. */
|
||||
/* */
|
||||
FT_LOCAL_DEF void
|
||||
FT_LOCAL_DEF( void )
|
||||
T1_Builder_Init( T1_Builder* builder,
|
||||
FT_Face face,
|
||||
FT_Size size,
|
||||
|
@ -1132,7 +1132,7 @@
|
|||
/* <Input> */
|
||||
/* builder :: A pointer to the glyph builder to finalize. */
|
||||
/* */
|
||||
FT_LOCAL_DEF void
|
||||
FT_LOCAL_DEF( void )
|
||||
T1_Builder_Done( T1_Builder* builder )
|
||||
{
|
||||
FT_GlyphSlot glyph = builder->glyph;
|
||||
|
@ -1144,7 +1144,7 @@
|
|||
|
||||
|
||||
/* 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,
|
||||
FT_Int count )
|
||||
{
|
||||
|
@ -1153,7 +1153,7 @@
|
|||
|
||||
|
||||
/* add a new point, do not check space */
|
||||
FT_LOCAL_DEF void
|
||||
FT_LOCAL_DEF( void )
|
||||
T1_Builder_Add_Point( T1_Builder* builder,
|
||||
FT_Pos x,
|
||||
FT_Pos y,
|
||||
|
@ -1184,7 +1184,7 @@
|
|||
|
||||
|
||||
/* 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,
|
||||
FT_Pos x,
|
||||
FT_Pos y )
|
||||
|
@ -1201,7 +1201,7 @@
|
|||
|
||||
|
||||
/* 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 )
|
||||
{
|
||||
FT_Outline* outline = builder->current;
|
||||
|
@ -1229,7 +1229,7 @@
|
|||
|
||||
|
||||
/* 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,
|
||||
FT_Pos x,
|
||||
FT_Pos y )
|
||||
|
@ -1250,7 +1250,7 @@
|
|||
|
||||
|
||||
/* close the current contour */
|
||||
FT_LOCAL_DEF void
|
||||
FT_LOCAL_DEF( void )
|
||||
T1_Builder_Close_Contour( T1_Builder* builder )
|
||||
{
|
||||
FT_Outline* outline = builder->current;
|
||||
|
@ -1293,7 +1293,7 @@
|
|||
/*************************************************************************/
|
||||
/*************************************************************************/
|
||||
|
||||
FT_LOCAL_DEF void
|
||||
FT_LOCAL_DEF( void )
|
||||
T1_Decrypt( FT_Byte* buffer,
|
||||
FT_Offset length,
|
||||
FT_UShort seed )
|
||||
|
|
|
@ -46,22 +46,22 @@ FT_BEGIN_HEADER
|
|||
const T1_Builder_Funcs t1_builder_funcs;
|
||||
|
||||
|
||||
FT_LOCAL FT_Error
|
||||
FT_LOCAL( FT_Error )
|
||||
PS_Table_New( PS_Table table,
|
||||
FT_Int count,
|
||||
FT_Memory memory );
|
||||
|
||||
FT_LOCAL FT_Error
|
||||
FT_LOCAL( FT_Error )
|
||||
PS_Table_Add( PS_Table table,
|
||||
FT_Int index,
|
||||
void* object,
|
||||
FT_Int length );
|
||||
|
||||
FT_LOCAL void
|
||||
FT_LOCAL( void )
|
||||
PS_Table_Done( PS_Table table );
|
||||
|
||||
|
||||
FT_LOCAL void
|
||||
FT_LOCAL( void )
|
||||
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 );
|
||||
|
||||
FT_LOCAL void
|
||||
FT_LOCAL( void )
|
||||
PS_Parser_SkipAlpha( PS_Parser parser );
|
||||
|
||||
FT_LOCAL void
|
||||
FT_LOCAL( void )
|
||||
PS_Parser_ToToken( PS_Parser parser,
|
||||
T1_Token token );
|
||||
|
||||
FT_LOCAL void
|
||||
FT_LOCAL( void )
|
||||
PS_Parser_ToTokenArray( PS_Parser parser,
|
||||
T1_Token tokens,
|
||||
FT_UInt max_tokens,
|
||||
FT_Int* pnum_tokens );
|
||||
|
||||
FT_LOCAL FT_Error
|
||||
FT_LOCAL( FT_Error )
|
||||
PS_Parser_LoadField( PS_Parser parser,
|
||||
const T1_Field field,
|
||||
void** objects,
|
||||
FT_UInt max_objects,
|
||||
FT_ULong* pflags );
|
||||
|
||||
FT_LOCAL FT_Error
|
||||
FT_LOCAL( FT_Error )
|
||||
PS_Parser_LoadFieldTable( PS_Parser parser,
|
||||
const T1_Field field,
|
||||
void** objects,
|
||||
FT_UInt max_objects,
|
||||
FT_ULong* pflags );
|
||||
|
||||
FT_LOCAL FT_Long
|
||||
FT_LOCAL( FT_Long )
|
||||
PS_Parser_ToInt( PS_Parser parser );
|
||||
|
||||
|
||||
FT_LOCAL FT_Fixed
|
||||
FT_LOCAL( FT_Fixed )
|
||||
PS_Parser_ToFixed( PS_Parser parser,
|
||||
FT_Int power_ten );
|
||||
|
||||
|
||||
FT_LOCAL FT_Int
|
||||
FT_LOCAL( FT_Int )
|
||||
PS_Parser_ToCoordArray( PS_Parser parser,
|
||||
FT_Int max_coords,
|
||||
FT_Short* coords );
|
||||
|
||||
FT_LOCAL FT_Int
|
||||
FT_LOCAL( FT_Int )
|
||||
PS_Parser_ToFixedArray( PS_Parser parser,
|
||||
FT_Int max_values,
|
||||
FT_Fixed* values,
|
||||
FT_Int power_ten );
|
||||
|
||||
|
||||
FT_LOCAL void
|
||||
FT_LOCAL( void )
|
||||
PS_Parser_Init( PS_Parser parser,
|
||||
FT_Byte* base,
|
||||
FT_Byte* limit,
|
||||
FT_Memory memory );
|
||||
|
||||
FT_LOCAL void
|
||||
FT_LOCAL( void )
|
||||
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,
|
||||
FT_Face face,
|
||||
FT_Size size,
|
||||
FT_GlyphSlot glyph,
|
||||
FT_Bool hinting );
|
||||
|
||||
FT_LOCAL void
|
||||
FT_LOCAL( void )
|
||||
T1_Builder_Done( T1_Builder* builder );
|
||||
|
||||
FT_LOCAL FT_Error
|
||||
FT_LOCAL( FT_Error )
|
||||
T1_Builder_Check_Points( T1_Builder* builder,
|
||||
FT_Int count );
|
||||
|
||||
FT_LOCAL void
|
||||
FT_LOCAL( void )
|
||||
T1_Builder_Add_Point( T1_Builder* builder,
|
||||
FT_Pos x,
|
||||
FT_Pos y,
|
||||
FT_Byte flag );
|
||||
|
||||
FT_LOCAL FT_Error
|
||||
FT_LOCAL( FT_Error )
|
||||
T1_Builder_Add_Point1( T1_Builder* builder,
|
||||
FT_Pos x,
|
||||
FT_Pos y );
|
||||
|
||||
FT_LOCAL FT_Error
|
||||
FT_LOCAL( FT_Error )
|
||||
T1_Builder_Add_Contour( T1_Builder* builder );
|
||||
|
||||
|
||||
FT_LOCAL FT_Error
|
||||
FT_LOCAL( FT_Error )
|
||||
T1_Builder_Start_Point( T1_Builder* builder,
|
||||
FT_Pos x,
|
||||
FT_Pos y );
|
||||
|
||||
|
||||
FT_LOCAL void
|
||||
FT_LOCAL( void )
|
||||
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,
|
||||
FT_Offset length,
|
||||
FT_UShort seed );
|
||||
|
|
|
@ -330,7 +330,7 @@
|
|||
/* <Return> */
|
||||
/* FreeType error code. 0 means success. */
|
||||
/* */
|
||||
FT_LOCAL_DEF FT_Error
|
||||
FT_LOCAL_DEF( FT_Error )
|
||||
T1_Decoder_Parse_Charstrings( T1_Decoder decoder,
|
||||
FT_Byte* charstring_base,
|
||||
FT_UInt charstring_len )
|
||||
|
@ -1097,7 +1097,7 @@
|
|||
|
||||
|
||||
/* parse a single Type 1 glyph */
|
||||
FT_LOCAL_DEF FT_Error
|
||||
FT_LOCAL_DEF( FT_Error )
|
||||
T1_Decoder_Parse_Glyph( T1_Decoder decoder,
|
||||
FT_UInt glyph )
|
||||
{
|
||||
|
@ -1106,7 +1106,7 @@
|
|||
|
||||
|
||||
/* initialise T1 decoder */
|
||||
FT_LOCAL_DEF FT_Error
|
||||
FT_LOCAL_DEF( FT_Error )
|
||||
T1_Decoder_Init( T1_Decoder decoder,
|
||||
FT_Face face,
|
||||
FT_Size size,
|
||||
|
@ -1148,7 +1148,7 @@
|
|||
|
||||
|
||||
/* finalize T1 decoder */
|
||||
FT_LOCAL_DEF void
|
||||
FT_LOCAL_DEF( void )
|
||||
T1_Decoder_Done( T1_Decoder decoder )
|
||||
{
|
||||
T1_Builder_Done( &decoder->builder );
|
||||
|
|
|
@ -33,16 +33,16 @@ FT_BEGIN_HEADER
|
|||
const T1_Decoder_FuncsRec t1_decoder_funcs;
|
||||
|
||||
|
||||
FT_LOCAL FT_Error
|
||||
FT_LOCAL( FT_Error )
|
||||
T1_Decoder_Parse_Glyph( T1_Decoder decoder,
|
||||
FT_UInt glyph_index );
|
||||
|
||||
FT_LOCAL FT_Error
|
||||
FT_LOCAL( FT_Error )
|
||||
T1_Decoder_Parse_Charstrings( T1_Decoder decoder,
|
||||
FT_Byte* base,
|
||||
FT_UInt len );
|
||||
|
||||
FT_LOCAL FT_Error
|
||||
FT_LOCAL( FT_Error )
|
||||
T1_Decoder_Init( T1_Decoder decoder,
|
||||
FT_Face face,
|
||||
FT_Size size,
|
||||
|
@ -52,7 +52,7 @@ FT_BEGIN_HEADER
|
|||
FT_Bool hinting,
|
||||
T1_Decoder_Callback parse_glyph );
|
||||
|
||||
FT_LOCAL void
|
||||
FT_LOCAL( void )
|
||||
T1_Decoder_Done( T1_Decoder decoder );
|
||||
|
||||
|
||||
|
|
|
@ -356,7 +356,7 @@
|
|||
#endif
|
||||
|
||||
|
||||
FT_LOCAL_DEF FT_Error
|
||||
FT_LOCAL_DEF( FT_Error )
|
||||
psh1_hint_table_optimize( PSH1_Hint_Table table,
|
||||
PSH_Globals globals,
|
||||
FT_Outline* outline,
|
||||
|
|
|
@ -57,7 +57,7 @@
|
|||
|
||||
|
||||
/* 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,
|
||||
FT_Int org_width )
|
||||
{
|
||||
|
@ -480,7 +480,7 @@
|
|||
}
|
||||
|
||||
|
||||
FT_LOCAL_DEF void
|
||||
FT_LOCAL_DEF( void )
|
||||
psh_blues_snap_stem( PSH_Blues blues,
|
||||
FT_Int stem_top,
|
||||
FT_Int stem_bot,
|
||||
|
@ -701,7 +701,7 @@
|
|||
}
|
||||
|
||||
|
||||
FT_LOCAL_DEF void
|
||||
FT_LOCAL_DEF( void )
|
||||
psh_globals_funcs_init( PSH_Globals_FuncsRec* funcs )
|
||||
{
|
||||
funcs->create = psh_globals_new;
|
||||
|
|
|
@ -159,18 +159,18 @@ FT_BEGIN_HEADER
|
|||
} PSH_AlignmentRec, *PSH_Alignment;
|
||||
|
||||
|
||||
FT_LOCAL void
|
||||
FT_LOCAL( void )
|
||||
psh_globals_funcs_init( PSH_Globals_FuncsRec* funcs );
|
||||
|
||||
|
||||
/* snap a stem width to fitter coordinates. `org_width' is in font */
|
||||
/* 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,
|
||||
FT_Int org_width );
|
||||
|
||||
/* snap a stem to one or two blue zones */
|
||||
FT_LOCAL void
|
||||
FT_LOCAL( void )
|
||||
psh_blues_snap_stem( PSH_Blues blues,
|
||||
FT_Int stem_top,
|
||||
FT_Int stem_bot,
|
||||
|
|
|
@ -779,7 +779,7 @@
|
|||
|
||||
|
||||
/* destroy hints */
|
||||
FT_LOCAL void
|
||||
FT_LOCAL( void )
|
||||
ps_hints_done( PS_Hints hints )
|
||||
{
|
||||
FT_Memory memory = hints->memory;
|
||||
|
@ -793,7 +793,7 @@
|
|||
}
|
||||
|
||||
|
||||
FT_LOCAL FT_Error
|
||||
FT_LOCAL( FT_Error )
|
||||
ps_hints_init( PS_Hints hints,
|
||||
FT_Memory memory )
|
||||
{
|
||||
|
@ -1129,7 +1129,7 @@
|
|||
}
|
||||
|
||||
|
||||
FT_LOCAL_DEF void
|
||||
FT_LOCAL_DEF( void )
|
||||
t1_hints_funcs_init( T1_Hints_FuncsRec* 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 )
|
||||
{
|
||||
memset( funcs, 0, sizeof ( *funcs ) );
|
||||
|
|
|
@ -145,20 +145,20 @@ FT_BEGIN_HEADER
|
|||
/* */
|
||||
|
||||
/* initialize hints recorder */
|
||||
FT_LOCAL FT_Error
|
||||
FT_LOCAL( FT_Error )
|
||||
ps_hints_init( PS_Hints hints,
|
||||
FT_Memory memory );
|
||||
|
||||
/* finalize hints recorder */
|
||||
FT_LOCAL void
|
||||
FT_LOCAL( void )
|
||||
ps_hints_done( PS_Hints hints );
|
||||
|
||||
/* initialize Type1 hints recorder interface */
|
||||
FT_LOCAL void
|
||||
FT_LOCAL( void )
|
||||
t1_hints_funcs_init( T1_Hints_FuncsRec* funcs );
|
||||
|
||||
/* initialize Type2 hints recorder interface */
|
||||
FT_LOCAL void
|
||||
FT_LOCAL( void )
|
||||
t2_hints_funcs_init( T2_Hints_FuncsRec* funcs );
|
||||
|
||||
|
||||
|
|
|
@ -2965,7 +2965,7 @@
|
|||
/* <Return> */
|
||||
/* FreeType error code. 0 means success. */
|
||||
/* */
|
||||
FT_LOCAL_DEF FT_Error
|
||||
FT_LOCAL_DEF( FT_Error )
|
||||
Render_Glyph( RAS_ARG )
|
||||
{
|
||||
FT_Error error;
|
||||
|
@ -3028,7 +3028,7 @@
|
|||
/* <Return> */
|
||||
/* FreeType error code. 0 means success. */
|
||||
/* */
|
||||
FT_LOCAL_DEF FT_Error
|
||||
FT_LOCAL_DEF( FT_Error )
|
||||
Render_Gray_Glyph( RAS_ARG )
|
||||
{
|
||||
Long pixel_width;
|
||||
|
@ -3086,17 +3086,17 @@
|
|||
return Raster_Err_Ok;
|
||||
}
|
||||
|
||||
#else /* FT_RASTER_OPTION_ANTI_ALIASING */
|
||||
#else /* !FT_RASTER_OPTION_ANTI_ALIASING */
|
||||
|
||||
FT_LOCAL_DEF
|
||||
FT_Error Render_Gray_Glyph( RAS_ARG )
|
||||
FT_LOCAL_DEF( FT_Error )
|
||||
Render_Gray_Glyph( RAS_ARG )
|
||||
{
|
||||
FT_UNUSED_RASTER;
|
||||
|
||||
return Raster_Err_Cannot_Render_Glyph;
|
||||
}
|
||||
|
||||
#endif /* FT_RASTER_OPTION_ANTI_ALIASING */
|
||||
#endif /* !FT_RASTER_OPTION_ANTI_ALIASING */
|
||||
|
||||
|
||||
static void
|
||||
|
|
|
@ -179,7 +179,7 @@
|
|||
}
|
||||
|
||||
|
||||
FT_LOCAL_DEF FT_Error
|
||||
FT_LOCAL_DEF( FT_Error )
|
||||
SFNT_Init_Face( FT_Stream stream,
|
||||
TT_Face face,
|
||||
FT_Int face_index,
|
||||
|
@ -242,7 +242,7 @@
|
|||
!= SFNT_Err_Ok )
|
||||
|
||||
|
||||
FT_LOCAL_DEF FT_Error
|
||||
FT_LOCAL_DEF( FT_Error )
|
||||
SFNT_Load_Face( FT_Stream stream,
|
||||
TT_Face face,
|
||||
FT_Int face_index,
|
||||
|
@ -592,7 +592,7 @@
|
|||
#undef LOAD_
|
||||
|
||||
|
||||
FT_LOCAL_DEF void
|
||||
FT_LOCAL_DEF( void )
|
||||
SFNT_Done_Face( TT_Face face )
|
||||
{
|
||||
FT_Memory memory = face->root.memory;
|
||||
|
|
|
@ -28,21 +28,21 @@
|
|||
FT_BEGIN_HEADER
|
||||
|
||||
|
||||
FT_LOCAL FT_Error
|
||||
FT_LOCAL( FT_Error )
|
||||
SFNT_Init_Face( FT_Stream stream,
|
||||
TT_Face face,
|
||||
FT_Int face_index,
|
||||
FT_Int num_params,
|
||||
FT_Parameter* params );
|
||||
|
||||
FT_LOCAL FT_Error
|
||||
FT_LOCAL( FT_Error )
|
||||
SFNT_Load_Face( FT_Stream stream,
|
||||
TT_Face face,
|
||||
FT_Int face_index,
|
||||
FT_Int num_params,
|
||||
FT_Parameter* params );
|
||||
|
||||
FT_LOCAL void
|
||||
FT_LOCAL( void )
|
||||
SFNT_Done_Face( TT_Face face );
|
||||
|
||||
|
||||
|
|
|
@ -106,7 +106,7 @@
|
|||
/* opened). In case of error, all partially allocated tables are */
|
||||
/* released. */
|
||||
/* */
|
||||
FT_LOCAL_DEF FT_Error
|
||||
FT_LOCAL_DEF( FT_Error )
|
||||
TT_CharMap_Load( TT_Face face,
|
||||
TT_CMapTable* cmap,
|
||||
FT_Stream stream )
|
||||
|
@ -414,7 +414,7 @@
|
|||
/* <Return> */
|
||||
/* FreeType error code. 0 means success. */
|
||||
/* */
|
||||
FT_LOCAL_DEF FT_Error
|
||||
FT_LOCAL_DEF( FT_Error )
|
||||
TT_CharMap_Free( TT_Face face,
|
||||
TT_CMapTable* cmap )
|
||||
{
|
||||
|
|
|
@ -27,12 +27,12 @@
|
|||
FT_BEGIN_HEADER
|
||||
|
||||
|
||||
FT_LOCAL FT_Error
|
||||
FT_LOCAL( FT_Error )
|
||||
TT_CharMap_Load( TT_Face face,
|
||||
TT_CMapTable* cmap,
|
||||
FT_Stream input );
|
||||
|
||||
FT_LOCAL FT_Error
|
||||
FT_LOCAL( FT_Error )
|
||||
TT_CharMap_Free( TT_Face face,
|
||||
TT_CMapTable* cmap );
|
||||
|
||||
|
|
|
@ -45,32 +45,13 @@
|
|||
#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
|
||||
tt_cmap_init( FT_CMap cmap,
|
||||
TT_CMap_Info info )
|
||||
tt_cmap_init( TT_CMap cmap,
|
||||
FT_Byte* data )
|
||||
{
|
||||
FT_Error error;
|
||||
TT_CMap_Class clazz = (TT_CMap_Class) FT_CMAP_CLASS(cmap);
|
||||
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;
|
||||
}
|
||||
cmap->data = data;
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
/************************************************************************/
|
||||
|
@ -124,19 +105,22 @@
|
|||
|
||||
|
||||
FT_CALLBACK_DEF FT_UInt
|
||||
tt_cmap0_char_index( FT_Byte* table,
|
||||
FT_ULong char_code )
|
||||
tt_cmap0_char_index( TT_CMap cmap,
|
||||
FT_UInt32 char_code )
|
||||
{
|
||||
FT_Byte* table = cmap->data;
|
||||
|
||||
return ( char_code < 256 ? table[6+char_code] : 0 );
|
||||
}
|
||||
|
||||
|
||||
FT_CALLBACK_DEF FT_ULong
|
||||
tt_cmap0_char_next( FT_Byte* table,
|
||||
FT_ULong char_code,
|
||||
FT_CALLBACK_DEF FT_UInt32
|
||||
tt_cmap0_char_next( TT_CMap cmap,
|
||||
FT_UInt32 char_code,
|
||||
FT_UInt *agindex )
|
||||
{
|
||||
FT_ULong result = 0;
|
||||
FT_Byte* table = cmap->data;
|
||||
FT_UInt32 result = 0;
|
||||
FT_UInt gindex = 0;
|
||||
|
||||
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 ),
|
||||
|
||||
|
||||
(FT_CMap_InitFunc) tt_cmap_init,
|
||||
(FT_CMap_DoneFunc) NULL,
|
||||
(FT_CMap_CharIndexFunc) tt_cmap0_char_index,
|
||||
(FT_CMap_CharNextFunc) tt_cmap0_char_next
|
||||
},
|
||||
0,
|
||||
(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 */
|
||||
|
||||
|
@ -354,8 +339,8 @@
|
|||
/* return sub header corresponding to a given character code */
|
||||
/* NULL on invalid charcode.. */
|
||||
static FT_Byte*
|
||||
tt_cmap2_get_subheader( FT_Byte* table,
|
||||
FT_ULong char_code )
|
||||
tt_cmap2_get_subheader( FT_Byte* table,
|
||||
FT_UInt32 char_code )
|
||||
{
|
||||
FT_Byte* result = NULL;
|
||||
|
||||
|
@ -401,9 +386,10 @@
|
|||
|
||||
|
||||
FT_CALLBACK_DEF FT_UInt
|
||||
tt_cmap2_char_index( FT_Byte* table,
|
||||
FT_ULong char_code )
|
||||
tt_cmap2_char_index( TT_CMap cmap,
|
||||
FT_UInt32 char_code )
|
||||
{
|
||||
FT_Byte* table = cmap->data;
|
||||
FT_UInt result = 0;
|
||||
FT_Byte* subheader;
|
||||
|
||||
|
@ -437,10 +423,11 @@
|
|||
|
||||
|
||||
FT_CALLBACK_DEF FT_UInt
|
||||
tt_cmap2_char_next( FT_Byte* table,
|
||||
FT_ULong char_code,
|
||||
tt_cmap2_char_next( TT_CMap cmap,
|
||||
FT_UInt32 char_code,
|
||||
FT_UInt *agindex )
|
||||
{
|
||||
FT_Byte* table = cmap->data;
|
||||
FT_UInt result = 0;
|
||||
FT_UInt n, gindex = 0;
|
||||
FT_Byte* subheader;
|
||||
|
@ -502,20 +489,21 @@
|
|||
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 ),
|
||||
|
||||
|
||||
(FT_CMap_InitFunc) tt_cmap_init,
|
||||
(FT_CMap_DoneFunc) NULL,
|
||||
(FT_CMap_CharIndexFunc) tt_cmap2_char_index,
|
||||
(FT_CMap_CharNextFunc) tt_cmap2_char_next
|
||||
},
|
||||
2,
|
||||
(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 */
|
||||
|
||||
|
@ -700,9 +688,10 @@
|
|||
|
||||
|
||||
FT_CALLBACK_DEF FT_UInt
|
||||
tt_cmap4_char_index( FT_Byte* table,
|
||||
FT_ULong char_code )
|
||||
tt_cmap4_char_index( TT_CMap cmap,
|
||||
FT_UInt32 char_code )
|
||||
{
|
||||
FT_Byte* table = cmap->data;
|
||||
FT_UInt result = 0;
|
||||
|
||||
if ( char_code < 0x10000U )
|
||||
|
@ -749,12 +738,13 @@
|
|||
|
||||
|
||||
|
||||
FT_CALLBACK_DEF FT_ULong
|
||||
tt_cmap4_char_next( FT_Byte* table,
|
||||
FT_ULong char_code,
|
||||
FT_UInt *agindex )
|
||||
FT_CALLBACK_DEF FT_UInt32
|
||||
tt_cmap4_char_next( TT_CMap cmap,
|
||||
FT_UInt32 char_code,
|
||||
FT_UInt *agindex )
|
||||
{
|
||||
FT_ULong result = 0;
|
||||
FT_Byte* table = cmap->data;
|
||||
FT_UInt32 result = 0;
|
||||
FT_UInt gindex = 0;
|
||||
FT_Byte* p;
|
||||
FT_UInt code, num_segs2;
|
||||
|
@ -830,20 +820,21 @@
|
|||
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 ),
|
||||
|
||||
|
||||
(FT_CMap_InitFunc) tt_cmap_init,
|
||||
(FT_CMap_DoneFunc) NULL,
|
||||
(FT_CMap_CharIndexFunc) tt_cmap4_char_index,
|
||||
(FT_CMap_CharNextFunc) tt_cmap4_char_next
|
||||
},
|
||||
4,
|
||||
(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 */
|
||||
|
||||
|
@ -912,9 +903,10 @@
|
|||
|
||||
|
||||
FT_CALLBACK_DEF FT_UInt
|
||||
tt_cmap6_char_index( FT_Byte* table,
|
||||
FT_ULong char_code )
|
||||
tt_cmap6_char_index( TT_CMap cmap,
|
||||
FT_UInt32 char_code )
|
||||
{
|
||||
FT_Byte* table = cmap->data;
|
||||
FT_UInt result = 0;
|
||||
FT_Byte* p = table + 6;
|
||||
FT_UInt start = TT_NEXT_USHORT(p);
|
||||
|
@ -930,12 +922,13 @@
|
|||
}
|
||||
|
||||
|
||||
FT_CALLBACK_DEF FT_ULong
|
||||
tt_cmap6_char_next( FT_Byte* table,
|
||||
FT_ULong char_code,
|
||||
FT_CALLBACK_DEF FT_UInt32
|
||||
tt_cmap6_char_next( TT_CMap cmap,
|
||||
FT_UInt32 char_code,
|
||||
FT_UInt *agindex )
|
||||
{
|
||||
FT_ULong result = 0;
|
||||
FT_Byte* table = cmap->data;
|
||||
FT_UInt32 result = 0;
|
||||
FT_UInt gindex = 0;
|
||||
FT_Byte* p = table + 6;
|
||||
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 ),
|
||||
|
||||
|
||||
(FT_CMap_InitFunc) tt_cmap_init,
|
||||
(FT_CMap_DoneFunc) NULL,
|
||||
(FT_CMap_CharIndexFunc) tt_cmap6_char_index,
|
||||
(FT_CMap_CharNextFunc) tt_cmap6_char_next
|
||||
},
|
||||
6,
|
||||
(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 */
|
||||
|
||||
|
@ -1054,8 +1048,8 @@
|
|||
{
|
||||
FT_Byte* p = table + 4;
|
||||
FT_Byte* is32;
|
||||
FT_ULong length;
|
||||
FT_ULong num_groups;
|
||||
FT_UInt32 length;
|
||||
FT_UInt32 num_groups;
|
||||
|
||||
if ( table + 16 + 8192 > valid->limit )
|
||||
INVALID_TOO_SHORT;
|
||||
|
@ -1073,7 +1067,7 @@
|
|||
|
||||
/* 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++ )
|
||||
{
|
||||
|
@ -1095,7 +1089,7 @@
|
|||
if ( start_id + end - start >= valid->num_glyphs )
|
||||
INVALID_GLYPH_ID;
|
||||
|
||||
count = (FT_ULong)(end - start + 1);
|
||||
count = (FT_UInt32)(end - start + 1);
|
||||
|
||||
if ( start & ~0xFFFFU )
|
||||
{
|
||||
|
@ -1139,13 +1133,14 @@
|
|||
|
||||
|
||||
FT_CALLBACK_DEF FT_UInt
|
||||
tt_cmap8_char_index( FT_Byte* table,
|
||||
FT_ULong char_code )
|
||||
tt_cmap8_char_index( TT_CMap cmap,
|
||||
FT_UInt32 char_code )
|
||||
{
|
||||
FT_UInt result = 0;
|
||||
FT_Byte* p = table + 8204;
|
||||
FT_ULong num_groups = TT_NEXT_ULONG(p);
|
||||
FT_ULong n, start, end, start_id;
|
||||
FT_Byte* table = cmap->data;
|
||||
FT_UInt result = 0;
|
||||
FT_Byte* p = table + 8204;
|
||||
FT_UInt32 num_groups = TT_NEXT_ULONG(p);
|
||||
FT_UInt32 n, start, end, start_id;
|
||||
|
||||
for ( ; num_groups > 0; num_groups-- )
|
||||
{
|
||||
|
@ -1166,16 +1161,16 @@
|
|||
}
|
||||
|
||||
|
||||
FT_CALLBACK_DEF FT_ULong
|
||||
tt_cmap8_char_next( FT_Byte* table,
|
||||
FT_ULong char_code,
|
||||
FT_CALLBACK_DEF FT_UInt32
|
||||
tt_cmap8_char_next( TT_CMap cmap,
|
||||
FT_UInt32 char_code,
|
||||
FT_UInt *agindex )
|
||||
{
|
||||
FT_ULong result = 0;
|
||||
FT_UInt32 result = 0;
|
||||
FT_UInt gindex = 0;
|
||||
FT_Byte* p = table + 8204;
|
||||
FT_ULong num_groups = TT_NEXT_ULONG(p);
|
||||
FT_ULong n, start, end, start_id;
|
||||
FT_UInt32 num_groups = TT_NEXT_ULONG(p);
|
||||
FT_UInt32 n, start, end, start_id;
|
||||
|
||||
++char_code;
|
||||
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 ),
|
||||
|
||||
|
||||
(FT_CMap_InitFunc) tt_cmap_init,
|
||||
(FT_CMap_DoneFunc) NULL,
|
||||
(FT_CMap_CharIndexFunc) tt_cmap8_char_index,
|
||||
(FT_CMap_CharNextFunc) tt_cmap8_char_next
|
||||
},
|
||||
8,
|
||||
(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 */
|
||||
|
||||
|
@ -1286,14 +1282,15 @@
|
|||
|
||||
|
||||
FT_CALLBACK_DEF FT_UInt
|
||||
tt_cmap10_char_index( FT_Byte* table,
|
||||
FT_ULong char_code )
|
||||
tt_cmap10_char_index( TT_CMap cmap,
|
||||
FT_UInt32 char_code )
|
||||
{
|
||||
FT_UInt result = 0;
|
||||
FT_Byte* p = table + 12;
|
||||
FT_ULong start = TT_NEXT_ULONG(p);
|
||||
FT_ULong count = TT_NEXT_ULONG(p);
|
||||
FT_ULong index = (FT_ULong)( char_code - start );
|
||||
FT_Byte* table = cmap->data;
|
||||
FT_UInt result = 0;
|
||||
FT_Byte* p = table + 12;
|
||||
FT_UInt32 start = TT_NEXT_ULONG(p);
|
||||
FT_UInt32 count = TT_NEXT_ULONG(p);
|
||||
FT_UInt32 index = (FT_ULong)( char_code - start );
|
||||
|
||||
if ( index < count )
|
||||
{
|
||||
|
@ -1304,23 +1301,24 @@
|
|||
}
|
||||
|
||||
|
||||
FT_CALLBACK_DEF FT_ULong
|
||||
tt_cmap10_char_next( FT_Byte* table,
|
||||
FT_ULong char_code,
|
||||
FT_CALLBACK_DEF FT_UInt32
|
||||
tt_cmap10_char_next( TT_CMap cmap,
|
||||
FT_UInt32 char_code,
|
||||
FT_UInt *agindex )
|
||||
{
|
||||
FT_ULong result = 0;
|
||||
FT_UInt gindex = 0;
|
||||
FT_Byte* p = table + 12;
|
||||
FT_ULong start = TT_NEXT_ULONG(p);
|
||||
FT_ULong count = TT_NEXT_ULONG(p);
|
||||
FT_ULong index;
|
||||
FT_Byte* table = cmap->data;
|
||||
FT_UInt32 result = 0;
|
||||
FT_UInt gindex = 0;
|
||||
FT_Byte* p = table + 12;
|
||||
FT_UInt32 start = TT_NEXT_ULONG(p);
|
||||
FT_UInt32 count = TT_NEXT_ULONG(p);
|
||||
FT_UInt32 index;
|
||||
|
||||
char_code++;
|
||||
if ( char_code < start )
|
||||
char_code = start;
|
||||
|
||||
index = (FT_ULong)( char_code - start );
|
||||
index = (FT_UInt32)( char_code - start );
|
||||
p += 2*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 ),
|
||||
|
||||
|
||||
(FT_CMap_InitFunc) tt_cmap_init,
|
||||
(FT_CMap_DoneFunc) NULL,
|
||||
(FT_CMap_CharIndexFunc) tt_cmap10_char_index,
|
||||
(FT_CMap_CharNextFunc) tt_cmap10_char_next
|
||||
},
|
||||
10,
|
||||
(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 */
|
||||
|
||||
|
@ -1445,13 +1444,13 @@
|
|||
|
||||
|
||||
FT_CALLBACK_DEF FT_UInt
|
||||
tt_cmap12_char_index( FT_Byte* table,
|
||||
FT_ULong char_code )
|
||||
tt_cmap12_char_index( TT_CMap cmap,
|
||||
FT_UInt32 char_code )
|
||||
{
|
||||
FT_UInt result = 0;
|
||||
FT_Byte* p = table + 12;
|
||||
FT_ULong num_groups = TT_NEXT_ULONG(p);
|
||||
FT_ULong n, start, end, start_id;
|
||||
FT_UInt result = 0;
|
||||
FT_Byte* p = table + 12;
|
||||
FT_UInt32 num_groups = TT_NEXT_ULONG(p);
|
||||
FT_UInt32 n, start, end, start_id;
|
||||
|
||||
for ( ; num_groups > 0; num_groups-- )
|
||||
{
|
||||
|
@ -1472,16 +1471,17 @@
|
|||
}
|
||||
|
||||
|
||||
FT_CALLBACK_DEF FT_ULong
|
||||
tt_cmap12_char_next( FT_Byte* table,
|
||||
FT_ULong char_code,
|
||||
FT_CALLBACK_DEF FT_UInt32
|
||||
tt_cmap12_char_next( TT_CMap cmap,
|
||||
FT_UInt32 char_code,
|
||||
FT_UInt *agindex )
|
||||
{
|
||||
FT_ULong result = 0;
|
||||
FT_Byte* table = cmap->data;
|
||||
FT_UInt32 result = 0;
|
||||
FT_UInt gindex = 0;
|
||||
FT_Byte* p = table + 12;
|
||||
FT_ULong num_groups = TT_NEXT_ULONG(p);
|
||||
FT_ULong n, start, end, start_id;
|
||||
FT_UInt32 num_groups = TT_NEXT_ULONG(p);
|
||||
FT_UInt32 n, start, end, start_id;
|
||||
|
||||
++char_code;
|
||||
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 ),
|
||||
|
||||
|
||||
(FT_CMap_InitFunc) tt_cmap_init,
|
||||
(FT_CMap_DoneFunc) NULL,
|
||||
(FT_CMap_CharIndexFunc) tt_cmap12_char_index,
|
||||
(FT_CMap_CharNextFunc) tt_cmap12_char_next
|
||||
},
|
||||
12,
|
||||
(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 */
|
||||
|
||||
|
||||
|
||||
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 */
|
||||
|
|
|
@ -27,14 +27,29 @@
|
|||
|
||||
FT_BEGIN_HEADER
|
||||
|
||||
FT_LOCAL FT_Error
|
||||
TT_CharMap_Load( TT_Face face,
|
||||
TT_CMapTable* cmap,
|
||||
FT_Stream input );
|
||||
typedef struct TT_CMapRec_
|
||||
{
|
||||
FT_CMapRec cmap;
|
||||
FT_Byte* data;
|
||||
|
||||
FT_LOCAL FT_Error
|
||||
TT_CharMap_Free( TT_Face face,
|
||||
TT_CMapTable* cmap );
|
||||
} TT_CMapRec, *TT_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
|
||||
|
|
|
@ -53,7 +53,7 @@
|
|||
/* <Return> */
|
||||
/* 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,
|
||||
FT_ULong tag )
|
||||
{
|
||||
|
@ -104,7 +104,7 @@
|
|||
/* <Return> */
|
||||
/* FreeType error code. 0 means success. */
|
||||
/* */
|
||||
FT_LOCAL_DEF FT_Error
|
||||
FT_LOCAL_DEF( FT_Error )
|
||||
TT_Goto_Table( TT_Face face,
|
||||
FT_ULong tag,
|
||||
FT_Stream stream,
|
||||
|
@ -159,7 +159,7 @@
|
|||
/* The header will be checked whether it is valid by looking at the */
|
||||
/* 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,
|
||||
FT_Stream stream,
|
||||
FT_Long face_index,
|
||||
|
@ -294,7 +294,7 @@
|
|||
/* <Note> */
|
||||
/* 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,
|
||||
FT_Stream stream,
|
||||
SFNT_Header* sfnt )
|
||||
|
@ -388,7 +388,7 @@
|
|||
/* <Return> */
|
||||
/* FreeType error code. 0 means success. */
|
||||
/* */
|
||||
FT_LOCAL_DEF FT_Error
|
||||
FT_LOCAL_DEF( FT_Error )
|
||||
TT_Load_Any( TT_Face face,
|
||||
FT_ULong tag,
|
||||
FT_Long offset,
|
||||
|
@ -519,7 +519,7 @@
|
|||
}
|
||||
|
||||
|
||||
FT_LOCAL_DEF FT_Error
|
||||
FT_LOCAL_DEF( FT_Error )
|
||||
TT_Load_Header( TT_Face face,
|
||||
FT_Stream stream )
|
||||
{
|
||||
|
@ -529,7 +529,7 @@
|
|||
|
||||
#ifdef TT_CONFIG_OPTION_EMBEDDED_BITMAPS
|
||||
|
||||
FT_LOCAL_DEF FT_Error
|
||||
FT_LOCAL_DEF( FT_Error )
|
||||
TT_Load_Bitmap_Header( TT_Face face,
|
||||
FT_Stream stream )
|
||||
{
|
||||
|
@ -554,7 +554,7 @@
|
|||
/* <Return> */
|
||||
/* FreeType error code. 0 means success. */
|
||||
/* */
|
||||
FT_LOCAL_DEF FT_Error
|
||||
FT_LOCAL_DEF( FT_Error )
|
||||
TT_Load_MaxProfile( TT_Face face,
|
||||
FT_Stream stream )
|
||||
{
|
||||
|
@ -816,7 +816,7 @@
|
|||
/* <Return> */
|
||||
/* FreeType error code. 0 means success. */
|
||||
/* */
|
||||
FT_LOCAL_DEF FT_Error
|
||||
FT_LOCAL_DEF( FT_Error )
|
||||
TT_Load_Metrics_Header( TT_Face face,
|
||||
FT_Stream stream,
|
||||
FT_Bool vertical )
|
||||
|
@ -915,7 +915,7 @@
|
|||
/* <Return> */
|
||||
/* FreeType error code. 0 means success. */
|
||||
/* */
|
||||
FT_LOCAL_DEF FT_Error
|
||||
FT_LOCAL_DEF( FT_Error )
|
||||
TT_Load_Names( TT_Face face,
|
||||
FT_Stream stream )
|
||||
{
|
||||
|
@ -1080,7 +1080,7 @@
|
|||
/* <Input> */
|
||||
/* face :: A handle to the target face object. */
|
||||
/* */
|
||||
FT_LOCAL_DEF void
|
||||
FT_LOCAL_DEF( void )
|
||||
TT_Free_Names( TT_Face face )
|
||||
{
|
||||
FT_Memory memory = face->root.driver->root.memory;
|
||||
|
@ -1115,7 +1115,7 @@
|
|||
/* <Return> */
|
||||
/* FreeType error code. 0 means success. */
|
||||
/* */
|
||||
FT_LOCAL_DEF FT_Error
|
||||
FT_LOCAL_DEF( FT_Error )
|
||||
TT_Load_CMap( TT_Face face,
|
||||
FT_Stream stream )
|
||||
{
|
||||
|
@ -1229,7 +1229,7 @@
|
|||
/* <Return> */
|
||||
/* FreeType error code. 0 means success. */
|
||||
/* */
|
||||
FT_LOCAL_DEF FT_Error
|
||||
FT_LOCAL_DEF( FT_Error )
|
||||
TT_Load_OS2( TT_Face face,
|
||||
FT_Stream stream )
|
||||
{
|
||||
|
@ -1371,7 +1371,7 @@
|
|||
/* <Return> */
|
||||
/* FreeType error code. 0 means success. */
|
||||
/* */
|
||||
FT_LOCAL_DEF FT_Error
|
||||
FT_LOCAL_DEF( FT_Error )
|
||||
TT_Load_PostScript( TT_Face face,
|
||||
FT_Stream stream )
|
||||
{
|
||||
|
@ -1429,7 +1429,7 @@
|
|||
/* <Return> */
|
||||
/* FreeType error code. 0 means success. */
|
||||
/* */
|
||||
FT_LOCAL_DEF FT_Error
|
||||
FT_LOCAL_DEF( FT_Error )
|
||||
TT_Load_PCLT( TT_Face face,
|
||||
FT_Stream stream )
|
||||
{
|
||||
|
@ -1496,7 +1496,7 @@
|
|||
/* <Return> */
|
||||
/* FreeType error code. 0 means success. */
|
||||
/* */
|
||||
FT_LOCAL_DEF FT_Error
|
||||
FT_LOCAL_DEF( FT_Error )
|
||||
TT_Load_Gasp( TT_Face face,
|
||||
FT_Stream stream )
|
||||
{
|
||||
|
@ -1573,7 +1573,7 @@
|
|||
/* <Return> */
|
||||
/* FreeType error code. 0 means success. */
|
||||
/* */
|
||||
FT_LOCAL_DEF FT_Error
|
||||
FT_LOCAL_DEF( FT_Error )
|
||||
TT_Load_Kern( TT_Face face,
|
||||
FT_Stream stream )
|
||||
{
|
||||
|
@ -1720,7 +1720,7 @@
|
|||
/* <Return> */
|
||||
/* FreeType error code. 0 means success. */
|
||||
/* */
|
||||
FT_LOCAL_DEF FT_Error
|
||||
FT_LOCAL_DEF( FT_Error )
|
||||
TT_Load_Hdmx( TT_Face face,
|
||||
FT_Stream stream )
|
||||
{
|
||||
|
@ -1798,7 +1798,7 @@
|
|||
/* <Input> */
|
||||
/* face :: A handle to the target face object. */
|
||||
/* */
|
||||
FT_LOCAL_DEF void
|
||||
FT_LOCAL_DEF( void )
|
||||
TT_Free_Hdmx( TT_Face face )
|
||||
{
|
||||
if ( face )
|
||||
|
|
|
@ -29,29 +29,29 @@
|
|||
FT_BEGIN_HEADER
|
||||
|
||||
|
||||
FT_LOCAL TT_Table*
|
||||
FT_LOCAL( TT_Table* )
|
||||
TT_LookUp_Table( TT_Face face,
|
||||
FT_ULong tag );
|
||||
|
||||
FT_LOCAL FT_Error
|
||||
FT_LOCAL( FT_Error )
|
||||
TT_Goto_Table( TT_Face face,
|
||||
FT_ULong tag,
|
||||
FT_Stream stream,
|
||||
FT_ULong* length );
|
||||
|
||||
|
||||
FT_LOCAL FT_Error
|
||||
FT_LOCAL( FT_Error )
|
||||
TT_Load_SFNT_Header( TT_Face face,
|
||||
FT_Stream stream,
|
||||
FT_Long face_index,
|
||||
SFNT_Header* sfnt );
|
||||
|
||||
FT_LOCAL FT_Error
|
||||
FT_LOCAL( FT_Error )
|
||||
TT_Load_Directory( TT_Face face,
|
||||
FT_Stream stream,
|
||||
SFNT_Header* sfnt );
|
||||
|
||||
FT_LOCAL FT_Error
|
||||
FT_LOCAL( FT_Error )
|
||||
TT_Load_Any( TT_Face face,
|
||||
FT_ULong tag,
|
||||
FT_Long offset,
|
||||
|
@ -59,70 +59,70 @@ FT_BEGIN_HEADER
|
|||
FT_ULong* length );
|
||||
|
||||
|
||||
FT_LOCAL FT_Error
|
||||
FT_LOCAL( FT_Error )
|
||||
TT_Load_Header( TT_Face face,
|
||||
FT_Stream stream );
|
||||
|
||||
|
||||
FT_LOCAL FT_Error
|
||||
FT_LOCAL( FT_Error )
|
||||
TT_Load_Metrics_Header( TT_Face face,
|
||||
FT_Stream stream,
|
||||
FT_Bool vertical );
|
||||
|
||||
|
||||
FT_LOCAL FT_Error
|
||||
FT_LOCAL( FT_Error )
|
||||
TT_Load_CMap( TT_Face face,
|
||||
FT_Stream stream );
|
||||
|
||||
|
||||
FT_LOCAL FT_Error
|
||||
FT_LOCAL( FT_Error )
|
||||
TT_Load_MaxProfile( TT_Face face,
|
||||
FT_Stream stream );
|
||||
|
||||
|
||||
FT_LOCAL FT_Error
|
||||
FT_LOCAL( FT_Error )
|
||||
TT_Load_Names( TT_Face face,
|
||||
FT_Stream stream );
|
||||
|
||||
|
||||
FT_LOCAL FT_Error
|
||||
FT_LOCAL( FT_Error )
|
||||
TT_Load_OS2( TT_Face face,
|
||||
FT_Stream stream );
|
||||
|
||||
|
||||
FT_LOCAL FT_Error
|
||||
FT_LOCAL( FT_Error )
|
||||
TT_Load_PostScript( TT_Face face,
|
||||
FT_Stream stream );
|
||||
|
||||
|
||||
FT_LOCAL FT_Error
|
||||
FT_LOCAL( FT_Error )
|
||||
TT_Load_Hdmx( TT_Face face,
|
||||
FT_Stream stream );
|
||||
|
||||
FT_LOCAL FT_Error
|
||||
FT_LOCAL( FT_Error )
|
||||
TT_Load_PCLT( TT_Face face,
|
||||
FT_Stream stream );
|
||||
|
||||
FT_LOCAL void
|
||||
FT_LOCAL( void )
|
||||
TT_Free_Names( TT_Face face );
|
||||
|
||||
|
||||
FT_LOCAL void
|
||||
FT_LOCAL( void )
|
||||
TT_Free_Hdmx ( TT_Face face );
|
||||
|
||||
|
||||
FT_LOCAL FT_Error
|
||||
FT_LOCAL( FT_Error )
|
||||
TT_Load_Kern( TT_Face face,
|
||||
FT_Stream stream );
|
||||
|
||||
|
||||
FT_LOCAL FT_Error
|
||||
FT_LOCAL( FT_Error )
|
||||
TT_Load_Gasp( TT_Face face,
|
||||
FT_Stream stream );
|
||||
|
||||
#ifdef TT_CONFIG_OPTION_EMBEDDED_BITMAPS
|
||||
|
||||
FT_LOCAL FT_Error
|
||||
FT_LOCAL( FT_Error )
|
||||
TT_Load_Bitmap_Header( TT_Face face,
|
||||
FT_Stream stream );
|
||||
|
||||
|
|
|
@ -377,7 +377,7 @@
|
|||
}
|
||||
|
||||
|
||||
FT_LOCAL_DEF void
|
||||
FT_LOCAL_DEF( void )
|
||||
TT_Free_Post_Names( TT_Face face )
|
||||
{
|
||||
FT_Memory memory = face->root.memory;
|
||||
|
@ -441,7 +441,7 @@
|
|||
/* <Output> */
|
||||
/* FreeType error code. 0 means success. */
|
||||
/* */
|
||||
FT_LOCAL_DEF FT_Error
|
||||
FT_LOCAL_DEF( FT_Error )
|
||||
TT_Get_PS_Name( TT_Face face,
|
||||
FT_UInt index,
|
||||
FT_String** PSname )
|
||||
|
|
|
@ -29,12 +29,12 @@
|
|||
FT_BEGIN_HEADER
|
||||
|
||||
|
||||
FT_LOCAL FT_Error
|
||||
FT_LOCAL( FT_Error )
|
||||
TT_Get_PS_Name( TT_Face face,
|
||||
FT_UInt index,
|
||||
FT_String** PSname );
|
||||
|
||||
FT_LOCAL void
|
||||
FT_LOCAL( void )
|
||||
TT_Free_Post_Names( TT_Face face );
|
||||
|
||||
|
||||
|
|
|
@ -391,7 +391,7 @@
|
|||
/* <Return> */
|
||||
/* FreeType error code. 0 means success. */
|
||||
/* */
|
||||
FT_LOCAL_DEF FT_Error
|
||||
FT_LOCAL_DEF( FT_Error )
|
||||
TT_Load_SBit_Strikes( TT_Face face,
|
||||
FT_Stream stream )
|
||||
{
|
||||
|
@ -588,7 +588,7 @@
|
|||
/* <Input> */
|
||||
/* face :: The target face object. */
|
||||
/* */
|
||||
FT_LOCAL_DEF void
|
||||
FT_LOCAL_DEF( void )
|
||||
TT_Free_SBit_Strikes( TT_Face face )
|
||||
{
|
||||
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,
|
||||
FT_Int x_ppem,
|
||||
FT_Int y_ppem,
|
||||
|
@ -1395,7 +1395,7 @@
|
|||
/* <Note> */
|
||||
/* 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,
|
||||
FT_ULong strike_index,
|
||||
FT_UInt glyph_index,
|
||||
|
|
|
@ -27,21 +27,21 @@
|
|||
FT_BEGIN_HEADER
|
||||
|
||||
|
||||
FT_LOCAL FT_Error
|
||||
FT_LOCAL( FT_Error )
|
||||
TT_Load_SBit_Strikes( TT_Face face,
|
||||
FT_Stream stream );
|
||||
|
||||
FT_LOCAL void
|
||||
FT_LOCAL( void )
|
||||
TT_Free_SBit_Strikes( TT_Face face );
|
||||
|
||||
|
||||
FT_LOCAL FT_Error
|
||||
FT_LOCAL( FT_Error )
|
||||
TT_Set_SBit_Strike( TT_Face face,
|
||||
FT_Int x_ppem,
|
||||
FT_Int y_ppem,
|
||||
FT_ULong *astrike_index );
|
||||
|
||||
FT_LOCAL FT_Error
|
||||
FT_LOCAL( FT_Error )
|
||||
TT_Load_SBit_Image( TT_Face face,
|
||||
FT_ULong strike_index,
|
||||
FT_UInt glyph_index,
|
||||
|
|
|
@ -81,7 +81,7 @@
|
|||
/* This function will much probably move to another component in the */
|
||||
/* near future, but I haven't decided which yet. */
|
||||
/* */
|
||||
FT_LOCAL_DEF void
|
||||
FT_LOCAL_DEF( void )
|
||||
TT_Get_Metrics( TT_HoriHeader* header,
|
||||
FT_UInt index,
|
||||
FT_Short* bearing,
|
||||
|
@ -581,7 +581,7 @@
|
|||
}
|
||||
|
||||
|
||||
FT_LOCAL_DEF void
|
||||
FT_LOCAL_DEF( void )
|
||||
TT_Init_Glyph_Loading( TT_Face face )
|
||||
{
|
||||
face->access_glyph_frame = TT_Access_Glyph_Frame;
|
||||
|
@ -1416,7 +1416,7 @@
|
|||
/* <Return> */
|
||||
/* FreeType error code. 0 means success. */
|
||||
/* */
|
||||
FT_LOCAL_DEF FT_Error
|
||||
FT_LOCAL_DEF( FT_Error )
|
||||
TT_Load_Glyph( TT_Size size,
|
||||
TT_GlyphSlot glyph,
|
||||
FT_UShort glyph_index,
|
||||
|
|
|
@ -31,16 +31,16 @@
|
|||
FT_BEGIN_HEADER
|
||||
|
||||
|
||||
FT_LOCAL void
|
||||
FT_LOCAL( void )
|
||||
TT_Get_Metrics( TT_HoriHeader* header,
|
||||
FT_UInt index,
|
||||
FT_Short* bearing,
|
||||
FT_UShort* advance );
|
||||
|
||||
FT_LOCAL void
|
||||
FT_LOCAL( void )
|
||||
TT_Init_Glyph_Loading( TT_Face face );
|
||||
|
||||
FT_LOCAL FT_Error
|
||||
FT_LOCAL( FT_Error )
|
||||
TT_Load_Glyph( TT_Size size,
|
||||
TT_GlyphSlot glyph,
|
||||
FT_UShort glyph_index,
|
||||
|
|
|
@ -256,7 +256,7 @@
|
|||
/* <Return> */
|
||||
/* FreeType error code. 0 means success. */
|
||||
/* */
|
||||
FT_LOCAL_DEF FT_Error
|
||||
FT_LOCAL_DEF( FT_Error )
|
||||
TT_Goto_CodeRange( TT_ExecContext exec,
|
||||
FT_Int range,
|
||||
FT_Long IP )
|
||||
|
@ -306,7 +306,7 @@
|
|||
/* <Return> */
|
||||
/* FreeType error code. 0 means success. */
|
||||
/* */
|
||||
FT_LOCAL_DEF FT_Error
|
||||
FT_LOCAL_DEF( FT_Error )
|
||||
TT_Set_CodeRange( TT_ExecContext exec,
|
||||
FT_Int range,
|
||||
void* base,
|
||||
|
@ -341,7 +341,7 @@
|
|||
/* <Note> */
|
||||
/* Does not set the Error variable. */
|
||||
/* */
|
||||
FT_LOCAL_DEF FT_Error
|
||||
FT_LOCAL_DEF( FT_Error )
|
||||
TT_Clear_CodeRange( TT_ExecContext exec,
|
||||
FT_Int range )
|
||||
{
|
||||
|
@ -380,7 +380,7 @@
|
|||
/* <Note> */
|
||||
/* 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,
|
||||
FT_Memory memory )
|
||||
{
|
||||
|
@ -544,7 +544,7 @@
|
|||
/* <Note> */
|
||||
/* 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_Face face,
|
||||
TT_Size size )
|
||||
|
@ -647,7 +647,7 @@
|
|||
/* <Note> */
|
||||
/* 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_Size size )
|
||||
{
|
||||
|
@ -694,7 +694,7 @@
|
|||
/* <Note> */
|
||||
/* 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,
|
||||
FT_Bool debug )
|
||||
{
|
||||
|
@ -815,7 +815,7 @@
|
|||
/* <Note> */
|
||||
/* 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 )
|
||||
{
|
||||
/* Nothing at all for now */
|
||||
|
|
|
@ -224,18 +224,18 @@ FT_BEGIN_HEADER
|
|||
extern const TT_GraphicsState tt_default_graphics_state;
|
||||
|
||||
|
||||
FT_LOCAL FT_Error
|
||||
FT_LOCAL( FT_Error )
|
||||
TT_Goto_CodeRange( TT_ExecContext exec,
|
||||
FT_Int range,
|
||||
FT_Long IP );
|
||||
|
||||
FT_LOCAL FT_Error
|
||||
FT_LOCAL( FT_Error )
|
||||
TT_Set_CodeRange( TT_ExecContext exec,
|
||||
FT_Int range,
|
||||
void* base,
|
||||
FT_Long length );
|
||||
|
||||
FT_LOCAL FT_Error
|
||||
FT_LOCAL( FT_Error )
|
||||
TT_Clear_CodeRange( TT_ExecContext exec,
|
||||
FT_Int range );
|
||||
|
||||
|
@ -263,23 +263,23 @@ FT_BEGIN_HEADER
|
|||
TT_New_Context( TT_Face face );
|
||||
|
||||
|
||||
FT_LOCAL FT_Error
|
||||
FT_LOCAL( FT_Error )
|
||||
TT_Done_Context( TT_ExecContext exec );
|
||||
|
||||
FT_LOCAL FT_Error
|
||||
FT_LOCAL( FT_Error )
|
||||
TT_Destroy_Context( TT_ExecContext exec,
|
||||
FT_Memory memory );
|
||||
|
||||
FT_LOCAL FT_Error
|
||||
FT_LOCAL( FT_Error )
|
||||
TT_Load_Context( TT_ExecContext exec,
|
||||
TT_Face face,
|
||||
TT_Size size );
|
||||
|
||||
FT_LOCAL FT_Error
|
||||
FT_LOCAL( FT_Error )
|
||||
TT_Save_Context( TT_ExecContext exec,
|
||||
TT_Size ins );
|
||||
|
||||
FT_LOCAL FT_Error
|
||||
FT_LOCAL( FT_Error )
|
||||
TT_Run_Context( TT_ExecContext exec,
|
||||
FT_Bool debug );
|
||||
|
||||
|
|
|
@ -65,7 +65,7 @@
|
|||
/* <Input> */
|
||||
/* zone :: A pointer to the target glyph zone. */
|
||||
/* */
|
||||
FT_LOCAL_DEF void
|
||||
FT_LOCAL_DEF( void )
|
||||
TT_Done_GlyphZone( TT_GlyphZone* zone )
|
||||
{
|
||||
FT_Memory memory = zone->memory;
|
||||
|
@ -102,7 +102,7 @@
|
|||
/* <Return> */
|
||||
/* FreeType error code. 0 means success. */
|
||||
/* */
|
||||
FT_LOCAL_DEF FT_Error
|
||||
FT_LOCAL_DEF( FT_Error )
|
||||
TT_New_GlyphZone( FT_Memory memory,
|
||||
FT_UShort maxPoints,
|
||||
FT_Short maxContours,
|
||||
|
@ -153,7 +153,7 @@
|
|||
/* <Return> */
|
||||
/* FreeType error code. 0 means success. */
|
||||
/* */
|
||||
FT_LOCAL_DEF FT_Error
|
||||
FT_LOCAL_DEF( FT_Error )
|
||||
TT_Init_Face( FT_Stream stream,
|
||||
TT_Face face,
|
||||
FT_Int face_index,
|
||||
|
@ -224,7 +224,7 @@
|
|||
/* <Input> */
|
||||
/* face :: A pointer to the face object to destroy. */
|
||||
/* */
|
||||
FT_LOCAL_DEF void
|
||||
FT_LOCAL_DEF( void )
|
||||
TT_Done_Face( TT_Face face )
|
||||
{
|
||||
FT_Memory memory = face->root.memory;
|
||||
|
@ -277,7 +277,7 @@
|
|||
/* <Return> */
|
||||
/* FreeType error code. 0 means success. */
|
||||
/* */
|
||||
FT_LOCAL_DEF FT_Error
|
||||
FT_LOCAL_DEF( FT_Error )
|
||||
TT_Init_Size( TT_Size size )
|
||||
{
|
||||
FT_Error error = TT_Err_Ok;
|
||||
|
@ -464,7 +464,7 @@
|
|||
/* <Input> */
|
||||
/* size :: A handle to the target size object. */
|
||||
/* */
|
||||
FT_LOCAL_DEF void
|
||||
FT_LOCAL_DEF( void )
|
||||
TT_Done_Size( TT_Size size )
|
||||
{
|
||||
|
||||
|
@ -756,7 +756,7 @@
|
|||
/* <Input> */
|
||||
/* size :: A handle to the target size object. */
|
||||
/* */
|
||||
FT_LOCAL_DEF FT_Error
|
||||
FT_LOCAL_DEF( FT_Error )
|
||||
TT_Reset_Size( TT_Size size )
|
||||
{
|
||||
FT_Face face;
|
||||
|
@ -808,7 +808,7 @@
|
|||
/* <Return> */
|
||||
/* FreeType error code. 0 means success. */
|
||||
/* */
|
||||
FT_LOCAL_DEF FT_Error
|
||||
FT_LOCAL_DEF( FT_Error )
|
||||
TT_Init_Driver( TT_Driver driver )
|
||||
{
|
||||
FT_Error error;
|
||||
|
@ -839,7 +839,7 @@
|
|||
/* <Input> */
|
||||
/* driver :: A handle to the target TrueType driver. */
|
||||
/* */
|
||||
FT_LOCAL_DEF void
|
||||
FT_LOCAL_DEF( void )
|
||||
TT_Done_Driver( TT_Driver driver )
|
||||
{
|
||||
/* destroy extensions registry if needed */
|
||||
|
|
|
@ -107,10 +107,10 @@ FT_BEGIN_HEADER
|
|||
|
||||
#ifdef TT_CONFIG_OPTION_BYTECODE_INTERPRETER
|
||||
|
||||
FT_LOCAL void
|
||||
FT_LOCAL( void )
|
||||
TT_Done_GlyphZone( TT_GlyphZone* zone );
|
||||
|
||||
FT_LOCAL FT_Error
|
||||
FT_LOCAL( FT_Error )
|
||||
TT_New_GlyphZone( FT_Memory memory,
|
||||
FT_UShort maxPoints,
|
||||
FT_Short maxContours,
|
||||
|
@ -378,14 +378,14 @@ FT_BEGIN_HEADER
|
|||
/* */
|
||||
/* Face functions */
|
||||
/* */
|
||||
FT_LOCAL FT_Error
|
||||
FT_LOCAL( FT_Error )
|
||||
TT_Init_Face( FT_Stream stream,
|
||||
TT_Face face,
|
||||
FT_Int face_index,
|
||||
FT_Int num_params,
|
||||
FT_Parameter* params );
|
||||
|
||||
FT_LOCAL void
|
||||
FT_LOCAL( void )
|
||||
TT_Done_Face( TT_Face face );
|
||||
|
||||
|
||||
|
@ -393,13 +393,13 @@ FT_BEGIN_HEADER
|
|||
/* */
|
||||
/* Size functions */
|
||||
/* */
|
||||
FT_LOCAL FT_Error
|
||||
FT_LOCAL( FT_Error )
|
||||
TT_Init_Size( TT_Size size );
|
||||
|
||||
FT_LOCAL void
|
||||
FT_LOCAL( void )
|
||||
TT_Done_Size( TT_Size size );
|
||||
|
||||
FT_LOCAL FT_Error
|
||||
FT_LOCAL( FT_Error )
|
||||
TT_Reset_Size( TT_Size size );
|
||||
|
||||
|
||||
|
@ -407,10 +407,10 @@ FT_BEGIN_HEADER
|
|||
/* */
|
||||
/* Driver functions */
|
||||
/* */
|
||||
FT_LOCAL FT_Error
|
||||
FT_LOCAL( FT_Error )
|
||||
TT_Init_Driver( TT_Driver driver );
|
||||
|
||||
FT_LOCAL void
|
||||
FT_LOCAL( void )
|
||||
TT_Done_Driver( TT_Driver driver );
|
||||
|
||||
|
||||
|
|
|
@ -54,7 +54,7 @@
|
|||
/* <Return> */
|
||||
/* FreeType error code. 0 means success. */
|
||||
/* */
|
||||
FT_LOCAL_DEF FT_Error
|
||||
FT_LOCAL_DEF( FT_Error )
|
||||
TT_Load_Locations( TT_Face face,
|
||||
FT_Stream stream )
|
||||
{
|
||||
|
@ -147,7 +147,7 @@
|
|||
/* <Return> */
|
||||
/* FreeType error code. 0 means success. */
|
||||
/* */
|
||||
FT_LOCAL_DEF FT_Error
|
||||
FT_LOCAL_DEF( FT_Error )
|
||||
TT_Load_CVT( TT_Face face,
|
||||
FT_Stream stream )
|
||||
{
|
||||
|
@ -214,7 +214,7 @@
|
|||
/* <Return> */
|
||||
/* FreeType error code. 0 means success. */
|
||||
/* */
|
||||
FT_LOCAL_DEF FT_Error
|
||||
FT_LOCAL_DEF( FT_Error )
|
||||
TT_Load_Programs( TT_Face face,
|
||||
FT_Stream stream )
|
||||
{
|
||||
|
|
|
@ -27,15 +27,15 @@
|
|||
FT_BEGIN_HEADER
|
||||
|
||||
|
||||
FT_LOCAL FT_Error
|
||||
FT_LOCAL( FT_Error )
|
||||
TT_Load_Locations( TT_Face face,
|
||||
FT_Stream stream );
|
||||
|
||||
FT_LOCAL FT_Error
|
||||
FT_LOCAL( FT_Error )
|
||||
TT_Load_CVT( TT_Face face,
|
||||
FT_Stream stream );
|
||||
|
||||
FT_LOCAL FT_Error
|
||||
FT_LOCAL( FT_Error )
|
||||
TT_Load_Programs( TT_Face face,
|
||||
FT_Stream stream );
|
||||
|
||||
|
|
|
@ -35,7 +35,7 @@
|
|||
#define FT_COMPONENT trace_t1afm
|
||||
|
||||
|
||||
FT_LOCAL_DEF void
|
||||
FT_LOCAL_DEF( void )
|
||||
T1_Done_AFM( FT_Memory memory,
|
||||
T1_AFM* afm )
|
||||
{
|
||||
|
@ -156,7 +156,7 @@
|
|||
|
||||
|
||||
/* 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,
|
||||
FT_Stream stream )
|
||||
{
|
||||
|
@ -244,7 +244,7 @@
|
|||
|
||||
|
||||
/* find the kerning for a given glyph pair */
|
||||
FT_LOCAL_DEF void
|
||||
FT_LOCAL_DEF( void )
|
||||
T1_Get_Kerning( T1_AFM* afm,
|
||||
FT_UInt glyph1,
|
||||
FT_UInt glyph2,
|
||||
|
|
|
@ -43,15 +43,15 @@ FT_BEGIN_HEADER
|
|||
} T1_AFM;
|
||||
|
||||
|
||||
FT_LOCAL FT_Error
|
||||
FT_LOCAL( FT_Error )
|
||||
T1_Read_AFM( FT_Face face,
|
||||
FT_Stream stream );
|
||||
|
||||
FT_LOCAL void
|
||||
FT_LOCAL( void )
|
||||
T1_Done_AFM( FT_Memory memory,
|
||||
T1_AFM* afm );
|
||||
|
||||
FT_LOCAL void
|
||||
FT_LOCAL( void )
|
||||
T1_Get_Kerning( T1_AFM* afm,
|
||||
FT_UInt glyph1,
|
||||
FT_UInt glyph2,
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
||||
|
@ -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;
|
||||
|
||||
|
||||
|
@ -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;
|
||||
|
||||
|
||||
|
@ -301,7 +301,7 @@
|
|||
new_count,
|
||||
sizeof(T1_CMapUniPairRec),
|
||||
t1_cmap_uni_pair_compare );
|
||||
|
||||
|
||||
cmap->num_pairs = new_count;
|
||||
}
|
||||
}
|
||||
|
@ -316,7 +316,7 @@
|
|||
{
|
||||
FT_Face face = FT_CMAP_FACE(cmap);
|
||||
FT_Memory memory = FT_FACE_MEMORY(face);
|
||||
|
||||
|
||||
FREE( cmap->pairs );
|
||||
cmap->num_pairs = 0;
|
||||
}
|
||||
|
@ -330,15 +330,15 @@
|
|||
FT_UInt max = cmap->num_pairs;
|
||||
FT_UInt mid;
|
||||
T1_CMapUniPair pair;
|
||||
|
||||
|
||||
while ( min < max )
|
||||
{
|
||||
mid = min + (max - min)/2;
|
||||
pair = cmap->pairs + mid;
|
||||
|
||||
|
||||
if ( pair->unicode == char_code )
|
||||
return pair->gindex;
|
||||
|
||||
|
||||
if ( pair->unicode < char_code )
|
||||
min = mid+1;
|
||||
else
|
||||
|
@ -365,26 +365,26 @@
|
|||
{
|
||||
mid = min + (max - min)/2;
|
||||
pair = cmap->pairs + mid;
|
||||
|
||||
|
||||
if ( pair->unicode == char_code )
|
||||
{
|
||||
result = pair->gindex;
|
||||
if ( result != 0 )
|
||||
goto Exit;
|
||||
|
||||
|
||||
char_code++;
|
||||
goto Restart;
|
||||
}
|
||||
|
||||
|
||||
if ( pair->unicode < char_code )
|
||||
min = mid+1;
|
||||
else
|
||||
max = mid;
|
||||
}
|
||||
|
||||
|
||||
/* we didn't find it, but we have a pair just above it */
|
||||
char_code = 0;
|
||||
|
||||
|
||||
if ( min < cmap->num_pairs )
|
||||
{
|
||||
pair = cmap->num_pairs + min;
|
||||
|
|
|
@ -73,7 +73,7 @@
|
|||
}
|
||||
|
||||
|
||||
FT_LOCAL_DEF FT_Error
|
||||
FT_LOCAL_DEF( FT_Error )
|
||||
T1_Compute_Max_Advance( T1_Face face,
|
||||
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_Size size,
|
||||
FT_Int glyph_index,
|
||||
|
|
|
@ -27,11 +27,11 @@
|
|||
FT_BEGIN_HEADER
|
||||
|
||||
|
||||
FT_LOCAL FT_Error
|
||||
FT_LOCAL( FT_Error )
|
||||
T1_Compute_Max_Advance( T1_Face face,
|
||||
FT_Int* max_advance );
|
||||
|
||||
FT_LOCAL FT_Error
|
||||
FT_LOCAL( FT_Error )
|
||||
T1_Load_Glyph( T1_GlyphSlot glyph,
|
||||
T1_Size size,
|
||||
FT_Int glyph_index,
|
||||
|
|
|
@ -180,7 +180,7 @@
|
|||
}
|
||||
|
||||
|
||||
FT_LOCAL_DEF FT_Error
|
||||
FT_LOCAL_DEF( FT_Error )
|
||||
T1_Get_Multi_Master( T1_Face face,
|
||||
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,
|
||||
FT_UInt num_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,
|
||||
FT_UInt num_coords,
|
||||
FT_Long* coords )
|
||||
|
@ -328,7 +328,7 @@
|
|||
}
|
||||
|
||||
|
||||
FT_LOCAL_DEF void
|
||||
FT_LOCAL_DEF( void )
|
||||
T1_Done_Blend( T1_Face face )
|
||||
{
|
||||
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_Loader loader;
|
||||
|
|
|
@ -51,26 +51,26 @@ FT_BEGIN_HEADER
|
|||
} T1_Loader;
|
||||
|
||||
|
||||
FT_LOCAL FT_Error
|
||||
FT_LOCAL( FT_Error )
|
||||
T1_Open_Face( T1_Face face );
|
||||
|
||||
#ifndef T1_CONFIG_OPTION_NO_MM_SUPPORT
|
||||
|
||||
FT_LOCAL FT_Error
|
||||
FT_LOCAL( FT_Error )
|
||||
T1_Get_Multi_Master( T1_Face face,
|
||||
FT_Multi_Master* master );
|
||||
|
||||
FT_LOCAL FT_Error
|
||||
FT_LOCAL( FT_Error )
|
||||
T1_Set_MM_Blend( T1_Face face,
|
||||
FT_UInt num_coords,
|
||||
FT_Fixed* coords );
|
||||
|
||||
FT_LOCAL FT_Error
|
||||
FT_LOCAL( FT_Error )
|
||||
T1_Set_MM_Design( T1_Face face,
|
||||
FT_UInt num_coords,
|
||||
FT_Long* coords );
|
||||
|
||||
FT_LOCAL void
|
||||
FT_LOCAL( void )
|
||||
T1_Done_Blend( T1_Face face );
|
||||
|
||||
#endif /* !T1_CONFIG_OPTION_NO_MM_SUPPORT */
|
||||
|
|
|
@ -71,7 +71,7 @@
|
|||
}
|
||||
|
||||
|
||||
FT_LOCAL_DEF void
|
||||
FT_LOCAL_DEF( void )
|
||||
T1_Size_Done( T1_Size size )
|
||||
{
|
||||
if ( size->root.internal )
|
||||
|
@ -88,7 +88,7 @@
|
|||
}
|
||||
|
||||
|
||||
FT_LOCAL_DEF FT_Error
|
||||
FT_LOCAL_DEF( FT_Error )
|
||||
T1_Size_Init( T1_Size size )
|
||||
{
|
||||
FT_Error error = 0;
|
||||
|
@ -111,7 +111,7 @@
|
|||
}
|
||||
|
||||
|
||||
FT_LOCAL_DEF FT_Error
|
||||
FT_LOCAL_DEF( FT_Error )
|
||||
T1_Size_Reset( T1_Size 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 )
|
||||
{
|
||||
slot->root.internal->glyph_hints = 0;
|
||||
}
|
||||
|
||||
|
||||
FT_LOCAL_DEF FT_Error
|
||||
FT_LOCAL_DEF( FT_Error )
|
||||
T1_GlyphSlot_Init( T1_GlyphSlot slot )
|
||||
{
|
||||
T1_Face face;
|
||||
|
@ -183,7 +183,7 @@
|
|||
/* <Input> */
|
||||
/* face :: A typeless pointer to the face object to destroy. */
|
||||
/* */
|
||||
FT_LOCAL_DEF void
|
||||
FT_LOCAL_DEF( void )
|
||||
T1_Face_Done( T1_Face face )
|
||||
{
|
||||
FT_Memory memory;
|
||||
|
@ -267,7 +267,7 @@
|
|||
/* <Return> */
|
||||
/* FreeType error code. 0 means success. */
|
||||
/* */
|
||||
FT_LOCAL_DEF FT_Error
|
||||
FT_LOCAL_DEF( FT_Error )
|
||||
T1_Face_Init( FT_Stream stream,
|
||||
T1_Face face,
|
||||
FT_Int face_index,
|
||||
|
@ -530,7 +530,7 @@
|
|||
/* <Return> */
|
||||
/* FreeType error code. 0 means success. */
|
||||
/* */
|
||||
FT_LOCAL_DEF FT_Error
|
||||
FT_LOCAL_DEF( FT_Error )
|
||||
T1_Driver_Init( T1_Driver driver )
|
||||
{
|
||||
FT_UNUSED( driver );
|
||||
|
@ -550,7 +550,7 @@
|
|||
/* <Input> */
|
||||
/* driver :: A handle to the target Type 1 driver. */
|
||||
/* */
|
||||
FT_LOCAL_DEF void
|
||||
FT_LOCAL_DEF( void )
|
||||
T1_Driver_Done( T1_Driver driver )
|
||||
{
|
||||
FT_UNUSED( driver );
|
||||
|
|
|
@ -105,13 +105,13 @@ FT_BEGIN_HEADER
|
|||
} T1_SizeRec;
|
||||
|
||||
|
||||
FT_LOCAL void
|
||||
FT_LOCAL( void )
|
||||
T1_Size_Done( T1_Size size );
|
||||
|
||||
FT_LOCAL FT_Error
|
||||
FT_LOCAL( FT_Error )
|
||||
T1_Size_Reset( T1_Size size );
|
||||
|
||||
FT_LOCAL FT_Error
|
||||
FT_LOCAL( FT_Error )
|
||||
T1_Size_Init( T1_Size size );
|
||||
|
||||
|
||||
|
@ -139,26 +139,26 @@ FT_BEGIN_HEADER
|
|||
} T1_GlyphSlotRec;
|
||||
|
||||
|
||||
FT_LOCAL FT_Error
|
||||
FT_LOCAL( FT_Error )
|
||||
T1_Face_Init( FT_Stream stream,
|
||||
T1_Face face,
|
||||
FT_Int face_index,
|
||||
FT_Int num_params,
|
||||
FT_Parameter* params );
|
||||
|
||||
FT_LOCAL void
|
||||
FT_LOCAL( void )
|
||||
T1_Face_Done( T1_Face face );
|
||||
|
||||
FT_LOCAL FT_Error
|
||||
FT_LOCAL( FT_Error )
|
||||
T1_GlyphSlot_Init( T1_GlyphSlot slot );
|
||||
|
||||
FT_LOCAL void
|
||||
FT_LOCAL( void )
|
||||
T1_GlyphSlot_Done( T1_GlyphSlot slot );
|
||||
|
||||
FT_LOCAL FT_Error
|
||||
FT_LOCAL( FT_Error )
|
||||
T1_Driver_Init( T1_Driver driver );
|
||||
|
||||
FT_LOCAL void
|
||||
FT_LOCAL( void )
|
||||
T1_Driver_Done( T1_Driver driver );
|
||||
|
||||
|
||||
|
|
|
@ -118,7 +118,7 @@
|
|||
}
|
||||
|
||||
|
||||
FT_LOCAL_DEF FT_Error
|
||||
FT_LOCAL_DEF( FT_Error )
|
||||
T1_New_Parser( T1_Parser parser,
|
||||
FT_Stream stream,
|
||||
FT_Memory memory,
|
||||
|
@ -227,7 +227,7 @@
|
|||
}
|
||||
|
||||
|
||||
FT_LOCAL_DEF void
|
||||
FT_LOCAL_DEF( void )
|
||||
T1_Finalize_Parser( T1_Parser parser )
|
||||
{
|
||||
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,
|
||||
PSAux_Service psaux )
|
||||
{
|
||||
|
|
|
@ -113,17 +113,17 @@ FT_BEGIN_HEADER
|
|||
(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,
|
||||
FT_Stream stream,
|
||||
FT_Memory memory,
|
||||
PSAux_Service psaux );
|
||||
|
||||
FT_LOCAL FT_Error
|
||||
FT_LOCAL( FT_Error )
|
||||
T1_Get_Private_Dict( T1_Parser parser,
|
||||
PSAux_Service psaux );
|
||||
|
||||
FT_LOCAL void
|
||||
FT_LOCAL( void )
|
||||
T1_Finalize_Parser( T1_Parser parser );
|
||||
|
||||
|
||||
|
|
|
@ -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
|
||||
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 */
|
||||
root->charmaps = &face->charmap_handle;
|
||||
root->num_charmaps = 1;
|
||||
|
@ -412,6 +566,8 @@
|
|||
|
||||
root->charmap = face->charmap_handle;
|
||||
|
||||
#endif /* !FT_CONFIG_OPTION_USE_CMAPS */
|
||||
|
||||
/* setup remaining flags */
|
||||
root->num_glyphs = fonts->header.last_char -
|
||||
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
|
||||
FNT_Load_Glyph( FT_GlyphSlot slot,
|
||||
FNT_Size size,
|
||||
|
|
Loading…
Reference in New Issue