|
|
|
@ -3095,7 +3095,7 @@ |
|
|
|
|
} |
|
|
|
|
result = cmap->clazz->char_index( cmap, (FT_UInt32)charcode ); |
|
|
|
|
} |
|
|
|
|
return result; |
|
|
|
|
return result; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -3112,11 +3112,13 @@ |
|
|
|
|
if ( face && face->charmap ) |
|
|
|
|
{ |
|
|
|
|
gindex = FT_Get_Char_Index( face, 0 ); |
|
|
|
|
if ( gindex == 0 ) |
|
|
|
|
result = FT_Get_Next_Char( face, 0, &gindex ); |
|
|
|
|
if ( gindex == 0 || gindex >= (FT_UInt)face->num_glyphs ) |
|
|
|
|
do { |
|
|
|
|
result = FT_Get_Next_Char( face, 0, &gindex ); |
|
|
|
|
} while ( gindex >= (FT_UInt)face->num_glyphs ); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if ( agindex ) |
|
|
|
|
if ( agindex ) |
|
|
|
|
*agindex = gindex; |
|
|
|
|
|
|
|
|
|
return result; |
|
|
|
@ -3140,7 +3142,10 @@ |
|
|
|
|
FT_CMap cmap = FT_CMAP( face->charmap ); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
gindex = cmap->clazz->char_next( cmap, &code ); |
|
|
|
|
do { |
|
|
|
|
gindex = cmap->clazz->char_next( cmap, &code ); |
|
|
|
|
} while ( gindex >= (FT_UInt)face->num_glyphs ); |
|
|
|
|
|
|
|
|
|
result = ( gindex == 0 ) ? 0 : code; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|