[HN Gopher] GitHub Monaspace Case Study
       ___________________________________________________________________
        
       GitHub Monaspace Case Study
        
       Author : homebrewer
       Score  : 104 points
       Date   : 2026-03-31 15:01 UTC (7 hours ago)
        
 (HTM) web link (lettermatic.com)
 (TXT) w3m dump (lettermatic.com)
        
       | rezmason wrote:
       | Were fonts always able to do "texture healing"? Has no one tried
       | this before?
        
         | fontain wrote:
         | "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."
        
         | dhosek wrote:
         | 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)
        
         | micampe wrote:
         | There have been other attempts; Commit Mono uses a slightly
         | different approach: https://commitmono.com/ (don't know which
         | came first)
        
           | makizar wrote:
           | Over time I must have spent several dozen hours looking into
           | fonts, but I somehow always end up sticking to Menlo which
           | looks just right to me. But this one looks really good ! I
           | will give it a spin, thanks for sharing.
        
         | layer8 wrote:
         | 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.
        
       | keeganpoppen wrote:
       | 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.
        
         | keeganpoppen wrote:
         | i do prefer neon and argon to the rest, though i see the place
         | for all of them to exist
        
         | satvikpendem wrote:
         | I usually stick with Apple's SF Pro Mono but I'll have to try
         | out this font.
        
       | evanjrowley wrote:
       | I like the way the problem of "m" is solved by Ubuntu Mono:
       | https://fonts.google.com/specimen/Ubuntu+Mono
       | 
       | It's what I landed on after completing the Coding Font game
       | submitted to HN yesterday:
       | https://news.ycombinator.com/item?id=47575403
        
       | endunless wrote:
       | 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.
        
         | sheiyei wrote:
         | 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.
        
           | endunless wrote:
           | 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.
        
         | actionfromafar wrote:
         | Which editors?
        
           | endunless wrote:
           | Given GitHub is owned by Microsoft, I think VS Code
           | supporting mixing fonts in a buffer would be a good start!
        
             | alwillis wrote:
             | Yes, I configured VS Code to use Monaspace a while ago.
        
         | asibahi wrote:
         | 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.)
        
           | naikrovek wrote:
           | > Input is a proportional font.
           | 
           | it is also a monospaced font
        
             | asibahi wrote:
             | Yes there is a version of Input that is a monospaced font
             | and doesn't solve the problem tackled by Monaspace and the
             | proportional version of Input and is therefore as relevant
             | to this discussion as .. I dunno .. Courier New.
        
         | pfortuny wrote:
         | Honest question: does emacs (GUI) not support this?
        
           | ramblurr wrote:
           | Emacs totally supports this!
           | 
           | Mixing monosoace and proportional fonts can be a little
           | strange, but there are some 3rd party packages or guides
           | (prot has one iirc) to workaround it.
        
       | exceptione wrote:
       | 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.
        
         | sheiyei wrote:
         | 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)
        
         | kyle-rb wrote:
         | Yeah, I think the italics compounds the problem in their
         | comment example: // Notify aZZ Zisteners
        
         | ZeroGravitas wrote:
         | A few people thought this, there's a GitHub ticket for it which
         | they closed after they added a variant in v1.2 for a standard i
         | and a loopy l that you can opt in to use.
         | 
         | Can't quickly find a screenshot though you can use web dev
         | tools to add                  font-feature-settings: "cv10" 1;
         | 
         | To the interactive demo on https://monaspace.githubnext.com
        
       | ben_pfaff wrote:
       | 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.
        
         | CharlesW wrote:
         | 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.
        
         | asibahi wrote:
         | I am curious, which editors allow different typefaces for
         | different code elements? (XCode, I think, but what else?)
        
           | alwillis wrote:
           | I've been using Monaspace with Neovim for at least a year.
        
             | alwillis wrote:
             | Also terminal apps like Ghostty, Wezterm.
        
           | ben_pfaff wrote:
           | I use Emacs.
        
         | bgrainger wrote:
         | I first encountered this in Bjarne Stroustrup's 2000 book, _The
         | C++ Programming Language_. As he notes in the introductory
         | material:
         | 
         | > In code examples, a proportional-width font is used for
         | identifiers. ... At first glance, this presentation style will
         | seem "unnatural" to programmers accustomed to seeing code in
         | constant-width fonts. However, proportional-width fonts are
         | generally regarded as better than constant-width fonts for
         | presentation of text. Using a proportional-width font also
         | allows me to present code with fewer illogical line breaks.
         | 
         | I switched years ago and would never go back to monospace.
        
         | efortis wrote:
         | I edited a proportional for coding, I've been using it for 10
         | years and it's great except for tabular alignment.
         | 
         | So it would be nice if IDEs rich-rendered regions column
         | aligned.
         | 
         | eg, object literals in JS, in which space separator are as a
         | wide as needed to align the values.
         | 
         | JetBrains MPS has a decision table rendering for DSLs, which is
         | similar to what I described.
        
       | sombragris wrote:
       | 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.
        
       | ferd wrote:
       | I really like Monaspace Argon, but even the narrower option looks
       | too wide on my terminal (kitty on macos)
        
         | ZeroGravitas wrote:
         | Kitty has options to shrink the fonts:
         | modify_font cell_width 95%
         | 
         | But yes it seems weird that their variable font doesn't go
         | narrower.
        
       ___________________________________________________________________
       (page generated 2026-03-31 23:00 UTC)