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:
- A jailbroken iPhone;
- FontCreator (Free Trial), to view your font’s information;
- PropertyList Editor, to edit the font list file.
- Uploading your font to iPhone;
- Editing the font list file CGFontCache.plist;
- 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:
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.
Add the info:
<key>Full Font Name</key>
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
Add the Font Family and Subfamily list, the formular is this:
<key>Font Family Name</key>
<string>Full Font Name</string>
<string>Full Font Name for Bold</string>
<string>Full Font Name for BoldItalic</string>
<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.
- How To Jailbreak iPhone 3G with iOS 4.0.2 Using Redsn0w 0.9.5b5-5
- Pixelpipe Uploads Your 720P iPhone Or iPod Video Wirelessly
- 20% Off All In-Stock Games At EA Store
- iPhone iOS 4.0.1 Draws Better Signal Bars Without Fixing Your Signal Problems
- How to Install Flash On Your iPhone 4 Using Frash
- iPad Firmware 3.2.1 Released to Fix Wi-Fi Connection
- Ultrasn0w 1.1-2 Released Soon to Unlock Your iPhone 4, 3GS and 3G