W3C Backs the WOFF WebFont Standard

Contributing Editor

The W3C announced today that the Web Open Font Format (WOFF) has been published on their Standards Track. Assuming all interested parties agree, the format will become a royalty-free standard and a W3C Recommendation.

Vladimir Levantovsky, W3C WebFonts Working Group chair, stated:

As a key Web font standard developed by W3C, WOFF 1.0 represents a universal solution for enabling advanced typography on the Web.

With the backing of browser companies and font vendors, who are making their fonts available for licensing in WOFF, this new W3C Recommendation will bring rich typographic choice for content creators, Web authors and brand managers. The need for this specification helped to drive the rapid progress we’ve made within the Web Fonts Working Group, which was established only about four months ago.

What’s WOFF?

Although the @font-face rule was introduced in CSS2, font downloading remains a controversial issue because it can result in commercial fonts being distributed against the terms of their license. Several font formats were designed to address the issue including WOFF, TrueDoc (PFR), and Embedded OpenType (EOT).

WOFF is a relatively new format which was submitted to the W3C by Microsoft, Mozilla and Opera. It was developed during 2009 and the W3C published WOFF as a working draft on July 27, 2010. Technically, WOFF is a wrapper which contains a zlib-compressed spline-based font. File sizes are typically 40% lower than its TTF equivalent — an important factor for web distribution. Additional meta data, such as licensing details or other information, can also be attached to the file.

WOFF is already supported by Firefox 3.6 and IE9 (third platform preview and above). Opera will implement the format and it’s being added to webkit so it will eventually appear in Safari and Chrome.

The W3C does not expect WOFF to replace other formats such as TrueType, OpenType, Open Font or SVG fonts. It’s simply an alternative. Font distributors could, for example, offer the same font in OpenType for desktop/print use and WOFF for web use. Each file would be provided with an appropriate license and usage restrictions.

Can I use WOFF today?

Yes. WOFF fonts are available from several commercial foundries such as FontShop and FontFont. FontSquirrel and the Open Font Library also provide free fonts in WOFF format.

If you’re feeling artistic, the open source Fontforge font editor already supports WOFF. Alternatively, you can convert OpenType to WOFF using the sfnt2woff utility.

WOFF Resources

For further information about WOFF, refer to:

Free book: Jump Start HTML5 Basics

Grab a free copy of one our latest ebooks! Packed with hints and tips on HTML5's most powerful new features.

  • bzbuyz

    Interesting article. I wold be concerned that specialty fonts would not render properly on many visitor’s computers.

    Tried and true is always best for the visitor … and soon to be customer. Why irritate our visitors with fancy fonts? It’s great information that they want, so why not keep it simple.

  • mwistrand

    So, WOFF is basically another font format that is only readable by browsers, and that is what protects foundries? I am confused about how that is a suitable long-term solution.

    • http://www.lunadesign.org awasson

      Well I don’t know…. I’ve been loosely tracking the Font issue for about ten years and I’m looking forward to a universal solution so we can have something that renders better at large sizes that Arial, Helvetica or Verdana. Any decent headline size and it goes to heck…

      Maybe because it uses a “zlib-compressed spline-based font” it does a better job of protecting the font from someone hacking the wrapper and getting at the font for other uses, so the foundry’s will support it. I really don’t know but it will be nice to have some decent font selection.

  • Sphamandla

    Well i for one don’t really follow the fonts regularly i never really saw the point but very interesting article.So basically this is for browser to read and us to implement from what i get out of this