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.
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
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 );