shithub: freetype+ttf2subf

Download patch

ref: 624b6802890bff686c60f289217444e4c98c62c5
parent: 69414e7afd41e18f82190c32670dc1784676be9c
author: Werner Lemberg <[email protected]>
date: Tue Jan 3 04:42:41 EST 2017

[sfnt] Don't fail if PCLT, EBLC (and similar tables) are invalid.

These tables are optional.

* src/sfnt/sfobjs.c (sfnt_load_face): Implement it.

git/fs: mount .git/fs: mount/attach disallowed
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,13 @@
 2017-01-03  Werner Lemberg  <[email protected]>
 
+	[sfnt] Don't fail if PCLT, EBLC (and similar tables) are invalid.
+
+	These tables are optional.
+
+	* src/sfnt/sfobjs.c (sfnt_load_face): Implement it.
+
+2017-01-03  Werner Lemberg  <[email protected]>
+
 	* src/cff/cffparse.c (cff_parse_num): Simplify.
 
 2017-01-03  Werner Lemberg  <[email protected]>
--- a/src/sfnt/sfobjs.c
+++ b/src/sfnt/sfobjs.c
@@ -1262,30 +1262,10 @@
 
     /* embedded bitmap support */
     if ( sfnt->load_eblc )
-    {
       LOAD_( eblc );
-      if ( error )
-      {
-        /* a font which contains neither bitmaps nor outlines is */
-        /* still valid (although rather useless in most cases);  */
-        /* however, you can find such stripped fonts in PDFs     */
-        if ( FT_ERR_EQ( error, Table_Missing ) )
-          error = FT_Err_Ok;
-        else
-          goto Exit;
-      }
-    }
 
+    /* consider the pclt, kerning, and gasp tables as optional */
     LOAD_( pclt );
-    if ( error )
-    {
-      if ( FT_ERR_NEQ( error, Table_Missing ) )
-        goto Exit;
-
-      face->pclt.Version = 0;
-    }
-
-    /* consider the kerning and gasp tables as optional */
     LOAD_( gasp );
     LOAD_( kern );