Re: [ft] Telling if a font has TrueType outlines
<mpsuzuki <at> hiroshima-u.ac.jp>
2005-05-02 03:35:23 GMT
On Mon, 2 May 2005 12:36:16 +1000 (EST)
Michael Day <mikeday <at> yeslogic.com> wrote:
>> It seems that "truetype" driver is for TrueType instruction rastrizer,
>> rather TrueType font format handler (it might be "sfnt"), therefore,
>> your pointing out is correct!
>I see. Just out of curiousity, what is "sfnt"? Is it the container format
>used by TrueType and OpenType, or something totally different? (It would
>be nice to totally understand all of these font structures :)
Yes! "sfnt" driver of FreeType is the driver to parse the registered
tables in the container (good word!) used by TrueType and OpenType.
In fact, the container format of OpenType is completely same with
TrueType. The difference of TrueType and OpenType font spec is:
(1) OpenType spec added several additional tables to store control data
for OpenType layout engine: GSUB, GDEF, BASE, JSTF etc.
(2) OpenType spec introduced "CFF" table to store raw PS outline data
instead of "glyf".
Microsoft had ever made "TrueType Open" font format before OpenType,
it was almost same with OpenType except it lacked point (2).
The content in "CFF" table is completely same with CFF font format,
so it's enough for FreeType to pass the content to CFF driver after
peeling OpenType container.
However, the registered tables in the sfnt driver (in src/sfnt/*.[ch])
seems to be restricted original TrueType tables and only CFF table
(you can find it in src/sfnt/sfobjs.c). The OpenType special tables