W3C home > Mailing lists > Public > www-font@w3.org > April to June 2012

Re: Announcing new font compression project

From: Chris Lilley <chris@w3.org>
Date: Mon, 2 Apr 2012 18:25:17 +0200
Message-ID: <227098785.20120402182517@w3.org>
To: Jonathan Kew <jonathan@jfkew.plus.com>
CC: www-font@w3.org
On Saturday, March 31, 2012, 12:01:51 AM, Jonathan wrote:

JK> On 3/30/12 2:47 PM, Tab Atkins Jr. wrote:
>> On Fri, Mar 30, 2012 at 2:37 PM, John Hudson<tiro@tiro.com>  wrote:
>>> I wonder how this compares to the standard of losslessness required by the
>>> WOFF spec?
>> It's very close.

>> Taking a virgin file and round-tripping it through the codec gives you
>> a file that's rendering-identical, but not bit-identical.  If you
>> roundtrip the result, though, the result from the second pass is
>> bit-identical to the result from the first.  So it's still possible to
>> do checksum/hash-based signing of font files with this format; they
>> just have to do a single round-trip through the format first to get to
>> a stable state.

JK> I think there would be merit in separating - both for discussion and in
JK> implementation - the two logical stages that are being done here.

I agree. 'Lossless' can have various meanings, depending on what one considers important.

The existing WOFF 1.0 spec has the concept of a defined starting state:

"A well-formed input font does not have structural anomalies such as incorrect padding, overlapping font tables, extraneous data between tables (which will be discarded by the WOFF generator), or incorrect checksums. "

So 'hidden' data (between tables, or derived from the amount of excess padding between tables) is not preserved.

On the other hand, WOFF 1.0 is purposefully silent about any subsetting of the glyph repertoire, for example, which happens before WOFF conversion.

It would seem valuable to define an additional term, such as an 'optimised input font' (I don't have any attachment to the name, just used here for discussion) which is the result of round-tripping through the codec.

All optimised fonts would be well formed, but the reverse is not true.

WOFF 1.0 or 2.0 compression could be applied to optimised fonts.
WOFF 1.0 compression can be applied to well formed fonts which are not optimised.
WOFF 2.0 compression requires an optimised font as a starting point and is then lossless.

There might be merit in defining a 'visually lossless' concept but I suspect that might be hard to define rigorously.

 Chris Lilley   Technical Director, Interaction Domain                 
 W3C Graphics Activity Lead, Fonts Activity Lead
 Co-Chair, W3C Hypertext CG
 Member, CSS, WebFonts, SVG Working Groups
Received on Monday, 2 April 2012 16:25:51 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 6 January 2015 21:01:43 UTC