How to add a font to the Cmd window choices in Windows 7 64-bit?

4

1

I tried following the procedure outlined in this previous answer and it doesn't work: https://superuser.com/a/5079/2366

Specifically I'm trying to add Lucida Sans Typewriter Regular to the choices of Consolas and Lucida Console that the Cmd window currently allows. Lucida Console is in registry key "0" and Consolas is in registry key "00", so I'm adding key "000" but it's not affecting the available choices in the Font tab under Properties, even after rebooting the system.

P.S. I also tried adding Courier New to the choices and it shows up, but appears to select Italic instead.

Mark Ransom

Posted 2012-02-17T05:17:33.810

Reputation: 2 010

The font has to be monotype. In other words, they all have to be the same size.

II WW

not monotype. :( – RookieTEC9 – 2015-10-25T21:30:21.083

@RookieTEC9 the font I was attempting is monospace ( not Monotype, that's a brand). – Mark Ransom – 2015-10-25T23:53:56.113

I meant monospace sorry for the confusion. – RookieTEC9 – 2015-10-25T23:56:49.700

In case you want Courier New (which is the best option IMO): there is indeed a glitch, it shows italics and gives some error popups (something "size must be .."). So you choose Courier New, then check "Bold fonts" then choose e.g. size 16, just click OK on error message boxes several times, after console restart it should be OK. And Bold looks much better than Regular anyway. – Mikhail V – 2017-03-11T00:43:45.807

To be more precise, after error message, choose size 16 first, then check "Bold fonts", it should work. – Mikhail V – 2017-03-11T00:53:22.543

@MikhailV you're right, thanks for the tip. It never would have occurred to me to try Bold. Now I wonder, since I'm still using Windows 7, have they fixed these bugs in later versions of Windows? – Mark Ransom – 2017-03-11T03:41:28.690

@MarkRansom On Windows 10 console I can choose all monospaced fonts by default without any registry tricks. And the console has some improvements, e.g. Ctrl-C Ctrl-V shortcuts are working. – Mikhail V – 2017-03-11T13:32:18.103

The problem is to get Unicode and UTF-8 glyphs to show properly, when used is various console programs (such as python CLI tools). To find good fonts with this support is hard. For installation of a good glyph font DejaVu, see my solution here.

– not2qubit – 2018-12-07T12:44:45.540

@not2qubit for me the problem was not with the character set, I wasn't trying to print anything odd; I just wanted a font with a different appearance. This question is so old now that it's no longer relevant to me. – Mark Ransom – 2018-12-07T14:15:51.577

You sure it is a raster font? "Before doing any of this, please read the article "Why are console windows limited to Lucida Console and raster fonts?", which explains in great detail why you shouldn't do that anyway." – Der Hochstapler – 2012-02-17T08:47:02.547

@OliverSalzburg, no it's not a raster font - it's TrueType. The article merely explains why the window will be ugly, not why the workaround won't show the font at all. – Mark Ransom – 2012-02-17T14:39:53.453

Answers

3

As well as the list of steps you linked to, This article lists some further restrictions.

To test that things are working, you should be able to do this (I did, in Win7 64-bit):

  1. Go to

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Console\TrueTypeFont
    
  2. Add a string entry 000 with value Courier New

  3. Close the CMD windows and open a new one. (If you do not do this, the font appears in the Properties > Fonts list but does not actually work when clicked).

If you use a font that does not meet the criteria, it just won't appear, which is frustrating. Here are the restrictions repeated from the MS support article:

The fonts must meet the following criteria to be available in a command session window:

  • The font must be a fixed-pitch font.
  • The font cannot be an italic font.
  • The font cannot have a negative A or C space.
  • If it is a TrueType font, it must be FF_MODERN.
  • If it is not a TrueType font, it must be OEM_CHARSET.

Additional criteria for Asian installations:

  • If it is not a TrueType font, the face name must be "Terminal."
  • If it is an Asian TrueType font, it must also be an Asian character set.

[...]

The name needs to be incremented with 0 for each additional font. The Data entry needs to match the font’s entry in the following registry location:

HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts

I found that the DejaVu Sans Mono font worked, and that font has a wider range of unicode characters than Consolas, Lucida Console, or Courier New.

M.M

Posted 2012-02-17T05:17:33.810

Reputation: 332

2

You may try ConEmu - Windows console emulator. I'm the author of this program.

It allows you select any font, even proportional.

Moreover, you not obliged to install font into the OS, just copy font (*.fon, *.ttf, *.bdf) file to ConEmu directory and restart the program.

Maximus

Posted 2012-02-17T05:17:33.810

Reputation: 19 395

Looks great! Nice work and thanks for sharing! – Stijn de Witt – 2016-09-16T23:06:30.073

0

Well for starters,

  1. Lucida Sans TypeWriter Regular should be Lucida Sans TypeWriter
  2. Instead of modifying String Values 00 and 0 just leave them as they are and add new strings.

Your final should look sorta like this: (Just note that I have 0 filled in as monofur, this neat font I download for free) enter image description here

RookieTEC9

Posted 2012-02-17T05:17:33.810

Reputation: 936