W3C home > Mailing lists > Public > www-font@w3.org > January to March 2010

Re: Wrapper not format

From: Adam Twardoch (List) <list.adam@twardoch.com>
Date: Thu, 04 Mar 2010 04:44:17 +0100
Message-ID: <4B8F2C91.5030407@twardoch.com>
To: John Hudson <tiro@tiro.com>
CC: "Adam Twardoch (List)" <list.adam@twardoch.com>, Chris Lilley <chris@w3.org>, Thomas Phinney <tphinney@cal.berkeley.edu>, "Tab Atkins Jr." <jackalmage@gmail.com>, www-font@w3.org
John Hudson wrote:
>> Following this analogy, .woff, .eot, .otf, .ttf, .ttc, .dfont, FFIL are
>> different container formats for sfnt-based digital font files.
> 
> Is this helpful, though, to the web font issue, which is that it is
> sometimes important for an agent to know whether a .woff container
> format contains a CFF or TTF font? If everything is a container format,
> how does one make useful distinctions between the container and the
> thing contained?

Being more precise, continuing the analogy:

The sfnt-based container formats can contain one or more sfnt streams,
plus potentially additional metadata streams. Each sfnt stream is made
out of one glyph imaging substream (in TrueType or CFF coding format)
and out of zero or more text layout substreams in TrueType (i.e. "kern"
table), OpenType, AAT or Graphite coding formats. Additional substreams
(for example private VOLT or VTT tables) can be included in the sfnt
stream. Each substream is made out of sfnt tables.

The coding format of the glyph imaging substream is identified by the
sfnt version field at the beginning of the sfnt stream. In TrueType
coding format, the sfnt version field is "\00\01\00\00". In CFF coding
format, the sfnt version field is "OTTO".

Now:

*.ttf is a container format for desktop fonts (and, currently, web
fonts) that contains just one sfnt stream with the glyph imaging
substream in TrueType coding format

*.otf is a container format for desktop fonts (and, currently, web
fonts) that that contains just one sfnt stream with the glyph imaging
substream in TrueType or CFF coding format

*.ttc is a container format for desktop fonts that contains one or more
sfnt streams with glyph imaging substreams in TrueType coding format

*.dfont is a container format for desktop fonts that contains one or
more sfnt streams with glyph imaging substreams in TrueType (or possibly
CFF) coding format, plus a metadata stream (i.e. other Mac resources)

*.eot is a container format for web fonts that contains one sfnt stream
with the glyph imaging substream in (potentially compressed) TrueType
coding format (potentially CFF is an alternative but is not supported in
IE), plus a metadata stream (the EOT metadata)

*.woff is a container format for web fonts that contains one sfnt stream
with the glyph imaging stream in compressed TrueType or CFF coding
format, plus a metadata stream (the WOFF metadata)

Roughly so.

A.

-- 

Adam Twardoch
| Language Typography Unicode Fonts OpenType
| twardoch.com | silesian.com | fontlab.net

Reporter: "So what will your trip to Ireland look like?"
Lech Wałęsa: "I get into a car, then onto a plane, and then the other
way around."
Received on Thursday, 4 March 2010 03:45:05 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Saturday, 11 June 2011 00:14:05 GMT