Commit 27f6a05ed51e5dac27fcfd91170e4d5f296dfed1

David Turner 2002-02-06T13:59:25

support for embedded fonts in PDF documents. These often do not have a 'cmap', 'post' and 'name' table and were not loaded by FreeType previously.. (thanks to Derek B. Noonburgs from XPDF)

diff --git a/ChangeLog b/ChangeLog
index a00d0d8..c607a34 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,14 @@
 2002-02-06  David Turner   <david@freetype.org>
 
+        * src/sfnt/sfobjs.c (SFNT_Load_Face): since many fonts embedded in
+        PDF documents do not include 'cmap', 'post' and 'name' tables, the
+        SFNT face loader has been changed to not immediately report an
+        error if these are not present.
+        
+        Note that the specification _requires_ these tables, but Adobe
+        seems to ignore it completely..
+
+
         * src/sfnt/ttcmap.c: removing compiler warnings
 
         * src/pcf/pcfread.c, src/pcf/pcf.h, src/pcf/pcfdriver.c:
diff --git a/src/sfnt/sfobjs.c b/src/sfnt/sfobjs.c
index a8a5b76..fddc3c8 100644
--- a/src/sfnt/sfobjs.c
+++ b/src/sfnt/sfobjs.c
@@ -296,10 +296,10 @@
     if ( !is_apple_sbit && LOAD_( header ) )
       goto Exit;
 
-    /* load other tables */
-    if ( LOAD_( max_profile ) ||
-         LOAD_( charmaps )    )
-      goto Exit;
+    /* the following tables are often not present in embedded TrueType fonts */
+    /* within PDF documents, so don't check for them..                       */
+    (void)LOAD_( max_profile );
+    (void)LOAD_( charmaps );
       
     /* the following tables are optional in PCL fonts -- */
     /* don't check for errors                            */