Fonts are not just files, but rather system plug-ins, similar in ways to an extension or add-on application. When added and activated, they load into memory and are associated to programs by the system so programs can make use of them and show information about them.
As a result, should a font be damaged, or perhaps conflict with another font, then not only might it lead to improper characters being used, or alignments being off in documents, but also crashes and hangs for programs that access these fonts.
Font conflicts occur when two fonts of different type faces (or perhaps even more subtle difference) have the same internal name. For instance, the system’s internal font Monaco has a specific look and character layout for use with the system, and many programs rely on this font in this manner. However, if a font from a third-party with the name “Monaco,” or perhaps a modified version of Monaco is installed, then the system will identify two of the same type and not know which to use. In these cases, the system or application will use the first one it identifies, which may be the improper one and cause visual conflicts.
In most cases, font conflicts occur because someone installed a duplicate of the exact same font, so one resides in a system library such as the system’s font folder (Macintosh HD > System > Library > Fonts), or the global font folder (Macintosh HD > Library > Fonts). These two library folders contain settings and resources that apply to the entire system and all users. The system folder contains core fonts that Apple provides and which are required in unaltered states for OS X to run. These take precedence over other fonts; however, a program can install a font in the global font folder that is the same as one in the system’s font folder, and result in a font conflict.
Similarly, a user can install a font library for their uses, which may contain duplicates of fonts already in the system or global fonts folder, and again result in a font conflict.
In the case of damaged fonts, the system may attempt to load them and either not be able to and result in a hang or crash, or will load them and you will see corrupt symbols appear instead of the desired font face. At other times, the symptoms may not be so apparent, such as a fault with only specific characters that cause problems when they are displayed.
For older and incompatible fonts, the system will usually just not load them; however, there may be instances where it tries and results in a persistent error, slow loading, or some other odd behavior either with the system or with the specific program you are using, that can frustrate your workflow.
There are various ways to troubleshoot and repair font problems in OS X. This procedure essentially involves identifying any problematic fonts, and then removing, disabling, or replacing them.
Note that for any font-related procedure, you keep track of what you do and where you move or otherwise place fonts, to be able to undo any changes you make. Also keep in mind that any changes you make outside of your home folder will potentially affect other users on your system.
1. Font Book
If you use a third-party font manager for your fonts, then be sure it is updated and then open it to manage your font collection. Depending on the program you use, there may be routines you can run to check your various fonts for conflicts and other errors. In Apple’s Font Book, you can click the All Fonts collection, followed by clicking a font and then pressing Command-A to select all fonts on the system. Then choose “Validate Fonts” from the File menu, and the program will check for conflicts, compatibility, and damage to your fonts.
While you can usually get away with minor errors found in the font validation routine (noted by a yellow circle with an exclamation point in it), you might want to investigate the cause for this problem.
If you see any errors that are colored red, then this indicates a problem that will likely cause a disruption to programs and services that use this font, and you should consider disabling, removing, or reinstalling the font.
In all cases, from the validation window you can click the checkbox next to a font to select it, and then click “Remove Checked” to delete the selected fonts. Alternatively, you can identify the fonts and close the validation window, followed by managing them in the Font book window in the following ways:
Select all fonts and right-click them, followed by choosing “Resolve Duplicates.” This will disable any global fonts that are in conflict with those in your home folder, and keep the ones in your home folder active. This setting is for your account only, so global fonts will still be active for other users.
You can select a font set by holding the Command key and clicking individual fonts, or by creating a new collection (in the File menu) and dragging fonts to this collection. With your set created, you can right-click it and choose the option to disable the set. This will turn off these fonts for your account, but keep them installed for other accounts to use. Note that this can be done for an individually selected font, but it may be easier to manage a number of fonts through a collection.
The final option is to select a font, selection of fonts, or a collection, and then again right-click it but this time choose the option to remove the fonts. This will delete them and make them unavailable to any user account in the system.
2. Manual management
While the font book application and similar font managers might be preferentially used for dealing with font problems, you can also approach this manually. As mentioned above, fonts in OS X are in the following three folders, though the last two are the only ones you should modify:
Macintosh HD > System > Library > Fonts
Macintosh HD > Library > Fonts
Macintosh HD > Users > username > Library > Fonts
If you go to the last two of these folders, you can move fonts out of the folders to disable them. Unfortunately doing things this way can be a bit of a burden, but is the only way to approach this manually.
It may help to put the Font folder in list view, and then sort the list by “Date Added,” which will categorize the items in it by when they were placed in this folder. This can help group fonts by when they were installed, as opposed to when they were created or modified, which can sometimes be years differences for fonts in the same collection.
3. Clearing caches
Another possible problem can be if your Mac’s font cache is corrupted. When fonts are installed, they are loaded into a cache for quick access, and while a font on disk might be fine, if the cache is not working properly then you may experience problems similar to the font files themselves being corrupted.
There are two ways to clear font caches in OS X. The first is to simply reboot into Safe Mode by holding the Shift key immediately when you hear the boot chimes at startup. When this mode loads, a progress bar should appear, during which the system will run various checks and maintenance routines, one of which is to clear the font cache.
The second approach is to use the Terminal, which can be done by running the following command from within an administrative account:
sudo atsutil databases -remove
Note that this command will require you to enter your password, which will not be shown when typed.
Handling third-party font managers
Third-party font managers are sometimes the only way to properly manage fonts for some projects and uses. However, be sure you only use one font manager to manage your fonts. If you use a third-party font managers like Suitcase Fusion, FontExplorer X, or FontAgent Pro, then be sure to uninstall any others. While you can still keep Apple’s Font Book on your system, avoid using it to run any font management functions.
In addition, be sure to keep any font managers updated to the latest versions. While rare, there have been times that font managers have not been updated to match a version of OS X, resulting in problems with font management in the new OS version. This is especially true for major upgrades to OS X (such as going from OS X 10.8 to OS X 10.9), as opposed to step updates (ie, 10.8.2 to 10.8.3).
As with any software you use, be sure to check with your font manager’s developer for compatibility before updating any system software, and be sure to keep the latest version of the software installed on your system.
Great article as usual. But in my experience, the best font troubleshooting utility is FontDoctor:
I ran font validation on all the fonts listed in Font Book. Minor errors were found in some fonts. But when I ran one of the fonts with a reported kerning error through Font Doctor it reported out as without problems. This tells me that Font Book runs a very fine-grained test. Indeed, if you click the flippy-arrow beside a font in the test window, a long list of properties is revealed. I will have to test more of the fonts reporting errors, but it may be that the minor errors are minor indeed.
I use Font Explorer X Pro as a font manager. Even so I still find Font Book a useful tool. For one thing, it lists only the fonts I have in the three OS X font folders. I have many more fonts in the FontExplorer library. Even so, Font Book is more manageable for some tasks. For example, I created a font set for all the asian fonts in the system, which enables me to turn them off as a block – though a few of them remain active because OS X requires them. But I never use these fonts and if left active they really clutter up an application’s font menu.
At the same time Font Explorer enables me to manage thousands of fonts. The trick to using it efficiently is to create collections of specific kinds of fonts so they will be easy to find when you need them. For example, I have a collection of script fonts and another for handwriting fonts. The easiest way to do this is to add fonts to a specific collection when you import them. Otherwise you may never find them again.
You can create font collections in Font Book too, if you don’t need an industrial strength font manager. When you do so, however, your user font folder may fill up with new fonts that you add to the system. Importantly, Font Book can also flag duplicate fonts. When you start adding fonts to your user folder it’s all too easy to add fonts that you already have on your system somewhere else. For instance, when you install Photoshop and Microsoft Office, they add scores of fonts to the global fonts folder. You may easily have picked up some of these fonts from other sources. Almost nothing will lock up your system as fast as trying to use duplicate fonts. So you should use Font Book to check for this problem. Of course, then you have to decide which copy you want to delete.
Collections are useful in Font Book as well. If you are concerned about how too many active fonts will slow down you system and applications, create a set or sets for fonts yo don’t often use. This way you can leave them turned off until you need them and your system will run more efficiently. Remember, if you have lots of active fonts, apps like Photoshop and MS Word have to take time to load all those fonts when you star them up.
One other thing. There are numerous utilities that can clean font caches and more. So unless you like using Terminal as the most granular approach, free utilities Like Onyx and Maintenance, and commercial utilities like Cocktail, can do the job just as well, without the need to remember the right code or the risk of typing the wrong code in Unix. Terminal may appeal to code warriors, but for most of us there are easier ways to get the job done. I suspect Topher doesn’t want to get tangled in the perils of recommending specific apps, risking criticism for those he doesn’t mention. And, of course, there are chores for which Terminal is the only available tool. But for routine maintenance tasks I’m grateful to the developers who have put a GUI on these jobs so I don’t have to become a code warrior myself, something for which I have limited aptitude.
Bash command extremely dangerous.
Deleted all my custom font installs + the spotlight index + maybe something else.
The command is not dangerous at all, and will not remove your spotlight index as you mentioned. I’m not sure what you have done, but as instructed, the command will only remove the font cache, which should be rebuilt soon from your installed font files that are in your various fonts folders. You can spur this rebuild by restarting your system.