Hacker News new | past | comments | ask | show | jobs | submit login
Dev Fonts (gafi.dev)
81 points by Liriel 25 days ago | hide | past | favorite | 40 comments



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.


+∞

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;


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

But for code, they're just an abomination.


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


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.


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).


I hate ligatures.


Same here. I always turn ligatures off.


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


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?)


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.


Same here, I hate ligatures.


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.


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



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).


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


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.


If you like SF Mono but don't have a Mac, check out Deja Vu Mono. To my eye, they are very similar.

https://dejavu-fonts.github.io/


If you like SF Mono and don't have a Mac, you could just download it from them and break Apple's licensing agreement.

https://developer.apple.com/fonts/


For me this is no different than listing paid fonts like Berkeley Mono.


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


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


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.


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


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


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.


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


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


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.


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


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.


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.


I currently use [JetBrainsMono](https://www.jetbrains.com/lp/mono/)


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.


More obligatory posts about people's preferred fonts in a previous discussion:

https://news.ycombinator.com/item?id=25159038


I really like Monaspace: https://monaspace.githubnext.com


My choice (Aurulent Sans Mono) is missing as well…


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.


Where's monofur ?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: