- From: Raph Levien <raph@google.com>
- Date: Thu, 27 Mar 2014 16:56:09 -0700
- To: John Hudson <tiro@tiro.com>
- Cc: Behdad Esfahbod <behdad@google.com>, Jonathan Kew <jfkthame@gmail.com>, "public-webfonts-wg@w3.org" <public-webfonts-wg@w3.org>
- Message-ID: <CAFQ67bOMCxZqF0hOvuVoVA8fuNgjKLh3OJ4N6M9QPa9xnjz=0Q@mail.gmail.com>
I'm with John on this. The inclusion or exclusion of a tag in the known tags table means (or should) mean nothing other than that we figure there's a nontrivial probability we think we'll see this tag in a web font (or, for that matter, the other use cases such as epub), so we can compress it better. Because people might be confused seeing a list of tags, we should probably add explicit language to the effect that the WOFF 2 file format is agnostic as to which sfnt tags are present, and that the sole purpose of the known tags table is to improve compression efficiency in the highly probable case. Regarding font tool specific tags, my sense is that there may be value in documenting best practices for web fonts, which would certainly recommend stripping these tags, but that it probably doesn't belong in a normative spec. Such a best practices document would also (for example) give the rationale for stripping the hdmx table. (This latter is something of a complex subject, as this table was actually one of the significant sources of compression gain for MTX, but my initial research and consensus point to stripping it being even better than compressing it highly.) We talked about starting such a "best practices" effort in Portland, but as far as I know there hasn't been any concrete action on it. I'm hearing what people are saying about alternatives to UIntBase128, but I'm not yet convinced that any of the other proposals are much better. Having a short/long flag feels just as complicated to me, and would not be quite as compact. Having longs and the header inside the compression envelope would probably not be quite as compact as the current proposal, and would also make life more difficult for the use cases discussed upstream where you would want to access information about the font without opening a Brotli stream. I totally agree that the (small but nonzero) complexity of UIntBase128 requires justification, but I'm personally of the opinion that the file size savings and the convenience of being able to see inside the table structure and resource requirements without decompressing is that justification. Many binary formats provide something similar, for the same reasons (I believe it's actually identical to the BER compressed integer representation, and the format used in Protocol Buffers, DWARF, and DEX is the same except for endianness, and big endian is more consistent with the rest of the OFF spec). So, personally, I think it's great we're considering alternatives, I'm still most in favor of the format as it stands. Of course, that includes Zoltan's most recent changes, which I'm very happy we're all in agreement with. Raph On Thu, Mar 27, 2014 at 4:30 PM, John Hudson <tiro@tiro.com> wrote: > On 27/03/14 3:07 PM, Behdad Esfahbod wrote: > > I understand so far it has been out of the scope of this working group. >> But does the WG like to take a stance over what "smart-font" >> technologies are supported by WOFF2 (OpenType, Graphite2, AAT)? Or >> explicitly stay agnostic? >> > > I certainly wouldn't like to take such a stance. WOFF should compress and > wrap anything put in an sfnt; WOFF2 optimises the compression for some > kinds of known data, but in general terms any table is WOFFable. Which is > to say, I don't recommend putting jpegs of kittens in your web fonts, but > it's out of scope for this working group to prevent you from doing so. It > might also be unwise to load up a web font with layout tables for > technologies that are not supported in most of the platforms to which the > font is served, but again that's a decision for the WOFF creator, not for > this working group. > > [I realise that this everything-in-an-sfnt-is-valid stance contradicts my > earlier suggestion to declare custom tool source tables as invalid for > WOFF. I reserve the right to be contradictory.] > > JH >
Received on Thursday, 27 March 2014 23:56:37 UTC