How do I get the font name from an otf or ttf file?

Fogmeister picture Fogmeister · May 28, 2013 · Viewed 76.6k times · Source

I have used a custom font in my previous app.

The file name was "ProximaNova-Regular.otf" and to load the font I just used...

[UIFont fontWithName:@"ProximaNova-Regular" size:20];

This worked perfectly.

Now in this new app I have three font files...

Dude_Willie.otf
Impact
handsean.ttf

But I'm not sure how to load these.

I have tried

[UIFont fontWithName:<the file name> size:20];

But this just falls back to using Helvetica.

How can I find what name to use?

Answer

Segev picture Segev · May 28, 2013

Right click on the TTF -> Get Info

"Full Name" is what you're looking for.

That's what worked for me with TTFs.

Edit:

I just used a font that had a different name from the "Full Name" in Get Info.

For the compilation of this answer, If the quick check above doesn't work, run this code in your project:

for (NSString *fontFamilyName in [UIFont familyNames]) {
    for (NSString *fontName in [UIFont fontNamesForFamilyName:fontFamilyName]) {
        NSLog(@"Family: %@    Font: %@", fontFamilyName, fontName);
    }
}

And search for the correct name of the font you want to use.

Swift 3.0 code:

for fontFamilyName in UIFont.familyNames{
    for fontName in UIFont.fontNames(forFamilyName: fontFamilyName){
        print("Family: \(fontFamilyName)     Font: \(fontName)")
    }
}