Wes*_*Gun 4 windows fonts command-line windows-10
我正在摆弄 Windows 10 的新命令提示符。我使用代码页 936 (GBK)。
我说“新”是因为我在属性中cmd
看到有一个检查run legacy command prompt (need restart)
,默认情况下未选中,所以我想我正在使用的这个是“新的”。
问题是,在网上搜索只给了我一些在注册表中添加字体的方法,以使旧版cmd 能够识别它并在“属性”/“默认值”设置中显示,如下所示:
http://www.techrepublic.com/blog/windows-and-office/quick-tip-add-fonts-to-the-command-prompt/
它提到将字体条目添加到显示的位置:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Console\TrueTypeFont
Run Code Online (Sandbox Code Playgroud)
让 Windows 知道这种字体。我注意到已经列出的字体与我在旧版 cmd 中可以看到的字体相同。在普通的 cmd 中,我看到更多的字体。
请注意,在图片中,我打开了一个旧的 cmd 提示符,带有一些终端字体,在“属性”设置对话框中,我可以从中选择的字体是 Consolas 和 Lucida Console,与注册表中的字体相同。
而且,如果我切换到普通的cmd,有两种情况:
在属性中:
我可以在Yahei Consolas Hybrid
这里选择和其他字体,cmd 尊重我的设置并立即更改字体。
在默认值中:
您可以在此处看到更多等宽字体,例如Dejavu Sans Mono
,Monaco
等等,但您无法对这些字体进行 cmd 更改。
我不知道这里的区别,但这没有意义。一些不能被尊重的设置不应该存在,更不用说造成的混乱:“属性”和“默认值”是相同的。
我想要的是将普通 cmd 中的字体更改为 Monaco 或 Dejavu Sans Mono。如果不可能,则在旧版 cmd 中。
顺便说一句,如果有人能澄清“属性”和“默认值”之间的区别,那就太好了。
现在我找到了答案,谢谢大家的帮助。我不会在一周内接受我自己的答案,看看是否有人可以发布更好的答案。
问题出在代码页上。我将 Windows 10 的默认显示语言设置为简体中文,带有 GBK 代码页 (936)。所以,在cmd
windows中,系统打算以中文显示所有信息。实际上,我们看到我在问题中发布的第一张图片中,帮助信息的开头行是中文显示的。
要显示中文,您必须找到合适的字体来提供中文字符的提示信息。显然,Windows 事先检查了所有字体以查看其对当前代码页字符的支持。当看到设置的字体不支持中文时,就会放弃这个字体,回退到默认字体。此外,它将从默认面板的字体设置列表中删除此字体。 Yahei Consolas Hybrid
支持英文和中文,因此可以在默认和属性设置的列表中显示。Monaco
并且Dejavu
,然而,从默认面板消失,但仍然在属性面板中。
为什么它也不清除“属性”字体列表?因为正如评论所说,“属性”适用于当前的cmd
窗口/会话,而“默认”设置控制所有后续cmd
会话,例如,更具全局性。它保证了如果用户在运行时更改了代码页,不必再为Properties 做字体列表检查,用户可以直接更改字体。这正是我的情况。我必须说,Windows 在这方面做了很多背景工作。
您可以在以下屏幕截图中看到我更改了代码页,chcp 1252
并且字体更改立即生效。这是Monaco
现在。
所以,问题变成了:“如何在启动cmd
窗口时更改代码页?” 我发现了一个非常有用的问题:
我将更改简化为:
.reg
文件,随意命名。只需输入:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor]
"Autorun"="chcp 1252>>nul"
Run Code Online (Sandbox Code Playgroud)
1252
可以是其他值。>>nul
是为了避免打印
Active code page: 1252
Run Code Online (Sandbox Code Playgroud)
每次启动cmd
.
cmd
。现在您可以在“属性”中轻松设置字体。(我注意到,如果您从桌面中的链接运行,则字体为Simsun
,但如果您从任务栏中的锚点运行,则为Yahei Consolas Hybrid
。我不知道为什么。但您可以更改字体。但是,在 Default 中设置默认字体不适用于 的后续会话cmd
。它仍然属于Simsun
,所以我无法实现“打开 cmd 和Monaco
字体”。我认为这是因为Windows 使用字体检查当前语言代码页,而不是使用字体的“自动运行”代码页。,所以更改默认语言可以工作,但这不是我想要的。我还在这个话题上。
归档时间: |
|
查看次数: |
6077 次 |
最近记录: |