RE: Pairing glyf/loca causes fonts to fail OTS and thus be rejected by Chrome

Hi Rod, all,

I am not really sure I understand the problem in details yet, but as far as the wire format is concerned – we didn’t really change anything. The requirement for ‘loca’ table to follow the glyf table in WOFF2 table directory has been in place from the early days of the WOFF2 draft and is captured in subclause 5.4 as file format conformance case: http://dev.w3.org/webfonts/WOFF2/spec/#table_order.

Essentially, we just reiterated the same exact requirement when we added the Collection directory format, with the only difference that if you have more than one glyf/loca pair they should be ordered as pairs.

This is nothing new as far as WOFF2 wire format is concerned and, like I said, I don’t understand what exactly is different now compared to what it used to be. WOFF2 table directory shouldn’t be ever visible to OTS that deals with the decoded font where table directory entries should be ordered by alphabetical tag order.

Am I missing something here? Let’s discuss this tomorrow during the telcon. BTW, I am just about to upload a new spec version with the media type stuff added, stay tuned for the updates and the agenda for tomorrow call.

Thank you,
Vlad


From: Roderick Sheeter [mailto:rsheeter@google.com]
Sent: Tuesday, March 03, 2015 8:33 PM
To: WebFonts WG
Subject: Pairing glyf/loca causes fonts to fail OTS and thus be rejected by Chrome

I think I have hit a problem with the glyf/loca pairing (implemented in woff2 HEAD). Currently HEAD pairs glyf/loca in the woff2 file and re-orders (to otspec order) when decoding.

The latest OTS re-orders tables and accepts this just fine. However, legacy OTS (including version in browser) reject a woff2 encoded in the new ordering (ERROR: table directory not correctly ordered).

As a result, if you encode a woff2 using https://github.com/google/woff2 at HEAD it will not render in Chrome. I think this means the ordering effectively represents a breaking wire format change.

Perhaps we should make the glyf/loca pairing requirement only for collections and say regular woff2 table directories should order in the otspec recommended order? Other ideas?

Received on Wednesday, 4 March 2015 02:56:20 UTC