From fd03dcc1220453ac9e3e70c664c3f65cc72aefee Mon Sep 17 00:00:00 2001 From: Alexei Podtelezhnikov Date: Sun, 12 Dec 2021 12:29:04 -0500 Subject: [PATCH] [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 81c2b1c81..0d8f271c6 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 2aa6f6bf0..1acec695c 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;