ref: c5cd2a3db43886e9ee4e92a041229d282b56cc03
parent: 188c7d6670fc69d01495ba791bd3d5c7d10c6824
author: Alexei Podtelezhnikov <apodtele@gmail.com>
date: Wed Nov 10 03:46:26 EST 2021
* src/truetype/ttgxvar.c (ft_var_to_normalized): Edge optimization.
--- a/src/truetype/ttgxvar.c
+++ b/src/truetype/ttgxvar.c
@@ -1883,19 +1883,16 @@
" clamping\n",
a->minimum / 65536.0,
a->maximum / 65536.0 ));
-
- if ( coord > a->maximum )
- coord = a->maximum;
- else
- coord = a->minimum;
}
- if ( coord < a->def )
- normalized[i] = -FT_DivFix( SUB_LONG( coord, a->def ),
- SUB_LONG( a->minimum, a->def ) );
- else if ( coord > a->def )
- normalized[i] = FT_DivFix( SUB_LONG( coord, a->def ),
+ if ( coord > a->def )
+ normalized[i] = coord >= a->maximum ? 0x10000L :
+ FT_DivFix( SUB_LONG( coord, a->def ),
SUB_LONG( a->maximum, a->def ) );
+ else if ( coord < a->def )
+ normalized[i] = coord <= a->minimum ? -0x10000L :
+ FT_DivFix( SUB_LONG( coord, a->def ),
+ SUB_LONG( a->def, a->minimum ) );
else
normalized[i] = 0;
}