ref: 86b7b2f614873386a3bd56be77c8ba37a69a2a02
parent: abc47aa1362713192cf8f6747b8de25a3f54e513
author: suzuki toshiya <[email protected]>
date: Mon Apr 25 23:46:12 EDT 2011
[truetype] Revert the reordering of trickyness checking. Trickyness check by the family name is faster than that by the checksum.
--- 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 <[email protected]>
--- a/src/truetype/ttobjs.c
+++ b/src/truetype/ttobjs.c
@@ -332,15 +332,15 @@
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;