I <3 Steve McConnell*
Coding Horror
programming and human factors
by Jeff Atwood

August 07, 2005

Consolas and ClearType

You know you've entered the highest pantheons of geekhood when you get excited about Microsoft's new fixed-width font, Consolas. I am always on the lookout for a better fixed-width programming font. After reading Scott's post, and then Steve's post, I was intrigued enough to copy it from a Vista install on to my XP box.

And that's when the disappointment set in. Here's Lucida Console, 9 point. Just to clear your visual palate.

lucida_9_standard.gif

Consolas, 10 point, standard font smoothing. MY EYES! THE GOGGLES! THEY DO NOTHING!

consolas_10_standard.gif

Consolas, 10 point, ClearType font smoothing.

consolas_10_cleartype.gif

I'll definitely agree that Consolas is one of the best looking ClearType fonts I've ever seen. That's probably because it is part of the first font family designed from scratch with ClearType hinting in mind.

However, I prefer not to use font smoothing on my programming fonts. And Consolas looks like crap without ClearType! Consolas appears to lack any kind of hinting for reasonable display at small point sizes. Consolas isn't just optimized for ClearType, it can barely be used without it.

Well, so much for that. Consolas, you are dead to me. Here's hoping someone at Microsoft wises up and adds the normal font hinting so Consolas displays legibly at 9 to 13 points.*

For the record, I am not anti-ClearType. On a high DPI display-- think 15" laptop display with a resolution of 1600x1200-- I definitely like it. But on a display with a more typical DPI, say a typical 19" 1280x1024 panel, the ClearType RGB pixel noise around the fonts is extremely fatiguing to my eyes. Particularly when reading fixed-width programming fonts.

Now, before you write me off as a font hatin' luddite, let me point out that Rick Strahl has almost exactly the same problem with Consolas, ClearType, and programming fonts that I do. It's a great technology, but it's also a high-DPI display technology, and Windows sucks for high DPI displays. That's a huge disconnect. And it won't be resolved until Windows Vista ships.

* If the whole hinting thing doesn't work out between us, it's good to know that Consolas can find some alternative work in spanish-speaking countries.

Posted by Jeff Atwood    View blog reactions

 

« Option Strict and Option Explicit in VB.NET 2005 How to fit three bugs in 512 bytes of security code »

 

Comments

Have you tried Triskweline, it's a nice clean looking font and is a lot easier on the eyes than Courier.

<a href="http://www.netalive.org/tinkering/triskweline/">http://www.netalive.org/tinkering/triskweline/</a>;

Lewis on August 8, 2005 05:40 AM

I'm currently using ClearType on my 24" widescreen Dell at work.
I've been using it for the last few months and have gotten pretty used to it. But it still seems to make text look kinda blurry if I stop and stare.

On going evaluation...

Peter Bridger on August 8, 2005 07:42 AM

I always run at 1920x1200 w/ cleartype on, which is perhaps why I like Consolas. Are you still using Courier? I was on Lucida Console for years, but have seen some rendering issues with the latest VS.

Like you, I'm always on the lookout for something better when it comes to my programming font.

Sorry I caused a stream of blood to come from your eyes :)

Steve on August 8, 2005 07:52 AM

Call me old-fashioned but I'm still hooked on Courier New, 8pt, ClearType. Nothing beats it - looks just like an old typewriter. Maybe I like it because my first experiences with programming was actually typing out FORTRAN programs on my Dad's typewriter. :)

Consolas? Naah.

Mats Gefvert on August 8, 2005 08:05 AM

Have you tried ProFont? it's excellent.

http://www.tobias-jung.de/seekingprofont/

Omar Shahine on August 8, 2005 03:20 PM

I have tried ProFont. I'm a Proggy man, personally.

On high-DPI displays, however, I can't use bitmap fonts like Proggy and ProFont -- they're too small. In these cases I usually go with Andale Mono. I would consider Consolas if I had ClearType enabled.

Jeff Atwood on August 8, 2005 04:22 PM

Call me a rebel, but I actually prefer a proportional font, even when I'm programming. I don't find there's any reason to have a fixed width font as I don't try to line text up with other lines.

I'm currently using Verdana 8pt font on 1600x1200 display and it looks great. I can see a lot of code at once.

I've also configured Visual Studio to display strings in a different color (Maroon) and that helps reviewing code as well.

Kiliman

Kiliman on August 8, 2005 04:39 PM

Call me crazy but lately I've been using Terminal, 6 point on Visual Studio. It takes a day to get used to, but the benefits are you can fit three times the amount of legible code onscreen. I like Courier New too, but 6 point Courier is not readable.

thedisciple on August 9, 2005 03:26 AM

Personal recommendations for VS: "OCR A Extended" (comes with office or IE I believe), "OCRB" (comes with MS Works, I think), "Lucida Console" (with Windows XP, I guess).

Philipp Schumann on August 9, 2005 07:10 PM

I was disappointed with Consolas as well, but for different reasons. I currently use Monaco for every fixed-width font that I can replace with it. I compared it with Consolas using my standard ambiguous character test:
|!1lIi
0Oo
,.;:_-=+`'"
<>(){}[]

Consolas looks better than Monaco, it's more compact, has better letter spacing, but its 'l' (lowercase 'L') looks too much like a '1' (number one). I've tried tested every fixed-width font I've come across, and none can beat Monaco.

This article was a great help for me when looking for fonts: <a href="http://www.lowing.org/fonts/">http://www.lowing.org/fonts/</a>; I had been using ProFont before Monaco. If Consolas would just ditch that damn lower-left-serif in the 'l' I'd switch in a second. Everything else about it was perfect for me.

Travis on August 18, 2005 10:49 AM

I was disappointed with Consolas as well, but for different reasons. I currently use Monaco for every fixed-width font that I can replace with it. I compared it with Consolas using my standard ambiguous character test:
|!1lIi
0Oo
,.;:_-=+`'"
<>(){}[]

Consolas looks better than Monaco, it's more compact, has better letter spacing, but its 'l' (lowercase 'L') looks too much like a '1' (number one). I've tried tested every fixed-width font I've come across, and none can beat Monaco.

This article was a great help for me when looking for fonts: http://www.lowing.org/fonts/ I had been using ProFont before Monaco. If Consolas would just ditch that damn lower-left-serif in the 'l' I'd switch in a second. Everything else about it was perfect.

Travis on August 18, 2005 11:55 AM

Hi Jeff,

Disappointed by Consolas' crap look without aliasing too...

So I've stuck with Pragmata TT.

Examples: http://blog.xeraph.org/coding/2005/08/07/programming-fonts
http://fsd.it/fonts/pragmata.pdf

Though, if you're looking for free, I guess you'll have to stick with the limited options there are..

Leon Breedt on August 20, 2005 01:55 AM

It is indeed quite nice, but 90 euros? I just tried "convert 90 euros to dollars" in google and got:

90 Euros = 110.05200 U.S. dollars

Ouch. For ONE font?

Jeff Atwood on August 20, 2005 04:28 AM

Best mono programmers fonts I have seen are available from <a href="http://www.procon.com.au/Fonts.htm.">http://www.procon.com.au/Fonts.htm.</a>;
I use their raster font (HVRaster) but they also have a TTF version of the font (HVEdit). The fonts have clear distinctions between all characters and make optimal use of screen width and depth to squeeze more columns and lines on the screen. Work well in Visual Studio.

Al Kocass on January 27, 2006 01:33 AM

Well, the Consolas font looks reasonably ok, but I really would like if the Lucida Console 10pt to look like Lucida Console 14pt - IMHO *the* best font ever (there's a notably difference occurring between 13pt/14pt).

--larsw

Lars Wilhelmsen on May 5, 2006 08:03 AM

try bold italic. Very nice.

Xepol on May 6, 2006 05:06 AM

My favorite programming font, the one I find myself always going back to, is Bitstream Vera Sans Mono.

You can find more at http://www.gnome.org/fonts/

Alan on June 13, 2006 11:13 AM

my vote for Bitstream Vera too. Because it is usable with anti aliasing. Monaco is nice, but italic text gets wider and it is not available in small characters on pc.

squiddle on August 28, 2006 05:01 AM

I like Consolas, although I recently found out that it demands some edition of VS installed to allow installation. Bummer!
The Bitstream Vera family is another personal favorite. For work purposes I use DejaVu Sans, an open source font family based on the Bitstream fonts but extending it by adding Unicode fonts. It's Unicode coverage is impressive and keeps on growing. Check it out at http://dejavu.sf.net.

ck on August 28, 2006 07:29 AM

Why not go use Dejavu Sans Mono?

Justin on August 29, 2006 07:29 AM

and to ck: Dejavu sans is based on Bitstream vera.

Justin on August 29, 2006 07:49 AM

Perfectly solved my problem by setting ClearType
Thanks.

Mark on May 30, 2007 08:22 AM

I use Linux a lot at work. I can assure you, there's no better font than Terminus. It was specifically designed for long work with the console. Unfortunately, it comes in linux bitmap variant only. There's been an effort to make a TTF variant, but you should judge for yourself is it worth. You can find the windows ttf here http://fractal.csie.org/~eric/wiki/Terminus_font

For windows I use consolas with cleartype turned on. But I don't usually code in windows :-)

Vladi on June 16, 2007 02:08 PM

Have you tried the NSimSun font? It's the fixed width Chinese font that appears when you install the extra fonts for East Asian languages on XP, but it's really nice for programming. At least, it's nice on my 1024x768 display with cleartype switched off.

Steve on June 19, 2007 03:46 AM

Im trying to find this font:
http://farm2.static.flickr.com/1204/993473102_73b1aa5bd1.jpg?v=0
Any idea?

Luca on August 4, 2007 11:35 PM

>> Im trying to find this font:
<a href="http://farm2.static.flickr.com/1204/993473102_73b1aa5bd1.jpg?v=0">http://farm2.static.flickr.com/1204/993473102_73b1aa5bd1.jpg?v=0</a>;
Any idea?

That's a sweet font. When you find can you please post it up? :)

Andrew on August 14, 2007 02:18 AM

I only had a quick glance, but the curly braces makes me think it's Speedy:
http://www.proggyfonts.com/index.php?menu=download

Stefan on September 9, 2007 11:45 AM

Im using Tahoma 8pt proportional (non-fixed width) font with ClearType for coding on Windows and can say that i will never return to fixed width font.

AndreyM on October 4, 2007 02:09 AM

Proggy fonts are too bogus. Try out Dina. set the font size to 9. Make identifiers orange, overall background black with 40 green, blue and red. Change identifiers to grey. Make your comments green, with line numbers lime. Change operators to navy blue.

Jay on October 6, 2007 12:01 PM

I hate to be a Simpsons pedant, but this is the second time you've linked to that quote, and yet misquoted it. The line is: "My eyes...the goggles do nothing!"

Phil on November 6, 2007 12:26 PM

I use Lucida Console, size 7 (1280x1024). Believe me, I try almost every editor for Windows, none of them display it correctly, except my beloved Delphi Editor. I recently have tried Verdana (size 7), characters look great, but I would like to see a MONOSPACED (TTF) version... Any (good) designer can take the challenge?

Good Programming Font Criteria:
(found at: http://www.lowing.org/fonts/)

-Crisp clear characters.
-Extended characterset.
-Good use of whitespace.
-'l', '1' and 'i' are easily distinguished
-'0', 'o' and 'O' are easily distinguished (slashed zero)
-forward quotes from back quotes are easily distinguished -prefer mirrored appearance
-Clear punctuation characters, especially braces, parenthesis and brackets

Plus my personal criteria: (font designers forget them)

-Character must be based on Verdana, size 7.
-Symbol characters must be centered horizontally and vertically (all axis aligned)
-Must have Normal, Italic, Bold styles with SAME WIDTH for all of them!!!
-Must support size 7!!!
-ClearType support

Some pictures:

Lucida Console (Size 7)
http://img529.imageshack.us/my.php?image=lucidaconsole7sizeql6.png

Verdana (Size 7)
http://img413.imageshack.us/my.php?image=verdana7sizedf5.png

RenanUJ
sisex_ at hotmail dot com
sisex_@hotmail.com

RenanUJ on November 27, 2007 05:36 PM

Consolas, and run the ClearType Tuner and set the rendering to strongest, and it will be nice, dark, sharp and extremely legible at 8pt, although some might still prefer it at a larger size. 9pt and 10pt are nice too.

Soaa on January 4, 2008 12:02 PM

@Valeriu Palos
Seems like an incredibly crappy font in all areas. What are you thinking ?

FH on February 8, 2008 05:29 AM

I can't believe you're saying that! I'm not sure what you saw but I find this font far better than the rest! I put a screen-shot for'ya:
http://codeblog.palos.ro/2008/02/08/smoothansi-font-best-for-programming/

Valeriu Palos on February 29, 2008 07:05 AM

Like many others, I like Monaco as my best favorite. My second best favorite is Inconsolata. It's nice both in a terminal (on the mac at least) and in print.

http://www.levien.com/type/myfonts/inconsolata.html

Anonymous on April 30, 2008 01:01 AM







(hear it spoken)


(no HTML)




Content (c) 2008 Jeff Atwood. Logo image used with permission of the author. (c) 1993 Steven C. McConnell. All Rights Reserved.