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
Alamofire Multipart Upload Post Error in Swift
Subview Gesture Recognizer Not Being Called
Swift - Set Delegate for Singleton
Showing Hidden View Really Slow
Increase the Width of Content View Programmatically in Swift
Uialertcontroller Visible Only When Viewdidappear Has Finished Its Call
Swift: How to Change Detailview Depending on Sidebar Selection State with Swiftui 4
How to Send Emails in Swift Using Mailgun
Why Do I Get an Mkerrordomain Error When Doing a Local Search
Why Can't I Call My Function with Gesturetaprecogniser
Why Is Uisearchcontroller Changing the Navigation Bar Colors
How to Call the Apple Wallet from iOS App Using Swift
How to Catch Accessibility Focus Changed
Swift Function That Takes in Array Giving Error: '@Lvalue $T24' Is Not Identical to 'Cgfloat'
How to Get the Opposite Value of a Bool in Swift