发布于 2026-01-06 1 阅读
0

修复 macOS Mojave 中严重的字体模糊渲染问题 #OneDevMinute DEV 的全球展示挑战赛,由 Mux 呈现:展示你的项目!

修复 macOS Mojave 中严重的字体模糊渲染问题 #OneDevMinute

由 Mux 主办的 DEV 全球展示挑战赛:展示你的项目!

刚升级到 macOS Mojave,就发现几乎所有基于 ElectronJS 的应用程序(例如我选择的代码编辑器VSCode )都存在严重的字体渲染问题。

稍作研究后,不出我所料,我发现苹果在 macOS Mojave 中禁用了文本的子像素抗锯齿功能。它没了。

稍加研究便找到了解决方法,你只需打开你的Terminal应用程序(COMMAND (⌘) + SPACE然后搜索Terminal),并运行以下命令。

defaults write -g CGFontRenderingFontSmoothingDisabled -bool NO

5. macOS Mojave 字体渲染问题修复

这将启用字体平滑功能——尤其适用于非 Retina 显示屏的外接显示器。你会感谢我的。运行此命令后,你需要注销并重新登录或重启 Mac 才能看到更改。差不多就是这样了。

🧐

解释:里面发生了什么事?!

一些评论者询问我是如何偶然发现这个解决方法的,因此为了提供技术方面的知识,我将更新这篇文章,添加更多细节。

🎯 苹果的 macOS 通常提供一系列defaults可以通过编程方式修改的设置。我每次全新安装操作系统时都有自己一套固定的工作流程。不过,这又是另一个故事了。

🤖 我记得以前用 High Sierra 系统的时候,需要在非苹果液晶显示器上启用子像素字体渲染。AppleFontSmoothing我把这个选项设为“开启”,或者也可以直接添加-int 1这个选项。

🤔 我在 macOS Mojave 里找不到那个设置defaults。我一直在里面找,尤其是在Apple Global Domain设置里,因为以前的设置就在那里。

🙃 啊哈!我发现了一个新设置,它叫做CGFontRenderingFontSmoothingDisabled——这个设置的作用很明显。它禁用平滑字体的渲染。它被设置为,1这意味着它被设置为TRUEYES

Macos Mojave Cgfontsenderingfontsmoothingdisabled 1

所以,我只需要碰碰运气,禁用这个字体平滑功能,也就是在非苹果/非 Retina LED 显示屏上启用字体平滑。为此,我编写了以下命令:

defaults write -g CGFontRenderingFontSmoothingDisabled -bool FALSE

  • 默认设置— 访问 Mac OS X 用户默认系统
  • -g | -globalDomain | NSGlobalDomain — 指定全局域。'-g' 和 '-globalDomain' 可以作为 NSGlobalDomain 的同义词使用。
  • CGFontRenderingFontSmoothingDisabled——我想要禁用此设置以启用字体平滑功能。
  • -bool [ean] — 允许用户为给定的首选项键指定一个布尔值。该值必须为TRUE/YEStrue 或 false。FALSE/NO

我运行了这个命令,然后注销并重新登录检查是否有效,结果真的有效!太棒了!我希望苹果公司能修复这个问题,而不是在不久的将来更新中彻底禁用这个选项。

Macos 字体修复 Cgfontsenderingfontsmoothingdisabled

🎉 因为我是VSCode的忠实粉丝,所以我做了个默认设置前后的对比--diff,现在看来设置已经生效了0,而且运行正常,太棒了!

macOS Mojave 默认字体已更改并修复[/ecko_fullpage_image]

⚠️ 有人建议在General字体设置中启用字体平滑选项,但对我来说没用。这个选项已经启用了,但并没有改善情况。

macOS Mojave 字体模糊问题

和平!✌️

本文最初发布于“修复 macOS Mojave 字体渲染问题”页面。

文章来源:https://dev.to/ahmadawais/onedevminute-fixing-terrible-blurry-font-rendering-issue-in-macos-mojave--lck