Readit News logoReadit News
freetonik · 10 months ago
Tangental, but I'm wondering if I'm the only one who really dislikes ligatures? I mean, some people say they simply don't prefer them, but I actually struggle to read and edit code with ligatures. Looking at a single character, pressing Backspace, and seeing it cut in half and transform is very disorienting, it breaks all my intuitions about text editing.
eqvinox · 10 months ago
+∞

I ended up googling how to disable ligatures in CSS, went to the developer tools and hunted down where they're being enabled so I could use the website. It's on the

  .CodeMirror pre.CodeMirror-line, .CodeMirror pre.CodeMirror-line-like
rule (codemirror.css:240), you can edit it to:

  font-variant-ligatures: none;

ur-whale · 10 months ago
I never really understood what value ligatures even bring to normal text.

But for code, they're just an abomination.

ninepoints · 10 months ago
You're in good company. Ligatures were really not meant to be used this way, and materially harm the editing experience IMO.
hsfzxjy · 10 months ago
I'm with you. Sometimes the symbols are ambiguous and totally unreadable.

An example is >>=, which is "inplace shr" in some languages, but "monad bind" in others. A unified ligature for >>= really confuses me.

keb_ · 10 months ago
Fellow ligature-disliker reporting in! It messes with my typing intuition that when I hit a key, a new character is not printed on the screen (instead, the last character is altered).
frizlab · 10 months ago
I hate ligatures.
lylejantzi3rd · 10 months ago
Same here. I always turn ligatures off.
hakunin · 10 months ago
Weirdly, I like ligatures only in Elixir, and no other language (Ruby, Go, Javascript, etc).
j_crick · 10 months ago
My gripe with ligatures is this: when they are rendered as a single character, I get weirded out by editing them because they change in the editor on the fly. I prefer to have code "as is" without having to think about the context within which this or that character or ligature is rendered, because it's very distracting, disruptive even.

(Sorry for offtopic, but does anyone else have upvote/downvote buttons not visible for freetonik's comment?)

karmakaze · 10 months ago
Same. Came here to say there's no option to only show me fonts that don't use ligatures (and some come in both/multiple flavours). That checkbox needs to be tri-state.
TheUnhinged · 10 months ago
Same here, I hate ligatures.
donaldihunter · 10 months ago
Yeah, I am absolutely not a fan of ligatures. I also find it disorienting and I prefer to see what the compiler is going to see.
freetonik · 10 months ago
Related: https://www.codingfont.com/ - a tool that helps pick a programming font.
california-og · 10 months ago
rob74 · 10 months ago
Thanks for this link, this site is much more complete than the submitted one, and also has more filtering options. The only strange thing is that selecting a language changes the syntax highlighting, but the code stays in JavaScript.

My current favorite is https://www.programmingfonts.org/#go-mono (and not just for Go!). Yeah, I prefer serif fonts, apparently I'm in a minority (16 serif fonts vs. 136 sans serif on this site).

msephton · 10 months ago
This is a much better idea, but still missing so many popular coding fonts (Monaco, SF Mono, etc)
TheUnhinged · 10 months ago
I love SF Mono and use it everywhere.

The reason SF Mono and Monaco are not on the list is probably because they are proprietary.

Eikon · 10 months ago
I got very happy when the final font was the one I use every day, lol.
j_crick · 10 months ago
Something I wish I saw more often are monospace fonts designed for readability (codingability?) that have narrower character width.

Iosevka is one of them, but to me the negative spaces between characters in it are too little for good readability, in other words it feels too "square"-ish. Other fonts close to it in style have other issues. I've been using M+ fonts for coding for more than a decade I think, and tried to switch but always returned to them. If you're somebody like me, check them out: https://mplusfonts.github.io

In terminals I'm using Source Code Pro or IBM Plex Pro and they work really well for me.

Also turns out IBM Plex Sans can be a solid font for designing dashboards, tables and generally more "technical" UIs, so whoever worked on that font familiy did a really good job imo.

And if you like iA Writer, they based their fonts off IBM Plex and you can get them for yourself too: https://github.com/iaolo/iA-Fonts

KingOfCoders · 10 months ago
Still my favorite, Berkeley Mono. Up until that font I thought they were just different looking, but that font to me made a difference in readability.
freetonik · 10 months ago
I found IBM Plex Mono very similar to Berkeley Mono in terms of readability and aesthetics.
block_dagger · 10 months ago
I went JetBrains -> Fira -> Berkeley, and there I stay.
lylejantzi3rd · 10 months ago
What convinced you to switch from Fira to Berkeley? I recently switched from SF to Fira because there wasn't enough visual difference between certain characters (1 and l, for example). I've been pretty happy with Fira so far.
criddell · 10 months ago
I’ve been stuck on Adobe’s Source Code Pro. I still occasionally use Consolas on low res displays.
gaws · 10 months ago
Berkeley Mono is great, and one of the best programming fonts out there. Still waiting for the Houston Mono release.
trabant00 · 10 months ago
I personally tried a lot of dev fonts several times over the years but keep coming back to dejavu sans mono, which is always missing for some reason from showcases like this. I find all the others to be imbalanced. Too wide, to skinny, too short, etc.
kcartlidge · 10 months ago
Dev fonts is usually synonymous with fixed width (mono) fonts, and for good reasons. Those reasons are discussed by iA Writer in interesting detail [1]. However they do so as a precursor to their own duospace font, "iA Writer Duo" [2].

It's a compromise, but one that works well (for me). Basically IBM Plex but with m, M, w, and W being 50% wider than all the other characters.

Sounds odd, but is very legible and usually fine depending upon the context of its use.

[1] https://ia.net/topics/in-search-of-the-perfect-writing-font

[2] https://github.com/iaolo/iA-Fonts

yencabulator · 10 months ago
All of those "good" reasons seem to boil down to nostalgia. Monospace is a historical technical limitation, nothing else.

Proportional fonts are simply more legible, and programming with them is great.

NikkiA · 10 months ago
Every time I try a new one, I always end up going back to the font I've been using for something like 10+ years, which isn't on that list, Meslo LGM - although these days I use the NerdFont variation.
joeyagreco · 10 months ago
I currently use [JetBrainsMono](https://www.jetbrains.com/lp/mono/)