Fix MacOS Catalina Fonts After Upgrade

Fix MacOS Catalina Fonts After Upgrade

tech
Colin Stodd
OSX,Catalina,MAC,Apple,Fonts,Tips
03 Nov 2019 (Published)
22 Mar 2020 (Updated)

I recently upgraded my MAC from Mojave to Catalina, all went well but I noticed that my text editor fonts were looking thinner than normal. I recall this happening with the Mojave update, so I sort of knew where to begin looking, but I couldn’t find exactly what I needed in one spot so I’m going to post it here. I am by no means an expert on these commands, I’m just posting what worked for me.

Many people had to play with these settings because not every external display is the same, so what I’ve posted here might not fit your setup exactly. It took some trial and error, but hopefully these commands will help you. As you’ll see below, everything can be reverted (see the bottom of the page) and the commands won’t do any serious damage to your MAC.

   Note: Every time you run one of these commands, you'll have to log out to see the changes. You can do so by pressing command + shift + Q.

What Worked For Me:

You’ll want to check to see if you have your font smoothing enabled or disabled in your Settings > General tab as seen in the image. This also plays a role… I left mine on.

Even though you checked the checkbox in settings, We’re going to assure that font smoothing is on system-wide by running the command below in your favorite terminal application /Applications/Utilities/Terminal.app. The -g stands for global. If you know the location of your apps’ source files (examples shown down the page for text editors) you can apply these commands to those apps specifically versus the entire (global) OS/system….

   FYI: I've found that most apps built with Electron need adjustments, whereas the native OSX apps look fine.
defaults write -g CGFontRenderingFontSmoothingDisabled -bool FALSE

And then I ran the code below to add strong font smoothing:

defaults -currentHost write -globalDomain AppleFontSmoothing -int 3

Log out, and log back in.

If this worked; great! If not, you can try these options below. My setup is still not perfect but I can live with what I have. You might have to play around with a few different combinations. I really hope Apple addresses this in the near future.


Adjusting Fonts Globally:

If you’re at this section you’re probably not happy with the results above 😞. What you’ll most likely need to do is try different combinations. I recommend that you write down what worked and where it worked. e.g. if what we ran above helped with OS X’s fonts but messed up some apps then take note of that so you can apply commands to those specific apps (basically debug). Im not exaggerating when I say that I spent nearly 8 hours doing this (also searching for answers which is why I’m writing this post).

Nevertheless, You can change the smoothing thickness of the fonts globally with one of these commands; depending on the number/smoothing intensity you want:

1 - Light font smoothing

defaults -currentHost write -globalDomain AppleFontSmoothing -int 1

2 - Medium font smoothing

defaults -currentHost write -globalDomain AppleFontSmoothing -int 2

3 - Strong font smoothing

defaults -currentHost write -globalDomain AppleFontSmoothing -int 3

Text Editors:

I had issues with my text editor fonts. I use VSCode and the IntelliJ IDEA’s IDE’s–mostly (sometimes Sublime Text), and my VSCode fonts were thinner than normal. To fix those, I had to run these four commands in my terminal. Note that the trailing 0 can be changed to either 1, 2 or 3 depending on the thickness you are looking for.

VSCode Commands:

defaults write com.microsoft.VSCode CGFontRenderingFontSmoothingDisabled 0
defaults write com.microsoft.VSCode.helper CGFontRenderingFontSmoothingDisabled 0
defaults write com.microsoft.VSCode.helper.EH CGFontRenderingFontSmoothingDisabled 0
defaults write com.microsoft.VSCode.helper.NP CGFontRenderingFontSmoothingDisabled 0

Webstorm Commands:

defaults write com.jetbrains.webstorm CGFontRenderingFontSmoothingDisabled 0
defaults write com.jetbrains.webstorm.helper CGFontRenderingFontSmoothingDisabled 0
defaults write com.jetbrains.webstorm.helper.EH CGFontRenderingFontSmoothingDisabled 0
defaults write com.jetbrains.webstorm.helper.NP CGFontRenderingFontSmoothingDisabled 0

If you messed everything up:

No need to worry you can set everything back to it’s default OSX Catalina state:

Removes custom font smoothing:

defaults -currentHost delete -globalDomain AppleFontSmoothing

Puts it back to light font smoothing:

defaults write -g CGFontRenderingFontSmoothingDisabled -bool True

I’m yet to find a fix for the IntelliJ IDE and Android Studio. I know it would be similar to the WebStorm and VSCode snippets, but I haven’t found one that works. If you know, please contact me or let me know in the comments so that I can include those here to help future on-lookers. Also, if you have any more info, I’m happy to work with you to post those on this page. Hope this helps some of you!

Happy Coding!!!! 😃