What is your favourite font for code ?

meter_kilo@lemm.ee to Programming@programming.dev – 191 points –
lemm.ee

Mine is mononoki

https://madmalik.github.io/mononoki/

It is a very minimal clean looking monospace font with support for ligatures. What is yours ?

106

JetBrains Mono all the way.

There's also a new kid in town - Monaspace, its texture healing feature is pretty interesting. I might give it a try later.

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.

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

Edit: bumped send before finishing thought…

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.

I always just use my ide default. Never really had an issue to change it in any ide that I've used.

Intellij's is very pleasing to the eye

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.

Thank you for sharing link to the site! I have found 4 new terminal fonts to try.

Can't beat Iosevka in my opinion. I use the Term variant for my shell as well.

I like hack. I use it for everything.

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.

differentiation between the characters I, l, and 1. differentiation between the characters I, l, and 1.

... and betweem "rn" and "m" ... and betweem "rn" and "m"

I also try o, O, 0, *, {

t, f, g, a, y, k, w, W to quickly check the styles

I think my love of the font comes from how comfy everything feels. A lot of nice curves 😉.

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.

Yeah, that’s a literature with 3 lines so it’s easy to distinguish. The cost is obviously a huge downside compared to other fonts here though

I love ligatures and Fira Code (retina) is the best and absolutely comfortable for me.

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'm too old to die on any hills these days but mainly if it:

  • is mono spaced
  • doesn't change characters to something other than what they literally are

Then I'm happy

DejaVu Sans Mono

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.

DVSM is timeless. IMO Hack makes a few subtle improvements like the zero, i/l, and some punctuation characters

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.

Fira Code was my font of choice for a while, but now I use JetBrains Mono! Cascadia Code is also acceptable.

I'm trying out the new monaspace font. The variable width of wide letters is interesting and seamless, you don't notice it happening.

Before that, I was using monolisa.

Was reading about Monaspace earlier. How would you compare it against something like Fira Code?

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.

Fantasque was my favourite before Recursive. Kinda miss it still ...

Default VS Code font, whatever that is. I prefer no ligatures; I find them distracting.

IIRC, should be Cascadia Code.

Also, I’m the opposite. I love ligatures, I feel they make my code cleaner and remove extra noise.

I've been liking Commit Mono recently. Otherwise, I usually use JetBrains Mono

Recursive Mono. It’s freaking cool. I like ligatures so it’s got them, it’s nice on the eyes, and it’s playful without being too playful.

Bonus points if you use Semicasual.

I bought Pragmata Pro about 5 years ago and still love it.

https://fsd.it/shop/fonts/pragmatapro/

For people like me, who don't feel cashing out money for a font - Iosevka is a pretty decent opensource clone of PragmataPro. But the OG still looks better to me somehow.

I look at it basically all day at work, the 200€ are are down to a very small fraction of a cent / hour of use by now.

I’ve used IBM Plex Mono for a long time. Currently giving github’s new Monaspace a try.

IBM Plex Mono is such a fancy, refined font. The line spacing is a bit too high for my liking though 😞

I use Iosevka Nerd Font. It looks nice and has various extra glyphs and ligature support.

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

That's a very nice one! I also enjoy programming ligatures.

I use Cartograph CF. I like to use the handwriting style for built-in keywords. Those are common enough that I identify them by shape. The loopy handwriting helps me to skim over the keywords to focus on the words that are specific to each piece of code.

sample Haskell code with a handwriting font variant for the words "let", "in", and "where"

I wish more monospace fonts would use the "m" style from Ubuntu Mono. The middle leg is shortened which makes the glyph look less crowded.

Cartograph looks good. Ubuntu mono is also a great font but I guess it doesn't support ligatures.

Terminus.

To be honest, I don't care. If I dislike a default font somewhere, I change it, but there's no a favorite one. The font must be readable, that's all.

I started using comic sans mono ironically, but have come to realize that it legit is easy to read.

I use comic mono for the meme, but i also like courier and old school terminal looking fonts

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.

Monospace, openDyslexic, Noto Sans Regular

Liberation Mono. It's probably not the best out there, but I like it well enough.

Whatever my distro defaults to when i put mono in suckless terminal's config.h