Adding fonts to the PowerShell and cmd.exe consoles

The default font options for the PowerShell console are limited: raster fonts and Lucida Console. Raster fonts are the default, though Lucida Console is an improvement. In my opinion, Consolas is even better, but it’s not on the list of options.

Mastering PowerShell by Tobias Weltner explains how to expand the list of font options for the PowerShell console. The same trick increases the list of font options in the Windows command prompt cmd.exe as well. The book is free for download. See page 16 for details. However, I have two comments about the instructions it gives.

First, the book says “The name must be exactly the same as the official font name, just the way it’s stated under [registry key].” However, the Consolas font is listed in the registry as “Consolas (True Type)”. You should enter “Consolas” and leave out the parenthetical description.

Second, the book says “the new font will work only after you either log off at least once or restart your computer.” When I tried it, logging off was not sufficient; I had to reboot my computer before the font change would work.

Update: In order to make this post self-contained, I’ve added below the necessary information from Mastering PowerShell.

Run regedit.exe and navigate to HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionConsoleTrueTypeFont.

Right-click in the panel on the right side and create a new string value. Name that value “0” or “00” or however many zeros you need to create a new key. That string’s value is the name of the font to add.

Update: See Necessary criteria for fonts to be available in a command window

Related posts:

Improved PowerShell prompt
A couple thoughts on typography
Better R console fonts

7 thoughts on “Adding fonts to the PowerShell and cmd.exe consoles

  1. Do you have any idea how to access the “Title” attribute of a font with PowerShell? I can see it in Windows Explorer but as far as I can tell it is not available with Get-ItemProperties.

  2. I agree that Consolas is a much better font in these applications. In Windows 7 consolas is available as a font choice in cmd.exe and powershell by default.

  3. I did this on XP Sp3 and Consolas was available in the list immediately after the registry entry was added; no reboot or logout was needed. Thank you.

  4. Hi, I’m trying to add to Windows console any Hebrew font, but unsuccessfully. I tried several fonts that contain Hebrew letters in the “Fonts” of “Control Panel” – Frank Ruehl or Lucida Sans Unicode, for example. The font is saved in the registry, but after reboot doesn’t appear in the console properties window ( I still see only Consolas and Lucida Console ). Do you have any ideas why it happens? The system is Windows 7.

    Thank you for advice.

  5. @Israel

    Well, it doesn’t work for me even after a reboot. John has updated the post with an article that explains the criteria for fonts to be available in the console, there are quiet a lot of them, probably the font you have chosen doesn’t meet those restrictions. I’m going to continue to look into this and I’ll update if I find anything.

    By the way, to display Hebrew fonts you can use the ISE.

    -Shay

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>