Introduction
This report summarizes the implementation status of WOFF File Format 2.0 W3C Recommendation, 10 March 2022 in browsers, woff2 encoders, and woff2 decoders.
Only the status of the two Proposed Corrections are described; the WOFF 2.0 Implementation Report of 11 Dec 2017 is a snapshot of the existing woff2 features.
The input data and tools to build the woff2 test suite are on GitHub.
1. Simple glyph flags
Proposed Correction 1 avoids data loss of an optional flag bit which indicates the presence of overlapping glyph contours. This correction affects woff2 encoders and decoders; it cannot be tested directly in User Agents as there is no effect on rendering.
Implemented in FontTools, a library to manipulate font files from Python. [added Nov 11, 2022].
Implemented in Google woff2, a C++ woff2 encoder and decoder. [added Mar 30, 2022].
Overlap Flag
FontTools | Google woff2 | |
---|---|---|
tabledata-transform-glyf-006 | ||
tabledata-transform-glyf-007 |
Round Trip
FontTools | Google woff2 | |
---|---|---|
roundtrip-glyf-overlaps-001 | ||
roundtrip-glyf-overlaps-002 |
2. Polarity of on-curve bit
The specification was unclear whether a bit flag, used to indicate whether a point was on the curve or off the curve, was indicated by the bit being set or unset. This Proposed Correction explicitly states that a value of 0 corresponds to on-curve.
In practice, implementations were already assuming that 0 means on-curve, the same as described in MicroType® Express (MTX) Font Format submission.
On-curve bit
There are no tests, as implementations were already conforming; the specification was corrected to document this.