KitForma field notes

Subset a font without overlooking the text you need

Plan language coverage, shaping and dynamic characters before removing glyphs.

Build a realistic character inventory

A subset keeps mapped characters from the supplied text and the additional glyphs needed by the subset engine for layout. Include headings, numbers, punctuation, accented names, translated messages and user-visible error text, not just a short homepage screenshot.

Future content is a separate requirement. Usernames, prices and localization can introduce characters that were not present during generation. A subset does not learn new content later; keep a full fallback or regenerate it when your character inventory changes.

Characters are not shaped glyphs

A Unicode codepoint may map to a base glyph, but ligatures, contextual forms and combining marks require additional substitution and positioning data. HarfBuzz closure retains related glyphs, and Font Bridge requests every layout feature tag when subsetting.

The coverage report checks cmap entries. Joiners and variation selectors are context controls, so they are identified separately rather than scored as ordinary missing glyphs. Passing this report does not prove Arabic joining, Indic shaping, emoji sequences or every typographic feature.

Compare more than the file size

Inspect removed Unicode mappings and dropped tables. Use complete words and sentences in each supported script, including combining marks, kerning pairs and ligatures. The before/after browser preview uses local buffers; its raster difference covers only a bounded sample.

Browser fallback can make a missing character appear correct by drawing it from another font. Check the explicit missing-codepoint report and test with your target font stack. Never treat a zero pixel difference on one line as proof that the entire subset is equivalent.

The evidence behind the check

Sources & assumptions

Formats, algorithms and supported features are documented below. Check the stated scope and inspect your output before using it.

Reviewed 2026-10-18. Read our methodology or report an issue.

Essential local storage remembers this choice for up to 180 days. Your choice applies to this subdomain. Global Privacy Control and Do Not Track override optional measurement.

Advertising has a separate choice. Use Advertising preferences in the footer to allow or reject the optional guide-page banner.