- From: Tab Atkins Jr. <jackalmage@gmail.com>
- Date: Thu, 22 Oct 2009 10:45:06 -0500
- To: Sylvain Galineau <sylvaing@microsoft.com>
- Cc: "Levantovsky, Vladimir" <Vladimir.Levantovsky@monotypeimaging.com>, John Hudson <tiro@tiro.com>, "www-font@w3.org" <www-font@w3.org>
On Thu, Oct 22, 2009 at 9:49 AM, Sylvain Galineau <sylvaing@microsoft.com> wrote: >> From: Levantovsky, Vladimir >> I believe that the goal of the working group *is* to specify the >> format(s) that hasn't been shipped yet to promote its implementation >> and interoperability between browsers. Just because something didn’t >> happen yet doesn't mean that it shouldn’t happen in the future - this >> is exactly where the WG efforts would create most value. >> To the contrary, whatever has already happened is the reality we live >> with, and while the WG has to consider it in order to enable web >> authors do what they need to do sooner rather than later, I don’t see >> the need to simply rubberstamp any of the existing solutions unless it >> promotes interoperability. > > Rubberstamping is precisely what I have no interest in. Interoperability > in a relatively distant future should not take precedence over > interoperability between now and then if it is possible, even if limited > by legacy implementation issues. Not without detailed considerations of > said limitations and consulting with authors, at least. That said, let's talk details. All the formats are pretty stable. WOFF and CWT still need full specs, but we at least know what we're getting into with them, so we can discuss them alongside the maturer formats. So, we've got four formats on the table. SVG, TTF, CWT, and WOFF. SVG Fonts is sort of a non-starter. I don't think it's controversial to say that it's not really equivalent to the other font formats as a full font solution. It's useful for integration with SVG and for achieving cool SVG-driven effects involving fonts on web pages, but the font files are *much* larger and I don't believe any of the browsers that support them do so fully, or really plan to do so in the near future (especially in regards to the complex character relationships required for a lot of non-Latin languages). Also, I have no idea what the level of tool support is for creating SVG Fonts from TTF fonts. TTF is great. It's simple, it's easy, and everybody already has rendering support for it (you have to, since that's what the system libraries use). But it's contentious. Many font vendors don't like it, and the compat view is poor. None of the old IEs support it, and there's no indication that MS wants to support it at all. If we're looking for an ideal solution, here it is, but if we want a realistic one, TTF is out. The compat future is just too horrible, and that's really the *entire point* of having a Font WG. CWT and WOFF are the new guys. They share many similarities, so I'll hit those before discussing the differences. Both of the formats are modifications to plain TTF files, so conversion tools should be fairly simple. Both also effectively obfuscate the font, preventing it from being dropped straight into a user's font folder. However, neither of them go any further than this - there is *no* DRM or DRM-like substance to be found near them. This doesn't make the font vendors overly happy, but the obfuscation is enough for at least several foundries to express support for them. As DRM is a non-starter anyway, this is probably the best we can achieve in terms of foundry happiness. CWT has several advantages. It's *extremely* simple - the TTF data is present in the file in a completely unaltered form, ready to be passed straight to a system library. The only change is a header of a couple bytes prepended to the font, which is composed of some magic numbers and padding. Using it is nothing more than checking the magic numbers, looking at the offset, and then chopping the header off. As well, CWT has the significant compat advantage of working with legacy IEs. As was expressed many times before, legacy IE is the albatross around the web's neck - users of other browsers update *much* faster so we don't have to worry nearly as much about support timelines for them. By having this IE compat, CWT is the format with the shortest expected time-to-usefulness for authors. CWT doesn't really have a downside - it's just TTF with a trivial processing step required. WOFF also has significant advantages. Again, it's also based on ordinary TTFs, but it employs zlib compression on a per-table basis. Tests show that this achieves *significant* size reductions, substantially above what can be achieved with generic whole-file gzip compression. Due to the typical large size of font files, this is a significant benefit for both authors and users - faster downloads, and shorter FOUT. However, its compat story isn't great; as a completely new format, nobody supports it yet. Firefox *just* announced support for it in nightlies, but nobody else has made a public move yet. It's also somewhat more complex to decode, as you have to decompress the font in a novel way. ROC from Moz says that it's pretty easy and shouldn't stop anyone, but it's still obviously more work than just chopping off a header. Summary time! SVG Fonts should be supported on their own merits, but really aren't a believable general solution to fonts on the web. TTF would be nice, but the expected time-to-usefulness is the highest of all of them, because we have no idea when or if MS will ever support them in IE. CWT has great compat and will be usable the fastest, all things being equal, but WOFF has the advantage of some very attractive compression . So I'm not sure why we're debating this. TTF isn't an option right now for a single-font-usable-everywhere, unless MS throws us a curveball. CWT is the best solution in the near term, and WOFF is the best solution in the medium term. So we should mandate support for CWT and WOFF. Anything else is just playing politics when we should be making the lives of authors (like me) easier. ~TJ
Received on Thursday, 22 October 2009 15:46:00 UTC