[truetype] Fix previous commit.

* src/truetype/ttgload.c (TT_Process_Simple_Glyph): Correctly handle
unhinted phantom points, which must be properly scaled.
This commit is contained in:
Werner Lemberg 2017-12-18 09:41:17 +01:00
parent e7935f2910
commit d062c54ce7
2 changed files with 13 additions and 3 deletions

View File

@ -1,3 +1,10 @@
2017-12-18 Werner Lemberg <wl@gnu.org>
[truetype] Fix previous commit.
* src/truetype/ttgload.c (TT_Process_Simple_Glyph): Correctly handle
unhinted phantom points, which must be properly scaled.
2017-12-18 Werner Lemberg <wl@gnu.org>
[truetype] Don't apply HVAR and VVAR deltas twice (#52683).

View File

@ -801,7 +801,7 @@
{
FT_TRACE1(( "TT_Hint_Glyph: too long instructions" ));
FT_TRACE1(( " (0x%lx byte) is truncated\n",
loader->glyph->control_len ));
loader->glyph->control_len ));
}
n_ins = loader->glyph->control_len;
@ -1041,7 +1041,8 @@
#ifdef TT_CONFIG_OPTION_GX_VAR_SUPPORT
/* if we have a HVAR table, `pp1' and/or `pp2' are already adjusted */
if ( !( loader->face->variation_support & TT_FACE_FLAG_VAR_HADVANCE ) )
if ( !( loader->face->variation_support & TT_FACE_FLAG_VAR_HADVANCE ) ||
!IS_HINTED( loader->load_flags ) )
#endif
{
loader->pp1 = outline->points[n_points - 4];
@ -1050,7 +1051,8 @@
#ifdef TT_CONFIG_OPTION_GX_VAR_SUPPORT
/* if we have a VVAR table, `pp3' and/or `pp4' are already adjusted */
if ( !( loader->face->variation_support & TT_FACE_FLAG_VAR_VADVANCE ) )
if ( !( loader->face->variation_support & TT_FACE_FLAG_VAR_VADVANCE ) ||
!IS_HINTED( loader->load_flags ) )
#endif
{
loader->pp3 = outline->points[n_points - 2];
@ -1418,6 +1420,7 @@
TT_Driver driver = (TT_Driver)FT_FACE_DRIVER( loader->face );
#endif
#ifdef TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY
if ( driver->interpreter_version == TT_INTERPRETER_VERSION_38 )
{