Commit 0634a876d9cccff49212e514aec81e36a3a7754e

David Turner 2004-07-15T21:08:13

* src/base/ftstroke (FT_Stroker_ParseOutline): single points are not stroked, preventing a bug with pala.ttf and other fonts.

diff --git a/ChangeLog b/ChangeLog
index b5e4e5c..4614d34 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2004-07-15  David Turner  <david@freetype.org>
+
+        * src/base/ftstroke (FT_Stroker_ParseOutline): single points
+        are not stroked, preventing a bug with pala.ttf and other
+        fonts.
+
 2004-07-13  Werner Lemberg  <wl@gnu.org>
 
 	* src/base/ftstroke (ft_stroke_border_reverse): Removed.  Unused.
@@ -12,7 +18,7 @@
 
 	* src/cache/ftcsbits.c (ftc_snode_load): Fixing advance computation
 	for transformed glyphs.
-        
+
 2004-07-11  David Turner  <david@freetype.org>
 
 	Fix bugs that prevented the stroker to correctly generate stroked
diff --git a/include/freetype/config/ftoption.h b/include/freetype/config/ftoption.h
index 028c6ea..a2349a5 100644
--- a/include/freetype/config/ftoption.h
+++ b/include/freetype/config/ftoption.h
@@ -315,7 +315,7 @@ FT_BEGIN_HEADER
   /*   them for certain configurations only.                               */
   /*                                                                       */
 /* #define FT_DEBUG_LEVEL_ERROR */
-/* #define FT_DEBUG_LEVEL_TRACE */
+#define FT_DEBUG_LEVEL_TRACE
 
 
   /*************************************************************************/
diff --git a/src/base/ftstroke.c b/src/base/ftstroke.c
index 649fa8a..c44ad9e 100644
--- a/src/base/ftstroke.c
+++ b/src/base/ftstroke.c
@@ -1639,6 +1639,14 @@
       last  = outline->contours[n];
       limit = outline->points + last;
 
+     /* skip empty points, we don't stroke these
+      */
+      if ( last <= first )
+      {
+        first = last + 1;
+        continue;
+      }
+
       v_start = outline->points[first];
       v_last  = outline->points[last];