Computing

Managing fonts with FontExplorer X

Fonts can be a source of trouble; here's a way to defend yourself.

Every once in a while here at MacFixIt, we contemplate writing an article called something like "Fonts are the root of all evil". The title is perhaps somewhat overly dramatic - fonts are not really the root of all evil, especially in a world that also contains such lurking sources of trouble as third-party input managers, QuickTime components, and kernel extensions - but they are a much more frequent and pervasive cause of problems than many users may suspect.

Recently we received an email from reader Tracey, who was complaining that Word was crashing at launch. Instantly we suspected a font problem, but just to confirm it we asked for a copy of the crash log, and sure enough, it started like this:

#  1  0x96b7a9f4 in _FixPostScriptName   0x00000128 (ATS   0x0002a9f4)<br />
# 2 0x96b79580 in _FOGetNameInternal 0x000002A4 (ATS 0x00029580)<br />
# 3 0x96b6ae54 in __eFOGetName 0x00000284 (ATS 0x0001ae54)<br />
# 4 0x96b6aba8 in _FOGetName 0x0000005C (ATS 0x0001aba8)<br />
# 5 0x91659c78 in _ATSUGetIndFontName 0x0000009C (QD 0x00079c78)<br />
# 6 0x92a7cac0 in __Z16FindBestFontNamemmPmS_S_mPcS_S_ 0x00000178<br />
(HIToolbox 0x001fcac0)<br />
# 7 0x92a7bc2c in __Z20BuildFontNamesRecordmsm 0x00000068 (HIToolbox <br />
0x001fbc2c)<br />
# 8 0x92a7c6a8 in __Z14AppendFontMenuP8MenuDatasmPm 0x0000019C<br />
(HIToolbox 0x001fc6a8)<br />
# 9 0x9299ece0 in __Z23_CreateStandardFontMenuP8MenuDatatsmPm 0x00000054<br />
(HIToolbox 0x0011ece0)<br />

Notice the pervasive presence of the term "Font" in that list of activities. The entries containing the words "FontMenu" suggest that Word is having trouble forming its Font menu, something it obviously must do as it starts up. We wrote back suggesting a font problem as the source of the crash to Tracey, who confirmed that in fact a whole bunch of fonts had been installed just before the crashes started.

Now, in general, we can certainly recommend that you should never install a whole bunch of fonts. You've got too many fonts already, by default (the fonts that are present in any clean installation of Mac OS X, in /System/Library/Fonts and /Library/Fonts). These are already making your font lists too long to manage easily, and giving applications too much work to do in dealing with them. There's no point adding a lot more to the list of installed fonts. After all, how many fonts do you actually use, intentionally, at one time? Probably one or two at most; maybe, if you're writing a book, five at the outside. A document that requires more fonts than that would be pretty rare.

A sound, basic approach to fonts is to keep your font list lean and mean. Confine your installed fonts to just the fonts that come with a clean installation of Mac OS X, and no more. If you want to use any other fonts, enable them only when you want to use them, and disable them the rest of the time. To this end, it really helps to have a decent font management application on hand. Apple's own Font Book (in /Applications) just doesn't cut the mustard here; it can enable and disable fonts, but its interface is really clumsy, and (even worse) every once in a while it forgets all its settings and all your fonts end up being enabled again. Fortunately, there is now a really strong font management application with a great interface that is solid, reliable, easy to use, and (amazingly) free: Linotype's FontExplorer X. FontExplorer is what we turned to to solve Tracey's problem.

Here's how to get started using FontExplorer X. First, in Apple's Font Book, enable all fonts, because you want to turn management of your fonts over to FontExplorer instead. Now, quit applications. Start up FontExplorer and, in its General Preferences, check "Open FontExplorer X automatically at login," because you want FontExplorer to intervene and disable your unwanted fonts at all times. Now choose Tools > Clean System Fonts Folders. In the dialog that appears, check "Clean font caches and reboot afterwards" and press Clean. FontExplorer will move all fonts other than those installed with Mac OS X by default into a folder on your desktop (in a folder called "FontsRemovedFromSystem"), and the computer will restart.

(If you are actively having font problems now, as Tracey was, you should also probably choose Tools > Clean System Font Caches and Tools > Clean Application Font Caches.)

Your fonts are now being managed by FontExplorer. Your font list is already leaner and meaner than it was, but you should make it even more so. In FontExplorer's main window (choose Window > Main Window if you don't see it), start disabling (unchecking) fonts you don't use. These could be unnecessary decorative fonts, fonts that revolve around languages you can't read and write, and so forth. Also, if you have a Classic system folder, you might want to disable all its fonts. FontExplorer makes this process perfectly safe: it won't let you disable any of the fonts in /System/Library/Fonts, which you should not be touching. Also, just in case, check View > Show Conflicts and click on the Conflicts category at the left side of the window, and resolve any conflicts by disabling one out of each conflicting pair of fonts. Now restart the computer once again.

At this point, if you have non-default fonts (in the "FontsRemovedFromSystem" folder, or elsewhere) that you will sometimes want to use, put them in a nice stable location (not one of the system's standard Fonts folders!) and then hand them over to FontExplorer to manage: choose File > Import Fonts, or drag the fonts into FontExplorer's window. But don't enable them! You don't want to increase the size of your active font list unnecessarily.

From here on in, your repertoire of active fonts at any one moment will remain fairly small, but FontExplorer will know about all your other fonts, so you can make a few additional particular fonts active temporarily when you actually need them. In this way, you'll avoid using too many fonts at once. You may notice that some applications now start up more quickly, and in general using fonts will be a lot easier. And, you'll be warding off possible font problems down the road.

Oh, yes - our advice did solve Tracey's problem, in case you were wondering!

Resources
  • FontExplorer X
  • More from Late-Breakers