windows控制台字体分享
为什么有些字体无法设置为控制台字体?

因为windows对控制台的字体,有着极其严格的要求,只有满足要求的字体才能够被设置。
windows字体要求
原文已经找不到了,内容如下
推荐的字体
现在可以从微软的 Cascadia Code 官方仓库获取字体。Cascadia Code 支持编程连字,Cascadia Mono 则是不带连字的版本;只想保持终端符号逐个显示,可以先试 Mono。
下载请使用官方 Releases 页面。项目采用 SIL Open Font License 1.1,使用、修改和分发时应遵守其中的许可条件。旧文中的 Microsoft YaHei Mono 压缩包来自 issue 附件,无法从那个链接确认字体的再分发授权,因此不再提供该下载入口。
效果预览
下面保留的是当时使用 Microsoft YaHei Mono 的截图,供对照旧控制台的显示效果,不是 Cascadia 字体的预览。

参考资料
为什么安装后还是选不到
Windows 传统控制台不会把系统中每一款字体都放进候选列表。它更偏好固定宽度、字形尺寸可预测,并覆盖必要字符集的字体。在 Word 里显示正常的字体,如果字符宽度不一致,放到命令行里就会让表格、进度条和日志列对不齐。
字体安装后如果没有立刻出现,先完全关闭已打开的 CMD、PowerShell 或 Windows Terminal 窗口再重新打开。传统控制台的“默认值”和当前快捷方式的“属性”也可能是两套配置,改了一个窗口不代表其他入口会继承。
选字体时我会检查什么
- 英文、数字和符号是否真正等宽,特别是
0/O、1/l/I能否快速分辨。 - 中文宽度是否稳定对应两个英文字符,否则中英文混排日志会乱。
- 小字号下笔画是否粘连,高 DPI 和普通屏幕上的清晰度是否稳定。
- 如果使用 zsh 主题或终端图标,还要检查是否需要 Nerd Fonts 等补全版本。
当时用 Microsoft YaHei Mono,是觉得它在中文阅读习惯和命令行等宽需求之间取了一个顺眼的平衡。换字体后,仍然要单独检查中文和特殊符号的显示,不能仅凭英文字体预览判断。最终还是要用自己的命令、Git diff 和日志输出试一会儿,不要只看下载页的演示图。
新版 Windows Terminal 的差异
新版 Windows 更适合在 Windows Terminal 的 Profile 中设置字体,每个 PowerShell、CMD 或 WSL Profile 可以单独配置。设置后顺手检查字号、行高和缩放比例,有时候所谓的“字体糊”,其实是字号刚好落在不适合当前 DPI 的渲染尺寸上。
可用性说明:本文发布于 2019 年 10 月,距今已超过五年。文中涉及的软件版本、接口、下载地址、命令参数和操作界面可能已经发生变化,部分方案在当前环境下可能失效。请结合官方最新文档核对后再操作,生产环境使用前务必先行验证。
评论
使用 GitHub 账号登录后即可留言,支持 Markdown。


