中文显示方块是字体缺失而非编码错误;sublime按font_face顺序查找字形,全缺失时回退至系统默认字体(如simsun)导致方块,删font_face重启后消失即可确认。

font_face fallback 列表没配对,中文就显方块
方块(□)不是编码错误,是 Sublime 在 font_face 列表里逐个查字形,全查不到才回退到系统默认字体(比如 Windows 的 SimSun),而 SimSun 在现代 UI 下常缺字或只支持繁体,结果就是一串方块。
别指望改 default_encoding 或 fallback_encoding——它们只管文件读取,不干预控制台或编辑区渲染。
- Windows 推荐组合:
"font_face": "Fira Code, Microsoft YaHei"(英文用 Fira Code,中文兜底微软雅黑) - macOS 必须含
PingFang SC或Heiti SC,SF Mono本身不含中文 - Linux 用
fc-list | grep -i yahei确认已注册的中文字体名,再fc-cache -fv刷新缓存 - 字体名必须和系统注册名**完全一致**:Windows 填
"Fira Code",不是"FiraCode"或"Fira Code Regular"
font_options: ["gdi"] 能绕过 DirectWrite 渲染 bug
Windows 上部分版本(尤其是 ST4 Build 4143+)启用 DirectWrite 后,中文字体在高 DPI 屏幕下容易模糊、错位或显示异常。这不是字体本身问题,而是渲染引擎对 CJK 支持不稳。
"font_options": ["gdi"] 强制回退到传统 GDI 渲染,对微软雅黑、YaHei Consolas Hybrid 这类字体更友好。
- 加在用户设置里即可:
"font_options": ["gdi"],不需要额外插件 - 如果同时开了硬件加速,建议同步关掉:
"gl_hardware_acceleration": false - 注意:macOS/Linux 不支持
gdi,该选项会被忽略
YaHei Consolas Hybrid 字体安装后仍不生效?检查三件事
这个混合字体专为代码编辑优化,但装完不生效,90% 是因为没走完闭环流程。
- 字体文件(.ttf)必须复制进
C:\Windows\Fonts,不能只双击安装(某些系统策略会拦截) - 安装后需注销或重启系统,否则 Sublime 启动时读不到新注册字体
- 配置里写的是
"YaHei Consolas Hybrid",注意大小写和空格——少一个字母或空格都不认 - 验证方式:打开记事本 → 设置字体 → 下拉列表里能选中该字体,才算真正注册成功
侧边栏/标签页字体根本不读 font_face
你改了 font_face,代码区正常了,但左侧文件树还是小得费眼——这不是配置没生效,是 Sublime 根本就没设计让侧边栏读这个字段。
它走的是 UI 主题路径,和编辑区两套系统。想调侧边栏字体,得改主题文件里的 sidebar_label 类,或者换支持自定义 UI 字体的主题(如 Adaptive.sublime-theme)。
别浪费时间反复调 font_face,那个字段只影响编辑区和控制台输出行。











