20 #include FT_INTERNAL_DEBUG_H 34 cmap->num_chars = face->phy_font.num_chars;
35 cmap->chars = face->phy_font.chars;
43 for ( n = 1; n < cmap->num_chars; n++ )
45 if ( cmap->chars[n - 1].char_code >= cmap->chars[n].char_code )
79 gchar = cmap->chars + mid;
81 if ( gchar->char_code == char_code )
84 if ( gchar->char_code < char_code )
111 mid = min + ( ( max -
min ) >> 1 );
112 gchar = cmap->chars + mid;
136 if ( min < cmap->num_chars )
138 gchar = cmap->chars +
min;
149 *pchar_code = char_code;
FT_UInt(* FT_CMap_CharIndexFunc)(FT_CMap cmap, FT_UInt32 char_code)
return FT_THROW(Missing_Property)
void(* FT_CMap_DoneFunc)(FT_CMap cmap)
GLenum GLuint GLint GLenum face
pfr_cmap_char_index(PFR_CMap cmap, FT_UInt32 char_code)
pfr_cmap_char_next(PFR_CMap cmap, FT_UInt32 *pchar_code)
pfr_cmap_done(PFR_CMap cmap)
float min(float a, float b)
FT_CALLBACK_TABLE_DEF const FT_CMap_ClassRec pfr_cmap_class_rec
#define FT_CALLBACK_DEF(x)
FT_BEGIN_HEADER struct PFR_CMapRec_ PFR_CMapRec
#define FT_CALLBACK_TABLE_DEF
FT_UInt(* FT_CMap_CharNextFunc)(FT_CMap cmap, FT_UInt32 *achar_code)
typedefFT_BEGIN_HEADER struct PFR_FaceRec_ * PFR_Face
FT_BEGIN_HEADER struct PFR_CMapRec_ * PFR_CMap
FT_Error(* FT_CMap_InitFunc)(FT_CMap cmap, FT_Pointer init_data)
pfr_cmap_init(PFR_CMap cmap)