001
001

Reputation: 65087

iPhone Development: how to use custom fonts?

I used a special font in my photoshop design,

  1. is it possible to use these fonts natively in the iphone app? or

  2. do I need to convert them into an image first?

  3. If this is the only way to do it, what do you do with dynamic text?

Upvotes: 7

Views: 22830

Answers (4)

Ayman
Ayman

Reputation: 193

Note :

The parameter of “fontWithName” must be the real name of the font, not the name of the file. If you open your ttf file with the Mac Font Book, you will directly see its name on top of the window.

Upvotes: 0

edzio27
edzio27

Reputation: 4140

  1. Copy your font file into Resources

  2. In your application .plist create (if it's exist just create a row) a row called "Fonts provided by application" and then in "item 0" copy your font name for example "Ciutadella-Bold.otf" (if there are some spaces in font name, rename it and for example replace all spaces to minus '-')

  3. Then you can define this font in your application:

    UIFont *CiutadellaBold = [UIFont fontWithName:@"Ciutadella-Bold" size:17.0f];
    
  4. And use in for instance in uiLabel:

    [uiLabel setFont:CiutadellaBold];
    

Upvotes: 30

Tobias
Tobias

Reputation: 4397

Yes it is possible with iOS 3.2 and later. You need to have the fonts file, I forget what formats exactly. Add the font file as a resource to your project then add the names of the fonts in the applications info.plist in an array under the raw key 'UIAppFonts' or under the friendly key 'Fonts provided by application'.

Here's a sample application that you can look at - https://files.me.com/tobiasoleary/ey08n1. It prints out the all the fonts accessible to the application. Two fonts have been added Flames and Firestarter.

This is by far the easiest way to add custom fonts to application. If you need to support custom fonts for iOS before 4.0 see http://github.com/zynga/FontLabel/tree/master

This question has been asked before here: Can I embed a custom font in an iPhone application?.

Upvotes: 4

Julio Gorgé
Julio Gorgé

Reputation: 10106

UIFont *font = [UIFont fontWithName:@"MyFont" size:20];
[label setFont:font];

Where "MyFont" would be a TrueType or OpenType file in your project (sans the file extension), and label would be an instance of UILabel.

Upvotes: 26

Related Questions