From 86b7b2f614873386a3bd56be77c8ba37a69a2a02 Mon Sep 17 00:00:00 2001 From: suzuki toshiya Date: Tue, 26 Apr 2011 03:46:12 +0900 Subject: [PATCH] [truetype] Revert the reordering of trickyness checking. Trickyness check by the family name is faster than that by the checksum. --- ChangeLog | 11 ++++++----- src/truetype/ttobjs.c | 10 +++++----- 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/ChangeLog b/ChangeLog index dfbeb6cfe..23560fd8f 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 diff --git a/src/truetype/ttobjs.c b/src/truetype/ttobjs.c index 82ec0ecad..349547a28 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; }