* src/pshinter/pshrec.c (ps_mask_table_set_bits): Don't call ps_mask_table_alloc but ps_mask_table_last. (ps_hints_t2mask): Use correct position and number for vertical and horizontal hinter mask bits. * 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 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69
diff --git a/ChangeLog b/ChangeLog
index 3b43acd..d969cbc 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2004-02-20 Werner Lemberg <wl@gnu.org>
+
+ * src/pshinter/pshrec.c (ps_mask_table_set_bits): Don't call
+ ps_mask_table_alloc but ps_mask_table_last.
+ (ps_hints_t2mask): Use correct position and number for vertical
+ and horizontal hinter mask bits.
+
+ * docs/CHANGES: Updated.
+
2004-02-19 Werner Lemberg <wl@gnu.org>
* src/base/ftstroke.c (FT_Glyph_StrokeBorder): Fix enum handling.
diff --git a/docs/CHANGES b/docs/CHANGES
index 3369d7e..86a227e 100644
--- a/docs/CHANGES
+++ b/docs/CHANGES
@@ -32,6 +32,9 @@ LATEST CHANGES BETWEEN 2.1.8 and 2.1.7
- The flex operator didn't work for CFF fonts.
+ - PS glyphs which use the `hintmask' operator haven't been rendered
+ correctly in some cases.
+
- Metrics for BDF and PCF bitmap font formats have been fixed.
- The `freetype-config' script now handles --prefix and
diff --git a/src/pshinter/pshrec.c b/src/pshinter/pshrec.c
index 13e0795..648de18 100644
--- a/src/pshinter/pshrec.c
+++ b/src/pshinter/pshrec.c
@@ -4,7 +4,7 @@
/* */
/* FreeType PostScript hints recorder (body). */
/* */
-/* Copyright 2001, 2002, 2003 by */
+/* Copyright 2001, 2002, 2003, 2004 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@@ -318,8 +318,7 @@
PS_Mask mask;
- /* allocate new mask, and grow it to "bit_count" bits */
- error = ps_mask_table_alloc( table, memory, &mask );
+ error = ps_mask_table_last( table, memory, &mask );
if ( error )
goto Exit;
@@ -1018,12 +1017,12 @@
}
/* set-up new horizontal and vertical hint mask now */
- error = ps_dimension_set_mask_bits( &dim[0], bytes, 0, count1,
+ error = ps_dimension_set_mask_bits( &dim[0], bytes, count2, count1,
end_point, memory );
if ( error )
goto Fail;
- error = ps_dimension_set_mask_bits( &dim[1], bytes, count1, count2,
+ error = ps_dimension_set_mask_bits( &dim[1], bytes, 0, count2,
end_point, memory );
if ( error )
goto Fail;