Fix incorrectly-displayed fonts without logging out

Jul 02, '07 07:30:00AM

Contributed by: ralphwahrlich

Occasionally (every few weeks), a user comes along to me complaining that the fonts in one of their applications has become "garbled" or "corrupted." Safari seems to be the subject of most complaints, but I have also seen this occurring in Firefox, and I'm pretty sure I've seen it before in other applications as well. The symptom is simply that an incorrect font is used for the display of text. For example, Cursive being used instead of Times. In sections of text where the style changes to bold and/or italics, the font may or may not switch to the correct one. If a symbol font happens to be the incorrectly-displayed one, it looks sort of like hieroglyphics -- hence the description of "garbled" or "corrupted" text sometimes seen on various forums.

Note: I don't think "corrupted font" is an accurate characterization of the problem. The fonts themselves don't appear to be corrupted; rather, the system is using the wrong font to display some text. The following solution worked for me, without requiring a reboot or logout. It can be done as the user experiencing the problem (ie: no admin access is required).

  1. Quit the application experiencing the problem.
  2. Remove the contents of this directory: /Library » Caches » » nnn -- where nnn is the UID number of the user experiencing the problem.
  3. Kill the process called ATSServer. This should probably be done as soon as possible after step 2. The system appears to automatically restart ATSServer after a few seconds.
Now try starting the application again. Hopefully the text will now be displaying in the correct font. If not, try repeating steps two and three above as close together (in time) as possible. These steps could be done either with Finder and Activity Monitor (respectively), or entirely on the command line.

For a more permanent fix, I've seen suggestions that adding a logout or shutdown hook (removing the user's folder in /Library » Caches », or killing ATSServer) might help. But if the thing that causes the corruption happens randomly at any moment, as opposed to cumulative problems building up over time, then such a hook wouldn't do anything to solve repeat ocurrences (but I haven't actually tried it myself).

Comments (11)

Mac OS X Hints