Font caching and system font protection in Leopard
2009-12-03
Leopard introduced a number of system level changes to font handling. There's a system daemon, fontd that handles runtime font registration. Some of the new features that are implemented include on-demand font activation, on a per-application basis and system font-protection, which guards against removal or disabling certain fundamental system fonts.
There's a couple of situations where you might need to interface with the font registry database. Sometimes the system font caches can become garbled, and require a manual flush - before leopard these could be easily found under /Library/Caches/com.apple.ATS - now they're squirreled away under /var and managed by fontd. Font protection might stop you from legitimately manipulating certain font files; in a prepress environment you might need to replace one of the magic System protected fonts with a custom version.
There's a command line utility provided, called ' atsutil ' which offers a user interface to these features. It has a fine man page .
To purge the font caches, which will fix persistant text rendering problems, you use the command atsutil databases -removeUser
To display the list of System protected fonts use the command atsutil fontprotection -files
.
To globally disable the font protection feature, use the command atsutil fontprotection -off
. Re-enable it with the -on
switch.
Don't remove system protected fonts , unless you are replacing them with a workable substitute.