Lucida Console is My Font

The Hivelogic blog has a post about Top 10 Programming Fonts. I have to say my tastes run rather in the opposite direction from the poster’s. Here’s a screenshot of Hivelogic’s top recommended coding font (Inconsolata) next to some un-antialiased Lucida Console at about the same size, along with some bigger Lucida console [if the fonts aren’t clear, click on the image itself to view the PNG image directly]:

It looks exactly the same in a DOS/Cygwin shell window. To me, there’s just no comparison. The anti-aliased fonts are blurry. Cleartype’s even blurrier in my opinion. It looks great from a distance, but for small programming fonts? Lucida Console without anti-aliasing is where it’s at.

If you want Lucida for coding/shell use, you can get the true type fonts from Windows, or from the Java 1.6 SE distribution. Just unpack it and look in:

jre/lib/fonts/LucidaTypewriterRegular.ttf

There’s also a bold version. They’re confusingly named — the full name’s “Lucida Sans Typewriter” (they also developed a serifed version, but it’s not distributed with java, but does come with the PcTeX distro).

I’ve been composing text using emacs and typesetting math in LaTeX since 1984. Back in the day, it was pretty much some form of courier or another. Nowadays, for me, it’s all about Lucida console. Maybe it’s all the Java, because the font’s not only distributed with Java, it’s the font used in all my favorite Java books (i.e. Arnold and Gosling Java Programming Language, Goetz’s Concurrency, and Bloch’s Effective Java).

I like Lucida Console so much I shelled out $99 to buy a version of the Lucida family of fonts (including Lucida Bright and Lucida Typewriter) for TeX (from the PcTeX Store — it works with any TeX — I’m using MikTeX). The nice thing about Lucida Console and Lucida Bright together is that they have balanced color (that is, the amount of black ink looks about the same from a distance) and balanced x-height so they look good next to each other. Courier and Times do not play nicely together, and you have to go through contortions to get Times and Lucida Console to look OK (see the colophon in the Arnold et al. book).

7 Responses to “Lucida Console is My Font”

Anti-aliasing is best for large fonts anyway. Once you get below 10px, things start looking fuzzy and some letter details are anti-aliased away.

I just started using Inconsolata, and you’re right — at 9px it’s terrible. At 18px though, it’s great. And so far I’m really liking the larger typeface for coding; I’m finding I don’t really need to see all that information at once. What I really need to do is concentrate on the code I am writing or refactoring at the moment, and the rest of it is a disorienting distraction.

@John Interesting comment about refactoring. I’m wondering if that explains why I’ve been using the bigger font more for the recent round of refactoring I’ve done. I figured it was just because it gets set as the default after lots of pair programming.

I still prefer the smaller font for creating new classes and especially for browsing big classes of mine or in other packages.

I also prefer the small font for shells, because it’s easier to see the output.

With the small font, I can get a good emacs and shell buffer side by side. I try to keep LingPipe code to 80 characters wide, but with generics, that’s getting harder and harder.

Yes Lucida Console is easier on the eyes than Inconsolata or Envy Code.

But there is a difference between Lucida Console and Lucida Sans Typewriter — Lucida Console is a bit shorter, giving more text in the same vertical area (horizontal sizing is the same). That’s worth something to me.

I don’t know where to find Lucida Console free, but it comes with Windows.

Lucida Console still wins, hands down, years later, for any use where fitting lots of text on screen at once is a priority.

First, it works legibly right down to about 7 point.

Even though some fonts equal this, they all have a taller line-height, so you are still getting a quarter to a third more text on screen with Lucida Console, at the same size.

It has imperfections – square, curly and round braces, zeros and capital O, semicolons and colons, and commas vs periods, can be confused at really small font sizes, and these are problems addressed better in other fonts. But those other fonts don’t fit as many characters on screen at once, and that matters to me when grokking code.

I can always ctrl-mousewheel in to check the fine details, but only Lucida Consol lets me zoom out so far for the overview.