ref: a5724ef81355e8ecfade104940789c2458c89b33
parent: 8f1edf742e738b888f4df1a935e4f2c5f66840a0
author: Werner Lemberg <[email protected]>
date: Sat Feb 21 11:47:20 EST 2004
* 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.
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2004-02-20 Werner Lemberg <[email protected]>
+
+ * 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 <[email protected]>
* src/base/ftstroke.c (FT_Glyph_StrokeBorder): Fix enum handling.
--- a/docs/CHANGES
+++ b/docs/CHANGES
@@ -32,6 +32,9 @@
- 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
--- 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;