Available Fonts on iOS

Visual List of iOS Fonts?

Have you tried iOS Fonts?

This gives you a visual of all of the available fonts with the ability to enter your own string of text to see how it would look.

This doesn't appear to have been updated for iOS 7 however but I am unaware of any additional fonts which have been added since iOS 6.

List of iOS font names

You can print out all fonts and families available using this code:

    for family in UIFont.familyNames {
print("family:", family)
for font in UIFont.fontNames(forFamilyName: family) {
print("font:", font)
}
}

How to check if a font is available in version of iOS?

[UIFont familyName] is supported back to iPhone OS 2.0 (before 2.0, third-party apps were not allowed on iPhone or iPod touch) , so I would use that to check to see if a font family exists on the current device, and if it doesn't exist, use a suitable fall-back font for that version of iOS. Here's John Gruber's list of iPhone fonts from the original iPhone in 2007 (contrasted with the fonts in Mac OS X of the day). I haven't checked them all, but the iOS fonts I did check are still in iOS 5:

  • http://daringfireball.net/misc/2007/07/iphone-osx-fonts

Here's an example of using [UIFont familyName]:

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

This will produce a list like this:

Font families: (
Thonburi,
"Snell Roundhand",
"Academy Engraved LET", ... et cetera.

Once you know the family name, you can use the UIFont class method fontNamesForFamilyName to get an NSArray of the names of all the fonts in the family. For example:

NSLog (@"Courier New family fonts: %@", [UIFont fontNamesForFamilyName:@"Courier New"]);

That will produce a list like this:

Courier New family fonts: (
CourierNewPSMT,
"CourierNewPS-BoldMT",
"CourierNewPS-BoldItalicMT",
"CourierNewPS-ItalicMT"
)

The following example code prints a list of each font in every family on the current device:

NSArray *fontFamilies = [UIFont familyNames];

for (int i = 0; i < [fontFamilies count]; i++)
{
NSString *fontFamily = [fontFamilies objectAtIndex:i];
NSArray *fontNames = [UIFont fontNamesForFamilyName:[fontFamilies objectAtIndex:i]];
NSLog (@"%@: %@", fontFamily, fontNames);
}

For more information, check out the iOS Developer Reference document for the UIFont class methods familyNames and fontNamesForFamilyName:.

iOS 13 Installed Fonts Retrieval

At first I thought you could use CTFontManagerCopyRegisteredFontDescriptors with the kCTFontManagerScopePersistent scope but that always return a CFArrayRef with 0 items. I'm guessing if your own don't install it, you can't see it.

So I found out that enumeration of User Custom Fonts in iPadOS 13 is prohibited. Enumeration will only return system font because of privacy concerns. See Font Management and Text Scaling WWDC Video at timestamp 18:05.

The only way to reach those font is to use the provided UIFontPickerViewController class for your font selector with limited customisation.

Are custom fonts that I add to my iOS app available to other apps on the device?

No. As the other apps can't access your app's bundle resources, they can't use your custom font.

Since It's not possible to access other app bundle details, there is no document available since now.

But you can learn more about NSBundle here and about Accessing a Bundle's Content here.

Where Can I Find Sprite Kit Available fonts?

Here is a list of iOS 7 installed fonts



Related Topics



Leave a reply



Submit