ref: dfa86d65e5b8f4f4c62f37160a2475b705e14c56
parent: 61d50756b6ddc6cce459f64445abf19f09d18253
author: Alexei Podtelezhnikov <[email protected]>
date: Sat Nov 3 18:36:52 EDT 2018
Revert "[truetype] Speed up variation IUP." This reverts commit 1e4496c54c010843c1bac56e5d344115d1a49620.
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2018-11-03 Alexei Podtelezhnikov <[email protected]>
+
+ Revert due to specs: [truetype] Speed up variation IUP.
+
2018-11-02 Alexei Podtelezhnikov <[email protected]>
* src/truetype/ttgxvar.c (ft_var_get_item_delta): Fixed logic.
--- 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++ )