shithub: freetype+ttf2subf

Download patch

ref: 9c1aac00118440ed149effa931a31ea171687083
parent: 259568cf68448a98dce1fb70e356b3994c512650
author: suzuki toshiya <[email protected]>
date: Fri Jul 31 20:32:13 EDT 2009

sfnt: Extend TT_BDF->strings_size to FT_ULong for huge BDF.

git/fs: mount .git/fs: mount/attach disallowed
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,17 @@
 2009-07-31  suzuki toshiya <[email protected]>
 
+	sfnt: Extend TT_BDF->strings_size to FT_ULong for huge BDF.
+
+	* include/freetype/internal/tttypes.h: The type
+	of TT_BDF->string_size is extended from FT_UInt32
+	to FT_ULong, because BDF specification does not 
+	restrict the length of string.
+	* src/sfnt/ttbdf.c: The scratch variable `strings'
+	to load TT_BDF->string_size is matched with
+	TT_BDF->string_size.
+
+2009-07-31  suzuki toshiya <[email protected]>
+
 	psaux: Handle the string length by FT_Offset variables.
 
 	* src/psaux/afmparse.c (afm_parser_next_key,
--- a/include/freetype/internal/tttypes.h
+++ b/include/freetype/internal/tttypes.h
@@ -902,7 +902,7 @@
     FT_Byte*   table;
     FT_Byte*   table_end;
     FT_Byte*   strings;
-    FT_UInt32  strings_size;
+    FT_ULong   strings_size;
     FT_UInt    num_strikes;
     FT_Bool    loaded;
 
--- a/src/sfnt/ttbdf.c
+++ b/src/sfnt/ttbdf.c
@@ -84,7 +84,7 @@
       FT_Byte*   p           = bdf->table;
       FT_UInt    version     = FT_NEXT_USHORT( p );
       FT_UInt    num_strikes = FT_NEXT_USHORT( p );
-      FT_UInt32  strings     = FT_NEXT_ULONG ( p );
+      FT_ULong   strings     = FT_NEXT_ULONG ( p );
       FT_UInt    count;
       FT_Byte*   strike;