How do I use custom TTF fonts in my Cocos2d iPhone apps?
I searched for this for a while and decided to post as question and answer for people wanting to implement.
The solution is quite easy.
Find the fonts you want and download them. This website has a huge collection of free fonts.
Add the font files to your project.
Add the font names to your info.plist file using the array below as an example.
Find the font's name; Double click the font file and use the font name shown in the title of the window. In this example it is "Action Man"
To use the font name the way you would normally:
CCLabel* myLabel = [CCLabel labelWithString:@"Some Text" fontName:@"Action Man" fontSize:18];
Add this to your info.plist file:
<key>UIAppFonts</key>
<array>
<string>Action Man Bold.ttf</string>
<string>AdineKirnberg-S.ttf</string>
</array>
In Cocos2D, you can include the font file with your resources and then in fontName: simply supply the filename. For example:
CCLabelTTF *label = [CCLabelTTF labelWithString:@"whatever" fontName:@"FONTNAME.ttf" fontSize:18];
This is often easier than the method Hanaan has posted.
You should use the exact same file name capitalisation as the filename.
You do not need to add fonts to your info.plist if you are only using it in Cocos2D bits.
If, like Confused, you find that the font works on the simulator but not the device, it is probably a file name capitalisation mistake. The iPhone is case-sensitive, the simulator is not.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With