How to whitelist vs charset: which subset strategy wins?
- Step 1Identify the content type — Known-fixed text (logo, hero string, app name): whitelist. Dynamic text in a known language (article body, UI labels): charset preset.
- Step 2Apply the right tool — Whitelist → Custom Glyph Whitelist Builder. Charset → Smart Font Subsetter (latin, latin-ext, cyrillic, etc.).
- Step 3Compose if needed — Hero font subsetted by whitelist + body font subsetted by latin charset → smallest possible per-context payload. Use distinct @font-face family names to keep them straight.
Frequently asked questions
What if my hero text changes?+
Switch to charset subsetting if the text might change. A whitelist baked into a CI pipeline becomes a maintenance burden if marketing edits the hero copy weekly.
Is whitelisting safe for headlines that include user-generated content?+
No — UGC has unknown characters. For UGC contexts, ship a Latin (or appropriate) charset subset. Whitelists assume the rendered text is known at build time.
Can I combine both?+
Yes — ship a whitelisted hero font plus a charset-subsetted body font. They live in different @font-face declarations under different family names.
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.