#conform-mustSpecifyGlyfTableSize

Hello,

As the notion of "nominal size" was dropped, I no longer understand what
"an adequate amount of space" for the reconstructed glyf table actually
means.

Is it, or is it not, the "actual" table size? And by actual, I mean the
"original length" of the sfnt glyf table, whatever that was before the
woff2 encoding, with all the equally legal encoding rules?

The spec also says that it's the responsibility of WOFF2 decoders to make
sure that "an adequate amout [ditto] of memory" is allocated when glyphs
are being reconstructed from a WOFF2 file.
What I get from this is that, unlike with the loca's origLength (which is
normative), the glyf's origLenth has now become simply orientative and
should not be relied upon too when allocating memory during the glyf
reconstruction. This also means that a decoder should not reject a font
when the reconstructed glyf length happens to be different from the encoded
origLength.

Is this the correct interpretation?

If this is the case, then both the reference implementation and the OTS
decoder need to be updated accordingly. They both fail to decode a WOFF2
font whose glyf.origLength is smaller than the reconstructed glyf length.
The lengths differences have to do with the absence or presence of padding
between glyphs --- which I gather was also dropped along with the notion of
nominal size.

Thank you,

-- 

*Cosimo Lupo*

Received on Thursday, 16 April 2015 15:38:20 UTC