With Mac OS 10.6 Apple introduced a method to the System, that monitors the System Font Folder and checks whether all "protected" System Fonts are still in place. If not, they will be copied back into the System Font directory. If for any reason the responsible process is unable to perform this task, ATS (Apple Type Services) will run on a read-only database and will only activate available System Fonts.
Please note: With FontExplorer X Pro 2.5.2 we have introduced a feature to the "Tools" Menu to disable the System Font Protection and to replay the original System Fonts into the System directory. Please download and use the latest version to solve this problem. If you are - for any reason - not able to do so, please follow the process described below.
There are two ways to solve this problem:
a. This method is the preferred way to restore your System Font directories to its original state:
If possible copy all fonts that you removed from System/Library/Fonts and from the protected folder (/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATS.framework/Versions/A/Resources/ProtectedFonts/) back to these directories. Use the System Font Cache cleaning function from the FontExplorer X Pro Tools menu and restart.
b. This method is for experienced users only and will permanently switch off the font protection functionality of the System:
Please use this at your own risk and be aware that there is a good reason why Apple introduced this functionality. Some Applications will no longer start if they don’t find one or more specific system fonts activated.
Quit all running applications.
Open the Terminal application and enter the following after the prompt:
atsutil fontprotection -off
[enter] This switches off the fontprotection and should return:
atsutil databases -removeUser
[enter] This removes the font cache database for the current user and should return something like:
atsutil server -shutdown
[enter] This stops the ATS server, creates a new instance and should return:
atsutil server -ping
[enter] This pings the server and should return:
ATSServer is running