[truetype] Add checksums for 2 tricky fonts.
Thanks to Ting717 for providing sample PDF. Fixes #1087. * src/truetype/ttobjs.c (tt_check_trickyness_sfnt_ids): Add checksums for 2 tricky fonts `DFHei-Bd-WIN-HK-BF' and `DFMing-Md-WIN-HK-BF'.
This commit is contained in:
parent
78f2bd0bd3
commit
1c23982dd2
|
@ -277,7 +277,7 @@
|
||||||
tt_check_trickyness_sfnt_ids( TT_Face face )
|
tt_check_trickyness_sfnt_ids( TT_Face face )
|
||||||
{
|
{
|
||||||
#define TRICK_SFNT_IDS_PER_FACE 3
|
#define TRICK_SFNT_IDS_PER_FACE 3
|
||||||
#define TRICK_SFNT_IDS_NUM_FACES 29
|
#define TRICK_SFNT_IDS_NUM_FACES 31
|
||||||
|
|
||||||
static const tt_sfnt_id_rec sfnt_id[TRICK_SFNT_IDS_NUM_FACES]
|
static const tt_sfnt_id_rec sfnt_id[TRICK_SFNT_IDS_NUM_FACES]
|
||||||
[TRICK_SFNT_IDS_PER_FACE] = {
|
[TRICK_SFNT_IDS_PER_FACE] = {
|
||||||
|
@ -430,6 +430,16 @@
|
||||||
{ 0x00170003UL, 0x00000060UL }, /* cvt */
|
{ 0x00170003UL, 0x00000060UL }, /* cvt */
|
||||||
{ 0xDBB4306EUL, 0x000058AAUL }, /* fpgm */
|
{ 0xDBB4306EUL, 0x000058AAUL }, /* fpgm */
|
||||||
{ 0xD643482AUL, 0x00000035UL } /* prep */
|
{ 0xD643482AUL, 0x00000035UL } /* prep */
|
||||||
|
},
|
||||||
|
{ /* DFHei-Bd-WIN-HK-BF, issue #1087 */
|
||||||
|
{ 0x1269EB58UL, 0x00000350UL }, /* cvt */
|
||||||
|
{ 0x5CD5957AUL, 0x00006A4EUL }, /* fpgm */
|
||||||
|
{ 0xF758323AUL, 0x00000380UL } /* prep */
|
||||||
|
},
|
||||||
|
{ /* DFMing-Md-WIN-HK-BF, issue #1087 */
|
||||||
|
{ 0x122FEB0BUL, 0x00000350UL }, /* cvt */
|
||||||
|
{ 0x7F10919AUL, 0x000070A9UL }, /* fpgm */
|
||||||
|
{ 0x7CD7E7B7UL, 0x0000025CUL } /* prep */
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -510,13 +520,21 @@
|
||||||
/* For first, check the face name for quick check. */
|
/* For first, check the face name for quick check. */
|
||||||
if ( face->family_name &&
|
if ( face->family_name &&
|
||||||
tt_check_trickyness_family( face->family_name ) )
|
tt_check_trickyness_family( face->family_name ) )
|
||||||
|
{
|
||||||
|
FT_TRACE3(( "found as a tricky font by "
|
||||||
|
"its family name: %s\n", face->family_name ));
|
||||||
return TRUE;
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
/* Type42 fonts may lack `name' tables, we thus try to identify */
|
/* Type42 fonts may lack `name' tables, we thus try to identify */
|
||||||
/* tricky fonts by checking the checksums of Type42-persistent */
|
/* tricky fonts by checking the checksums of Type42-persistent */
|
||||||
/* sfnt tables (`cvt', `fpgm', and `prep'). */
|
/* sfnt tables (`cvt', `fpgm', and `prep'). */
|
||||||
if ( tt_check_trickyness_sfnt_ids( (TT_Face)face ) )
|
if ( tt_check_trickyness_sfnt_ids( (TT_Face)face ) )
|
||||||
|
{
|
||||||
|
FT_TRACE3(( "found as a tricky font by "
|
||||||
|
"its cvt/fpgm/prep table checksum\n" ));
|
||||||
return TRUE;
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue