As a JetBrains Mono user for the past couple of years, I used Monaspace all day this past Friday to try it out, and it was not for me. The oval shape of JetBrains Mono glyphs is so aesthetically pleasing to me, and I don’t think I’d be able to switch to another font that doesn’t have similar styling.
Monaspace AUR-packaged fonts do not registered as monospace font in ArchLinux.
Though Konsole can be configured to use the font, Kitty does not recognize it. Manual install in macOS works for Kitty.
I like Neon and Argon variants of Monaspace.
My favorite was PragmataPro (not free) but it has different glyphs from Nerd Fonts. Similar ones are Iosevka, Victor, Mplus 1 code. Now new favorite is JetbrainsMono NF.
SF code, Fira Code are also in the favorite list.
Lab mono, fragment Mono are nice and planning to try them.
Generally I like condense (but not too condesed) round fonts.
I used Dejavu sans mono (but modded to have a slashed 0. It’s based on Gnome’s Vera font, but at the time it had a very large open type feature set that appealed to me.
Fira was my replacement, but I never really could get used to the operators ligatures, so left them disabled. I’m about to switch and try Neon or Argon (though I may end up mixing them a bit if it’s not too much work). Jetbrains has a neat design, but the r and f feel really out of place and I’d have to mod them to not be annoyed all the time.
Try this site and pin the ones you like to compare really easily. You can also change the code to whatever you like.
I think my main is Hack, though I really like Pragmata and Gintronic. Jetbrains and Firacode are pretty cool, though I much prefer the first three to either, and Jetbrains to firacode.
One thing I really like about Hack and Gintronic is the very laid back parentheses. They don't try to enclose the characters inside them like some fonts. They're both very readable, hack is compact, gintronic is more extended but it has this feeling of everything being a logical block. Pragmata I really like but hard to actually compare it because it's not on the site I shared above. Pragmata is I think as good as hack and gintronic, and it has the added benefit of having ligatures and nerd font glyphs built in! I'd probably prefer hack or gintronic overall if they had these features but they don't.
Hack is my go to font as well, I’m sure part of that is due to it being well supported and easy to remember. Plus the lack of spaces in the name makes for less escape characters or quotes when defining it in config files.
The small but critical feature I look for in a font is a clear differentiation between the characters I, l, and 1.
I love MonaLisa a lot. I’ve been using it for pretty much all monospace throughout my computer. It feels very fine-tuned and well thought out, and it’s very readable too.
My only complaint, based on the image you posted, is that I had to look at the len above the === to tell how many equal signs there were in that operator.
EDIT: After checking the website (and looking at the operator again), the font uses custom ligatures. However, the full version also costs $150.
Ubuntu Mono since it was in beta and I heard the designer from Dalton Maag — the typeface design studio commissioned to design it — give a talk about how excited he was to be able to create a comprehensive, carefully thought out, and truly free/libre font.
I've never seen another one that I prefer the look of, and now it's imprinted in my brain. People love to crap on Shuttleworth / Canonical / Ubuntu, but there are a lot of great things they've contributed over the years.
I don't know what's with this font, but I can't get away from it. I tried Monaspace because it looks really nice, as well as a few other programmer fonts. But DejaVu is just so sharp and readable, and it makes the code look slightly less busy.
A lot of modern fonts don't look that great when not on a HiDPI "retina" display.
I was using Inconsolata for about 5 years, then switched to Inconsolata-g when that came out, for another 5 years. But it's a pretty old font and is TrueType and it's hinting is bad, so doesn't render well on Linux and it misses out on a lot of new font features.
In 2019 I went hunting for a new favourite font, and tried out a whole bunch, giving each one a week in my IDE to really get to know it. During that time I realised I had a bunch of basic requirements for a font that some do better than others:
Similar characters should be distinct: eg, uppercase O and number 0. Uppercase I, lowercase l, and number 1. It's weird how many popular coding fonts fail to make these clear.
Not too wide, and not too narrow. You'd think monospace fonts are all around the same size horizontally, but a standard 80-column slab of code can vary greatly in screen space width depending on the font, some are much too wide. Consolas is an example that is too wide. I like to have the option to tile three code panes side-by-side on a 1080P screen.
Easy to read. For some reason a lot of coding-specific fonts affect my ability to quickly and easily read the code, and some give me a headache.
I realised that my use of Inconsolata for such a long time in the early stages of my career definitely shaped my preferences. I was looking for something similar to Inconsolata. That was when I discovered Fantasque Sans Mono. It's a kind of weird looking font, maybe a bit too playful for a serious coding font, but I found I could read and parse code much faster (maybe it helps with mild dyslexia?), each letter is very distinct from every other. It has elements of handwriting, it has elements of a dyslexic font, it has similarities to Inconsolata.
I've been using Fantasque (with Nerdfonts mixins) for 4 years now. Since then there has been a renaissance of code fonts, like Jet Brains Mono, and Fira Code. I like those, they are good fonts, but I keep going back to Fantasque, it feels so comfortable to use.
I can’t believe there isn’t more love for this here. I have used and loved many of the fonts here but Victor Mono is unparalleled in my view. Legible, open source, superb keming, cursive italics, ligatures or not, and very consistent across all faces. The champ in my book.
I use SauceCode Pro (variant of SourceCode Pro with nerdfonts stuff). I've given up on changing it because everytime I do I find stuff that's "non-standard" in the fonts I test and it bugs the hell out of me. @ signs are the absolute worst offenders, which is weird because they have a very uniform look everywhere that's not a specialized "programming" monospace font.
The standard @ symbol has four horizontal lines and worse the right side of the "a" is a vertical line contained inside a circle without touching it.
In a variable width font it's often fully twice as wide as a regular "a" character. The variable width font lemmy uses for example, at least as rendered by my computer has six pixels for a lowercase "a" and also six pixels for the small one contained inside the "@" symbol, then another six pixels of width for the circle around it.
That's an impossible task in a fixed width code font where users typically choose a size so small that the regular "a" can't be reduced any further while still being readable.
Which is why basically all code fonts (including Source Code Pro) cheat and modify the symbol so the inner circle overlaps the outer one on the right edge. Some of them do that better than others at inventing their own variant of @.
Yeah I guess you're right. Probably just seen the Source Code Pro one so many times that I stopped being annoyed with it.
Should try exposing myself to the Jetbrains Mono font until I get used to that instead, then I won't have to fiddle with that part of the IDE settings.
I have a custom TrueType font embedding the UCS bitmap fonts so I can use it with modern font renderers which dropped support for those old font formats.
I settled on Go Mono, a few years back after going through a list of commonly recommended code fonts, and picking the one that I liked best. While I usually do not program in Golang, I still find the this font to be well suited for any programming language.