Glyph Protocol aims to stop “tofu” and the megabyte font arms race in terminals

April 19, 2026
Close-up view of a modern contactless payment terminal for seamless transactions.
Photo by Jakub Zerdzicki on Pexels

The problem

Terminals have long forced users into a clunky dance: install a patched font, switch settings, hope your editor or TUI looks right. The payoff? A single missing glyph replaced by the infamous little rectangles — tofu — and dozens of megabytes of Nerd Fonts that most people never actually need. Frustrating. Embarrassing. And it has been reported that this waste and fragility is what Glyph Protocol was designed to fix.

What it does

It has been reported that Glyph Protocol lets applications ship the glyph they need and map it onto a Private Use Area (PUA) codepoint — or reuse a Nerd Font codepoint — so the terminal can render the icon even if the user hasn’t installed a patched font. No more hoping the user has the right font version. No more ecosystem-wide updates every time someone wants a new symbol. Applications can first query the terminal and skip sending a glyph if a system font already covers that codepoint. Sweet relief for authors and users alike.

How it works

The protocol uses APC (Application Program Command) instead of OSC, allegedly because APC is designed to carry app-defined commands that terminals can safely ignore. Every Glyph Protocol message is prefixed with U+25A1 (WHITE SQUARE) — the canonical “tofu” — so unrecognized terminals drop the message. Four verbs start the set: s (support), q (query), r (register), and c (clear). The s reply advertises a fmt bitfield of supported payload formats (v1 defines glyf at bit 0), and queries return a status byte where bit 0 shows “covered by system font” and bit 1 shows “covered by a registry in this session.” If nothing replies in a short timeout, the terminal doesn’t speak the protocol.

Why it matters

If terminals adopt this, TUIs could stop shipping huge bundled fonts and start behaving honestly: ask first, fall back gracefully. Sounds modest, but it’s a practical nudge against years of font bloat and brittle assumptions. Adoption is the rub — terminals must implement APC handling and the Glyph bits — and until that happens this is still a proposal, not a standard. But imagine opening your editor and seeing every icon rendered without hunting for a patched font. A small technical change, a potentially big UX win.

Sources: rapha.land, Lobsters