Windows上应配"font_options": ["directwrite"],并启用系统ClearType、DPI缩放设为“应用程序”、关闭显卡驱动抗锯齿覆盖。

Sublime Text 字体发虚、锯齿明显,不是字体选得不对,而是默认关掉了系统级抗锯齿渲染——font_options 配错或压根没配,字就糊;系统级 ClearType / Core Text / freetype 没开,配了也白配。
Windows 上怎么配 font_options 才不糊?
Sublime Text 4 Build 4126+ 支持 DirectWrite,这是 Windows 下中英文都清晰的关键。别再用过时的 ["subpixel_antialias"] 或 ["gdi"],它们在高分屏上反而加重模糊。
-
"font_options": ["directwrite"]是当前最稳的选择,尤其对“微软雅黑”“思源黑体”这类中文字体 - 必须提前在系统里启用 ClearType:控制面板 → 显示 → 调整 ClearType 文本 → 运行向导并勾选启用
- 右键 Sublime 快捷方式 → 属性 → 兼容性 → 勾选「替代高 DPI 缩放行为」→ 下拉选「应用程序」,否则 DPI 缩放会绕过 DirectWrite
- 显卡驱动里如果开了「覆盖应用程序抗锯齿设置」,临时关掉测试
macOS 上为什么调了 font_options 还是虚?
macOS 的 Core Text 渲染机制和 Windows 完全不同:subpixel_antialias 在 Retina 屏上不仅无效,还会让小字号文字边缘泛灰。系统级开关比编辑器配置更优先。
- 先运行终端命令开启系统级灰阶抗锯齿:
defaults write -g AppleFontSmoothing -int 2 - 用户设置里只加这一行:
"font_options": ["gray_antialias"],别混用no_round或subpixel_antialias -
font_size小于 11.0 时,Core Text 会自动降级为无抗锯齿渲染,建议设为11.5或12.0 - 用了第三方主题(如 ayu、Material Theme)?它们常在自己的
.sublime-theme文件里硬编码font_options,搜一遍删掉或改成["gray_antialias"]
Linux 下配 font_options 反而更糊?
Linux 字体渲染高度依赖桌面环境和底层库,font_options 不是万能开关,乱加可能被 GTK/freetype 忽略甚至冲突。
- 多数现代发行版(GNOME/KDE)直接留空
font_options效果最好,让系统接管 - 若必须指定,用
["antialiased"]或["rgba"],别用subpixel_antialias—— Wayland 会无视它,X11 下还可能和 fontconfig hinting 冲突 - 确保环境变量生效:
GDK_SCALE=2(对应 200% 缩放),否则 UI 和字体缩放不同步,看着就是糊的 - 检查是否启用了硬件加速:
"hardware_acceleration": "opengl"会跳过 GTK 文本渲染管线,导致font_options完全失效;临时改成"none"测试
重启后还是模糊?先排查这三件事
很多人改完配置就等效果,但 Sublime 的字体渲染是个“系统链”,漏掉一环,前面全白忙。
- 确认你改的是 Preferences → Settings 右侧的「用户设置」,不是左侧默认设置(改那里没用)
- 保存后必须完全退出 Sublime(Cmd+Q / Ctrl+Q),再重新打开—— Reload Settings 不触发字体重载
- 中文字体本身不带 hinting 数据(比如某些精简版
simhei.ttf)或用了非等宽字体(如PingFang SC)当代码字体,再怎么配font_options都难救
真正起作用的从来不是某一行 JSON,而是系统渲染能力 + 字体支持 + Sublime 配置三者对齐。最容易被跳过的其实是第一步:Windows 开 ClearType、macOS 运行 AppleFontSmoothing、Linux 检查 GDK_SCALE。这些没做,后面全是在调一个不会响的喇叭。











