[truetype] Draw glyphs without deltas in variation font (#56374).

* src/truetype/ttgxvar.c (TT_Vary_Apply_Glyph_Deltas): Always fill
`unrounded' array.
This commit is contained in:
Werner Lemberg 2019-05-23 14:41:57 +02:00
parent c3be6f06b7
commit 306d2f6ccb
2 changed files with 15 additions and 4 deletions

View File

@ -1,3 +1,10 @@
2019-05-23 Werner Lemberg <wl@gnu.org>
[truetype] Draw glyphs without deltas in variation font (#56374).
* src/truetype/ttgxvar.c (TT_Vary_Apply_Glyph_Deltas): Always fill
`unrounded' array.
2019-05-21 Werner Lemberg <wl@gnu.org>
* src/truetype/ttinterp.c (opcode_name): Improve mnemonics.

View File

@ -3755,6 +3755,12 @@
if ( !face->doblend || !blend )
return FT_THROW( Invalid_Argument );
for ( i = 0; i < n_points; i++ )
{
unrounded[i].x = INT_TO_F26DOT6( outline->points[i].x );
unrounded[i].y = INT_TO_F26DOT6( outline->points[i].y );
}
if ( glyph_index >= blend->gv_glyphcnt ||
blend->glyphoffsets[glyph_index] ==
blend->glyphoffsets[glyph_index + 1] )
@ -4101,10 +4107,8 @@
for ( i = 0; i < n_points; i++ )
{
unrounded[i].x = INT_TO_F26DOT6( outline->points[i].x ) +
FT_fixedToFdot6( point_deltas_x[i] );
unrounded[i].y = INT_TO_F26DOT6( outline->points[i].y ) +
FT_fixedToFdot6( point_deltas_y[i] );
unrounded[i].x += FT_fixedToFdot6( point_deltas_x[i] );
unrounded[i].y += FT_fixedToFdot6( point_deltas_y[i] );
outline->points[i].x += FT_fixedToInt( point_deltas_x[i] );
outline->points[i].y += FT_fixedToInt( point_deltas_y[i] );