Windows高分屏须设["directwrite"]并启用ClearType、DPI缩放选“应用程序”;macOS Retina屏用["gray_antialias"]且执行defaults write -g AppleFontSmoothing -int 2;Linux推荐删掉font_options或设["antialiased"];所有平台均需禁用硬件加速、删除no_antialias、完全退出后重启。

font_options 配错比不配还糊,必须按系统类型严格匹配:Windows 高分屏用 ["directwrite"],macOS Retina 屏用 ["gray_antialias"],Linux 大部分情况直接删掉该字段最稳。
Windows 高分屏必须用 ["directwrite"],别碰 gdi 或 subpixel_antialias
Sublime Text 4 Build 4126+ 默认走 GDI 渲染,对“微软雅黑”“思源黑体”等中文字体的 hinting 和 subpixel 定位支持极差,小字号边缘毛刺、字重不均就是典型表现。
-
font_options必须写成数组:"font_options": ["directwrite"],写成字符串或漏方括号会静默失效 - 系统 ClearType 必须全程完成向导校准(仅勾选不点“下一步”等于没开)
- 右键快捷方式 → 属性 → 兼容性 → 勾选「替代高 DPI 缩放行为」→ 选「应用程序」,否则 Windows 强制缩放 UI 层,绕过 DirectWrite
- 显卡驱动里若开了「覆盖应用程序抗锯齿设置」,临时关掉再测试
- 别混写
["directwrite", "subpixel_antialias"],冲突后只生效第一个
macOS Retina 屏只认 ["gray_antialias"],subpixel_antialias 是雷区
Retina 屏像素密度太高,子像素渲染在物理层面失效——强行启用会导致中英文边缘泛绿/泛红、整体发虚、纤细无力,这不是字体问题,是机制与硬件不匹配。
- 先在终端执行:
defaults write -g AppleFontSmoothing -int 2(2 是中等平滑强度) - 用户设置中只加:
"font_options": ["gray_antialias"],删掉任何no_antialias或subpixel_antialias -
font_size小于 11.0 时,Core Text 会自动禁用抗锯齿,建议设为 11.5 或 12.0 - 改完必须完全退出 Sublime(菜单栏「Sublime Text → 退出」),热重载不触发渲染管线重初始化
- 第三方主题(如 ayu、Material Theme)常在
.sublime-theme里硬编码font_options,需搜一遍并统一改成["gray_antialias"]
Linux 下乱填 font_options 反而更糊,留空或用 ["antialiased"]
Linux 字体渲染由桌面环境(GNOME/KDE)、GTK 版本和 freetype 共同接管。font_options 不是开关,而是可能触发冲突的干预项。
- 多数现代发行版直接删掉
font_options字段最稳,让 GTK/freetype 自行决策 - 若必须指定,用
["antialiased"](注意不是"antialias"或字符串"antialiased"),别碰subpixel_antialias - 确保
GDK_SCALE=2环境变量已生效(对应 200% 缩放),否则 UI 和字体缩放不同步 - 检查
~/.config/fontconfig/fonts.conf是否启用抗锯齿:<edit name="antialias" mode="assign"><bool>true</bool></edit> - 若启用了
"hardware_acceleration": "opengl",会跳过 GTK 文本渲染管线,font_options完全无效;临时改成"none"测试
所有平台都容易踩的坑:主题覆盖、硬件加速、配置加载路径
很多人调了半天没效果,其实根本没改到生效的配置文件,或者被其他层覆盖了。
- 务必通过 Preferences → Settings 菜单打开的才是用户级
Preferences.sublime-settings;别误编辑 Packages/Default/ 下的默认配置 - 第三方主题常在自己的
.sublime-theme文件里硬编码字体参数,优先注释掉用户设置里的"theme"字段,重启确认是否恢复默认效果 -
"hardware_acceleration": "opengl"在 Windows/macOS/Linux 上都可能绕过系统文本渲染,导致font_options完全失效 - 深色主题 CSS 中若写了
-webkit-font-smoothing: antialiased,会覆盖系统渲染策略,需手动删掉 - 中文字体不能单独作为
font_face,必须放在等宽字体之后作 fallback(如"font_face": "Fira Code, Microsoft YaHei"),否则缩进错乱、括号不对齐
font_options 组合、删掉主题里冲突的硬编码、删掉 no_antialias 这类反效果项;同步开启系统级抗锯齿(ClearType / AppleFontSmoothing / fontconfig)、同步禁用 DPI 缩放干扰、同步关闭硬件加速干扰。这些动作缺一不可,且必须完全退出后重启。



















