shithub: freetype+ttf2subf

Download patch

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.

git/fs: mount .git/fs: mount/attach disallowed
--- 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;