Commit 6cda6c064fdb2d1df851f5f54e164341e3c1fe8f

David Turner 2006-02-23T12:37:18

* src/bdf/bdflib.c: fixed a bug with zero-width glyphs this patch comes from the Debian package for libfreetype6 !! How come nobody mentions this on the devel list ??

diff --git a/ChangeLog b/ChangeLog
index 5031e66..63bec40 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2006-02-23  David Turner  <david@freetype.org>
+
+    * src/bdf/bdflib.c: fixed a bug with zero-width glyphs
+    this patch comes from the Debian package for libfreetype6 !!
+    How come nobody mentions this on the devel list ??
+
 2006-02-23  Chia-I Wu  <b90201047@ntu.edu.tw>
 
 	* include/freetype/ftoutln.h (enum FT_Orientation): New value
diff --git a/src/bdf/bdflib.c b/src/bdf/bdflib.c
index 8d43746..8f7bd64 100644
--- a/src/bdf/bdflib.c
+++ b/src/bdf/bdflib.c
@@ -1666,7 +1666,7 @@
       nibbles = glyph->bpr << 1;
       bp      = glyph->bitmap + p->row * glyph->bpr;
 
-      for ( i = 0, *bp = 0; i < nibbles; i++ )
+      for ( i = 0, i < nibbles; i++ )
       {
         c = line[i];
         *bp = (FT_Byte)( ( *bp << 4 ) + a2i[c] );
@@ -1676,7 +1676,8 @@
 
       /* Remove possible garbage at the right. */
       mask_index = ( glyph->bbx.width * p->font->bpp ) & 7;
-      *bp &= nibble_mask[mask_index];
+      if ( glyph->bbx.width )
+        *bp &= nibble_mask[mask_index];
 
       /* If any line has extra columns, indicate they have been removed. */
       if ( ( line[nibbles] == '0' || a2i[(int)line[nibbles]] != 0 ) &&