Sublime Text字体不生效主因是font_face填错系统注册名或字体未装入系统级库;须通过系统字体管理工具确认全名(如Windows查“Microsoft YaHei”)、严格按大小写空格填写,并在User设置中用合法JSON配置,改完需彻底退出重载。

Sublime Text 安装字体后不生效,90% 是因为 font_face 填错了系统注册名,或者根本没装进系统级字体库——它不读取用户双击安装的“假安装”,也不认中文名、文件名、显示名。
怎么确认字体真的被系统注册了?
Sublime 只从操作系统字体注册表里查名字,不是从你下载的 .ttf 文件里猜。填错就静默 fallback 到 Consolas 或 Courier New。
- Windows:打开「设置 → 蓝牙和其他设备 → 字体」,搜索
Microsoft YaHei;如果只看到“微软雅黑”,说明没装对——右键字体文件必须选「为所有用户安装」 - macOS:打开「字体册」App,顶部筛选器选「电脑」(不是「用户」),再搜
PingFang SC或Source Han Sans CN;右键字体 →「显示简介」→ 看「全名」字段,照抄 - Linux:终端运行
fc-list | grep -i "yahei"或fc-list | grep -i "wenkai",没输出就得补fc-cache -fv
font_face 怎么写才不 fallback?
大小写、空格、连字符、后缀一个都不能错。常见中文字体的合法写法如下:
- 微软雅黑:
"font_face": "Microsoft YaHei"(无空格、无短横、Y 大写) - 思源黑体简体:
"font_face": "Source Han Sans CN"(CN 后缀必须有,空格不能少) - 霞鹜文楷:
"font_face": "LXGW WenKai"(WenKai 首字母大写,区分大小写) - 苹方-简(macOS 专用):
"font_face": "PingFang SC"(Windows 填了直接 fallback) - 中英混排更稳:
"font_face": ["Fira Code", "Microsoft YaHei", "SimSun"](数组形式,从左到右 fallback)
别写 "font_face": "微软雅黑"、"font_face": "msyh.ttc"、"font_face": "microsoft yahei"——这些全无效。
改完设置为什么还是没变?
常见卡点不在字体本身,而在配置路径和加载机制:
- 必须改 Preferences → Settings 右侧(User)面板,左侧(Default)是只读的,改了白改
- JSON 格式必须合法:字符串用双引号、末尾不能多逗号、冒号后建议加空格,例如:
{"font_face": "Microsoft YaHei", "font_size": 13} - 改完要保存,且必须彻底退出 Sublime:Windows 检查任务栏托盘图标是否还在;macOS 用 Activity Monitor 杀掉所有
sublime_text进程;否则新配置不加载 - 行距别碰
line_spacing——它在 ST4 中已弃用,真正有效的是line_padding_top和line_padding_bottom,设成1或2就够松快
UI 元素(菜单/侧边栏/命令面板)字体怎么一起调?
font_size 和 font_face 只作用于编辑区,其他地方完全不响应:
- 菜单栏、侧边栏、标签页:ST4.4277+ 可加
ui_font_size(单位 px);旧版或 ST3 必须手动改当前主题的.sublime-theme文件,在"class": "sidebar_label"和"class": "tab_label"下加"font.size": 14 - 命令面板、查找面板、控制台:它们属于底部面板,得进主题文件改
"class": "overlay_control"或"class": "console_line"对应的font.size值,改完需重启 - 第三方主题(如 Material Theme)可能覆盖你的修改,要用 PackageResourceViewer 提取原主题再覆盖,否则下次更新就回滚
最易被忽略的一点:中文字体即使名字写对、系统也装了,仍可能渲染发虚或显示方块——这时要检查是否开了 "gl_hardware_acceleration": false(高 DPI 下必要),以及 font_options 是否误加了不支持的选项(比如旧版微软雅黑没有粗体变体,["bold"] 会导致 fallback)。


















