Skip to content

Instantly share code, notes, and snippets.

@ctrlcctrlv
Last active March 8, 2023 14:40
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ctrlcctrlv/4ae789dabaea774548da5f00a6bf16e9 to your computer and use it in GitHub Desktop.
Save ctrlcctrlv/4ae789dabaea774548da5f00a6bf16e9 to your computer and use it in GitHub Desktop.
Down with Nerd Fonts

Nerd Fonts Considered Harmful, and What To Do Instead

For those fortunate enough to remain blissfully unaware of «nerd fonts», I define them as:

nerd font — n. A font which has spliced¹ into a release² of a free software font project a set of standardized³ glyphs which are mostly used by those seen as “nerds” and not the general population of the font's users. .

Footnotes

  1. Likely poorly.
  2. Likely an outdated release.
  3. Not really. In practice decided by Ryan McIntyre. I don't have any issue with Ryan, but I don't think his solution is very elegant at all (or elegent at all) and so this is written as technical criticism, any humor is just to make this text not boring. I believe McIntyre did the best he could with what existed presuming he was not willing to take the radical steps I will herein propose.

Nerd fonts cause all sorts of harms that I'm beyond considering and into proclaiming:

  • Nerd fonts break without warning. If you launch someone's fancy shell application, it breaks. If you don't know what they are, bless you for your ignorance, how do you know what's wrong? Only by reading it somewhere.
  • If you use a monospaced font that few use, it's likely there's no good «nerd» font for it. Or, that font is old, in both ways: the version of the font itself is old, as is the version of the semi-standardized glyph set it contains.¹ Applications break.
  • If you develop fonts, McIntyre's chosen PUA space¹ often collides with your glyphs. This can lead to fallback issues causing breakage even when you have multiple “nerd” fonts installed.
  • If you design monospace fonts, people complain about the Nerd Fonts Project's version of your font and not your actual font, yet naturally, being users, still expect you to fix it.

Down with nerd fonts.

OK, now that I've said that, here is my proposal:

Just extend the terminal emulator!

kitty, the best terminal emulator currently available, already sends images. In January of 2020, I suggested we let apps send fonts too. While at the time Kovid Goyal rejected this (see kovidgoyal/kitty№2259) I will be bringing this back up for discussion in that same issue after I post this thread. (Edited 2023-03-08 14:39:15Z: We've come to a consensus and I'm writing a full proposal for inclusion into Kitty which will be forthcoming.)

I'm happy to do some of the work on this. And we mustn't all stop using nerd fonts right away, no, rather, it will be a slow (and likely painful) process of change, but it's one that is worth it because the current situation is just ridiculous.

Footnotes

  1. McIntyre did not choose some rarely used area of the PUA, but rather is sitting in huge swaths of the PUA, there is even an icon defined at U+E000, this thing:

    image

    Which despite its place of presumed importance, is just an uglier ⛩️ (U+26E9 U+FE0F).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment