偶然一次看得cmd里的字体不顺眼,想换个字体看看,却发现设置里找不到导入的字体,经过一番折腾,然后就有了这篇记录的文章

当导入一个喜欢的字体,比如console,却发现该字体无法在CMD或PowerShell窗口里生效,
并且CMD的标题栏-右键单击-选择属性-字体TAB页下并没有系统的字体,只有寥寥几个

image.png

经过查询,该这个文章下找到原因和解决方案:https://cloud.tencent.com/developer/article/1341337
CMD和PowerShell里的字体必须支持以下特性:
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.

翻译过来是:
要能在命令行种使用,字体必须满足:
● 必须是等宽字体
● 不能是斜体
● 该字体不能有A或C负空间
● 如果是 TrueType 字体,则它必须是 FF_MODERN
● 如果不是 TrueType 字体,则它必须是 OEM_CHARSET 如果是给亚洲地区使用,还必须满足这些条件:
● 如果不是 TrueType 字体,字体名必须是“Terminal”
● 如果是亚洲的 TrueType 字体,还必须使用亚洲的字符集。

发现了下面这款字体满足:
Microsoft YaHei Mono on GitHub (看起来非常像Console)
https://github.com/Microsoft/BashOnWindows/files/1362006/Microsoft.YaHei.Mono.zip

下载字体安装后,在CMD/PowerShell的设置里就可以找到该字体,下图是设置后的效果

imag2e.png