RE: WOFF 2.0: Known Table Tags Proposal

Folks,

I would like to bring up one question regarding the DSIG table. The primary concern that I have is the validity of the table after the font is subjected to WOFF2 transforms that break bitwise compatibility between the original font that goes in and the optimized binary that is restored after decompression . If the DSIG table is present in the original font - what we should do with it once the font data is modified so that its functionality is identical but from bit count /content point of view it is a different binary?

Opinions?

Thank you,
Vlad


From: David Kuettel [mailto:kuettel@google.com]
Sent: Monday, April 14, 2014 7:41 PM
To: Behdad Esfahbod; Raph Levien
Cc: Levantovsky, Vladimir; public-webfonts-wg@w3.org
Subject: Re: WOFF 2.0: Known Table Tags Proposal

OK, great, thank you Behdad.  Adding Raph to sanity check.

Here is the updated (and streamlined) proposal then:

See the "Proposals (fewer tables)" tab:
https://docs.google.com/a/google.com/spreadsheets/d/111MT0l7LOVqotAnMXD4PMOm36jTPSznUigJPfxUYY_0/edit#gid=0

In summary, the proposed changes to the draft specification (http://dev.w3.org/webfonts/WOFF2/spec/) are:

o  The known table tags from the draft specification [ 0 for 'cmap' through 28 for 'GSUB' ] are preserved as is
o  The earlier "reserved - invalid" bits (29, 30) are removed (the bits have been reassigned)
o  The "arbitrary tag follows" moves from 31 to 48 (do we still need this?)
o  The new assignments start at 29 for 'EBSC' and run through 47 for 'Sill' (see below)

Proposed new assignments:

29        EBSC
30        JSTF
31        DSIG
32        CBDT
33        CBLC
34        sbix
35        COLR
36        CPAL
37        "SVG "
38        feat
39        just
40        mort
41        morx
42        MATH
43        Silf
44        Glat
45        Gloc
46        Feat
47        Sill

LGTM?

On Mon, Apr 14, 2014 at 4:10 PM, Behdad Esfahbod <behdad@google.com<mailto:behdad@google.com>> wrote:
SGTM.  And again, I don't think this is worth any more of your (or the working group's) time.

On Mon, Apr 14, 2014 at 3:54 PM, David Kuettel <kuettel@google.com<mailto:kuettel@google.com>> wrote:
On Mon, Apr 14, 2014 at 6:37 AM, Levantovsky, Vladimir <Vladimir.Levantovsky@monotype.com<mailto:Vladimir.Levantovsky@monotype.com>> wrote:
I agree, for WOFF 2.0 encoding we should compile a list of popular / frequently used tables, and any one-of-a-kind table that is rarely seen can simply be treated as an arbitrary tag. As far as table tags in general are concerned, the SFNT /TrueType / OpenType common structures presume that all original TrueType tags are spelled in lowercase letters, and all other tags should be all caps only. The mix of caps / lowercase characters in the same tag is not permitted.

Thank you Vlad, Behdad, John and Sergey.

Exploring this ("popular / frequently used tables") further, would we be open to omitting the older unused Apple/TrueType tables?

For example, with the corpus of fonts that I tested with, I did not find any fonts using the acnt, avar, bdat, bloc, bsln, cfar, fdsc, fmtx, fvar, gvar, hsty, lcar, opbd, prop, track or Zapf tables.  Rather, the few that were used include: feat, just, mort, motx.  Were we open to exploring this, we would likely want to check a larger collection of fonts to confirm of course.

To summarize (and capture the most recent proposals), shall we add tags for the following known tables:

[ See column B, with the additional tables highlighted in green ]
https://docs.google.com/a/google.com/spreadsheets/d/111MT0l7LOVqotAnMXD4PMOm36jTPSznUigJPfxUYY_0/edit#gid=0

(1) OpenType tables that were missed earlier: EBSC, JSTF, DSIG
(2) Color font proposals: CBDT, CBLC, sbix, COLR, CPAL, "SVG "
(3) Apple/TrueType tables (which are still used*): feat, just, mort, morx
(4) Microsoft MATH table: MATH
(5) SIL Graphite (non-standardized) tables: Silf, Glat, Gloc, Feat, Sill

(*) Assumes we are open to dropping Apple/TrueType tables that are no longer used (see above).

Thank you,
Vlad


From: Behdad Esfahbod [mailto:behdad@google.com<mailto:behdad@google.com>]
Sent: Friday, April 11, 2014 6:57 PM
To: David Kuettel
Cc: public-webfonts-wg@w3.org<mailto:public-webfonts-wg@w3.org>
Subject: Re: WOFF 2.0: Known Table Tags Proposal

At the end of the day, this doesn't matter much, we are talking saving, say, 20 bytes, for a rare font.  I think you should just fix a set and move on.

On Fri, Apr 11, 2014 at 3:51 PM, David Kuettel <kuettel@google.com<mailto:kuettel@google.com>> wrote:
On Fri, Apr 11, 2014 at 2:41 PM, Behdad Esfahbod <behdad@google.com<mailto:behdad@google.com>> wrote:
Thanks David.  Your code may be buggy with tags that have space in them.  It doesn't make sense that you didn't find any "cvt " or "CFF ".  Other than that, I suggest dropping EPAR as well as anything that shouldn't be in a final shipped product (VTT, etc).

Great points Behdad, I should have elaborated in my earlier emails.

The tool that I used was 'showttf' on Linux, which did segfault on some of the files.  A better tool would have been fonttools, esp. due to the worldclass support from you. :)

The collection of fonts (while good sized) did not contain PostScript/CFF fonts.  I need a bigger test set.

Really, lets just keep this to the union of OpenType spec, Apple TrueType, Graphite, and color fonts.

Regarding the Apple TrueType font tables, given that so few are likely still in use today, would it make since to whittle down the list a bit?  Or perhaps again, my test collection was too limited.

Cheers,
behdad

On Fri, Apr 11, 2014 at 2:05 PM, David Kuettel <kuettel@google.com<mailto:kuettel@google.com>> wrote:
To sanity check the initial list, I dumped the tables over a moderate sized collection of fonts, and then color coded the entries in the spreadsheet to reflect real-world usage (for this collection).

https://docs.google.com/a/google.com/spreadsheets/d/111MT0l7LOVqotAnMXD4PMOm36jTPSznUigJPfxUYY_0/edit#gid=0

The color coding ranges from dark green, to represent the most commonly used tables (e.g. name, glyph), to light green, to represent the least commonly used tables (e.g. JSTF, mort, Silf, etc).

The red entries represent tables that were not found with this collection (e.g. acnt, fmtx, TeX, etc).

The white (no color) entries represent tables that likely would have been present in a larger collection (e.g. CFF, cvt, sbix, COLR, etc).


Interestingly enough, the more tables that I look for, the more I find.  For example, FontLab's Glossary page documents a ton of optional font tables: http://blog.fontlab.com/info/  e.g. TSI1..TSIV and many more.

Thus, I am wondering if we should revisit the goal of trying to capture all known / used table tags.  Perhaps, esp. in light of this data, it would be better to just capture the most commonly used tables today, while ensuring that the rarely used ones would simply be passed through the WOFF 2.0 encode/decode process...

Thoughts?

Received on Tuesday, 15 April 2014 15:18:43 UTC