shithub: freetype+ttf2subf

Download patch

ref: 50aedae2beb40f21f1a86194fdfb1609939ed987
parent: 675431bec1b265da5b1d01cc2a6b1bd9f71656a3
author: Werner Lemberg <[email protected]>
date: Thu Feb 26 04:08:51 EST 2004

* src/autohint/ahhint.c (ah_hinter_load) <FT_GLYPH_FORMAT_OUTLINE>:
Handle case where outline->num_vedges is zero while computing hinted
metrics.

* src/cff/cffcmap.c (cff_cmap_unicode_init): Provide correct value
for `count'.

git/fs: mount .git/fs: mount/attach disallowed
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,14 @@
+2004-02-24  Malcolm Taylor  <[email protected]>
+
+	* src/autohint/ahhint.c (ah_hinter_load) <FT_GLYPH_FORMAT_OUTLINE>:
+	Handle case where outline->num_vedges is zero while computing hinted
+	metrics.
+
+2004-02-24  Gordon Childs  <[email protected]>
+
+	* src/cff/cffcmap.c (cff_cmap_unicode_init): Provide correct value
+	for `count'.
+
 2004-02-24  Werner Lemberg  <[email protected]>
 
 	* include/freetype/t1tables.h (PS_PrivateRec): Add
--- a/src/autohint/ahhint.c
+++ b/src/autohint/ahhint.c
@@ -1540,6 +1540,7 @@
 
       /* we now need to hint the metrics according to the change in */
       /* width/positioning that occured during the hinting process  */
+      if ( outline->num_vedges > 0 )
       {
         FT_Pos   old_advance, old_rsb, old_lsb, new_lsb;
         AH_Edge  edge1 = outline->vert_edges;     /* leftmost edge  */
@@ -1560,6 +1561,12 @@
         if ( hinter->pp2.x + hinter->pp1.x == edge2->pos && old_rsb > 4 )
           hinter->pp2.x += 64;
 #endif
+      }
+
+      else
+      {
+        hinter->pp1.x = ( hinter->pp1.x + 32 ) & -64;
+        hinter->pp2.x = ( hinter->pp2.x + 32 ) & -64;
       }
 
       /* good, we simply add the glyph to our loader's base */
--- a/src/cff/cffcmap.c
+++ b/src/cff/cffcmap.c
@@ -4,7 +4,7 @@
 /*                                                                         */
 /*    CFF character mapping table (cmap) support (body).                   */
 /*                                                                         */
-/*  Copyright 2002, 2003 by                                                */
+/*  Copyright 2002, 2003, 2004 by                                          */
 /*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
 /*                                                                         */
 /*  This file is part of the FreeType project, and may only be used,       */
@@ -152,7 +152,7 @@
     cmap->num_pairs = 0;
     cmap->pairs     = NULL;
 
-    count = (FT_UInt)face->root.num_glyphs;
+    count = cff->num_glyphs;
 
     if ( !FT_NEW_ARRAY( cmap->pairs, count ) )
     {