windows - Adding Microsoft console (CMD) font in registry does not work with Eastern Asian language for non-unicode programs

20
2014-04
  • Forethinker

    The known registry setting in
    LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Console\TrueTypeFont

    Allows you to add font by having the Value Name to be a multiple of 0 and Value Data to be the font name. But this is not the case when East Asian language (e.g. Korean) is used for non-Unicode programs. I only have Raster Fonts and 굴림체 (Korean font) as my option. I have the following values in the registry:

    0    Lucida Console
    00   Consolas
    932  *MS ゴシック
    936  *新宋?
    949  *굴림체
    950  *細明體
    

    So I have the fonts for, English, Japanese, Korean, and Chinese.

    Under Command Prompt Properties. This is what I have: Command Prompt Properties - Options Command Prompt Properties - Font

    Is it be possible to use other fonts like Consolas while still using Eastern Asian Language for non-Unicode programs?

  • Answers
  • Cody Gray

    Fonts have to meet certain criteria in order to be available for use in the console window. In your case, given your East Asian environment preference, Consolas is not going to be an option.

    The criteria are all listed here in this knowledge base article, but I'll summarize it in case of link rot (Microsoft loves to rearrange and break all the links):

    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 latter part is where Consolas runs afoul for you. Consolas is a TrueType font, but not one with an Asian character set. It doesn't have all the glyphs you need; it's only got Latin, Greek, and Cyrillic.

    So you're doing it all correctly. Certain fonts just won't show up in the list as valid options if they don't meet the required criteria.


  • Related Question

    osx - Setting default encoding for non-unicode programs/documents in Mac OS X 10.5
  • fuad

    I'm trying to open a document that has non-Unicode Arabic text in it using Mac OS X. I know way around this problem in Windows XP for example: the user can set the default encoding for non-Unicode programs to be any language (under Regional and Language Options --- Advanced), but I can't figure out how to do the same in OS X.

    Any suggestions?


  • Related Answers
  • fuad

    Turns out there's no global way of doing this in OSX as in Windows. It has to be done on an application by application level --- and not all applications support changing the encoding.

  • pratyk

    what program are you using to view the text ?

    Mac Os X supports non-unicode text but you'll need the proper fonts installed to view the same.