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"](必须是数组,写成字符串或漏方括号会静默失效)
- 右键 Sublime 快捷方式 → 属性 → 兼容性 → 勾选「替代高 DPI 缩放行为」→ 选「应用程序」,否则 Windows 强制缩放 UI 层,绕过 DirectWrite
- 显卡驱动里若开了「覆盖应用程序抗锯齿设置」,临时关掉再测试
- 别混写
["directwrite", "subpixel_antialias"],冲突后只生效第一个 - 系统 ClearType 必须全程完成向导校准——仅勾选不点“下一步”等于没开
macOS Retina 屏只认["gray_antialias"],subpixel_antialias是雷区
Retina 屏像素密度太高,子像素渲染在物理层面失效。强行启用 subpixel_antialias 会导致中英文边缘泛绿/泛红、整体发虚、纤细无力——这不是配置错,是机制与硬件不匹配。
先在终端执行: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 不是开关,而是可能触发冲突的干预项。多数现代发行版直接删掉该字段最稳,让 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(包括托盘进程),再重新启动。Ctrl+Shift+P → “Exit” 或右上角 × 都不算“完全退出”——Windows 要在任务管理器里确认无 subl.exe 进程,macOS 要在活动监视器里杀掉所有 Sublime Text 实例。
这个步骤最容易被跳过。很多人改了 font_options 看不到变化,第一反应是配置写错了,其实只是没真正重启。渲染管线初始化只发生在启动瞬间,热重载只刷新语法高亮和布局,不重建字体光栅化上下文。











