The default system font in OS X is the type face used for displaying practically all system features, including menu items, system preference labels, titles for documents, the date and time, and other instances where system panels and programs display text. While in the Classic Mac OS (version 9 and earlier) Apple included options for changing the default system font, this has not been an option in OS X. However, if you want, you can, with a little tweaking, change the default font to any TrueType font of your choice.
First and foremost, when customizing the system font it helps to understand the hierarchy of the font folders in OS X. There are three such folders, all called “Fonts,” which are in the following locations:
username > Library > Fonts
Macintosh HD > Library > Fonts
Macintosh HD > System > Library > Fonts
These folders above are listed in order of precedence, so while there is a font called Geneva in the system font folder, any duplicate for Geneva that you place in the Macintosh HD > Library folder will be loaded and used instead of the one in the Macintosh HD > System > Library folder. The same goes for such a font replacement in the username > Library folder, which will even take precedence over the one in Macintosh HD > Library.
As a result of this, the key to changing the system font in OS X is to find out exactly how to make and implement a replacement for the default font in your system. In OS X before Yosemite, Apple’s default system font was Lucida Grande, and in Yosemite Apple has changed this to Helvetica Neue; however, if you simply copy a font, change it name to “Lucida Grande” or “Helvetica Neue,” and then paste it in the Fonts directory within the root library folder, you will not see a change take effect.
This is because the TrueType fonts used in OS X are basically small databases of glyphs, along with a number of information fields that hold a bunch of metadata, and while the file name can be changed for a font, the internal name that the system uses to identify the font has not been altered.
This metadata, just like that for regular documents, holds details like the font’s copyright information, font weight, designers, and other identifying details. One of these is the font’s postscript name, which is among several internal names for the font file, and the one which Apple uses to identify the file as the default system font.
To change the postscript name of a font, you will need to use a special utility that can edit font files. A couple of these are TTFEdit, and FontForge, both of which are open source and free projects, but both of which will either require Java, XQuarts, or both to first be installed on your Mac.
For this demonstration, I have outlined how to do this with TTFEdit:
- Download TTFEdit from its SourceForge page
- Ensure you have the latest Java runtime installed from Oracle (For security reasons, once installed use the Security tab in the Java system preferences to disable Java content in your browser).
- Locate the font you want to use as your default system font, and copy it to your Desktop.
- Open TTFEdit, and then use the File menu in the program to open the font file on the Desktop.
- Along the left-hand side of the program’s window, choose the “name” tab, which will display the name table for the font.
- Locate the field named “PostScript name of the font.” If there are multiples of these, then use the one with “(Macintosh, Roman, English)” at the end of the name, and not any mention of Windows or other platforms.
In this postscript name field change this field to be exactly one of the following (be sure you place the period before the name):
For OS X prior to 10.10 Yosemite:
For OS X Yosemite:
While “Regular” will be the default font, there are times when OS X will use bold text, or italic text, so if you have these variants for the font, then similarly change this name but use “Bold,” “Light,” or “Italic” instead of “Regular” in the postscript name. Also note that these names are case-sensitive, so while “.HelveticaNeueDeskInterface-regular” will not work, “.HelveticaNeueDeskInterface-Regular” will.
With these edits in place, choose “Save As” from the File menu, and then save the font in the Macintosh HD > Library > Fonts folder, giving it a unique name by appending a word like “System” to it. You now should be able to log out and then log back in to your user account, and the system should pick up this new font as the one to use. If it does not, then try rebooting your Mac into Safe Mode (hold the Shift down when you hear the boot chimes), followed by restarting when you get to the Login Window. This will have cleared your system’s font cache, allowing the new font to be loaded properly.
You can also manually clear the font cache in OS X by running the following command in the Terminal under an administrative account (supply your password when prompted):
sudo atsutil databases -remove
Be aware that while this will change the system font, any font besides either Lucida Grande in OS X 10.9 and earlier, and Helvetica Neue in OS X 10.10, will not have been tested for use as a system font. Therefore, any changes might result in some words not appearing correctly, and at worst may show garbled text. For the most part these should be rare occurrences and should only be aesthetic, so you will not lose any functionality; however, if they occur then you might have difficulty understanding the purpose of a specific menu item, button, or other label.
To revert your changes and go back to Apple’s default font, simply move your modified fonts out of the Macintosh HD > Library > Fonts folder, and then restart or log out and back in to your user account. This approach will also have the font available in Apple’s included Font Book utility, so you can also use this program to select and disable the font accordingly.