I didn’t see any recent postings regarding cleaning the font cache on Mac. Is anyone familiar with this article? I’ve been getting the error using the previously advised scripts.
As of Monterey, this has changed. After conversing with a developer over the period of about a week, we figured out (or, we’re pretty sure) what’s going on with the font cache in Monterey and later.
The Terminal command – sudo atsutil databases -remove – now returns an error message when trying to use it in Monterey or later. This is because the user no longer has any control over the system’s font cache. System fonts and their associated cache are located in a read-only part of the drive and cannot be changed by the user. Only the OS itself can access them. Therefore clearing the system font cache is not necessary and can be static (this is our assumption).
Only macOS may change the system fonts in OS updates. When that happens, the system cache files should be updated accordingly as a new cache would then be required as part of the update. You could see that in the 12.3 update, which at minimum updated the Emoji font. Whatever day you apply that update on, all fonts in the System folder will be tagged with that date (no matter how many actually changed), and contents of the system’s cache file at
/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATS.framework/Versions/A/Resources/ReadOnlyDB/ will have the same date. The 12.3.1 update didn’t alter the font cache, or timestamps of the system’s fonts. That’s a pretty good hint no fonts were updated in that point release.
For Monterey users, and presumably from here forward, you would use this Terminal command to clear only the user font cache:
atsutil databases -removeUser
This is the same folder Typeface, Connect Fonts and other tools clear in Monterey when you use their font cache cleaning function. You then must restart before the OS will build a new cache.
If you have no font manager or other app that has a font cache clearing option and prefer not to use Terminal, then the simplest way to do this is to restart the Mac into Safe Mode, and then restart normally.
I’m communicating with Extensis to ensure their Clean Font Cache process is doing the same thing as the -removeuser command per the article reference. With Apple Silicon, the Safe Mode restart is a little time consuming.