shithub: freetype+ttf2subf

Download patch

ref: 695ce08c64a915d3344a32c33e21c2db52663faf
parent: e260d2538de295949e9975fa7f35d0ee7b19b9f9
author: Werner Lemberg <[email protected]>
date: Mon May 17 08:38:52 EDT 2004

* src/sfnt/ttload.c (tt_face_load_max_profile): Always set
face->root.num_glyphs.

* src/sfnt/ttload.c (sfnt_dir_check): Handle `bhed' properly.

git/fs: mount .git/fs: mount/attach disallowed
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+2004-05-15  George Williams  <[email protected]>
+
+	* src/sfnt/ttload.c (tt_face_load_max_profile): Always set
+	face->root.num_glyphs.
+
+2004-05-14  Masatake YAMATO  <[email protected]>
+	    George Williams  <[email protected]>
+
+	* src/sfnt/ttload.c (sfnt_dir_check): Handle `bhed' properly.
+
 2004-05-14  Werner Lemberg  <[email protected]>
 
 	* src/cache/ftcbasic.c (ftc_basic_family_compare,
--- a/src/sfnt/ttload.c
+++ b/src/sfnt/ttload.c
@@ -207,6 +207,10 @@
         FT_UInt32  magic;
 
 
+#ifdef TT_CONFIG_OPTION_EMBEDDED_BITMAPS
+      head_retry:
+#endif  /* TT_CONFIG_OPTION_EMBEDDED_BITMAPS */
+
         has_head = 1;
 
         /* The table length should be 0x36, but certain font tools
@@ -225,6 +229,10 @@
         if ( FT_STREAM_SEEK( offset + 28 + 16*nn ) )
           goto Bad_Format;
       }
+#ifdef TT_CONFIG_OPTION_EMBEDDED_BITMAPS
+      else if ( table.Tag == TTAG_bhed )
+        goto head_retry;
+#endif  /* TT_CONFIG_OPTION_EMBEDDED_BITMAPS */      
     }
 
     if ( has_head == 0 )
@@ -715,6 +723,8 @@
     if ( FT_STREAM_READ_FIELDS( maxp_fields, maxProfile ) )
       goto Exit;
 
+    face->root.num_glyphs = maxProfile->numGlyphs;
+
     maxProfile->maxPoints             = 0;
     maxProfile->maxContours           = 0;
     maxProfile->maxCompositePoints    = 0;
@@ -742,8 +752,6 @@
 
       if ( maxProfile->maxFunctionDefs == 0 )
         maxProfile->maxFunctionDefs = 64;
-
-      face->root.num_glyphs = maxProfile->numGlyphs;
 
       face->root.internal->max_points =
         (FT_UShort)FT_MAX( maxProfile->maxCompositePoints,