From ecfdfd4498d6c1313b3faaa9d7cf1917e4be98c5 Mon Sep 17 00:00:00 2001 From: Werner Lemberg Date: Wed, 3 Jan 2018 00:20:11 +0100 Subject: [PATCH] [truetype] Make blend/design coordinate round-tripping work. Behdad reported that setting blend coordinates, then getting design coordinates did incorrectly return the default instance's coordinates. * src/truetype/ttgxvar.c (tt_set_mm_blend): Fix it. --- ChangeLog | 10 ++++++++++ src/truetype/ttgxvar.c | 4 ++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 57058eaf3..7d6fce78c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,13 @@ +2018-01-03 Werner Lemberg + + [truetype] Make blend/design coordinate round-tripping work. + + Behdad reported that setting blend coordinates, then getting design + coordinates did incorrectly return the default instance's + coordinates. + + * src/truetype/ttgxvar.c (tt_set_mm_blend): Fix it. + 2017-12-31 Werner Lemberg * src/sfnt/ttcmap.c (tt_cmap2_char_next): Fix endless loop. diff --git a/src/truetype/ttgxvar.c b/src/truetype/ttgxvar.c index 2bf7d184a..5378852c6 100644 --- a/src/truetype/ttgxvar.c +++ b/src/truetype/ttgxvar.c @@ -2493,14 +2493,14 @@ coords, num_coords * sizeof ( FT_Fixed ) ); + face->doblend = TRUE; + if ( set_design_coords ) ft_var_to_design( face, all_design_coords ? blend->num_axis : num_coords, blend->normalizedcoords, blend->coords ); - face->doblend = TRUE; - if ( face->cvt ) { switch ( manageCvt )