在剛剛釋出的 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 的完整路徑