Programming Fonts

Many, many years ago I adopted the Inconsolata font because it was one of the first widely available, free, antialiased programming fonts. In those days, I was still using Vim but when I moved to Emacs, I brought it along with me. From time-to-time I see recommendations for the “ultimate” programming font but I always stay with Inconsolata.

Once you’ve dealt with antialiasing, I think that the critical aspects of a programming font are:

  • Distinguishing between oh and zero in a visually obvious way
  • Distinguishing between el, eye, and one in a visually obvious way

It’s a bit shocking how many fonts get this wrong.

Over at Evil Martians there’s a nice post on what constitutes the perfect coding font. That includes my desiderata about 0, o, O, i, I, l, L, 1 but also considers additional characters than can cause confusion. The post recommends

  • Widening the various brackets types so they can be more easily distinguished
  • Making the hyphen and the minus signs the same
  • Making ^ and * resemble the corresponding mathematical symbols
  • Mathematical symbols, ticks, and quotes should not be too small
  • Slashes and bars should be centered

These are all useful criteria but I’m happy if I can distinguish zero and one from other characters. The comments over at reddit suggest all sorts of recommendations for the perfect programming font but, as I say, I’ve been happy with Inconsolata for a long time and probably won’t be changing.

This entry was posted in General and tagged , . Bookmark the permalink.