* src/cache/ftccmap.c (FTC_CMapCache_Lookup): Avoid `FT_Set_Charmap`.
Set charmap aggressively without all validations of `FT_Set_Charmap` because we take it from the available array and only temporarily. Even CMap Format 14 will gracefully return 0.
This commit is contained in:
parent
b93f20ab7a
commit
8faf57dd17
|
@ -297,19 +297,17 @@
|
||||||
|
|
||||||
if ( cmap_index < face->num_charmaps )
|
if ( cmap_index < face->num_charmaps )
|
||||||
{
|
{
|
||||||
FT_CharMap old, cmap = NULL;
|
FT_CharMap old = face->charmap;
|
||||||
|
FT_CharMap cmap = face->charmaps[cmap_index];
|
||||||
|
|
||||||
|
|
||||||
old = face->charmap;
|
if ( !no_cmap_change )
|
||||||
cmap = face->charmaps[cmap_index];
|
face->charmap = cmap;
|
||||||
|
|
||||||
if ( old != cmap && !no_cmap_change )
|
|
||||||
FT_Set_Charmap( face, cmap );
|
|
||||||
|
|
||||||
gindex = FT_Get_Char_Index( face, char_code );
|
gindex = FT_Get_Char_Index( face, char_code );
|
||||||
|
|
||||||
if ( old != cmap && !no_cmap_change )
|
if ( !no_cmap_change )
|
||||||
FT_Set_Charmap( face, old );
|
face->charmap = old;
|
||||||
}
|
}
|
||||||
|
|
||||||
FTC_CMAP_NODE( node )->indices[char_code -
|
FTC_CMAP_NODE( node )->indices[char_code -
|
||||||
|
|
Loading…
Reference in New Issue