shithub: freetype+ttf2subf

Download patch

ref: 7b45c28dd5e55a8c67035c566ebd53c0bfa96d76
parent: a13a473dd90d645d7e81baaf27c8331255002a00
author: Werner Lemberg <[email protected]>
date: Fri Nov 3 02:34:29 EST 2000

Remove redundant code; fix computation of `last'.

git/fs: mount .git/fs: mount/attach disallowed
--- a/src/base/ftbbox.c
+++ b/src/base/ftbbox.c
@@ -45,7 +45,8 @@
   /* <Description>                                                         */
   /*    This function is used as a `move_to' and `line_to' emitter during  */
   /*    FT_Outline_Decompose().  It simply records the destination point   */
-  /*    in `user->last'.                                                   */
+  /*    in `user->last'; no further computations are necessary since we    */
+  /*    the cbox as the starting bbox which must be refined.               */
   /*                                                                       */
   /* <Input>                                                               */
   /*    to   :: A pointer to the destination vector.                       */
@@ -99,13 +100,10 @@
                           FT_Pos*  min,
                           FT_Pos*  max )
   {
-    if( y1 == y3 )
+    if ( y1 == y3 )
     {
       if ( y2 == y1 )               /* Flat arc */
-      {
-        y3 = y1;
         goto Suite;
-      }
     }
     else if ( y1 < y3 )
     {
@@ -179,6 +177,8 @@
                         &user->bbox.yMin,
                         &user->bbox.yMax );
 
+    user->last = *to;
+
     return 0;
   }
 
@@ -232,10 +232,7 @@
       if ( y1 == y4 )
       {
         if ( y1 == y2 && y1 == y3 )                         /* Flat */
-        {
-          y4 = y1;
           goto Test;
-        }
       }
       else if ( y1 < y4 )
       {
@@ -329,6 +326,8 @@
                           to->y,
                           &user->bbox.yMin,
                           &user->bbox.yMax );
+
+    user->last = *to;
 
     return 0;
   }