WOFF 2.0 Implementation Report


This report documents the overall implementation status and detailed test results for WOFF 2.0.

As WOFF2 is a compressed format, to operations can be tested: Compression, and Decompression.


Two types of decompression code have been tested:

  1. A decoder takes a WOFF 2.0 stream and decodes it to a TrueType or OpenType font or font Collection. Testing assumes that the decoded font is available for inspection and comparison with a correct font.

  2. A user agent, most of which are Web browsers, take a WOFF 2.0 stream, decode it, and use the result to display a Web page. The decoded font may or may not be available for testing and inspection, so only the rendered result is tested.


Known decoders include:

Opentype by Bram Stein is a JavaScript parser for OpenType files, including WOFF and WOFF2. woff2parser by Andy Jansson is another JavaScript parser.

Test Plan for Decoders | Decoder Tests (source)

User Agents

Browsers known to implement WOFF 2.0 include:

The support on iOS and on MacOS appears to be platform-level rather than at the browser level. All user agents appear to use the Google WOFF2 library; Chrome and Firefox also use the OpenType Sanitizer.

Test Plan for User Agents | User Agent Tests (source) | Test Results.


Authoring Tools

Authoring tools, (which may be command-line, gui-based, or Web services) take an OpenType or Truetype font or font Collection and emit a valid WOFF 2.0 stream.

Known implementation are:

FontForge has not yet added WOFF 2.0 support. FontLab intend to add WOFF2 support to TransType and has added it to the preview of FontLab VI. ttf2woff is a Node wrapper for the Google WOFF2 library.

Test Plan for Authoring Tools | Authoring Tool Tests (source)


Fonts in WOFF 2.0 format may be tested for validity, with a WOFF2 validator.

Test Plan for WOFF 2.0 File Format | Format Tests (source)

Chris Lilley
$Id: Overview.html,v 1.14 2017/07/18 15:36:48 clilley Exp $