Making a font with ligatures to display thirteenth-century monk numerals

Internet swoons and nitpicks a 9,999‑ligature monk‑number font

TLDR: A dev built a font that turns numbers into medieval monk symbols using 9,999 ligatures, and the internet split between delight and “why not a smarter system?” Skeptics questioned the math claims, others shared font war stories, and everyone joked about turning the whole web into monk math.

A developer just dropped a font that turns everyday digits into medieval Cistercian numerals—no code, just 9,999 ligatures—and the crowd went from heart‑eyes to hot takes in seconds. Fans cheered the pure whimsy (“Very cool!”) and marveled that you can type, search, and copy these symbols like normal text. The demo and repo made the rounds, with bonus credit to Chris Heilmann for the original glyph paths.

Then the nitpick brigade marched in. One commenter balked at the brute force: 10,000 lines to map every number? Shouldn’t this be composable or handled by Unicode (the global text standard)? Another chimed in with real‑world font war stories—MusGlyph, FontForge, and the headache of slimming a ligature‑heavy font for the web—turning the thread into a mini masterclass on type nerdery. Cue a side skirmish over the claim that Cistercian layout “makes addition visual”; skeptics weren’t buying it. The post’s own note about weird quadrant ordering added fuel for the “cool but confusing” camp.

Meanwhile, the meta police cried, “Old news!” linking to a prior Show HN. The rest said: who cares, it’s still delightful. People joked about swapping browser fonts to make the whole internet speak monk math—peak cursed extension energy. The author’s confession that much of the code was AI‑generated? Half applause, half side‑eye—perfect drama seasoning.

Key Points

  • Bobbie Chen created a font that renders Cistercian numerals via thousands of ligature substitutions.
  • The project was inspired by Chris Heilmann’s generator; its SVG paths were used for glyph shapes.
  • Ligatures keep underlying characters intact, enabling search, copy-paste, and live typing without JavaScript.
  • Greedy substitution requires starting with 4-digit sequences; longer numbers are processed in 4-digit chunks.
  • Chen notes a peculiar quadrant ordering; historical use of a horizontal stave yields a more natural reading order.

Hottest takes

"Surprising there isn't a better way to do it than defining 10000 ligature config lines and 10000 glyphs" — rjh29
"So now I’m spending quality time with FOSS called FontForge" — ssttoo
"I wonder how often - my suspicion would be rarely." — lucideer
Made with <3 by @siedrix and @shesho from CDMX. Powered by Forge&Hive.