summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsuzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>2009-07-03 18:01:32 +0900
committersuzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>2009-07-03 18:01:32 +0900
commit13cdd027d2cae10cedd068239ea8b0ba5afbc390 (patch)
treeffc981c145dcd267fbca94df9645cc1a11281e37
parenta0f7778bd4fb275c744436b9b0cc283893f1ecf8 (diff)
downloadfreetype2-13cdd027d2cae10cedd068239ea8b0ba5afbc390.tar.gz
sfnt: Extend TT_BDF->strings_size to FT_ULong for huge BDF.
-rw-r--r--ChangeLog12
-rw-r--r--include/freetype/internal/tttypes.h2
-rw-r--r--src/sfnt/ttbdf.c2
3 files changed, 14 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index aae3cd957..344f6212b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,17 @@
2009-07-03 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ 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-03 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+
psaux: Handle the string length by FT_Offset variables.
* src/psaux/afmparse.c (afm_parser_next_key,
diff --git a/include/freetype/internal/tttypes.h b/include/freetype/internal/tttypes.h
index 737d9329b..acbb863b0 100644
--- a/include/freetype/internal/tttypes.h
+++ b/include/freetype/internal/tttypes.h
@@ -902,7 +902,7 @@ FT_BEGIN_HEADER
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;
diff --git a/src/sfnt/ttbdf.c b/src/sfnt/ttbdf.c
index 7289f468a..206cecee5 100644
--- 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;