根本原因是sublime text在windows上默认使用gdi渲染引擎,对中文字体的hinting和subpixel定位支持极差,导致微软雅黑、思源黑体等出现毛边、粗细不均、笔画粘连及字间距错乱;须在用户设置中添加{"font_options": ["directwrite"]}并启用系统cleartype,且彻底退出后生效。

为什么中文字符会重叠或发虚?
根本原因不是字体选错了,而是 Sublime Text 在 Windows 上默认用 GDI 渲染,但对中文字体 hinting 和 subpixel 定位支持极差——微软雅黑、思源黑体看着毛边、粗细不均、字间距错乱,甚至“门”字横竖笔画粘连。这不是字体文件问题,是渲染引擎没配对。
Windows 下必须加 font_options: ["directwrite"]
直接在 Preferences → Settings(右侧 Preferences.sublime-settings - User)里加这一行:
{"font_options": ["directwrite"]}
注意:directwrite 必须小写,且不能带引号外的空格;加完后必须完全退出 Sublime(任务管理器确认无 subl.exe 进程),热重载不生效。
- 必须同步开启系统级 ClearType:控制面板 → 显示 → 调整 ClearType 文本 → 勾选并完成向导
- 若用了精简版
simhei.ttf或无 hinting 的字体,即使开了directwrite仍模糊,建议换完整版或YaHei Consolas Hybrid - 别把
"font_face": "Microsoft YaHei"单独写死——中文字体必须作为 fallback 出现在等宽字体之后,例如:"font_face": "Fira Code, Microsoft YaHei"
macOS 用户请删掉 no_antialias
macOS 原生用 Core Text,自带 subpixel 渲染和高质量 hinting。"font_options": ["no_antialias"] 这一行一旦存在,就强制关闭所有抗锯齿,导致 Retina 屏上中英文都发硬、发虚。
- 打开用户设置,搜索
no_antialias,整行删掉 - 不需要加任何
font_options,系统默认就是最优解 - 第三方主题(如
ayu)可能在.sublime-theme文件里硬编码了font_options,需手动进对应主题目录搜删
繁简混杂 ≠ 汉化包问题,是渲染层映射错误
菜单显示“檔案”“編輯”,不是翻译错了,是 DirectWrite 错误调用了字体里的繁体字形表。这时候加 font_options: ["gdi"] 是反向操作——它能解决繁简混杂,但会让中文字体重新变虚、变毛。
- 如果同时要解决“重叠/发虚”和“繁体显示”,优先保清晰度:用
directwrite+ ClearType,再配合系统区域设置为“中文(简体,中国)” - 若实在无法接受
directwrite下的个别字形偏差,才退而求其次切回gdi,但需接受字体轻微发虚 -
theme_font_options不影响代码区渲染,只控制 UI 元素;font_options才管编辑区字体绘制
真正起效的永远是那两行配置、一次彻底退出、一个系统级 ClearType 开关——而不是反复重装汉化包或换字体。渲染路径一旦错,再好的字体也白搭。











