[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
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().
This commit is contained in:
suzuki toshiya 2011-04-25 23:51:04 +09:00
parent 233f9d5dd2
commit abc47aa136
2 changed files with 17 additions and 9 deletions

View File

@ -1,3 +1,15 @@
2011-04-25 Kan-Ru Chen <kanru@kanru.info>
[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
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().
2011-04-22 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
[autofit] Add more Indic scripts with hanging baseline.

View File

@ -332,21 +332,17 @@
if ( !face )
return FALSE;
/* First, check the face name. */
if ( face->family_name )
{
if ( tt_check_trickyness_family( face->family_name ) )
return TRUE;
else
return FALSE;
}
/* 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;
}