diff --git a/ChangeLog b/ChangeLog index b98801a2c..822c521c2 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2018-11-03 Alexei Podtelezhnikov + + Revert due to specs: [truetype] Speed up variation IUP. + 2018-11-02 Alexei Podtelezhnikov * src/truetype/ttgxvar.c (ft_var_get_item_delta): Fixed logic. diff --git a/src/truetype/ttgxvar.c b/src/truetype/ttgxvar.c index 407dcae83..ea63a0468 100644 --- a/src/truetype/ttgxvar.c +++ b/src/truetype/ttgxvar.c @@ -3514,25 +3514,10 @@ /* If the reference points have the same coordinate but different */ /* delta, inferred delta is zero. Otherwise interpolate. */ - if ( in1 == in2 || out1 == out2 ) + if ( in1 != in2 || out1 == out2 ) { - for ( p = p1; p <= p2; p++ ) - { - out = in_points[p].x; - - if ( out <= in1 ) - out += d1; - else if ( out >= in2 ) - out += d2; - else - out = out1; - - out_points[p].x = out; - } - } - else - { - FT_Fixed scale = FT_DivFix( out2 - out1, in2 - in1 ); + FT_Fixed scale = in1 != in2 ? FT_DivFix( out2 - out1, in2 - in1 ) + : 0; for ( p = p1; p <= p2; p++ )