ref: e7602c4b4ae3d2f4c1800f0c21a7cd499ff3899a
parent: 1ea53e87c8e15dfa23b71dabdab79587439c2e03
author: Werner Lemberg <[email protected]>
date: Thu Apr 14 07:43:40 EDT 2005
* src/type1/t1load.c (parse_charstrings): Catch this non-standard beginning of the /CharStrings dictionary: /CharStrings 118 dict def Private begin CharStrings begin
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2005-04-14 Werner Lemberg <[email protected]>
+
+ * src/type1/t1load.c (parse_charstrings): Catch this non-standard
+ beginning of the /CharStrings dictionary:
+
+ /CharStrings 118 dict def
+ Private begin
+ CharStrings begin
+
2005-04-13 Werner Lemberg <[email protected]>
* docs/TODO: Updated.
--- a/src/type1/t1load.c
+++ b/src/type1/t1load.c
@@ -1448,7 +1448,20 @@
if ( cur[0] == 'd' &&
cur[1] == 'e' &&
cur[2] == 'f' )
- break;
+ {
+ /* There are fonts which have this: */
+ /* */
+ /* /CharStrings 118 dict def */
+ /* Private begin */
+ /* CharStrings begin */
+ /* ... */
+ /* */
+ /* To catch this we ignore `def' if */
+ /* no charstring has actually been */
+ /* seen. */
+ if ( n )
+ break;
+ }
if ( cur[0] == 'e' &&
cur[1] == 'n' &&