Choosing A Monospace Font: 2019-March

On 2014/07/03 I wrote How To Choose A Font. My font choice would get used mostly in a text editor, a web page, or a printed page. Based on notable information I ended up choosing DejaVu Sans Mono. Five years later I’m still in love with it.

Right now though I’ve got important life-tasks that I need to complete, that I want to avoid. So it seemed like a great time to revisit my font choice.

Strategy

Just like five years ago there a lot of choices out there. Too many choices. It is easier to narrow them down by choosing a monospace font. But there are still too many to evaluate. Here are more criteria (in addition to the original) to hopefully make it simpler:

  • Lots of momentum behind it: lots of users vouching for it
  • Unicode support is huge
  • Thoughtful blog posts praise the font
  • Zero Cost
  • Looks good using the programming-font-test-pattern. It is the fastest way to review a programming font:
o0O s5S z2Z !|l1Iij {([|})] .,;: ``''"" www
a@#* vVuUwW <>;^°=-~ öÖüÜäÄßµ \/\/ -- == __
the quick brown fox jumps over the lazy dog
THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG
0123456789 &-+@ for (int i=0; i<=j; ++i) {}

From there I'm going to choose five and dig a little deeper.

Resources

Reactions

The first five fonts that I added to my list were all related via the DejaVu Sans lineage so I didn't learn anything new there. However I chose one that seemed to be the best variant.

The next ten were notably different and I reduced that list down to five.

Here are the contenders:

Evaluation

The animation changes to the next font every two seconds. This provides two good evaluation approaches. The first is to just observe the entire body of the text. Without having to think about it you will notice how the shape changes and have a reaction to that. Second, again without having to think about it, individual areas will jump out at you. Focus on them as the video progresses. Continue to scan for areas that jump out and watch them cycle. That will give a better feel for the fonts. Take your time.

Top 5

Watch it for a while.

All of them are impressive.

Fira and Anonymous Pro stand out as the most different from my preference (not very different though). The other three are closer to Deja Vu, and their documentation already spells that out so no surprise.

Top 2

I stuck close to Deja Vu, so I only had to choose from three of the top five.

I already liked Deja Vu Sans Mono and so it was cool to find similar but different enough versions of it (albeit only two but that was enough). Ultimately I ended up comparing Deja Vu Sans Mono with Hack.

Between them there are not a ton of changes between it and Hack but they are noticeable. Hack makes the font a little more human to me: it is easier to read and feels a little warmer and friendlier. Maybe the only noticeable things are the sort of similarity between "l" and "i", the "0" feels very different, and the parens are centered. None of them are showstoppers however.

Decision

Hack is the winner 😄😮.

It is a small but worthwhile change.

Can't wait to see how it pans out for the next five years.

What are your top three programming fonts?

Updates

2023-06-25

Five years later it has been and continues to be a great decision.

4 thoughts on “Choosing A Monospace Font: 2019-March”

  1. Thanks for sharing! We have similar taste for fonts. I ended up with conclusion that different fonts work better depending on the color theme choice – some look better on a light background and vice versa. My preferences are: Code Pro for dark theme and Fira Code for light one. I change themes depending on lighting conditions.

    1. Thanks for sharing that—never heard of using a different font per theme (dark and light), nice idea.

  2. I used to use Anonymous Pro, however when I tried to fetch it again Adobe wanted me to create an account. In a somewhat irrational mood, I set off to find an alternative.

    I settled on Input (http://input.fontbureau.com). Free for personal use, however I did pay the artist for it since I appreciate the effort he put in to this typeface.

    This web site is a great place to dry-run a typeface (https://app.programmingfonts.org). Though I must admit, I appreciate the animated GIFs on this page comparing the different faces.

    1. Thanks for sharing that—the demos are very nice.

      When I started comparing fonts, it was just too much for my mind to handle: information overload. The animated gifs made it easier for my mind to see it from a high level and then dig in. Something akin to how when you read Lisp you really don’t focus much on the brackets… you just go where you need to go and find what you need there. It might sound obvious now but it wasn’t obvious when I began.

Leave a Reply to JohnB Cancel reply

Your email address will not be published. Required fields are marked *