Appearance is everything and I hate it when I have to deal with applications that are designed to sub par standards. A great example of this is the Windows Command Prompt.

I spend quite a bit of time on both Mac and Windows platforms. Unfortunately, of late, the majority has been on Windows. And when I’m stuck on windows, I’m stuck using the command prompt. The command line on Windows is crippled when compared with Linux or OS X. While not as bad as the lack of a fully integrated bash shell, the fact that I’m looking at fonts created in 1991 or earlier really doesn’t make the experience any better.

Unfortunately, the properties window for the command prompt doesn’t give you any choices besides “Raster” or Lucida. There is also no built-in method for adding fonts to this list.

However, there is a way to do this via a registry hack. Open up regedit and modify this key:

HKLMSOFTWAREMicrosoftWindows NTCurrentVersionConsoleTrueTypeFont

You should see one string value by default:

"0" REG_SZ "Lucida Console"

You can add more entries by adding additional string values. The trick is the numbering used in the fonts. You have to append ‘0’ for each new font you add. This, is in opposition to the traditionally held theory that we increment as we count. 1, 2 ,3… =) WTF?

So for the first font you add:

"00" REG_SZ "Consolas"

And the next:

"000" REG_SZ "Courier New"

Once you have added the fonts you use, close regedit and reboot. Though, if you fire up command prompt before the reboot, you’ll be able to change the fonts. They just won’t be reflected in the display of the prompt. Very weird.

Notes:

– REG_SZ means a String Value.
– Consolas is a new badass font found in Windows Vista. I ganked my copy from a friend who is running Vista and I now use it everwhere. It even replaced the Monaco font I was using that was ganked from OS X. Once in awhile, MS comes up with something grand. This time it’s a lowly true type font. You can download it here: Microsoft.com

About the Author:

Learned something? Great! Need help on your development project? I'm available for hire:

  • Ruby on Rails
  • iOS Development
  • System Architecture & Performance

Get in touch:

Discussion

  1. Anonymous says:

    Hey, I love your blog about changing windows command prompt. Did you find that the new fonts always use Italics? my newly added courier and consolas both are italicized. Weird huh?

  2. mike says:

    No, I didn’t have a problem with that. In the font list does it list Consolas Italic? I’d have to think, probably not. I wonder if there is another setting some place that says “all cmd output should be italicized.” Kind of like how you can say all title bars should be bold in the Appearance tab under Display Properties.

  3. Winny says:

    If i just put my font to windows/fonts it will work ? I’m stupid. I’m need more information and screenshots :)
    Reagards, Winny.

  4. mike says:

    Yes, just drop your font file (ttf or other) into the font folder beneath C:WINDOWS (or wherever your windows installation is) and that will install the font.

    Of course, then you still have to perform the registery hacks to get the cmd prompt to use it.

    Command like a king, work like a slave, create like a god.

  5. Very nice article thank you very much…

  6. Mark says:

    I had the same problem. It seems that certain Courier New font sizes won’t work correctly. They render in italics and when you go back to the property window, there’s no font size selected and you get a few error popups. I found that if I type in 15 as the font size (it’s not one of the prepopulated choices) that it renders the font without italics.

  7. Steve says:

    Typing in 15 as font size to avoid italics works fine also for me, using Windows 7 32-bit.
    Nice tip, thank you.

Leave a Comment