Windows需设"font_options":["directwrite"]并开启ClearType,macOS应禁用"no_antialias",主题可能覆盖字体设置,调试需逐一排查这三项。

Windows 上必须加 "font_options": ["directwrite"]
Sublime Text 在 Windows 下默认用 GDI 渲染字体,对中文字体的 hinting 和 subpixel 定位支持极弱——这不是字体问题,是渲染路径选错了。微软雅黑、思源黑体看着发虚、毛边、粗细不均,基本都卡在这儿。
- 打开 Preferences → Settings,在右侧用户设置 JSON 中添加:
{ "font_options": ["directwrite"] } - 必须确保系统开启了 ClearType(控制面板 → 显示 → 调整 ClearType 文本),否则 DirectWrite 会退化成灰阶抗锯齿,效果打折
- 改完一定要重启 Sublime,热重载不生效
- 如果用了自定义
font_face,请确认该字体文件支持 ClearType hinting(比如别用精简版simhei.ttf)
macOS 下不用动 font_options,但得关掉 no_antialias
macOS 原生走 Core Text,自带 subpixel 渲染和高质量 hinting,font_options 里加 "no_antialias" 反而会让中英文都变硬、发虚,尤其在 Retina 屏上特别明显。
- 检查你的用户设置里有没有这行:
"font_options": ["no_antialias"]
,有就删掉 - Monaco、SF Mono、Fira Code 等字体在 macOS 上默认就很锐利,无需额外开启抗锯齿
- 真要调细节,可微调
font_size(比如设为12.5或13)配合系统缩放,比硬开抗锯齿更稳
antialiased 和 subpixel-antialiased 别混着用
这是前端常踩的坑,也容易被误迁移到编辑器配置里:Sublime 不认 CSS 里的 -webkit-font-smoothing,那些值在编辑器里完全无效。它只认自己那套 font_options 标志位。
-
"directwrite"对应的是 Windows 的 subpixel 渲染(即利用 LCD 子像素提高清晰度) -
"no_antialias"是彻底关闭抗锯齿,字边缘全是锯齿,仅适合极个别调试场景 - 没有
"antialiased"这个选项——别照抄网页 CSS 配置,Sublime 不支持
第三方主题可能覆盖字体设置
很多人调了半天 font_face 和 font_size 没反应,其实是主题文件(比如 ayu-light.sublime-theme)里硬编码了字体参数,把用户设置给盖掉了。
- 先注释掉用户设置里的
"theme"字段,重启看是否恢复默认字体效果 - 如果恢复了,说明是主题干扰;要去对应主题包路径(如
Packages/ayu/ayu-light.sublime-theme)里搜font.face或font.size手动改 - 更稳妥的做法:在
Packages/User/下建同名 theme 文件(如ayu-light.sublime-theme),只覆盖需要的 key,避免升级时丢失
font_options 是最轻量、最确定的解法,但容易被 ClearType 关闭、显卡驱动覆盖、第三方主题劫持这三件事卡住——调完没变化,八成是这三个地方漏查了。


















