RE: Open issues in the WOFF 2 draft spec

Hi Jonathan,

On Thursday, March 27, 2014 3:27 PM you wrote:

> I just noticed the current list omits the OpenType justification data table:
>      JSTF
> Add the layout tables for SIL's Graphite engine:
...
<snip/>
...
> And given that we now have 7 bits rather than 5 to play with, I'd recommend also including AAT's various tables. 
> At present, only Apple systems make use of these, but there has been some interest in supporting AAT fonts 
> more widely (Behdad has talked of adding support in HarfBuzz). So:
...
<snip/>
...
I think this is a great idea, we do want WOFF 2.0 to be seen as "fair and balanced", and inclusion of all possible known table tags (not just those defined by OT spec) is definitely a step in that direction.

>>     The next issue was making the transform mandatory for the glyf and 
>> loca tables. I'm fine with this. I agree with the principle of making 
>> as few things optional as possible, unless there really is some 
>> compelling reason, and don't think non-transformed glyf rises to this 
>> level. 
> Here, I'm inclined to prefer retaining the optional nature of the transform. 
> I think the added cost/complexity for implementations is pretty negligible, 
> and it makes it more realistic to imagine that WOFF2 may - eventually, over 
> time - serve as a complete replacement for WOFF1, rather than the two 
> co-existing forever as two distinct formats.

I agree that the cost of retaining 'no transform' option is negligible (or even non-existent) as both the encoder and decoder implementations will have to support both branches of execution - but I believe that the benefit of having a 'no transform' option is also negligible. Like I said in my earlier email to Raph, if we do care about squeezing as much redundancy out of font data as possible, and to achieve that we are contemplating an option of introducing either a specific data type or a specific table directory sub-format to save 40+ bytes - the savings would be more substantial if we apply 'glyf' transform to a font subset of only 6 glyphs - we would eliminated 48 bytes of bbox info and at least another 12 bytes of loca table. And I do envision that overtime WOFF2, as highly optimized and highly efficient compressed format, will eliminate the need for anything else (other than possible future WOFF3) to be used, and will serve as a complete replacement to WOFF1. 
(Historical note: If I remember correctly, the real reason we considered uncompressed WOFF1 as an option is to make the webfonts distinctly different from their desktop counterpart, I think that we are now way beyond that concern but we do see a real benefit in getting the webfonts compressed to smallest size possible. The cost of applying the transform on either side isn't going to be an issue IMO, but to justify this statement it would be nice to see the real numbers that illustrate the breakdown between reverse transform vs. Brotli decompression.)

>>     The next question was whether to move the table directory inside 
>> the compression envelope. I'm going to argue against it, but again am 
>> very open to discussion.
> I prefer it outside, so that certain higher-level aspects of the font can be examined before decompressing the Brotli stream.

I agree.

Thank you,
Vlad

Received on Thursday, 27 March 2014 20:35:13 UTC