在刚刚释出的 Firefox 65 稳定版中这个问题终于被修复了
使用 Skia 图形库的 app 都受到影响 例如 VS Code 和 Chrome
爬了一下回报系统发现 Chromium 应该早就修好了 不知道为何迟迟不推到稳定版
之前板上有人分享过暂时的解决方法
defaults write -g CGFontRenderingFontSmoothingDisabled -bool NO
但这会影响到所有 app
这边介绍一下只对特定 app 启用 subpixel antialiasing 的方法
如果有打过上面的全域指令 建议先用以下指令取消
defaults delete -g CGFontRenderingFontSmoothingDisabled
然后针对有问题的 app 输入以下
defaults write com.google.Chrome CGFontRenderingFontSmoothingDisabled -bool NO
其中 com.google.Chrome 是 Google Chrome 的 CFBundleIdentifier
可以从 /Applications/Google Chrome.app/Contents/Info.plist 中找到
搜寻 CFBundleIdentifier 的下一行就是了
有些 app bundle 内含的其他子 app 也可能受到影响
用以下指令可以找出全部的 CFBundleIdentifier
find 路径 -path "*.app/Contents/Info.plist*"
-exec plutil -extract CFBundleIdentifier xml1 -o - {} \; |
sed -n "s/.*<string>\(.*\)<\/string>.*/\1/p"
过长请自己接成一行 其中“路径”请换成要找的 app 的完整路径