Commit 720911034520653fc7cfeaf61452fc7a260de8e4

Werner Lemberg 2016-12-21T23:46:29

* src/truetype/ttgxvar.c (TT_Vary_Apply_Glyph_Deltas): Thinko. I should really stop coding late in the evening... Thanks again to Ben for checking.

diff --git a/ChangeLog b/ChangeLog
index 8496616..281d2ca 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -2,6 +2,14 @@
 
 	* src/truetype/ttgxvar.c (TT_Vary_Apply_Glyph_Deltas): Thinko.
 
+	I should really stop coding late in the evening...
+
+	Thanks again to Ben for checking.
+
+2016-12-21  Werner Lemberg  <wl@gnu.org>
+
+	* src/truetype/ttgxvar.c (TT_Vary_Apply_Glyph_Deltas): Thinko.
+
 	Don't apply deltas twice for non-phantom points.
 
 	Spotted by Ben Wagner.
diff --git a/src/truetype/ttgxvar.c b/src/truetype/ttgxvar.c
index 5a74ae7..59387da 100644
--- a/src/truetype/ttgxvar.c
+++ b/src/truetype/ttgxvar.c
@@ -2626,22 +2626,22 @@
             /* To avoid double adjustment of advance width or height, */
             /* adjust phantom points only if there is no HVAR or VVAR */
             /* support, respectively.                                 */
-            if ( j == ( n_points - 3 )          ||
+            if ( j == ( n_points - 3 )          &&
                  !( face->variation_support   &
                     TT_FACE_FLAG_VAR_HADVANCE ) )
               outline->points[j].x += delta_x;
 
-            else if ( j == ( n_points - 2 )        ||
+            else if ( j == ( n_points - 2 )        &&
                       !( face->variation_support &
                          TT_FACE_FLAG_VAR_LSB    ) )
               outline->points[j].x += delta_x;
 
-            else if ( j == ( n_points - 1 )          ||
+            else if ( j == ( n_points - 1 )          &&
                       !( face->variation_support   &
                          TT_FACE_FLAG_VAR_VADVANCE ) )
               outline->points[j].y += delta_y;
 
-            else if ( j == ( n_points - 0 )        ||
+            else if ( j == ( n_points - 0 )        &&
                       !( face->variation_support &
                          TT_FACE_FLAG_VAR_TSB    ) )
               outline->points[j].y += delta_y;