alt.hn

3/31/2026 at 3:01:35 PM

GitHub Monaspace Case Study

https://lettermatic.com/custom/monaspace-case-study

by homebrewer

3/31/2026 at 4:44:20 PM

I decided to try using proportional fonts for coding starting a year or two back. It worked out well and I stuck with it, because proportional text is easier for me to read on the whole, and because it allowed more characters to fit comfortably on each line on average. I did find after a while that occasionally the lack of alignment between characters on two subsequent lines was a problem, but then I configured my editor so that it showed comments and text strings in a monospace font and that fixed the problem for me.

by ben_pfaff

3/31/2026 at 6:03:14 PM

This seems a great solution, and I'll definitely be trying it. I feel like monospace fonts are the Roman roads → horse ruts → rail gauge of our industry.

by CharlesW

3/31/2026 at 4:16:51 PM

I do like these fonts, but DJR had this idea with the (excellent) Input family of fonts years ago:

https://input.djr.com/

A bit weird to not mention that.

Unfortunately until editors start supporting this (and I’m not sure what would motivate them to), these remain great ideas only.

by endunless

3/31/2026 at 4:38:31 PM

Input's method seems to be fundamentally very different to this. Monaspace keeps the grid intact and only changes the characters visually (situationally overlaps wide letters to neighbouring narrow characters' spaces). Input just pretends to be monospace in its aesthetics, I don't really understand what's supposed to be special with that.

by sheiyei

3/31/2026 at 5:07:00 PM

Fair points on the technical implementation.

I more meant the idea of using different fonts in the same buffer to represent different kinds of text.

by endunless

3/31/2026 at 5:37:59 PM

Input is a proportional font.

Monaspace is a monospace font that uses contextual alternatives: it changes how letters look depending on surrounding letters.

They are nothing alike in their approach to this problem.

(Also this is a marketing piece. Contextual alternatives is not a new tech.)

by asibahi

3/31/2026 at 6:44:00 PM

> Input is a proportional font.

it is also a monospaced font

by naikrovek

3/31/2026 at 6:27:35 PM

Honest question: does emacs (GUI) not support this?

by pfortuny

3/31/2026 at 4:43:19 PM

Which editors?

by actionfromafar

3/31/2026 at 5:15:17 PM

Given GitHub is owned by Microsoft, I think VS Code supporting mixing fonts in a buffer would be a good start!

by endunless

3/31/2026 at 4:52:50 PM

When I saw the Monaspace family linked in a HN frontpage some time ago, I installed the whole family, and now my terminal font is Monaspace Neon. I also type my LaTeX code in Monaspace Argon. They won me over Iosevka.

by sombragris

3/31/2026 at 4:19:15 PM

Very useful to mix and match various fonts based on semantics. I have a problem with Radon's l though, to me it reads like chumiZy and xenoZith. I don't understand how this could have slipped through, I can't be the only one being constantly confused.

by exceptione

3/31/2026 at 5:38:54 PM

Yeah, I think the italics compounds the problem in their comment example: // Notify aZZ Zisteners

by kyle-rb

3/31/2026 at 4:42:31 PM

I feel like that font is a real bad apple. The other ones are decent and I like the "texture healing" (but not its name)

by sheiyei

3/31/2026 at 6:03:06 PM

I really like Monaspace Argon, but even the narrower option looks too wide on my terminal (kitty on macos)

by ferd

3/31/2026 at 3:33:42 PM

Were fonts always able to do "texture healing"? Has no one tried this before?

by rezmason

3/31/2026 at 3:44:02 PM

“Texture healing works by finding each pair of adjacent characters where one wants more space, and one has too much. Narrow characters are swapped for ones that cede some of their whitespace, and wider characters are swapped for ones that extend to the very edge of their box. This swapping is powered by an OpenType feature called “contextual alternates,” which is widely supported by both operating systems and browser engines.

Contextual alternates are normally used for certain scripts, like Arabic, where the shape of each glyph depends on the surrounding glyphs. And they are also used for cursive handwriting fonts where the stroke of the “pen” might have different connection points across letters. Texture healing is a novel application of this technology to code.”

by fontain

3/31/2026 at 4:14:04 PM

Always able to do it? Yes. Even before OpenType alternates, the extended ligature support in TeX 3.x would have also allowed for this sort of thing.

Why has no one tried it before? Because (a) nobody thought of it and (2) OpenType alternates, while they’ve been around for a while, have not always been supported in the sorts of programs that use monospace fonts (code editors and terminals)

by dhosek

3/31/2026 at 5:16:23 PM

It really only makes sense on high-DPI displays (or large font sizes), which didn’t used to be that wide-spread.

Conversely, nobody seems to be doing pixel-based hinting anymore, which is why all newer fonts tend to look terrible at small font sizes on lower-DPI displays.

by layer8

3/31/2026 at 4:49:11 PM

There have been other attempts; Commit Mono uses a slightly different approach: https://commitmono.com/ (don’t know which came first)

by micampe

3/31/2026 at 3:36:13 PM

i do think that the type designers did incredible work with monaspace… i used to be an Operator-exclusive kind of guy (rip hoefler x frere-jones), but i genuinely think they did enough to completely displace it from my font lexicon, which is no mean feat.

by keeganpoppen

3/31/2026 at 5:15:20 PM

I usually stick with Apple's SF Pro Mono but I'll have to try out this font.

by satvikpendem

3/31/2026 at 3:36:55 PM

i do prefer neon and argon to the rest, though i see the place for all of them to exist

by keeganpoppen