[truetype] Reset the IUP-called flags for each subglyph.

This fixes fall-out from 7809007a5b, 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.
This commit is contained in:
Alexei Podtelezhnikov 2021-12-12 12:29:04 -05:00
parent 7add5b2bcb
commit fd03dcc122
2 changed files with 8 additions and 5 deletions

View File

@ -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 );

View File

@ -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;