Monospace Font Favorites

For the past six months or so, I've been experimenting with a variety of monospace fonts in a quest to find the perfect coding font. While I haven't found a clear winner, I have found a dozen nice-looking fonts and learned a lot about typefaces in general. I've also learned quite a bit about font rendering on Linux, which I hope to summarize in a separate post soon.

In this post I'd like to share some screenshots (or "swatches") of my favorite fonts.

Note

The screenshots presented below were generated using a little bash script that opened a terminal, sets the font, prints some colored text, then takes a screenshot. It looks a bit like this:

#!/bin/bash

font="$1"
size="$2"
urxvt \
  -fn "xft:$font:size=$size" \
  -geometry 50x18 \
  -e /bin/bash \
  -c "demo-text && echo "$font $size" && sleep 0.5 && scrot -u '$font.png' && sleep 0.5"

TrueType fonts

The following fonts are rendered with autohinting disabled, medium hinting, no subpixel rendering, lcddefault filter. For example, here are the relevant settings for "Agave" at 11 points:

$ fc-match -v "Agave-11"
        ...
    antialias: True(w)
    hintstyle: 2(i)(w)
    hinting: True(w)
    autohint: False(w)
    rgba: 5(i)(w)
    lcdfilter: 1(i)(w)
        ...

Here is how these settings look when zoomed in:

photos/truetype-rendering.png

Note how, by disabling subpixel rendering, there are no bizarre colors showing up that would lead to color fringing. I also found that using slight hinting would cause some fonts to appear too fuzzy, while full hinting robbed the glyphs of their unique character -- so I settled on medium and have been happy with the results.

Agave

notes/img/font-agave-11pt.png

Agave is bundled with some other nice fonts as part of the codeface project.

Ahamono

notes/img/font-Ahamono-11pt.png

Available for free on gumroad

Anka/Coder Normal and Condensed

notes/img/font-anka-coder-11pt-0.png

notes/img/font-anka-coder-condensed-11pt-0.png

Available for free at fontlibrary.org.

Apercu

notes/img/font-Apercu-11pt.png

More information here.

ASM Regular

notes/img/font-ASM-Regular-11pt-1.png

Available at myfonts.com.

BPMono

notes/img/font-BPmono-11pt.png

Available for free at backpacker.gr.

Bront

notes/img/font-Bront-11pt.png

Available for free on GitHub.

CamingoCode

notes/img/font-CamingoCode-11pt.png

Available at myfonts.com.

Consola Mono

notes/img/font-Consola_Mono-11pt.png

Available for free at fontsup.com.

Courier Prime Sans

notes/img/font-Courier_Prime_Sans-11pt.png

Available for free at quoteunquoteapps.com. Be sure to check out Courier Prime Code as well.

DecimaMono Pro

notes/img/font-DecimaMonoPro-11pt-1.png

Available at myfonts.com.

Ecocoding

notes/img/font-EcoCoding-11pt.png

Available at myfonts.com.

Envy Code R

notes/img/font-Envy_Code_R-11pt.png

Available for free on the designer's website.

Fantasque Sans Mono

notes/img/font-Fantasque_Sans_Mono-11pt.png

Available for free on GitHub.

Hermit

notes/img/font-Hermit-11pt.png

Available for free on the designer's website.

Input Mono Narrow

notes/img/font-Input_Mono_Narrow-11pt.png

Available for free at fontbureau.com.

Iosevka Term

notes/img/font-Iosevka_Term-12pt.png

Available for free on GitHub.

Luculent

notes/img/font-Luculent-11pt.png

Available for free on the designer's website.

M+ 1m

notes/img/font-M_1m-11pt.png

Available for free here.

M+ 1mn

notes/img/font-M_1mn-11pt.png

Available for free here.

Monaco

notes/img/font-Monaco-11pt.png

Monofur

notes/img/font-Monofur-12pt.png

Available for free on the designer's website.

Mononoki

notes/img/font-mononoki-11pt.png

Available for free on GitHub.

MonoOne (predecessor to Mononoki)

notes/img/font-monoOne-11pt.png

Available for free on GitHub.

Monospace Typewriter

notes/img/font-MonospaceTypewriter-11pt.png

Available for free on fontsquirrel.com.

MS Gothic

notes/img/font-MS_Gothic-11pt.png

NittiPX

notes/img/font-NittiPX-11pt.png

Available on boldmonday.com.

Operator Mono

notes/img/font-Operator_Mono-11pt.png

Available on typography.com.

Pointfree

notes/img/font-Pointfree-11pt.png

Available for free on dafont.com.

Pragmata Pro

notes/img/font-PragmataPro-12pt.png

Available on fsd.it.

Profont (Windows version)

notes/img/font-ProFontWindows-12pt.png

Available for free on the designer's website.

SV Basic Manual

notes/img/font-SV_Basic_Manual-11pt.png

Available for free on dafont.com.

Ubuntu Mono

notes/img/font-Ubuntu_Mono-11pt-0.png

Available for free at font.ubuntu.com.

Vivala Code

notes/img/font-Vivala_Code-11pt.png

Available on myfonts.com.

Bitmap Fonts

Bitmap fonts require no special rendering as they fit perfectly into the pixel grid. If I zoom way in, you can see that everything lines up:

photos/bitmap-rendering.png

Dina

notes/img/font-dina-11pt-1.png

Available for free on dafont.com.

Envypn

notes/img/font-envypn-12pt.png

Available for free in this GitHub repo.

Gohufont

notes/img/font-gohufont-11pt-1.png

Available for free at font.gohu.org.

Tamsyn

notes/img/font-tamsyn-11pt.png

Available for free on the designer's website.

Tamsyn-Modified

notes/img/font-tamsynmod-11pt.png

Tamzen

notes/img/font-tamzen-11pt.png

Terminus

notes/img/font-terminus-11pt.png

Available for free on sourceforge, ew.

Termsyn

notes/img/font-termsyn-11pt.png

Tewi

notes/img/font-tewi-11pt.png

Available for free on GitHub.

Toggle between the various "Tamsyn" fonts

Click the font sample below to toggle between the three "Tamsyn" font styles:

Thanks for reading

Thanks for taking the time to read this post. I hope you found a couple new fonts to try out in your editor. If you're looking for more fonts, I recommend checking out the following GitHub projects:

To learn more about font rendering on Linux, I recommend starting with the Arch wiki. Freetype looks to be changing some things up in the 2.7.0 release, including subpixel hinting ("ClearType"), so keep an eye out for it.

Comments (0)


Commenting has been closed, but please feel free to contact me