Commit b89166cc4daea4562c86e009b3db203b3afe77ff

Werner Lemberg 2018-12-29T08:55:01

* src/autofit/aflatin2.c: Some fixes from `aflatin.c' (#55310).

diff --git a/ChangeLog b/ChangeLog
index 8d8aacf..89b7066 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2018-12-29  Werner Lemberg  <wl@gnu.org>
+
+	* src/autofit/aflatin2.c: Some fixes from `aflatin.c' (#55310).
+
 2018-12-25  Werner Lemberg  <wl@gnu.org>
 
 	* src/psaux/cffdecode.c (cff_operaor_seac): Fix numeric overflow.
diff --git a/src/autofit/aflatin2.c b/src/autofit/aflatin2.c
index 0cfe26e..fdd95e8 100644
--- a/src/autofit/aflatin2.c
+++ b/src/autofit/aflatin2.c
@@ -265,7 +265,7 @@
             /* Avoid single-point contours since they are never rasterized. */
             /* In some fonts, they correspond to mark attachment points     */
             /* which are way outside of the glyph's real outline.           */
-            if ( last == first )
+            if ( last <= first )
                 continue;
 
             if ( AF_LATIN_IS_TOP_BLUE( bb ) )
@@ -299,6 +299,7 @@
         /* now check whether the point belongs to a straight or round   */
         /* segment; we first need to find in which contour the extremum */
         /* lies, then inspect its previous and next points              */
+        if ( best_point >= 0 )
         {
           FT_Pos  best_x = points[best_point].x;
           FT_Int  start, end, prev, next;