Commit d77cd8ce7ee8ae3adf44317cda200c2eb0ca6d0f

Werner Lemberg 2009-08-27T00:10:56

Fix rendering of horizontally compressed CFFs. Bug reported by Ivan Nincic <inincic@pdftron.com>. * src/cff/cffgload.c (cff_slot_load): Thinko: Check `xx' element of `font_matrix' also. * docs/CHANGES: Updated.

diff --git a/ChangeLog b/ChangeLog
index 745be62..2922756 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+2009-08-25  Werner Lemberg  <wl@gnu.org>
+
+	Fix rendering of horizontally compressed CFFs.
+	Bug reported by Ivan Nincic <inincic@pdftron.com>.
+
+	* src/cff/cffgload.c (cff_slot_load): Thinko: Check `xx' element of
+	`font_matrix' also.
+
+	* docs/CHANGES: Updated.
+
 2009-08-03  suyu0925@gmail.com
 
 	Don't call `ft_fseek' every time when executing `ft_fread'.
diff --git a/docs/CHANGES b/docs/CHANGES
index dbf7058..dbd455d 100644
--- a/docs/CHANGES
+++ b/docs/CHANGES
@@ -12,6 +12,10 @@ CHANGES BETWEEN 2.3.10 and 2.3.9
       to avoid serious rounding issues if non-integral coordinates are
       encountered.
 
+    - Horizontally  condensed CFF  fonts (using the font  matrix) were
+      rendered  incorrectly.   This  bug  has  been  introduced  after
+      release 2.3.5.
+
 
   II. IMPORTANT CHANGES
 
diff --git a/src/cff/cffgload.c b/src/cff/cffgload.c
index d8b74fb..e132ab7 100644
--- a/src/cff/cffgload.c
+++ b/src/cff/cffgload.c
@@ -2765,8 +2765,8 @@
 
         glyph->root.outline.flags |= FT_OUTLINE_REVERSE_FILL;
 
-        /* apply the font matrix -- `xx' has already been normalized */
-        if ( !( font_matrix.yy == 0x10000L &&
+        if ( !( font_matrix.xx == 0x10000L &&
+                font_matrix.yy == 0x10000L &&
                 font_matrix.xy == 0        &&
                 font_matrix.yx == 0        ) )
           FT_Outline_Transform( &glyph->root.outline, &font_matrix );