Hacker News new | past | comments | ask | show | jobs | submit login
Programming Fonts (programmingfonts.org)
283 points by olalonde on July 9, 2022 | hide | past | favorite | 159 comments



There are a couple of things missing from this tool to be useful to me.

* Filter only fonts that have bold/italic styles. Faux bold/italic looks awful.

* Filter by language support. If fonts don't support the Latin Extended range, then words in other languages switch to the fallback font in the middle of the word.

* Show fonts side by side

For filtering, Font Squirrel [1] can be used. This example filters fonts with bold/italic, open source license and latin extended language support.

For comparing side by side, Coding Font [2] can be used.

Cousine is my font of choice - it has very extensive language support (~2400 glyphs including Hebrew, Greek, Cyrillic [3]), it supports bold/italic styles and it looks great.

1. https://www.fontsquirrel.com/fonts/list/find_fonts?filter%5B...

2. https://www.codingfont.com/

3. https://www.fontsquirrel.com/fonts/cousine?q%5Bterm%5D=Cousi... (Glyphs tab)


I’d also like to be able to mark some as favorites and the filter by that. As I scroll through trying different options I want to remember the ones I liked best as I narrow it down from 111 candidates to something more manageable.


Why do you want italics in a monospace font? I can't imagine ever wanting that.


> Why do you want italics in a monospace font? I can't imagine ever wanting that.

For the same reasons you'd want to use italics in a proportional font - for emphasis or contrast.

1. Syntax highlighting which uses both color and font style, e.g. class name are italicised by default in my editor (Sublime Text).

2. Editing markdown/HTML files with italics tags/markup.

3. Also, italics also work on the console, and some console/TUI apps may use it.


Use italics to make comments obvious instead of making them some colour that doesn’t contrast with the background much. Comments are pretty important so I don’t know why typical syntax highlighting obscures them. I think italics make them conspicuous and conspicuously not code.


I also don't understand the default muted grey comments. I usually configure comments to be a bright red color.


I can just highlight the region if I really want to read it, but mostly, I don't want comments competing for attention in my code and I write a _lot_ of comments in there. It's generally a 1:1 ratio in what I write, so if my comments were bright red my eyes would be burning at the end of the day.


Not OP but I don't use syntax highlighting, so italics makes the comments stand out a little for when I'm quickly scanning code.


i would also consider the use of font styles syntax highlighting... I saw such a thing in Turbo Pascal 5.5 for the first time and the only thing they did was the use of bolding for language keywords, like in this book: http://bitsavers.informatik.uni-stuttgart.de/pdf/borland/tur... then in Delphi 1.0: https://winworldpc.com/screenshot/c38bc3b1-c3a1-2a2d-6211-c3... and in upcoming versions, it started to use italic for comments, but still no colors, yet we called it syntax highlighting. but my memories might be inaccurate :)


No, I think that's definitely fair and I absolutely agree. I just used syntax highlighting in place of colour schemes as I feel that's how most people would interpret it these days.


Why do you not use syntax highlighting?


I find it too busy, truth be told. Colours pull my eyes in too many directions when I'm trying to read code.

It started because I'm picky when it comes to colour schemes. I'd find one or two things that annoy me and I don't personally have the imagination to fix it, so I'll try to find something else. Or I would get bored of a particular colour scheme and go hunting for something new and fresh.

Removing it took a bit to get used to but now I can't stand going back.

I don't personally subscribe to the Rob Pike idea that syntax highlighting is for babies or whatever, to each their own.


I’ve always thought of any automatic stylistic change as “stylistic highlighting”, so now I’m curious if that’s a rare opinion.

I’m with you that colors can easily start to impede readability. I’m a fan of subtle, judicious color use, so I’ll often start with a palette but knock back the colors from there.

What typeface(s) do you like for its italics?


Right now I'm trying out JetBrains mono. I don't really require much from italics but at least some visual distinction. So far I'm enjoying it.

I used Victor Mono for a bit there and I'm still unsure if I like cursive italics or not. They're interesting and fun, but sometimes I think they're a bit too out there, if that makes sense?

My go-to is usually Ubuntu Mono. That might be my favourite font.


Depending upon your motivation for monospace, the iA Writer site offers my current favourite: IA Writer Duospace.

If you want monospace for the crisp, clear, draft-style, clutter-free look when writing code (or similar) then it's excellent. If you absolutely must have every character being exactly the same width then less so as the main difference is that it is monospace for everything except 'm', 'M', 'w', and 'W' which are each 1.5 wide (so it takes two to bring things back in alignment). In practice that is often less of an issue than it seems, and the benefit in readability/clarity/looks (literal mono for those characters makes them compressed) makes it worth giving it a try, even if you only end up using it for Markdown files etc.

They have a web page explaining it (alongside a download): https://ia.net/topics/in-search-of-the-perfect-writing-font


Hey, just wanted to come back and say thank you! Really loving this font!


No worries; appreciate the update.


Thanks for the recommendation, I'll check it out!


I use a near-monotone, dark and monospaced font and coloring; italics and bold replace color differentiation.

I find color themes with more than one or two front face hues to be tiring to look at.


I strongly dislike the trend towards ligatures by default in newer fonts. Maybe it’s because I learned without them, but I find that the readability of code is far worse with ligatures.

My personal favorite fonts at the moment are Jetbrains Mono & MonoLisa (both with ligatures disabled of course)


I don't use ligatures only because the font is the wrong level of the stack for doing cute things like this. I could totally get behind e.g. combining `->` into a Unicode arrow, but if I'm writing the string `"->"` then I want that to be displayed verbatim. That requires parsing (or at least lexing) the code, which fonts can't do (and if they could, I'd be horrified). IMO, it should be the responsibility of editors and IDEs to do this sort of visual substitution.


Unicode operators can make it difficult if you can't (or don't know how) to type certain characters.

https://docs.raku.org/language/unicode_ascii just kind of rubs me as the wrong way to go.

While I realize '…' and '...' are syntactically equivalent, it means that if someone is writing $foo³ and I need to change that to $foo² - I can't do that without changing it to $foo**2 ... and that results in two different styles of code (unicode and ascii) in the same file which means that future maintainer me has more difficulty.

(note: I still don't know how to type ³ - that's me copying out of another file)


That feels to me that you're blaming a poorly implemented editor / IDE for a language feature.

If you use ² and ³ a lot in your work, I'm sure you can install a macro / keybinding / whatever to access them quickly.

And in any other case, https://docs.raku.org/language/unicode_ascii is a bit of a Rosetta stone in the cases you don't know how to type them, because you can copy / paste them from there.

Finally, the Raku documentation also contains information on how to type these unicode characters on your OS: https://docs.raku.org/language/unicode_entry .


I believe that the language feature is cute.

I'm ok with APL doing all its special characters, but if you can write the same syntax in two ways, one of which is much more accessible than the other, then the less accessible way was a poor design choice.

Allowing for two styles for the same syntax can (and will) lead to multiple styles depending on who wrote that line. Conflicting styles (mixing tabs and spaces anyone?) in turn makes the maintenance of the code more difficult and time consuming which is something that is often forgotten in the rush to write code.


Agda users rely heavily on unicode. It looks like they have editor support for it in the form of backslash sequences that turn into unicode.

They write stuff like:

    Tyᴹ : (A : Ty) → {X₀ X₁ : Set} → (X₀ → X₁) → Tyᴬ A X₀ → Tyᴬ A X₁ → Set
    Tyᴹ ι      Xᴹ α₀ α₁ = Xᴹ α₀ ≡ α₁
    Tyᴹ (ι⇒ A) Xᴹ α₀ α₁ = ∀ x → Tyᴹ A Xᴹ (α₀ x ) (α₁ (Xᴹ x))
I kind of get the "looks like math" thing, but I find the poor typography distracting.

(Sample taken from https://github.com/AndrasKovacs/thesis/blob/main/agda/Simple... - learning the language is still on my todo list.)


I like using more than ASCII. But those superscript numerals are just legacy junk. Superscripts are only in Unicode for the sake of compatibility.


How would you express superscripts in text, then?


You don’t express it in plain text. They claim that it’s the domain of markup.


sup


Not much, ʷᶦᵗʰ ʸᵒᵘ?


Combining `->` into unicode arrow still would require parsing the code to do properly. For example, in firacode this C code:

      int x = 3;
      if (x<-5) {
        return 1;
      }
Renders as:

      int x = 3;
      if (x⬅5) {
        return 1;
      }
which makes no sense.


Totally agree. The worse is those long equal signs, with my eyesight going as I age I have to take close to a second to decipher if it's =, ==, or ===.


You're not alone. Some typographers agree: https://practicaltypography.com/ligatures-in-programming-fon...

With a userstyle you can turn off ligatures in your browser for code blocks. The trend isn't just editors, but some developers want to push it on their audience in their blog too. https://developer.mozilla.org/en-US/docs/Web/CSS/font-varian...


The first link doesn't work, looks like you need to replace '.HTML' with '.html' to get the right thing.


Fixed


I'm the opposite - I love the ligatures precisely because of their readability.

For context, I'm 40, and spent decades programming without them.


I'm 45 and I was excited to use them at first, but then as I was changing editors/terminal emulators, coding fonts, I couldn't always had them anyway, so I'm not attached to the idea.

I also prefer the lack of them, exactly because they apply to strings and comments too, where they are often undesired.

I write Clojure code most of the time, so maybe that's a deciding factor too...


Same. 47, only started using ligatures this year (in MonoLisa) and love em.


Approaching mid 30s here, been writing code in some form or another for a couple decades and I enjoy ligatures too.


IMO ligatures makes it easier to recognize common symbols used in programming languages and also doesn't affect readability much. Maybe I am younger, but I don't see the problem here.


I don't like it because it tends to combine two distinct characters into one (visually). A great example is '<=' being transformed into '≤' (Pragmata Pro[1] does this) I expect to see two characters, but instead I see one and expect to see a syntax error.

[1] https://fsd.it/shop/fonts/pragmatapro/


Also it's incredibly annoying when a language uses `<=` for something that's not a comparison.

Julia was right in allowing developers use unicode for variables and operators, so if you want ≤ you simply use that directly (or type \leq in your editor).


Note that PragmataPro offers both ligature and non-ligature styles.


You expect that exactly because (like me) you've been seeing it for a long time. I suspect the age correlation parent suggested is a big factor


I don't know about this claimed correlation- I'm 50 and love ligatures


It's almost like there are different people who like different things and it's impossible to turn a subjective thing into an objective thing.


Nah, I heard someone on the internet saying it was an age thing.


It's not about age. I'm rather oldschool, and I like programming ligatures very much. When => intended to imitate thick arrow, seeing thick arrow instead is reasonable, I think


True, but <> in Perl is called the diamond while, in other languages it means “not equal”. If we take ligatures seriously, we’d need them to be language-aware to select the appropriate concept. And for a font to have to be aware of all languages that can express ideas with it is a violent violation of the separation of concerns principle.

If languages opt to make “≠” equivalent to “!=“, match all styles of open/close quotes, and enable me to attribute a value to a variable using an arrow, that’s great.

In the meantime, I’m not sure they are a net positive in all cases and fear they may drive unfortunate syntax choices for people who design languages.


PureScript and Haskell <> is concat in most Preludes. However, both languages allow you create your own infix operators and you can use Unicode.


>If we take ligatures seriously, we’d need them to be language-aware to select the appropriate concept.

It's possible in Emacs: to enable relevant ligatures for an active mode.


Especially egregious in technical blog posts when the author uses them because they think it looks nice but then forgets that not everyone knows what those symbols mean. Leave ligatures out of code blocks.


Same here. I was raised on Apple screens, 80x25 EGA and VT100 terminals in the 70's & 80's, so I find ligatures to be wildly annoying and error prone, as well as nonportable: having to mentally switch back and forth on different terminals or code UIs is jarring.


My terminal emulator of choice (kitty) lets you configure it to render ligatures only when the text is not under the cursor.

I’ve found this to be the best of both worlds. I like reading code with ligatures but would always get tripped up when editing.


These types of sites seems to always be missing my favorite programming font. Pragmata Pro.

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


Pragmata Pro is not a publicly-licensed font and can't be embbeded in such a site. Are you aware of Iosevka however?

It is a similarily ambitious project. The glyphs have several variants and you can get some variant sharing many features with Pragmata Pro.

I asked once for a very specific Unicode character, which was added in the following weeks.


I bought the full set of Pragmata Pro on sale, but I also really like Iosevka. If you like the style (slender/condensed), both are very appealing.

Pragmata Pro is several notches above in overall quality IMHO. Hand-hinting at smaller sizes makes a world of difference if this is important to you. This means you can use the same font from low-res console to a 4k monitor and will consistently look wonderful.

At higher DPI settings, Pragmata has a more cohesive sense of style. This is hard to quantify as it's quite subjective, but as pixel-perfect issues go away, the overall artistic direction start to become very important IMHO. The fact that this is done by a single individual shows in both little details and overall direction.

I'm not trying to push Pragmata, I just want to say that I think the price is fully justified and absolutely worth it. The work that went into the fontset is absolutely huge.

And as I said before, I also like Iosevka. Wonderful effort as well. It's slightly less packed, which I'm not super-fond of, and I find it only really shines if you have a high-DPI monitor. I use the different stylistic sets in my editor to subtly highlight different keywords.


The downside of Isaevka is that next time you know it, it's already version 553.12.3 or something.


And your computer suddently burst into flame if you aren't using the latest version?


If you use a package manager to install them it's inconvenient with upgrades all the time.


how is that a downside?


I bought this on sale years ago, and I really do adore it. The narrow-but-tall design means it optimizes for number of characters per line at the expense of fewer lines displayed at once, which IMO is a fine tradeoff since our tools tend to handle vertical overflow (via scrolling) better than horizontal overflow (via wrapping). That said, I'm sure you can find a free font with similar metrics.

I will also say that I've had a great experience with the developer of the font. I once noticed a bug in one of the glyphs, and within a week of reporting it he had acknowledged it, fixed it, and pushed a new release.


It's been in my wishlist for years. I still find it hard to pull the plug (and then get bored of it), but PragmataPro is truly a work of art.


I love this because my favorite font is there. And it’s very liberally licensed.


I'm coding on a 1080p screen and I still very much prefer pixel-perfect fonts - Terminus (https://files.ax86.net/terminus-ttf/) has been my font of choice, with proggy clean being a close second (use it for terminal panels and such). I see the site has a filter toggle to show those but with modern browser forcing anti-aliasing on all text, that's pretty uselesas.

On a related note, I noticed that there are a few fonts which seems to ignore system-wide or browser-wide antialiasing settings - one example would be the "MS Gothic" font, visible on this site: https://fountainofdreams.net/ where all text is crisp as hell. Why is this?


There are TrueType fonts like MS Gothic that have embedded bitmap glyphs at small sizes.


Similarly for me, I find fonts without hinting to be useless at small sizes. Still haven’t found a better font than Lucida Console for coding.


Envy Code R is pretty will hinted between the 10-16px range. i used it without antialiasing any it's great on lower resolutions. u can still pack a lot of code onto a (sub)FullHD screen readably.


Thanks, I’ll have to give it a try, although one thing I don’t like is the concave-towards-the-tip style of curly braces that it uses. By that, I mean that I prefer each half (upper and lower) of the brace to only go in one direction horizontally, and not go back in the other horizontal direction before it reaches the tip where both halves meet. Are there good names for these two different styles?


That website appears to specifically try to disable antialiasing with CSS properties (though for some reason both Chrome and Firefox still antialias the font text anyways).

Also, bitmap fonts won't be antialiased anyways, and it's possible to make vector fonts that define their shapes in 'pixelated' shapes as well, though that's not something you commonly see.


I find jetbrains mono the most pleasant to use of the ones I've tried: https://www.jetbrains.com/lp/mono/

Though admittedly I haven't tried any of the expensive paid fonts.


I really like their font on my MacBook.

The other one I use on my desktop is the Dejavu sans mono nerdfont or whatever it is called, it's the nicest looking "normal" font I've found that I like on 1440p on Linux.


I find Jetbrains Mono to be a pleasant font, but I like Iosevka more. Just an opinion.


Condensed fonts masterrace. Most programming fonts are just too wide, but Iosevka is just perfect.

I've been loving Noto Sans Mono Condensed these days as well.


That along with Hack and Fantasque Sans have been very nice to use for me.


Adding a plug for Nerd Fonts: https://www.nerdfonts.com/

Unaffiliated with the project, but it’s completely changed the font game for me on Unix. Haven’t seen a missing Unicode character since switching. I’m also using the glyphs with i3bar to show battery and Wi-Fi status.


I've been using Berkeley Mono [0] since it got released, it's a paid font which would normally be a no go for me, however the author is super responsive, and the font looks wonderful on my devices, so happy to support it.

Ligature support is coming soon also))

[0] https://berkeleygraphics.com/typefaces/berkeley-mono

(in hindsight it may look weird that I'm endorsing this from a throwaway - old habits die hard I guess...)


Thanks. We'll do ligatures, but it won't be like anything else out there.

> There is an unspoken expectation that 1 key press = 1 symbol printed on the screen. That shouldn't be violated in our view. A lot of our customers have requested ligatures, so we're working on them. But it will be anything but typical in Berkeley Mono.

https://twitter.com/berkeleygfx/status/1515047847506325508


Why does this font have at least 3 different zeroes? It doesn't seem consistent and creates additional confusion between alpha O and number 0.


You can choose which zero you want when you download the font package. What's inconsistent about this?


I didn’t realize you could choose a particular consistent zero. I just kept seeing arbitrary zeroes on subsequent lines of one single example text block without that context.


Ah I see.

If you scroll further down the page, you'll see there are actually 4 zeroes you can choose from and 2 sevens.


My eyes have been enjoying these for the past couple months: comic sans but for code! https://tosche.net/fonts/comic-code I don't know if it's sunk cost fallacy cause I paid $30 or it's actually really damn good !


I also bought Comic Code just ~2 months ago.

Used Fantasque Mono before it. I was quite happy with that, but compared to Comic Code, it just feels soul-less... If you don't have the money though, it's a great alternative.

Otherwise I would highly recommend the Ubuntu fonts, because they are very well hinted at smaller sizes and look great without antialiasing too, just like Envy Code R!


I have been using it for a bit more than a year, very much worth its price. I like it, it’s very readable for me, and I don’t spend time looking at other fonts anymore because I paid for one so I must use it.


This is my go to font - its so easy to look at, and enjoyable to work with!



I love this one! It freaks out my coworkers when they see it, but it's very readable and aesthetically pleasing.


I bought it a couple years ago too and use it in most of my editors and consoles. It's very comforting!


I don't understand why, but it looks really cool! I might want to try it for a few days.


I really like Microsofts new standard font Cascadia Code. It comes with PowerLines, bold/cursive and ligatures.


I also use this one. Very pleasing.



I just use whatever is the default in the terminal or IDE. I used to care (it was either Consolas or Source Code Pro for me) but now I find it easier to just not care about it.


I'm kind of torn about this, personally.

For the most part, the defaults are fine, however in an enterprise setting I also find myself benefitting from fonts that are readable at smaller sizes.

Some fonts out there are just more compact vertically and more readable at smaller sizes, like Cousine/Liberation Mono.


I do the same. Reasonable deattachment from a form brings freedom to focus on a meaning.


O0 and 1Il clarity is a big issue for me. Apart from that, yes.


This is nice. With variable fonts, some of these fonts now are slightly under-represented - for example "Recursive" is really a large family, the website shows just one extreme point of a large multi-dimensional space.

I'm currently enjoying using the "Recursive Mono Semicasual" variant of Recursive - https://www.recursive.design/ . It adds just a little bit more fun that a typical mono font, especially at higher font sizes (e.g. for headings in Markdown in an editor).


For me, this is the only new piece of information in this thread! Thanks!


I recently updated my 3270 font to the newest version, with much better hinting than the previous ones. It’s a font based on the 3278-2 IBM terminal from the 1970’s. I like the straight lines and slightly taller numbers, as well as the characteristic S, 6, 9, and the dotted 0.

I’d appreciate feedback and more testing.


It’s this project I presume: https://github.com/rbanffy/3270font


Yes :-)


Is the example on the programming fonts site correct? It looks like there are spacing issues to me. Look at "removeChildren". The "remove" part the letters are pretty much evenly spaced. The "Children" part looks like there is more of a gap between letters.


I’ll take a look. Rendering varies from platform to platform. It’d be helpful if you could screenshot it and report the issue on GitHub.


The last time I spent time looking into a font I ended up going with MesloLGS + NerdFont. I never see people recommend it or talk about it but its been perfect for me. I wonder if theres been new developments that make other fonts better, or if its just a little old and not promoted anymore. I use it for programming and all my terminals and haven't found a reason to bother with anything else

https://github.com/romkatv/powerlevel10k#meslo-nerd-font-pat...

https://github.com/romkatv/dotfiles-public/blob/master/.loca...


Meslo LGS was my go-to for years! At some point I've lost my heart to Iosevka Mono for terminal work and both Ligalex Mono (ligatures-enabled IBM Plex Mono fork) and JetBrains Mono, though.


Here's a side-by-side, mono and a proportional typeface I edited for camelCase readability. It has a 1/3 space to the left of the caps. I call it VerdanaCamel:

https://twitter.com/efortis/status/1501988964198191113?s=20&...

The only cons I see is that it doesn't align to columns, but that should be a rendering feature on modern IDEs.


What an unusual font. I love the idea and originality but I can't say that I would use it. My fonts must be monospaced


Great site!

The zero glyph needs the dot/slash inside imo. I'm surprised there are fonts without it

Edit: Oh, I just discovered the filter buttons on top. Wonderful!


We must be odd folks. Everyone I work with uses Courier New in their editor and in Putty. Thankfully VS Code uses a same default.


And it's everywhere. I tend to drop in "Courier Prime Code" as it is a little sharper and easier to read.


I do not need a programming font, I need a nice serif font for when I take notes in `.md` files.

Georgia looks ugly in the editor.


Serif for .md is great until the markdown rendering engine requires spaces indenting for nested lists.


I don't mind a nice serif in my editor. I often switch to Besley*[0] for my markdown or latex docs.

[0] https://indestructibletype.com/Besley.html


A slab serif monospaced font or a typewriter one might be good alternatives.


About once a year I see a cool new programming font and decide to try it out. Then, shortly after, I invariably switch back to DejaVu Sans Mono.

I suspect that if I gave myself more time to acclimatize to the new font, I might even grow to prefer it. That, or perhaps DVSM is simply the perfect font for me.


Have been following this site for years. I also like checking the repo's commit history page [0] which is essentially a "what's new" for programming fonts.

[0]: https://github.com/braver/programmingfonts/commits/gh-pages

I also find monospaced fonts ideal for immersive reading due to their crude, un-decorated vibe which is good for keeping attention. So whenever I want to read a long article but don't bother saving it to Instapaper, I turn on the Dark Reader add-on, which changes all web fonts to a monospaced font I specified and cover the page with a sepia tone.


I've become a fan of Berkeley Mono of late, it's not one of the ones listed: https://berkeleygraphics.com/typefaces/berkeley-mono


The only monospaced vector fonts I've really liked are Iosevka and Envy Code R.

Otherwise, give me raster, baby. Terminus, ttyp0, the Oldskool PC Font Pack fonts, Topaz (Amiga font), Atari ST font, even something like Proggy Clean. Back in the 96dpi days, 7x13 was my jam. Those ancient, ugly glyphs are distinguishable across the room in less than ideal display conditions which is why I love them when staring at code for hours at a go. I may be a nostalgic grognard, and today's programmers may well be justified in preferring their IDEs in eggshell with Romalian type, but there you have it.


I've taken to using Courier Code [0] (which is like the Courier Prime font but with dotted zeros and improved lower case L).

Without the super spindly letters, Courier is just such a timeless monospaced font. It's boring enough to not distract but it also has so much character. The Prime versions really bring to mind typewritten documents and that makes me quite happy.

[0] https://fontlibrary.org/en/font/courier-code


Luculent, my favorite, I cant keep out this font.

Thanks to Andrew Kensler, the author.

https://www.programmingfonts.org/#luculent


I recently switched to Iosevka's serif variant ("Slab") in the terminal and it looks interesting, maybe I'll keep it that way. The linked site only has the standard version.


Iosevka is awesome for terminals, especially the terminal specific variant. It's made to be dense yet readable so you can fit lots of characters across the screen. Looks fantastic with TUI apps like htop, etc.


Iosevka Slab has been my go to for a while now. The only thing that’s still missing to make it near perfect is a proper variable font variant.


I was thinking about when I ever use a non standard programming font, which is almost never. Just in iTerm i use a powerline-enabled font.

But then I remembered that in most Mac applications that have code somewhere, I have to switch from Monaco to Menlo as a first configuration step. I wish the Mac had a system wide font preference setting for monospaced (and serif/sans) fonts.


I've always faffed around with my font and schemes until about 3-4 years ago - now I just take the default everything.


It's not for everyone, but the (paid) programming font that I fell I love with is Codelia. It's got a dose of whimsy to it, but not too much, and is an all-around extremely readable and usable coding font.

https://tosche.net/fonts/codelia


I've been using this font daily for many months now, fantastic font. It comes at a cost, but it's been worth it for me.


I always ask when one of these discussions comes up. Can anyone recommend a for that does all of these:

* proportional (yes) * sans serif * has the common programming ligatures

The proportional with programming ligatures bit tends to reduce the search space to zero.

Oh and since we are volunteering, I like dank mono which I paid like $30 for.


Iosevka Aile (the proportional variant of Iosevka) meets all of these criteria. I’ve been using a customised version of the serif variant, Iosevka Etoile, for a while, and it’s been fantastic for both code and prose in my experience.


I like big chunky but rounded fonts so Hack has served me well now for the better part of a decade.


After trying quite a few, I settled on IBM Plex Mono quite a while back, and haven't seen any reason to switch, since. It's clear, the symbols are distinct (no confusion of zero and letter-o, no confusion of 1 and letter-l, etc), and it's easy on my eyes.


whats going on with the words null/true/false? in the editor with the default font (cartograph?) it uses "curly" fonts just for these. is this some standard feature of certain editors?


Italics.

Editor settings can assign italic characters, if the font has them, to keywords or word type (like comments).


I find Hermit very pleasant to read - it's definitely got some uniqueness and "decisions" about the style that I can see would bother many people. I find it cute.


Are there monospace typefaces that support abugidas well as everything supported is usually Latin and Cyrillic scripts–or is this a just limitation of how monospace works?


I use SF Mono


That's my choice too. It is clean and easy to read. Additionally, I found that when I share my screen on Zoom, students can easily read my code when I am using SF Mono.


In the end you need to choose if you are going to spend all your time tweaking fonts, color schemes, and other settings or actually write software


You spend like 10 minutes once setting a font and then it stays for ~years. I doubt this is negatively affecting anyone's velocity.


Selecting a font is quite far from ricing, and a good font will increase velocity, after all you read more code than you write.


Great site! I love that you can choose languages and different IDE styles. Font comparisons would push the site to the next level though.


https://devfonts.gafi.dev is also a good resource


It really needs a non-dark theme for those of us who can't use a dark theme.


You can change the default Monokai theme using the button at the bottom of the font list. It doesn’t affect the list itself, but at least it updates the preview, which may be helpful to you.


Oh, that's how you do that! Thanks. I could have spent more time looking for it but the dark theme really stings my eyes so I noped out of it too soon.


Ok who else starred comic shanns? I’m going to at least try that one for a week


Cool. But when I first load the page, what font am I looking at? Also, no Menlo?


Menlo and Consolas (my go-to font) are both missing. I imagine they can only use publicly-licensed fonts on the website.


TIL Luc Devroye has time to design and maintain fonts. Legend.


nice! would be perfect to have ability to compare two types side by side and this way, with repeating steps of comparison choose the perfect one for yourself.


Something like https://www.codingfont.com might work for you


Heh, I disabled the font names to avoid bias and ended up choosing my current font. No more yak shaving then.


exactly, thanks!


It could be done by opening two browser windows side by side


god, i am so stupid ;)


Where is Monaco font?


My guess is locked behind Apple's restrictive license. Programming Fonts only features fonts with unburdened licenses. You don't see Menlo there either.


I love funky italic like cartograph or victor mono!!!




Consider applying for YC's Fall 2025 batch! Applications are open till Aug 4

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

Search: