* src/type1/t1load.c (parse_charstrings): Exit immediately if there are no elements in /CharStrings. This is needed for fonts like Optima-Oblique which not only define /CharStrings but access it also.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
diff --git a/ChangeLog b/ChangeLog
index fb6b505..c839990 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,18 +1,24 @@
+2004-02-01 Werner Lemberg <wl@gnu.org>
+
+ * src/type1/t1load.c (parse_charstrings): Exit immediately if
+ there are no elements in /CharStrings. This is needed for fonts
+ like Optima-Oblique which not only define /CharStrings but access it
+ also.
+
2004-02-01 David Turner <david@freetype.org>
- * src/sfnt/Jamfile: removing "ttcmap" from the list of sources
+ * src/sfnt/Jamfile: Removing `ttcmap' from the list of sources.
- * src/cache/*, include/freetype/cache/*: fixing a bug after heavy
- testing. The current sources are now "release candidates" for the
- final version of the cache sub-system
+ * src/cache/*, include/freetype/cache/*: Fixing a bug after heavy
+ testing. The current sources are now `release candidates' for the
+ final version of the cache sub-system.
- * Jamfile: updating "refdoc" target, and adding "autohint" to the
- list of modules to build. Both the autohinter and autofitter will be
- built by default. But which one will be used is determined by
- the content of "ftmodule.h"
+ * Jamfile: Updating `refdoc' target, and adding `autohint' to the
+ list of modules to build. Both the autohinter and autofitter will
+ be built by default. But which one will be used is determined by
+ the content of `ftmodule.h'.
- * src/autofit/*: much updates, but the code is still buggy as hell.
- Aargh..
+ * src/autofit/*: Much updates, but the code is still buggy...
2004-01-31 Werner Lemberg <wl@gnu.org>
diff --git a/src/type1/t1load.c b/src/type1/t1load.c
index 0b571c7..543bd18 100644
--- a/src/type1/t1load.c
+++ b/src/type1/t1load.c
@@ -1189,7 +1189,9 @@
num_glyphs = (FT_Int)T1_ToInt( parser );
- if ( parser->root.error )
+ /* some fonts like Optima-Oblique not only define the /CharStrings */
+ /* array but access it also */
+ if ( num_glyphs == 0 || parser->root.error )
return;
/* initialize tables, leaving space for addition of .notdef, */