in Cocoa

Custom fonts on iPad and iPhone

Just incase you didn’t realise, with iOS 3.2 (iPad) and above you can load in custom fonts and use them with a standard UIFont object. There are a few catches… The font must be in the following format: –

  • OpenType Format (OTF)
  • TrueType Format (TTF)

Once you’ve dragged your chosen font file into an Xcode project, the next step is to add a line into the application’s Info.plist file. Add a new key UIAppFonts and make it an array. Expand the array and add a new string for each font, making the string the file’s full name including an extension.

Xcode Screenshot

You’re all set up now to use the font. That would be great if you knew which font it was! Here is a great little snippet for looping through all the fonts loaded into the system. Scan through the list and find your font.

To use your font now, just use the standard UIFont constructor…

Some points to note: –

  • You can also use the font inside UIWebViews.
  • Interface Builder for XCode 3.2 has a bug that won’t let you choose the font. You have to do it in code.
  • Loading in too many fonts will slow your loading time down and will hurt your users’ eyes.

Write a Comment



  1. I am finding an odd issue with this feature involving the order in which those strings are added to the UIAppFonts array. I am using two .otf files that represent two different font styles in the same family (Knockout-27.otf and Knockout-30.otf) as well as MyriadPro.otf. Using your code snippet I can see that all 3 of these custom fonts are available for the UIFont class. However, when trying to set these fonts, the two that are of the same family will not show up distinctly. What I mean is that I use them in two differently places in the App so I need both, but if I have Knockout-27.otf first in the array, then all labels that should have had fonts from the Knockout family use that style. If I put Knockout-30.otf in the file first, vice-versa. has anyone else experienced this problem? Where else can I look for a solution. It happens on device and in the simulator, in iOS4.1 and iOS4.2.

    • UPDATE: found a discussion on Apple’s dev forums that confirms that others have faced this issue. Seems to be a bug with no known workaround right now. I even tried converting my .otf files to .ttf and seeing if they were handled any differently, but that did not fix it either.

  2. Hey,

    I want to use the capitals.dfont in xcode
    capitals is a basic mac font, which can be found in fontlibrary app.
    I am using xcode 4.3.3 and building for iphone.
    I only work with storyboard so please help me with very easy instructions


  3. when is add custom font file value in the info.plist and run the app in simulator;my simulator get hang in attaching to app name;after that app does not run over simulator. i am using xcode 4.3.1 ios 5.1

  4. We’re a bunch of volunteers and opening a new scheme in our community.
    Your website offered us with useful information to work on. You have performed a formidable job and our whole group will be grateful to you.

  5. I do not know if it’s just me or if perhaps everyone else encountering problems
    with your website. It appears as if some of the text on your content are running off the screen. Can somebody else please comment and let
    me know if this is happening to them too? This could be a problem with my web
    browser because I’ve had this happen previously.

  6. Can I just say what a relief to uncover someone who actually
    knows what they’re talking about on the net. You actually know how to bring an issue
    to light and make it important. More people
    ought to check this out and understand this side of the story.

    I can’t believe you’re not more popular because you definitely have the gift.