shithub: freetype+ttf2subf

Download patch

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

git/fs: mount .git/fs: mount/attach disallowed
--- 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' &&