Curtis Free's Blog

About Blog Config DB Projects Scripts Wishlist Husband, father, geek, progressive.

My preferred monospace fonts

As a programmer and command-line enthusiast, I spend a lot of time looking at monospace fonts. For many years, I enjoyed using what has been for years a popular default: Bitstream Vera Sans Mono.

A few months ago, I spent a great deal of time trying out different monospace fonts. Here, I’ll present a brief list of my favorites; the font specification strings and screenshots represent my preferred configuration for each of the fonts in my preferred terminal, rxvt-unicode:

  • Tamsyn
    -*-tamsyn-medium-r-*-*-14-*-*-*-*-*-*-*

    There's just something about Tamsyn that I like (in addition to its website, of which I'm a big fan).

    Unfortunately, though it's a sans-serif font, the glyph shapes do seem to possess some “serif” qualities and seem jagged (pixelated). I'm also not a fan of the “sharp” m and w glyphs at smaller sizes (as shown). I refer to the m as a “Gmail m.”

  • DejaVu Sans Mono
    xft:DejaVu Sans Mono:size=9

    DejaVu Sans Mono is little more than Bitstream Vera Sans Mono – so here, I'm not straying far from my “safe default”; but I prefer DejaVu because it supports a larger character set (even though, admittedly, I don't make use of it).

    This is the only non-bitmap font on the list.

    Among other things, this means that much of its appearance is dependent on system font settings. Bitmap fonts, on the other hand, are much more uniform in appearance across systems (though they, too, are subject to some variation). Working with multiple Linux distributions and OS X, DejaVu Sans Mono can look crisp or blurry – or perhaps the character spacing might not be consistent across applications. While this is no fault of the font itself, it's worth noting.

    I continue to use DejaVu in some terminals/on some machines; and it's my preferred font for displayed code (e.g., in code blocks on this page).

  • Terminus
    -*-terminus-medium-r-*-*-12-*-*-*-*-*-*-*

    Terminus is well-known in the Arch Linux community – and for good reason. It's simply a great font. Terminus glyphs are perhaps the simplest and most readable I've seen.

    You might notice that the directory names in the screenshot are not displayed in bold face: this size of the Terminus font has no bold face. I don't consider that a problem (in fact, I like the clean look of a terminal with no bold fonts); but others might.

    Terminus is “tied” with DejaVu as my favorite for use on some systems.

  • Termsyn
    -*-termsyn-medium-r-*-*-14-*-*-*-*-*-*-*

    Termsyn is a middle-ground between Terminus and Tamsyn.

    Termsyn is probably the least popular on the list, but it's my default font in rxvt-unicode and on virtual consoles on my personal Arch machine. Using my preferred size for each font (pictured here), Termsyn is a little larger than Terminus. Furthermore, the “serif” qualities that I dislike in Tamsyn are not prevalent in Termsyn, due to its inheriting simple glyph shapes from Terminus.

Update (06 Jul 2012):

Newer versions of Termsyn include versions in a format usable on virtual consoles, so I no longer turn to Tamsyn as a substitute there.

Furthermore, while it is still my go-to, later versions of Termsyn have adoped additional Tamsyn glyphs (in particular, note the difference in the l from above):