The Distiller's Lost Heads: On the Premature Cut of a Font Subset
There’s a piece of performance scripture that is recited with near-religious fervor: "Subset your fonts." It's a clear, actionable command. Take the bloated, multi-lingual, stylistic behemoth of a typeface file and, with surgical precision, cut it down to only the glyphs your page actually uses. The payload shrinks, the network cheers, and the Core Web Vital for Largest Contentful Paint ticks upward. It is, by every measurable metric, a win. But in our rush to distill the font down to its purest, leanest form, I wonder if we are, like a hasty distiller discarding the 'heads' of a run, throwing away something essential—not data, but a fundamental piece of the web’s character: its capacity for spontaneous expression.
The Economy of the Complete Set
A full font file is a library. It contains not just the letters you planned for, but the letters you didn’t. The curly quotes and real apostrophes that escape your content management system's sanitization. The em dashes that give prose its cadence. The accented characters for the occasional foreign name or phrase that inevitably surfaces in comments or user-generated content. The mathematical symbols, the currency signs beyond the dollar, the ligatures that turn 'fi' from a collision into a single, graceful shape. When we subset, we define the boundaries of our content with a finality that the web itself inherently resists.
We build our sites to be dynamic, yet we bake in a static assumption about language. We subset for "English (US)," and in doing so, we silently decide that a user commenting with a name like "Zoë" or "François" will be shown a fallback font’s rendering of that letter, breaking the visual harmony we worked so hard to establish. The glyph falls back to system defaults, a typographic pothole in our meticulously paved design road. We have optimized for the first visit, but potentially degraded every subsequent interaction.
This isn’t an argument for shipping the entire 800KB Pan-European family for a local bakery’s site. It’s a critique of the automated, build-step mentality that treats subsetting as an unalloyed good without considering its context. The received wisdom treats text as a closed dataset, like the static strings in our code. But the web is not a printed book. Its text is alive—it flows from databases, pours in from users, shifts with translations, and evolves with content. A subset is a prediction, and all predictions are, to some degree, wrong.
Perhaps the craft lies in a more mindful distillation. It means asking if the performance gain of a 20KB subset versus a 45KB "smart" subset (with extended punctuation, common Latin-based diacritics, and symbols) is worth the lost expressive range. It means considering variable fonts, which often have a more favorable full-file economy. It means acknowledging that the fallback font stack is a compromise, not a feature. Sometimes, the purest performance win comes with a cost to the medium's nature. The web's beauty has always been in its ability to connect the unexpected; a too-lean font can quietly sever those connections before they're ever made.
Notes & further reading
A few pages I came back to while writing this:
- Pasadena, CA
- The Ice Carver's Wasted Core: On the Unchipped Mass of an Unused Font Face
- New Haven, CT
- The Miller's Settled Stone: On the Perilous Grind of an Over-Eager `preconnect`
- Stamford, CT
- The Compositor's Locked Chase: On the Forced Reflow of a Hot-Lead Typesetter
- Washington, DC
- one area's overview
- a practical rundown
- Little Rock, AR
- Gilbert, AZ
- Peoria, AZ
- Surprise, AZ