Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How do I include a font with my iPhone application?

I've already seen this post:

Can I embed a custom font in an iPhone application?

which is helpful, but I'd love to simply load the font via:

UIFont* font = [UIFont fontWithName:@"Harrowprint" size:20];

Some people have reported this possible but it's not working for me. Can someone confirm how to bundle a custom font with an iphone app?

Also, in the aforementioned post, one answer notes: The "name" of the font is not necessarily the filename.

How do I determine the "name" of the font that would be recognized by UIFont? It's possible i'm not using the correct name.

like image 226
Keith Fitzgerald Avatar asked Feb 19 '09 16:02

Keith Fitzgerald


2 Answers

There are several steps you need to take:

1) Make sure you have the rights to distribute the font. Most fonts -- even free ones -- do not allow you to distribute them. Putting them in your app most likely consitutes 'distribution' and would be considered illegal.

2) Copy the font to your Resources folder in your app. Make sure it's in your Copy Files build phase.

3) Add a "Fonts provided by application" key to the plist file, and add the complete file name of the font (including extension)

4) Get the 'name' of the font by putting in a temporary line of code:

NSLog(@"%@",[UIFont familyNames]);

Build and run the app. This will print to the Console the family names of all the fonts on the device. Find the one that matches your font.

You can then use that font name in the fontWithName: method.

like image 115
August Avatar answered Sep 21 '22 22:09

August


To add onto August's answer above, you need to add a "Fonts provided by application" key to the plist file, and add the complete file name of the font (including extension). Then the font will appear in the family printout and you can use that name to set the font.

like image 25
Ned Avatar answered Sep 22 '22 22:09

Ned