Re: Updated WOFF2 spec and CTS planning

On 11/8/14 18:04, Levantovsky, Vladimir wrote:
> Hello WG,
>
> Please see attached the updated spec for your review (sorry, my CVS
> client acting up and I can’t get through to upload the spec).

Some points I noticed in the current document. I haven't been through it 
all yet, so may have further comments, but thought I'd send these off 
before I forget.


* UIntBase128 Data Type
We need to tighten this up: is there a limit on the number of bytes that 
a UIntBase128 has? (Should we prohibit "padding" with leading 0x80 
bytes?) What happens if the value overflows 2^32-1 during decoding -- is 
that an error, or do we clamp the value, or wrap around...?

* WOFF2 Header
The field descriptions refer to "WOFF file", should be "WOFF2 file".

* Table directory format
In sfnt and WOFF, the table directory entries are required to be sorted 
by tag. If this is *not* a requirement in WOFF2 (it's not currently 
mentioned, at least), we should probably call out the difference with a 
note of some kind, and point out the implications for a decoder: that it 
must sort the entries of the new sfnt table directory it creates. (Note 
that in sfnt, the table directory entries need not be in the same order 
as the actual tables.)

* TableDirectoryEntry
I don't think the |tag| and |transformLength| fields should be described 
as "optional". They're never "optional", they are either required or 
prohibited depending on the particular entry. So we should explicitly 
say that |tag| is present if and only if |flags|&0x3f == 63, and 
|transformLength| is present if and only if the tag is 'glyf' or 'loca'.


And a couple of minor typos that caught my eye:

s/presense/presence/
s/desinged/designed/
s/pleasee/please/


JK

Received on Thursday, 14 August 2014 11:27:57 UTC