# WOFF2 codec for johnmcm.com The WebAssembly module behind johnmcm.com's Font Converter (/font-converter) and WOFF2 opening in the Font Viewer (/font-inspector): Google's woff2 library with brotli, behind a few plain C functions (`src/wrapper.cpp`), built by `Dockerfile` with the Emscripten image pinned by digest. Run `build.ps1` with Docker Desktop running; the module goes to `frontend/vendor/local/woff2@1/`. | Library | Commit | Licence | Source | |---|---|---|---| | woff2 | `fb9c3379f2605b10f3e8f1d9636664ab5576775c` | MIT | https://github.com/google/woff2 | | brotli | v1.2.0, `028fb5a23661f123017c060daa546b55cf4bde29` | MIT | https://github.com/google/brotli | Both are built unmodified. Decoding writes into a buffer that grows, because a WOFF2 file's declared size is not always the size it rebuilds to (Font Awesome's WOFF2 files, with untransformed glyf tables, come out larger). WOFF 1.0, the OTF-to-TTF outline conversion and the rest of the converter are TypeScript in `frontend/src/app/font-converter/`. Licence notices: `LICENSE-woff2.txt` and `LICENSE-brotli.txt` are the upstream LICENSE files at the commits above. The built module in `vendor/local/woff2@1/` carries no notice of its own, so these stand for it.