[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[freetype2] master 581dd0640: [truetype] Reset IUP flags in `TT_RunIns`.
From: |
Werner Lemberg |
Subject: |
[freetype2] master 581dd0640: [truetype] Reset IUP flags in `TT_RunIns`. |
Date: |
Mon, 25 Apr 2022 08:14:07 -0400 (EDT) |
branch: master
commit 581dd064055eff6bda496c96e32b5400df57d8ef
Author: Alexei Podtelezhnikov <apodtele@gmail.com>
Commit: Alexei Podtelezhnikov <apodtele@gmail.com>
[truetype] Reset IUP flags in `TT_RunIns`.
Fixes #1148 by moving the flag initialization back, partly reverting
7809007a and fd03dcc1. Initializing these flags elsewhere skips 'cvt'.
* src/truetype/ttinterp.c (TT_RunIns): Initialize the IUP flag here...
(TT_Run_Context): ... instead of here.
---
src/truetype/ttinterp.c | 17 +++++++++--------
1 file changed, 9 insertions(+), 8 deletions(-)
diff --git a/src/truetype/ttinterp.c b/src/truetype/ttinterp.c
index be3922bfa..e16565c3a 100644
--- a/src/truetype/ttinterp.c
+++ b/src/truetype/ttinterp.c
@@ -516,14 +516,6 @@
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;
@@ -7847,6 +7839,15 @@
Compute_Funcs( exc );
Compute_Round( exc, (FT_Byte)exc->GS.round_state );
+ /* These flags cancel execution of some opcodes after IUP is called */
+#ifdef TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY
+ exc->iup_called = FALSE;
+#endif
+#ifdef TT_SUPPORT_SUBPIXEL_HINTING_MINIMAL
+ exc->iupx_called = FALSE;
+ exc->iupy_called = FALSE;
+#endif
+
do
{
exc->opcode = exc->code[exc->IP];
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [freetype2] master 581dd0640: [truetype] Reset IUP flags in `TT_RunIns`.,
Werner Lemberg <=