Commit c9bdfa7e658f42f3faed2b426e3b1251a04938e4

Werner Lemberg 2011-03-06T18:35:37

Fix autohinting fallback. * src/base/ftobjs.c (FT_Load_Glyph): Assure that we only check TTFs, ignoring CFF-based OTFs.

diff --git a/ChangeLog b/ChangeLog
index cb83ca8..a66d649 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2011-03-06  Werner Lemberg  <wl@gnu.org>
+
+	Fix autohinting fallback.
+
+	* src/base/ftobjs.c (FT_Load_Glyph): Assure that we only check TTFs,
+	ignoring CFF-based OTFs.
+
 2011-02-27  Werner Lemberg  <wl@gnu.org>
 
 	Add AF_CONFIG_OPTION_USE_WARPER to control the autofit warper.
diff --git a/src/base/ftobjs.c b/src/base/ftobjs.c
index 708055f..219ece4 100644
--- a/src/base/ftobjs.c
+++ b/src/base/ftobjs.c
@@ -627,9 +627,12 @@
         FT_Render_Mode  mode = FT_LOAD_TARGET_MODE( load_flags );
 
 
+        /* the check for `num_locations' assures that we actually    */
+        /* test for instructions in a TTF and not in a CFF-based OTF */
         if ( mode == FT_RENDER_MODE_LIGHT                       ||
              face->internal->ignore_unpatented_hinter           ||
              ( FT_IS_SFNT( face )                             &&
+               ttface->num_locations                          &&
                ttface->max_profile.maxSizeOfInstructions == 0 ) )
           autohint = TRUE;
       }