How to wire kerning audits into your design system ci
- Step 1Capture baseline counts — Run the auditor against every font, capture kerning pair count per font in fonts.kerning-baseline.json.
- Step 2Compare on every build — CI step recomputes counts and compares against baseline. Drops over 10% trigger a warning; drops over 30% block the deploy.
- Step 3Update intentionally — Foundry update legitimately reduced pairs? Update the baseline in the same PR. Forces explicit acknowledgement of the regression.
Frequently asked questions
What's a meaningful drop threshold?+
Depends on baseline. Fonts with 100 pairs: ±5 is noise. Fonts with 2000 pairs: ±100 is noise. Use percentage-based thresholds (10% / 30%) rather than absolute numbers.
Does this catch class-based kerning changes?+
Partially — the auditor's pair count includes pairs resolvable from kern + simple GPOS. Class-based GPOS changes don't show up in the count. For class-based fonts, this CI check has limited utility.
Can I check specific critical pairs?+
Yes — extend the script with a critical-pairs whitelist. CI fails if any critical pair is missing from the audit output. Useful for brand text where specific pair quality matters.
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.