How to strip colour tables in your build pipeline
- Step 1Walk fonts directory — fs.readdir(input). For each font, run the table-removal helper that strips COLR, CPAL, sbix, SVG, CBDT, CBLC, EBDT, EBLC tables.
- Step 2Verify monochrome output — Optional: parse the output with opentype.js. Confirm no colour tables survived — count tables in vs out.
- Step 3Compose with WOFF2 — Final step: TTF → monochrome TTF → WOFF2. Pipeline produces small-as-possible monochrome variants in seconds.
Frequently asked questions
Does this work for both TTF and OTF?+
Yes — colour tables are independent of outline format. Both TTF and OTF chromatic fonts use the same COLR/CPAL/sbix/SVG tables, so the removal logic is format-agnostic.
What about hybrid fonts with both COLR and SVG?+
Some fonts ship both COLR (smaller, wider support) and SVG-in-OT (richer rendering for capable browsers). The script removes both — you get a monochrome output regardless of which format the font primarily targeted.
Why include CBDT/CBLC and EBDT/EBLC?+
CBDT/CBLC are Google's colour bitmap tables; EBDT/EBLC are the older monochrome embedded bitmap tables. Both can carry colour or grayscale bitmap glyphs. Removing all four gets you to outline-only output.
Privacy first
Every JAD Font tool runs entirely in your browser using opentype.js and the wawoff2 WASM Brotli encoder. Your fonts never leave your device — verified by zero outbound network requests during processing.