对于非 Unicode 程序,在注册表中添加 Microsoft 控制台 (CMD) 字体不适用于东亚语言

对于非 Unicode 程序,在注册表中添加 Microsoft 控制台 (CMD) 字体不适用于东亚语言


LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Console\TrueTypeFont中的已知注册表设置

Value Name允许您通过将设为 的倍数0并将设为字体名称来添加字体Value Data。但当东亚语言(例如韩语)用于非 Unicode 程序时情况并非如此。我只有Raster Fonts굴림체(韩语字体)作为我的选项。我在注册表中有以下值:

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

所以我有英语、日语、韩语和中文的字体。

在命令提示符属性下。这是我所拥有的: 命令提示符属性 - 选项 命令提示符属性 - 字体

在非 Unicode 程序中是否可以使用其他字体,Consolas同时仍使用东亚语言?

答案1

字体必须满足某些条件才能在控制台窗口中使用。就您而言,考虑到您对东亚环境的偏好,Consolas 不是一个选择。

标准全部列出在此知识库文章中但是为了防止链接失效,我还是总结一下(微软喜欢重新排列和破坏所有的链接):

字体必须满足以下条件才可在命令会话窗口中使用:

  • 字体必须是等宽字体。
  • 字体不能是斜体字体。
  • 字体不能有负的 A 或 C 空格。
  • 如果是 TrueType 字体,则必须是FF_MODERN
  • 如果不是 TrueType 字体,则必须是OEM_CHARSET

针对亚洲设施的附加标准:

  • 如果不是 TrueType 字体,则字体名称必须为“Terminal”。
  • 如果它是亚洲 TrueType 字体,它也必须是亚洲字符集。

后半部分是 Consolas 与您不相容的地方。Consolas 是一种 TrueType 字体,但不是带有亚洲字符集的字体。它没有您需要的所有字形;它只有拉丁文、希腊文和西里尔文。

所以你做的一切都是正确的。如果某些字体不符合要求的标准,它们就不会作为有效选项显示在列表中。

相关内容