freetype-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[freetype2] master fd03dcc: [truetype] Reset the IUP-called flags for ea


From: Werner Lemberg
Subject: [freetype2] master fd03dcc: [truetype] Reset the IUP-called flags for each subglyph.
Date: Sun, 12 Dec 2021 12:37:36 -0500 (EST)

branch: master
commit fd03dcc1220453ac9e3e70c664c3f65cc72aefee
Author: Alexei Podtelezhnikov <apodtele@gmail.com>
Commit: Alexei Podtelezhnikov <apodtele@gmail.com>

    [truetype] Reset the IUP-called flags for each subglyph.
    
    This fixes fall-out from 7809007a5b88b15, where the composite
    accents were no longer hinted.
    
    * src/truetype/ttgload.c (ttloader_init): Move the IUP-called flag
    initialization from here...
    * src/truetype/ttinterp.c (TT_Run_Context): ... to here.
---
 src/truetype/ttgload.c  | 5 -----
 src/truetype/ttinterp.c | 8 ++++++++
 2 files changed, 8 insertions(+), 5 deletions(-)

diff --git a/src/truetype/ttgload.c b/src/truetype/ttgload.c
index 81c2b1c..0d8f271 100644
--- a/src/truetype/ttgload.c
+++ b/src/truetype/ttgload.c
@@ -2689,8 +2689,6 @@
       if ( driver->interpreter_version == TT_INTERPRETER_VERSION_38 &&
            exec->GS.instruct_control & 4                            )
         exec->ignore_x_mode = FALSE;
-
-      exec->iup_called = FALSE;
 #endif /* TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY */
 
 #ifdef TT_SUPPORT_SUBPIXEL_HINTING_MINIMAL
@@ -2713,9 +2711,6 @@
         exec->backward_compatibility = !( exec->GS.instruct_control & 4 );
       else
         exec->backward_compatibility = FALSE;
-
-      exec->iupx_called = FALSE;
-      exec->iupy_called = FALSE;
 #endif /* TT_SUPPORT_SUBPIXEL_HINTING_MINIMAL */
 
       exec->pedantic_hinting = FT_BOOL( load_flags & FT_LOAD_PEDANTIC );
diff --git a/src/truetype/ttinterp.c b/src/truetype/ttinterp.c
index 2aa6f6b..1acec69 100644
--- a/src/truetype/ttinterp.c
+++ b/src/truetype/ttinterp.c
@@ -516,6 +516,14 @@
     exec->GS.round_state = 1;
     exec->GS.loop        = 1;
 
+#ifdef TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY
+    exec->iup_called  = FALSE;
+#endif
+#ifdef TT_SUPPORT_SUBPIXEL_HINTING_MINIMAL
+    exec->iupx_called = FALSE;
+    exec->iupy_called = FALSE;
+#endif
+
     /* some glyphs leave something on the stack. so we clean it */
     /* before a new execution.                                  */
     exec->top     = 0;



reply via email to

[Prev in Thread] Current Thread [Next in Thread]