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: Chris Lilley <chris@w3.org>
Date: Fri, 18 Oct 2013 19:24:35 +0200
Message-ID: <697492802.20131018192435@w3.org>
To: "Adam Twardoch (List)" <list.adam@twardoch.com>
CC: public-webfonts-wg@w3.org
Hello Adam,

Friday, October 18, 2013, 6:52:37 PM, you wrote:
> And in the May 2012 discussion on the CSS3 Fonts list, John Daggett 
> proposed a similar syntax for TTC:

> @font-face {
>      font-family: 'MyFont Web';
>      src: url("MyFontWeb.ttc#1"); /* use the first font in the set of 
> fonts */
>    }

>> So a TTC is a single file containing multiple sfnt streams. What is
>> the official defining document?

> I just realized that TTC (called "TrueType Collections") is part of the
> OpenType font format spec, and the structure is documented as part of 
> the main "The OpenType Font File" document:
> http://www.microsoft.com/typography/otspec/otff.htm

From that document:

"ULONG   numFonts        Number of fonts in TTC"

so if if a TTC collection has two fonts, that value is 2? And if it has
only one despite being a TTC, the value 1 is allowed? 0 is an error?

If so that does argue for a numerical fragment (and a 1-based rather
than 0-based number).

> "A TrueType Collection (TTC) is a means of delivering multiple OpenType
> fonts in a single file structure. TrueType Collections are most useful
> when the fonts to be delivered together share many glyphs in common. 
> (...) The CFF rasterizer does not currently support TTC files."

> In the May 2012 thread, Vlad wrote: "In addition, TTC is a normative 
> part of the OpenType specification, and there is an ongoing discussion
> about extending TTC concept to support CFF OT fonts (with OTC as a name
> for it).
> [snip of more supporting evidence]

Great, that preemptively answers my next two questions: (a) is this in ISO
OFF and (b) are other glyph outlines allowed.

This could arguably be in scope for this WG, a short separate document
on fragment identifiers for WOFF (would apply equally to WOFF 1.0 and
2.0).

> So this is, indeed, a well-established and well-documented structure, 
> and now works with both CFF and TT outlines.

And would work with other outlines (or indeed raster glyph
definitions) in the future.

> But I believe now is the time. Especially in the wake of the color font
> ideas, because there can be many cool things that could be done with TTC.

Agreed.

> For example, a TTC could contain one "glyf" table which acts as one 
> large container for glyphs, but there could be several subfonts which 
> could have their own cmap tables (thus exposing different "encoded" 
> portions of the same glyph set), could include a roman and an italic 
> font in the same file, exposing the roman through one cmap and italic 
> through another, but then allowing for example kerning between the roman
> and the italic glyphs (say an italic "f" followed by an upright ")"), 
> or, for example, providing one font file with several subfonts where one
> utilizes the Microsoft COLR/CPAL table to perform automatic layering, 
> but the other subfonts encoding the appropriate "layer" glyph sets 
> directly (or even have different COLR tables), so the user could choose
> whether to get a layered font consisting of, say, one layer or two 
> layers, or three layers etc. Further, the same mechanism could be used
> to provide font collections where the "glyf" table would be shared but
> each subfont would come with a different GSUB table implementing 
> somewhat different OpenType Layout behavior.

> All kinds of clever stuff can be done using TTC.

Exciting awesomeness.




-- 
Best regards,
 Chris                            mailto:chris@w3.org
Received on Friday, 18 October 2013 17:24:39 UTC

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