How to Add Fonts to Your iPhone

Thursday, January 6th, 2011 at 22:15

how to add font to iPhone

I have been using GoodReader to read text novels for a long time, but I do not particularly like iPhone’s system fonts for reading, so I want to add some extra fonts to iPhone’s font library and use it in any app that can utilize iPhone’s system fonts.

After hours of digging in Google and various forums, a solution has been found and here’s how you can add your preferred fonts to iPhone, tested on iPhone 4 iOS 4.1.

So here we go:

Requirement & Tools:

The Concept

  1. Uploading your font to iPhone;
  2. Editing the font list file CGFontCache.plist;
  3. Respring or reboot your iPhone.

I. Uploading Your Font(s) to iPhone

1. Get your font ready on your computer, say, MyFonts.ttf

2. Connect your computer to your iPhone via USB, run i-Funbox (or connect via SSH).

3. On the left panel of i-Funbox, click Raw File System, and browse to:

/System/Library/Fonts/Cache

4. Click “Copy from PC” and select MyFont.ttf, and click OK. It will upload MyFont.ttf to iPhone (or upload via SSH).

If your font also has other typefaces, upload MyFont-Bd.ttf, MyFont-Italic.ttf, .ect, too.

We have just uploaded the font to iPhone, now we want to link this font to the system so other Apps can see it.

II. Editing the font list file CGFontCache.plist

1. in i-Funbox, click Go Up Level and find CGFontCache.plist (located in in/System/Library/Fonts )

2. click it and click “Copy to PC”. Please copy to 2 locations so you’ll have a backup.

3. Run FontCreator, open your font, go to Format -> Naming, it’ll list the Font Name, Font Family Name. You’ll need this info soon.

4. Run PropertyList Editor and open CGFontCache.plist, there are 2 locations you need to add some scripts, don’t worry, it’s simple.

5. Under

<key>Names</key>
<dict>

Add the info:

<key>Full Font Name</key>
<string>/System/Library/Fonts/Cache/MyFont.ttf</string>

Here you’ll find “Full Font Name” in Font Creator in step II.3, and replace MyFont.ttf with the filename of your font, it’s CAse SeNsiTive.

Do this for Bold, Italic and Bold-Italic, too.

6. Scroll down the plist file, Under

<key>TraitMappings</key>
<dict>

Add the Font Family and Subfamily list, the formular is this:

<key>Font Family Name</key>
<dict>
<key>Plain</key>
<string>Full Font Name</string>
<key>Bold</key>
<string>Full Font Name for Bold</string>
<key>Bold-Italic</key>
<string>Full Font Name for BoldItalic</string>
<key>Italic</key>
<string>Full Font Name for Italic</string> </dict>

Of course, replace “Font Family Name” and “Full Font Name” with yours, found in FontCreator as in Step II.3.

If your fonts have Bold, Italic or other typefaces, add them accordingly.

Please note, you have to use Plain, Bold, Italic, Bold-Italic, or they won’t be recognized.

7. Double check if you have them right, again, the names are case sensitive and should be exactly like what you see in FontCreator.

8. Save CGFontCache.plist in PropertyList Editor, in i-Funbox, copy it to iPhone (or upload to iPhone via SSH)

III. Respring or reboot your iPhone.

There you go, enjoy.

ps. if your font isn’t listed or used, it’s usually mistakes made for the font’s filename, the font name, font family name, subfamily (plain, bold, etc), make sure they’re accurate and it should work.

Follow us on Twitter for more iPhone tips.


Related posts:

  1. How To Jailbreak iPhone 3G with iOS 4.0.2 Using Redsn0w 0.9.5b5-5
  2. Pixelpipe Uploads Your 720P iPhone Or iPod Video Wirelessly
  3. 20% Off All In-Stock Games At EA Store
  4. iPhone iOS 4.0.1 Draws Better Signal Bars Without Fixing Your Signal Problems
  5. How to Install Flash On Your iPhone 4 Using Frash
  6. iPad Firmware 3.2.1 Released to Fix Wi-Fi Connection
  7. Ultrasn0w 1.1-2 Released Soon to Unlock Your iPhone 4, 3GS and 3G

Tags: , , , , ,

3 Responses to “How to Add Fonts to Your iPhone”

  1. Bob C says:

    THanks!

    There is a folder named CGFontCashe.plist, but no file. There are four other files in the Font folder called.

    CGFontCacheReduced_H_.plist
    CGFontCacheReduced_UH_.plist
    CGFontCache_H_.plist
    CGFontCache_UH_.plist

    I followed your instructions for all the above files, but it didn’t work. I went back and double checked everything.

    Any suggestions?

    • Ron B says:

      Did you use any terminal applications that moved your fonts to the user partition? If you used any app that moved your fonts over, then you might have to backup your apps (use either AppToDeb, or OpenBackup – something like that), then restore you iOS Device. After that, you should be able to add the fonts you want, then if you really want, you can use the terminal extension or app to move your system fonts to the user partition. So far I haven’t figured out anyway to get around it yet.

      RedSn0w Jailbreak on iOS 5.1.1 (iPod 4G), and 4.1.3 (iPhone 3G).

      Btw, the name of the retina font config file is: “CGFontCache@2x.plist”
      The “CGFontCacheReduced” plists are probably the new ones made by the scripts, and the other ones are the old ones used by ios.

  2. Bob C says:

    I should say that I’m using an iPhone 3G with iOS 4.2.1 (jailbroken and unlocked).

Leave a Reply