Oh, the mail server of my office was too lazy, this message was delivered after the commit by Werner :-)
Regards, mpsuzuki suzuki toshiya wrote: > Dear Derek, > > Thank you very very much for finding new tricky font! > I will commit your patch soon. > > Regards, > mpsuzuki > > Derek B. Noonburg wrote: >> After some more investigation, this appears to be a simple case of a >> different version (or modification?) of a known tricky font. >> >> There are three font subsets in that PDF file. All three have the same >> cvt, fpgm, and prep checksums. The cvt and prep checksums match >> DFKaiShu, but the fpgm checksum and length are different. >> >> I'm attaching those three fonts. >> >> And here's a patch: >> >> *** freetype-2.6.2/src/truetype/ttobjs.c 2015-11-28 10:08:52.000000000 >> -0800 >> --- freetype-2.6.2b/src/truetype/ttobjs.c 2016-01-18 11:15:37.982092742 >> -0800 >> *************** >> *** 246,252 **** >> tt_check_trickyness_sfnt_ids( TT_Face face ) >> { >> #define TRICK_SFNT_IDS_PER_FACE 3 >> ! #define TRICK_SFNT_IDS_NUM_FACES 17 >> >> static const tt_sfnt_id_rec sfnt_id[TRICK_SFNT_IDS_NUM_FACES] >> [TRICK_SFNT_IDS_PER_FACE] = { >> --- 246,252 ---- >> tt_check_trickyness_sfnt_ids( TT_Face face ) >> { >> #define TRICK_SFNT_IDS_PER_FACE 3 >> ! #define TRICK_SFNT_IDS_NUM_FACES 18 >> >> static const tt_sfnt_id_rec sfnt_id[TRICK_SFNT_IDS_NUM_FACES] >> [TRICK_SFNT_IDS_PER_FACE] = { >> *************** >> *** 270,275 **** >> --- 270,280 ---- >> { 0x5A30CA3BUL, 0x00009063UL }, /* fpgm */ >> { 0x13A42602UL, 0x0000007EUL } /* prep */ >> }, >> + { /* DFKaiShu2 */ >> + { 0x11E5EAD4UL, 0x00000350UL }, /* cvt */ >> + { 0xA6E78C01UL, 0x00008998UL }, /* fpgm */ >> + { 0x13A42602UL, 0x0000007EUL } /* prep */ >> + }, >> { /* HuaTianKaiTi */ >> { 0xFFFBFFFCUL, 0x00000008UL }, /* cvt */ >> { 0x9C9E48B8UL, 0x0000BEA2UL }, /* fpgm */ >> >> - Derek >> >> >> On 2016 Jan 17, suzuki toshiya wrote: >>> Dear Derek, >>> >>> I have not expected that the tricky font detection >>> technique was still worthful to discus after the >>> expiration of bytecode interpreter patent :-) >>> >>> I'm interested in the example which current detection >>> cannot detect correctly. The current detection is just >>> a comparison with the checksums of "known" tricky fonts, >>> and, if there is yet another tricky font, it should be >>> appended the the blacklist. >>> >>> Regards, >>> suzuki toshiya >>> >>> Derek B. Noonburg wrote: >>>> On 17 Jan, Werner LEMBERG wrote: >>>>>> Unfortunately, I don't think it will be possible to detect the >>>>>> tricky fonts. >>>>> I think it *is* possible. The method, as implemented by Toshiya-san, >>>>> compares various SFNT table checksums. Among them is the `cvs ' >>>>> table, and modifying this table is essentially impossible without >>>>> interpreting and changing the bytecode. Ditto for `fpgm'. I dare to >>>>> say that even a subsetted font with a single glyph contains the >>>>> original `cvs ' and `fpgm' tables unmodified, which should enable >>>>> FreeType to discover its trickyness. >>>>> >>>>> Do you have counterexamples to this assumption? >>>> Very interesting... I wasn't aware that FreeType used that technique. I >>>> just looked through the code and found tt_check_trickyness_sfnt_ids -- I >>>> assume that's the code you're referring to. I didn't trace through the >>>> code; do I need to do anything special to enable those checksum tests? >>>> >>>> I have at least one PDF file with Chinese TrueType fonts that render >>>> correctly with the native hinter and incorrectly without it. I'll >>>> extract those fonts and see what the cvt and fpgm tables look like. >>>> >>>> I'll also be happy to make the fonts available for testing. >>>> >>>> - Derek >>>> >>>> >>>> _______________________________________________ >>>> Freetype-devel mailing list >>>> Freetype-devel@nongnu.org >>>> https://lists.nongnu.org/mailman/listinfo/freetype-devel > > _______________________________________________ > Freetype-devel mailing list > Freetype-devel@nongnu.org > https://lists.nongnu.org/mailman/listinfo/freetype-devel _______________________________________________ Freetype-devel mailing list Freetype-devel@nongnu.org https://lists.nongnu.org/mailman/listinfo/freetype-devel