Skip to content

Instantly share code, notes, and snippets.

@shannoga
Created June 5, 2011 05:14
Show Gist options
  • Star 18 You must be signed in to star a gist
  • Fork 10 You must be signed in to fork a gist
  • Save shannoga/1008678 to your computer and use it in GitHub Desktop.
Save shannoga/1008678 to your computer and use it in GitHub Desktop.
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
Copy link

thanks man!

@bernardinus
Copy link

thanks

@Vasant-Patel
Copy link

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

@mickmaccallum
Copy link

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