freetonik 2 days 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 2 days 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 a day ago

      I never really understood what value ligatures even bring to normal text.

      But for code, they're just an abomination.

  • ninepoints 2 days ago

    You're in good company. Ligatures were really not meant to be used this way, and materially harm the editing experience IMO.

  • hsfzxjy 2 days 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_ a day 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 2 days ago

    I hate ligatures.

  • j_crick a day 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?)

  • lylejantzi3rd 2 days ago

    Same here. I always turn ligatures off.

  • hakunin 2 days ago

    Weirdly, I like ligatures only in Elixir, and no other language (Ruby, Go, Javascript, etc).

  • karmakaze a day 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.

  • donaldihunter 2 days 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 2 days ago

Related: https://www.codingfont.com/ - a tool that helps pick a programming font.

  • california-og 2 days ago
    • rob74 2 days 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 2 days ago

    This is a much better idea, but still missing so many popular coding fonts (Monaco, SF Mono, etc)

    • TheUnhinged 2 days 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 2 days ago

    I got very happy when the final font was the one I use every day, lol.

j_crick a day 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 2 days 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 2 days ago

    I found IBM Plex Mono very similar to Berkeley Mono in terms of readability and aesthetics.

  • block_dagger 2 days ago

    I went JetBrains -> Fira -> Berkeley, and there I stay.

    • lylejantzi3rd 2 days 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 2 days ago

      I’ve been stuck on Adobe’s Source Code Pro. I still occasionally use Consolas on low res displays.

  • gaws a day ago

    Berkeley Mono is great, and one of the best programming fonts out there. Still waiting for the Houston Mono release.

kcartlidge a day 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 11 hours 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 2 days 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.

cue_the_strings 2 days ago

I have yet to find a font that works better than Bloomberg Fixed Unicode N. It's simply perfect: easy on the eyes, unassuming, discernable characters.

trabant00 2 days 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.

zoezoezoezoe 2 days ago

As someone who has gone over a ton of different fonts, finding the right font is very difficult. I think a bad font can be distracting, and worsens my ability to code. When you have just the right font, no extra distractions, just code and music, I find myself writing code way better. I dont want ligatures or fancy 'next generation' font features that makes the letters line up oh so perfectly or whatever bullshit, I just need a font that looks good, is ligature-less and stays out of my way, when you're redrawing every single character on a single modification and causing my code to look like its doing the fucking cha cha slide I find it very difficult to do anything.