windows高分屏必须用["directwrite"],禁用gdi和subpixel_antialias;macos retina屏只认["gray_antialias"],禁用subpixel;linux建议删掉font_options字段以避免冲突;所有平台改配置后须完全退出并重启sublime。

Windows高分屏必须用["directwrite"],别碰gdi或subpixel_antialias
Sublime Text 4 Build 4126+ 在 Windows 上默认走 GDI 渲染,对“微软雅黑”“思源黑体”等中文字体的 hinting 和 subpixel 定位支持极差,小字号边缘毛刺、字重不均就是典型表现。
- 用户设置里只加这一行:
"font_options": ["directwrite"](必须是数组,写成字符串或漏方括号会静默失效) - 系统 ClearType 必须全程完成向导校准——仅勾选不点“下一步”等于没开
- 右键 Sublime 快捷方式 → 属性 → 兼容性 → 勾选「替代高 DPI 缩放行为」→ 选「应用程序」,否则 Windows 强制缩放 UI 层,绕过 DirectWrite
- 显卡驱动里若开了「覆盖应用程序抗锯齿设置」,临时关掉再测试
- 别混写
["directwrite", "subpixel_antialias"],冲突后只生效第一个
macOS Retina 屏只认["gray_antialias"],subpixel_antialias是雷区
Retina 屏像素密度太高,子像素渲染在物理层面失效——强行启用会导致中英文边缘泛绿/泛红、整体发虚、纤细无力。这不是字体问题,是机制与硬件不匹配。
- 先在终端执行:
defaults write -g AppleFontSmoothing -int 2(2 是中等平滑强度,0=关,3=最强) - 用户设置中只加:
"font_options": ["gray_antialias"],删掉任何no_antialias或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 字体渲染由桌面环境(GNOME/KDE)、GTK 版本和 freetype 共同接管。font_options不是开关,而是可能触发冲突的干预项。
- 多数现代发行版直接删掉
font_options字段最稳,让 GTK/freetype 自行决策 - 若必须指定,用
["antialiased"](灰阶),别用subpixel_antialias(Wayland 会无视,X11 下易与 fontconfig hinting 冲突) - 检查
~/.config/fontconfig/fonts.conf是否启用抗锯齿:<edit name="antialias" mode="assign"><bool>true</bool></edit> - Wayland 用户启动时可加:
GDK_BACKEND=wayland,避免 fallback 到 X11 渲染路径
改完必须完全退出 Sublime,热重载不触发渲染管线重初始化
所有平台都一样:菜单栏「Sublime Text → 退出」,不是关窗口,也不是 Cmd/Ctrl+Q(它只是隐藏),否则配置不会生效。
- Windows/macOS/Linux 都要彻底退出进程,再重新启动
- 第三方主题可能在 UI 层硬设
-webkit-font-smoothing: antialiased,深色主题下尤其要注意排查 -
font_options配错比不配还糊——它不是“开启抗锯齿”,而是指定渲染策略;选错就等于把字交给错误的渲染器画











