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.
--- 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;