shithub: freetype+ttf2subf

Download patch

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.

git/fs: mount .git/fs: mount/attach disallowed
--- 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;
     }