[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[freetype2] master 8faf57dd1: * src/cache/ftccmap.c (FTC_CMapCache_Looku
From: |
Werner Lemberg |
Subject: |
[freetype2] master 8faf57dd1: * src/cache/ftccmap.c (FTC_CMapCache_Lookup): Avoid `FT_Set_Charmap`. |
Date: |
Mon, 3 Oct 2022 13:13:40 -0400 (EDT) |
branch: master
commit 8faf57dd17088c37fa947fd565870648bbdbad18
Author: Alexei Podtelezhnikov <apodtele@gmail.com>
Commit: Alexei Podtelezhnikov <apodtele@gmail.com>
* 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.
---
src/cache/ftccmap.c | 14 ++++++--------
1 file changed, 6 insertions(+), 8 deletions(-)
diff --git a/src/cache/ftccmap.c b/src/cache/ftccmap.c
index 8e97a7b57..25330596c 100644
--- a/src/cache/ftccmap.c
+++ b/src/cache/ftccmap.c
@@ -297,19 +297,17 @@
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;
- cmap = face->charmaps[cmap_index];
-
- if ( old != cmap && !no_cmap_change )
- FT_Set_Charmap( face, cmap );
+ if ( !no_cmap_change )
+ face->charmap = cmap;
gindex = FT_Get_Char_Index( face, char_code );
- if ( old != cmap && !no_cmap_change )
- FT_Set_Charmap( face, old );
+ if ( !no_cmap_change )
+ face->charmap = old;
}
FTC_CMAP_NODE( node )->indices[char_code -
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [freetype2] master 8faf57dd1: * src/cache/ftccmap.c (FTC_CMapCache_Lookup): Avoid `FT_Set_Charmap`.,
Werner Lemberg <=