sublime text 的字体设置本质是调用系统已安装字体,而非自行安装;必须先在操作系统中正确安装中文字体(如“microsoft yahei”),再于用户设置中严格按系统注册的英文全名配置 "font_face",拼写、空格、大小写任一错误均导致回退默认字体。

Sublime Text 里“字体设置”不是安装字体,而是调用系统已有的字体
Sublime Text 自身不带字体安装功能,也不打包中文字体。你看到的 "font_face": "微软雅黑" 这类配置,只是告诉编辑器:“去系统里找叫这个名字的字体”。如果系统里根本没有这个字体,或者名字写错(比如写成 "Microsoft YaHei" 却漏了空格、大小写不对、多了一个顿号),它就会 fallback 到默认等宽字体,中文显示成方块或乱码。
先装字体文件到操作系统,再确认真实英文名
不同系统装法不同,但核心就一条:装完必须能在系统自带的字体管理工具里看到它,并且名称和 Sublime 要求的一致。
- Windows:右键 .ttf / .otf 文件 → “为所有用户安装”,然后打开“设置→个性化→字体”,搜索
Microsoft YaHei看是否列出;别信控制面板里显示的“微软雅黑”,Sublime 只认英文注册名 - macOS:双击字体文件 → “安装字体” → 确保点的是“安装到电脑”(不是“仅当前用户”),然后打开“字体册”App,选中字体 → 右下角看“字体信息”里的“全名”字段,例如
Source Han Sans CN或Noto Sans CJK SC - Linux:复制字体文件到
/usr/local/share/fonts/或~/.fonts/,再运行fc-cache -fv刷新缓存;验证用fc-list | grep -i "yahei"看是否返回含Microsoft YaHei的行
在 Preferences.sublime-settings 里正确配置 font_face
打开 Preferences → Settings,右侧用户设置里写:
{
"font_face": "Microsoft YaHei",
"font_size": 14
}
注意几点:
-
"font_face"是字符串,不是数组;旧文档里写的"family": ["宋体"]是错的,那是其他工具(如 VS Code)的格式,Sublime 不支持 - 中英混排建议配两个字体,用逗号分隔:
"font_face": "Microsoft YaHei, Consolas"—— 中文走前一个,英文走后一个;但实际效果取决于字体本身的 glyph 覆盖范围,不是所有组合都可靠 - 避免使用带空格或标点的本地化名称,比如
"微软雅黑"或"SimSun"(后者在新版 Windows 上常不可靠),优先用Microsoft YaHei、Source Han Sans CN、Noto Sans CJK SC这类标准名
字体显示异常?先关硬件加速试试
部分 Windows 用户启用了 GPU 渲染后,中文字体渲染会发虚、断笔或完全不显示。这不是字体或配置问题,而是 Sublime 的 OpenGL 后端 bug。
临时解决办法:在用户设置里加一行:
"gl_hardware_acceleration": false
重启生效。如果你用的是高分辨率屏(2K/4K)且字体模糊,大概率就是这个原因。Mac 和 Linux 用户一般不受影响。
真正麻烦的不是怎么写配置,而是系统字体名和 Sublime 预期之间的那层映射——差一个空格、大小写不对、甚至字体文件权限没放开,都会让整套配置失效。











