Commit 86b7b2f614873386a3bd56be77c8ba37a69a2a02

suzuki toshiya 2011-04-26T03:46:12

[truetype] Revert the reordering of trickyness checking. Trickyness check by the family name is faster than that by the checksum.

diff --git a/ChangeLog b/ChangeLog
index dfbeb6c..23560fd 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -2,13 +2,14 @@
 
 	[truetype] Always check the checksum to identify tricky fonts.
 
-	Some PDF generators mangle the family name badly, prioritize
-	the check by the sfnt table checksums than the check by the
-	family name.  For sample PDF, see
+	Because some PDF generators mangle the family name badly,
+	the trickyness check by the checksum should be invoked always.
+	For sample PDF, see
 	http://lists.gnu.org/archive/html/freetype-devel/2011-04/msg00073.html
 
-	* src/truetype/ttobjs.c (tt_check_trickyness): Exchange the order
-	of tt_check_trickyness_family() and tt_check_trickyness_sfnt_ids().
+	* src/truetype/ttobjs.c (tt_check_trickyness): Even when
+	tt_check_trickyness_family() finds no trickyness,
+	tt_check_trickyness_sfnt_ids() is invoked.
 
 2011-04-22  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
 
diff --git a/src/truetype/ttobjs.c b/src/truetype/ttobjs.c
index 82ec0ec..349547a 100644
--- a/src/truetype/ttobjs.c
+++ b/src/truetype/ttobjs.c
@@ -332,17 +332,17 @@
     if ( !face )
       return FALSE;
 
+    /* For first, check the face name for quick check. */
+    if ( face->family_name                               &&
+         tt_check_trickyness_family( face->family_name ) )
+      return TRUE;
+
     /* Type42 fonts may lack `name' tables, we thus try to identify */
     /* tricky fonts by checking the checksums of Type42-persistent  */
     /* sfnt tables (`cvt', `fpgm', and `prep').                     */
     if ( tt_check_trickyness_sfnt_ids( (TT_Face)face ) )
       return TRUE;
 
-    /* Secondary, check the face name. */
-    if ( face->family_name                               &&
-         tt_check_trickyness_family( face->family_name ) )
-      return TRUE;
-
     return FALSE;
   }