summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAlexei Podtelezhnikov <apodtele@gmail.com>2021-11-10 08:46:26 -0500
committerAlexei Podtelezhnikov <apodtele@gmail.com>2021-11-10 08:46:26 -0500
commitc5cd2a3db43886e9ee4e92a041229d282b56cc03 (patch)
tree764e1ad77c251dcfb312ef04621c6de497e0b50c /src
parent188c7d6670fc69d01495ba791bd3d5c7d10c6824 (diff)
downloadfreetype2-c5cd2a3db43886e9ee4e92a041229d282b56cc03.tar.gz
* src/truetype/ttgxvar.c (ft_var_to_normalized): Edge optimization.
Diffstat (limited to 'src')
-rw-r--r--src/truetype/ttgxvar.c17
1 files changed, 7 insertions, 10 deletions
diff --git a/src/truetype/ttgxvar.c b/src/truetype/ttgxvar.c
index 856f88fb9..4fda29962 100644
--- 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;
}