Change the system font of Mac OS X Yosemite.
Switch branches/tags
Nothing to show
Clone or download
Pull request Compare This branch is 10 commits behind dtinth:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

Yosemite System Font Patcher

Change the system font of Mac OS X Yosemite. Inspired by FiraSystemFontReplacement.

Maybe it's just me, but for such a new and modern interface, Helvetica Neue feels… ancient, and Helvetica is already everywhere… A more futuristic font such as Avenir Next may be a better choice.

Replacing the system font with Avenir next


First, install Homebrew. Then install FontForge with Python support.

brew install fontforge --with-python

Make sure FontForge works in Python:

python -c 'import fontforge; print "FontForge works in Python"'

New: Convenient Script

A convenient script is provided for you to convert fonts using a GUI wizard. In your Terminal, cd to the project folder and run:


Patching a Font (Manual)

Copy HelveticaNeueDeskInterface.ttc from /System/Library/Fonts/ to the root of the repository. Then run the following command:

bin/patch 'System Font Name' 'Font To Use'

Where System Font Name is*:

System Font Name* Description  
System Font Regular Regular ⭐️
System Font Bold Bold ⭐️
System Font Italic Italic  
System Font Bold Italic Bold  
System Font Medium P4 Medium - used in notification title ⭐️
System Font Medium Italic P4 Medium Italic  
システムフォント レギュラ ライト Light  
System Font Thin Thin  
System Font UltraLight Ultra Light  
System Font Heavy Heavy  

(* note: the above table is for English locale. For other locales, you must check the list of system font names by running bin/list-fonts HelveticaNeueDeskInterface.ttc — see issue #1)

...and Font To Use is the path to the font file you want to use. For example, Raleway-Medium.ttf.

Some fonts come in .ttc file format, which contains many fonts in one file. For instructions to use them, see below.

The font names that I did not put a star on are rarely used; you don't have to patch it.

The script will

  • open the font file to use,
  • scale and adjust the metrics to match that of the system font (that's why the script needs HelveticaNeueDeskInterface.ttc to be present),
  • adjust the PostScript name to match with the system font, and
  • save the font into current directory.

Specifying a .ttc File

A .ttc file contains several fonts in one file. Most fonts that comes with OS X come in this format. To select a font inside .ttc file, put the font name inside the parentheses. For example, Avenir Next.ttc(Avenir Next Medium).


Simply copy the generated font files to ~/Library/Fonts. Mac OS X will use these fonts instead of the system fonts.


To make Avenir Next your system font, copy Avenir Next.ttc from /Library/Fonts into the repository root, and then use this script:

#!/bin/bash -e
bin/patch 'System Font Regular'            'Avenir Next.ttc(Avenir Next Medium)'
bin/patch 'System Font Bold'               'Avenir Next.ttc(Avenir Next Bold)'
bin/patch 'System Font Italic'             'Avenir Next.ttc(Avenir Next Medium Italic)'
bin/patch 'System Font Bold Italic'        'Avenir Next.ttc(Avenir Next Bold Italic)'
bin/patch 'System Font Medium P4'          'Avenir Next.ttc(Avenir Next Demi Bold)'
bin/patch 'System Font Medium Italic P4'   'Avenir Next.ttc(Avenir Next Demi Bold Italic)'

It generates:

  • System Avenir Next Bold Italic.ttf
  • System Avenir Next Bold.ttf
  • System Avenir Next Demi Bold Italic.ttf
  • System Avenir Next Demi Bold.ttf
  • System Avenir Next Medium Italic.ttf
  • System Avenir Next Medium.ttf

Now you can copy these files into ~/Library/Fonts, log out, and log back in. You should see the font changed!


I consulted these resources in creating the script: