HN Hall of Fame Weekly email

Ligatures in programming fonts: hell no

practicaltypography.com Essays & writing Essays & articles Design & creativity Class of 2026-02 Hall of Fame
Screenshot of practicaltypography.com captured 2026-07-20
Page preview · captured 2026-07-20

Resurfaced independently across 5 calendar years, with breakout response in 3 of them.

submissions
5
submitters
4
observed span
2019–2026
peak thread · 195 comments
251 pts
latest 20+ return · 2023-05-13
251 pts

Submission timeline

2007–2026

One slot for every year since HN launched. Height is that year's peak points; orange marks a 100+ point or 50+ comment breakout. Select a bar to open its strongest thread.

First comments on top threads

HN comment order

> if you’re preparing your code for others to read—whether on screen or on paper—skip the ligatures. The article should have led with this. Instead this main caveat is buried in a paragraph, where it is preceded by, what boils down to, "do what you want, but you will recognize its wrong someday." Of course people will focus on that part and on the most prevalent use of ligatures in programming: In their own local editor. (Where people usually have…

ketzu·251-point thread·

Ligatures in programming look cute, and maybe if you want to showcase a snippet of some particularly clever and elegant code, print it on some expensive paper with tasteful palette (and none of your CMYK nonsense! Only pure pigments!), frame it, and hang it on the wall, I can see its appeal. At work, I've tried it. I've tried hard to like it. I had to stop because Fira Code (and ligatured Iosevka) took the principle of the least astonishment…

Used judiciously, ligatures can help make code more readable, not less. Consider JavaScript's == and ===, and their inverses != and !==. I personally find them difficult to visually distinguish on occasion (especially the negative forms). Fira Code [0] replaces them with two-bar and three-bar equals signs (something like =, ≠, ≡, and ≢, only wider; see the link for a screenshot). I personally find these easier to distinguish from one another at a glance. I'm sure it's not for…

Big long rant trying to very weakly justify a personal preference that you can easily enable/disable if you want, and which is strictly visual anyway. They do almost never go wrong, meaning if you find it makes your code easier to read and more pleasant to look at, this is well worth the essentially negligible number of times they cause an issue. And you can just disable / not use the ligatures in those cases!

The first top-level comment from each of the four biggest threads, in HN’s own order. Excerpts are shortened; open a comment for full context.

Breakout years
3

100+ points or 50+ comments

Total points
549

reference only — not used in Hall rules or ranking

Total comments
475

reference only — not used in Hall rules or ranking

Every submission

DateTitle as submittedByPointsComments
2019-05-02Ligatures in Programming Fonts: Hell NoFirst breakouttosh12486
2020-11-20Ligatures in Programming Fonts: Hell No (2019)susam30
2021-12-21Ligatures in programming fonts: hell no (2019)susam157195
2023-05-13Ligatures in programming fonts: hell noBest thread · Latest 20+ point returnjohnchristopher251191
2026-02-09Against fancy ligatures in programming fontsHall inductionfanf2143