W3C home > Mailing lists > Public > public-webfonts-wg@w3.org > October 2013

Re: Native browser/CSS support for TTC (raw and/or within WOFF)?

From: Adam Twardoch (List) <list.adam@twardoch.com>
Date: Fri, 18 Oct 2013 19:40:04 +0200
Message-ID: <52617274.9060405@twardoch.com>
To: Chris Lilley <chris@w3.org>
CC: John Hudson <tiro@tiro.com>, public-webfonts-wg@w3.org
On 13-10-18 19:08, Chris Lilley wrote:
>> A TTC is a sort of composite sfnt in which one or more tables are
>> typically shared by more than one font, with offsets recorded in a
>> TTCHeader table. The TTC spec is embedded within the OT spec:
>> http://www.microsoft.com/typography/otspec/otff.htm
> Thanks. So the entire TTC is an sfnt (specifically, an entire TTC can
> be encoded as a single WOFF?)
It's a sort of SFNT, yes. The TTC Header can be considered an SFNT 
structure. Basically, TTC is built exactly like TTF or OTF, with a 
number of various SFNT tables concatenated in the same way as in a 
regular TTF or OTF, but where in a regular TTF or OTF you have one 
"Table directory" (the offset table) pointing to various SFNT tables, in 
a TTC you have a TTC Header, which records a number of subfonts, and 
then has a list of offsets pointing to each subfont's Table directory 
(which then is normal, and points to each single SFNT table applicable 
to that subfont).

So it really is a simple structure.
>> Most commonly, the technology is used for CJK fonts sharing a single
>> glyf table with different cmap entries for roman and italic Latin
>> subsets. As another example, we built Cambria Regular and Cambria Math
>> as a TTC with a shared glyf table and different cmap, OS/2, OTL tables
>> and, of course, name tables.
> Interesting (and I saw the request for standardizing Math tables).
> I was previously only aware of TTC used for CJK fonts, and I
> understood a typical use case to be 'mostly the same' Japanese and
> Simplified Chinese fonts with distinct glyphs for those code points
> where Unicode unification at the character level required different
> language-specific glyphs. I may well have misunderstood, though.
Yes for Unicode unification, although the by far most common usage is 
that you have a Chinese font which has all the Chinese glyphs plus one 
set of "proportional" Latin glyphs, one set of "full-width" Latin glyphs 
and one set of "half-width" Latin glyphs, and then there are three 
subfonts that only differ in the cmap portion that maps the Latin glyphs 
to the normal Latin codepoints. So all Chinese glyphs are encoded 
identically in all three subfonts, but each subfont exposes a different 
set of Latin glyphs by default.
TTC predates the usage of OpenType Layout. There are OpenType Layout 
features (hwid, fwid, pwid) for the same purpose. Traditionally, 
Japanese fonts (especially those built by Adobe) make use of those 
OpenType Layout features, while Chinese fonts (especially those built or 
commissioned by Microsoft) make use of the alternate cmaps within one 
TTC. Functionally, this yields the same result.



May success attend your efforts,
-- Adam Twardoch
(Remove "list." from e-mail address to contact me directly.)
Received on Friday, 18 October 2013 17:40:33 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 6 January 2015 20:34:17 UTC