[truetype] Fix gxvar delta interpolation.

The coordinates of the base font should be used for interpolation
purposes, NOT the current points (i.e., the result of accumulation
of previous deltas).

* src/truetype/ttgxvar.c (TT_Vary_Apply_Glyph_Deltas): Initialize
`points_org' before looping over all tuples.
OpenType-1.8
Behdad Esfahbod 9 years ago committed by Werner Lemberg
parent 4261103e35
commit 0f9ddf20c8
  1. 11
      ChangeLog
  2. 6
      src/truetype/ttgxvar.c

@ -1,3 +1,14 @@
2016-07-14 Behdad Esfahbod <behdad@behdad.org>
[truetype] Fix gxvar delta interpolation.
The coordinates of the base font should be used for interpolation
purposes, NOT the current points (i.e., the result of accumulation
of previous deltas).
* src/truetype/ttgxvar.c (TT_Vary_Apply_Glyph_Deltas): Initialize
`points_org' before looping over all tuples.
2016-07-12 Werner Lemberg <wl@gnu.org>
* Version 2.6.5 released.

@ -1922,6 +1922,9 @@
FT_TRACE5(( "gvar: there are %d tuples:\n",
tupleCount & GX_TC_TUPLE_COUNT_MASK ));
for ( j = 0; j < n_points; j++ )
points_org[j] = outline->points[j];
for ( i = 0; i < ( tupleCount & GX_TC_TUPLE_COUNT_MASK ); i++ )
{
FT_UInt tupleDataSize;
@ -2057,10 +2060,7 @@
/* we have to interpolate the missing deltas similar to the */
/* IUP bytecode instruction */
for ( j = 0; j < n_points; j++ )
{
points_org[j] = outline->points[j];
has_delta[j] = FALSE;
}
for ( j = 0; j < point_count; j++ )
{

Loading…
Cancel
Save