Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
Get fonts family and font names list on iOS
// List all fonts on iPhone
NSArray *familyNames = [[NSArray alloc] initWithArray:[UIFont familyNames]];
NSArray *fontNames;
NSInteger indFamily, indFont;
for (indFamily=0; indFamily<[familyNames count]; ++indFamily)
{
NSLog(@"Family name: %@", [familyNames objectAtIndex:indFamily]);
fontNames = [[NSArray alloc] initWithArray:
[UIFont fontNamesForFamilyName:
[familyNames objectAtIndex:indFamily]]];
for (indFont=0; indFont<[fontNames count]; ++indFont)
{
NSLog(@" Font name: %@", [fontNames objectAtIndex:indFont]);
}
[fontNames release];
}
[familyNames release];
@vanbungkring

This comment has been minimized.

Copy link

commented Mar 17, 2013

thanks man!

@bernardinus

This comment has been minimized.

Copy link

commented Oct 31, 2013

thanks

@Vasant-Patel

This comment has been minimized.

Copy link

commented Dec 31, 2015

A more functional approach
var fonts = UIFont.familyNames().map({ UIFont.fontNamesForFamilyName($0)}).reduce([]) { $0 + $1 }

@0x7fs

This comment has been minimized.

Copy link

commented Mar 31, 2016

Similar to @TheiOSDeveloper's suggestion, but if you need an Array of UIFonts, you can use this.

func generateFonts(size: CGFloat) -> [UIFont] {
    return UIFont.familyNames().flatMap {
        UIFont.fontNamesForFamilyName($0).flatMap {
            UIFont(name: $0, size: size)
        }
    }
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.