* src/base/ftstroke (FT_Stroker_ParseOutline): single points are not stroked, preventing a bug with pala.ttf and other fonts.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
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];