32 cmap->num_chars = face->phy_font.num_chars;
33 cmap->chars = face->phy_font.chars;
41 for ( n = 1; n < cmap->num_chars; n++ )
43 if ( cmap->chars[n - 1].char_code >= cmap->chars[n].char_code )
45 error = PFR_Err_Invalid_Table;
76 mid = min + ( max -
min ) / 2;
77 gchar = cmap->chars + mid;
79 if ( gchar->char_code == char_code )
82 if ( gchar->char_code < char_code )
93 FT_UInt32 *pchar_code )
96 FT_UInt32 char_code = *pchar_code + 1;
109 mid = min + ( ( max -
min ) >> 1 );
110 gchar = cmap->chars + mid;
134 if ( min < cmap->num_chars )
136 gchar = cmap->chars +
min;
147 *pchar_code = char_code;
FT_UInt(* FT_CMap_CharIndexFunc)(FT_CMap cmap, FT_UInt32 char_code)
FT_UInt(* FT_CMap_CharNextFunc)(FT_CMap cmap, FT_UInt32 *achar_code)
pfr_cmap_char_index(PFR_CMap cmap, FT_UInt32 char_code)
void(* FT_CMap_DoneFunc)(FT_CMap cmap)
pfr_cmap_char_next(PFR_CMap cmap, FT_UInt32 *pchar_code)
pfr_cmap_done(PFR_CMap cmap)
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
FT_Error(* FT_CMap_InitFunc)(FT_CMap cmap, FT_Pointer init_data)
typedefFT_BEGIN_HEADER struct PFR_FaceRec_ * PFR_Face
FT_BEGIN_HEADER struct PFR_CMapRec_ * PFR_CMap
pfr_cmap_init(PFR_CMap cmap)
#define FT_CALLBACK_TABLE_DEF