Tiny Fonts

Posted: Sunday, 2011-08-21 21:25 | Tags: VIM, Environment, Fonts

Most recently, I fell for the idea of having a real tiny font for my working environment. Some observations immediately popping up were:

  • Almost unecessary to mention that only monospaced fonts are candidates.
  • Pixel-oriented / Bitmapped fonts have the advantage of using space more efficently while still being easy to read (because there is no need for antialiasing so things don't get "blurry").
  • Especially with such small fonts it is important to be able to easily distinguish letters, eg. lowercase "L" vs. capital "I" vs. the number "1".
  • I want the same font in my URxvt terminal emulator as in GVim. That is noteworthy as I experienced some fonts didn't seem to work equally well in both these environments (especially considering the following point).
  • I need normal and bold font weight in GVim as well as in URxvt, and of course it should still be readable and not look "blurry".

Before I bore you to death with a detailed story of my findings, here is a summary of my results. The screenshots are a GVim with the Pyte colorscheme as this uses as well bold as italic font styles. Note the different sizes of the screenshots resulting from the different space usage of the fonts.

Don't spoil yourself by jumping to the Conclusion ;)

Fonts

DejaVu Sans Mono 7

http://leetless.de/images/fonts/gvim-freemono7.png
  • Antialiased font, still astonishingly clear and readable
  • Very small, thus does not come with bold variant

Edit:

  • I advertised this as "FreeMono" in the first version of this article, the correct name of the font is "DejaVu Sans Mono" though, probably available for your distro.

DejaVu Sans Mono 8

http://leetless.de/images/fonts/gvim-freemono8.png
  • A surprising amount larger than DejaVu Sans Mono 7
  • Looks very nice, but wastes pixels with antialiasing

Fixed 8

http://leetless.de/images/fonts/gvim-fixed8.png
  • Should be available in most distros

  • Letter "O" and number "0" too similar, captial lettel "I" and lowercase letter "l" too

    http://leetless.de/images/fonts/gvim-fixed8-illegal.png

Fixed 9

http://leetless.de/images/fonts/gvim-fixed9.png
  • Letter "O" and number "0" too similar, captial lettel "I" and lowercase letter "l" too (similar to size=8 case)

Fixed 10

http://leetless.de/images/fonts/gvim-fixed10.png
  • Too large for my taste

Gohu

http://leetless.de/images/fonts/gvim-gohufont.png

URL: http://font.gohu.eu

  • Captial letters are a little higher than in Montecarlo.

  • "D" and "O" look very similar:

    http://leetless.de/images/fonts/gvim-gohu-dodo.png

Erus

http://leetless.de/images/fonts/gvim-erusfont.png

URL: http://aur.archlinux.org/packages.php?ID=37946

  • Only a slight variation on Gohu

Montecarlo

http://leetless.de/images/fonts/gvim-montecarlo.png

URL: http://www.bok.net/MonteCarlo/

  • The "l" (ell) looks a little weird
  • Lowercase "A" and lowercase "O" look very similar
  • Less squilles than Gohu/Erus, thus looks clearer to the eye

Proggyfonts

URL: http://www.proggyfonts.com/

This is a nice collection of bitmap fonts for programming and similar uses, I'll only look into a few of them here, check out their site for more.

Note that I only look at the true type versions of the fonts here, as I had problems with getting the bitmap versions with bold typeface support running in GVim (not sure if proggys or archlinux's/packagers or maybe even my own fault though).

ProggyClean

http://leetless.de/images/fonts/gvim-proggycleantt.png
  • The bold parts look ugly/blurred, thats because the font engine generates the bold font from the truetype font. As noted above, this probably is only a configuration or packaging issue, with bitmap versions (tested in urxvt) it looks fine.
  • I like the style of proggy, just before deciding to go for a really small font, I used this one for coding, for what I want now, this is too large.

ProggySquare

http://leetless.de/images/fonts/gvim-proggysquarett.png
  • Not much to say about this, a little smaller than proggyclean

ProggyTiny

http://leetless.de/images/fonts/gvim-proggytinytt.png
  • A very good candidate, especially very clean (similar to MonteCarlo)
  • The bold-issue was a no-go though and I didn't care to try very hard to fix it yet (if somebody has, please comment)

Terminus

http://leetless.de/images/fonts/gvim-terminus.png
  • Didn't get bold version to work at all :(

  • A little larger (too large for what I'm looking for currently)

  • Very readable, clean font though, although "I", "l" and "1" could be a little more different:

    http://leetless.de/images/fonts/gvim-terminus-illegal.png

Conclusion

Currently, I prefer using Gohufont, as the D/O problem rarely matters (in contrast to the a/o problem with montecarlo). There are some interesting alternatives listed here which would be worth trying for a longer time too. And of course theres a lots more such fonts on the web which I didn't test here.

Comment on twitter