sublime text中font_face必须填系统注册的英文全名才生效,如windows填"microsoft yahei"、思源黑体填"source han sans cn"、霞鹜文楷填"lxgw wenkai",大小写与空格须完全匹配,填错则静默fallback至默认字体。

Sublime Text 里 font_face 填什么才有效
填错 font_face 是中文字体不生效的最常见原因。Sublime Text 不认中文名、不认文件名、也不认系统字体册里显示的“微软雅黑”这种名字,它只认操作系统注册的英文全名。
- Windows 上微软雅黑必须写成
"font_face": "Microsoft YaHei"(注意大小写、无空格、无“-”) - 思源黑体简体是
"font_face": "Source Han Sans CN"(CN 后缀不能少,空格不能错) - 霞鹜文楷是
"font_face": "LXGW WenKai"(WenKai 首字母大写,区分大小写) - macOS 苹方字体用
"font_face": "PingFang SC",Windows 没这个,填了会 fallback 到 Courier New
填错最直接的表现:保存设置后字体没变,或整个编辑器突然变成等宽默认字体——这不是崩溃,是字体 fallback 失败。
系统字体没装好,Sublime 就永远找不到
Sublime Text 本身不安装字体,只调用系统已注册的字体。你双击 .ttf 文件点了“安装”,不等于系统就注册成功了。
- Windows:右键字体文件 → “为所有用户安装”(仅当前用户安装,Sublime 可能看不到)
- macOS:双击字体 → 点“安装字体” → 确保目标选“电脑”而非“当前用户”
- Linux:复制到
~/.fonts/或/usr/local/share/fonts/,然后运行fc-cache -fv
装完别急着开 Sublime,先打开系统字体管理工具(Windows 字体设置、macOS 字体册),确认“Microsoft YaHei”是否以英文名显示——这才是你要抄进 font_face 的名字。
用户设置里加 font_face 和 font_size 的位置和格式
必须改右侧 Preferences.sublime-settings — User,左侧默认设置是只读的,改了也无效。
- 确保 JSON 格式合法:大括号包裹,每行末尾不能有多余逗号
- 正确写法示例:
{ "font_face": "Microsoft YaHei", "font_size": 12 } - 如果同时想兼顾中英文显示效果,可以加
"font_options": ["subpixel_antialias"](Windows 高 DPI 下缓解发虚)
改完必须保存,且彻底退出 Sublime(Windows 查任务栏托盘、macOS 用 Activity Monitor 杀进程),否则新设置不加载。
字体显示发虚、有方块、菜单乱码怎么办
这不是字体没装对,而是渲染层冲突。ST4 在启用硬件加速或高 DPI 缩放时,中文字体 fallback 容易出问题。
- 临时加一行:
"gl_hardware_acceleration": false,可立刻缓解模糊或方块字 - 菜单乱码大概率是 locale 没生效,不是字体问题;先确认
"locale": "zh_CN"已正确配置并重启 - 某些 UI 插件(如 Origami、BracketHighlighter)会干扰字体渲染,可临时禁用验证
真正麻烦的点在于:字体名、系统注册、JSON 格式、进程重启,四者缺一不可。漏掉任意一个环节,都会表现为“明明写了却没效果”。











