There appears to be confusion about using the San Francisco Font. The restriction about only being able to use SF font for mockups is if you download the font yourself. Apple says you should not do this for native app development as Apple doesn't license their fonts for download so you can include a copy in your application. However, Apple actively encourages developers to use SF font in their apps by using system APIs.
For your application, use the system font APIs, and you will get San Francisco font. This will work for all your Apple ecosystem devices (iphone, ipad, apple watch, apple tv, Macintosh, etc.) as Apple has standardized San Francisco as system font across their product line.
For example, see UIFont.systemFont(ofSize: ) or UIFont.preferredFont(style:)
For your website, there are tags for browsers that allow you to specify system font.
"You can access system fonts in a standards-compliant way by utilizing the system-ui family. And in Safari 13.1 we introduced new standards-based keywords to access serif, monospace, and rounded forms."
https://developer.apple.com/forums/thread/127350?answerId=614912022#614912022
Doug Hill
https://github.com/djfitz/SFFontFeatures
Selecting any option will automatically load the page
Post
Replies
Boosts
Views
Activity
It appears Apple has restricted getting SF font by name in latest OS release. Use System Font APIs instead.
NSFont has the following methods (amongst others):
systemFont(ofSize:)
preferredFont(forTextStyle:options:)
Hope this helps.
Doug Hill
https://github.com/djfitz/SFFontFeatures
Topic:
UI Frameworks
SubTopic:
AppKit
Tags:
My understanding is that San Francisco is only licensed for use to write apps for Apple devices (e.g. iPhone, Apple Watch, Macintosh, etc.)
Outside of app development, you can create UI mock-ups.
Otherwise I believe SF font is not licensed for other purposes, and I think this also includes symbols. I would suggest consulting the Symbols and SF font license terms.
For installed fonts, use the UIFont initializer to refer to a font by name. For example
UIFont.init?(name: String, size: CGFloat)
Use the UIFont familyNames property to get the list of installed font families then get the actual installed fonts with fontNames(forFamilyName:)
Topic:
App & System Services
SubTopic:
Core OS
Tags:
I am not aware of any separate requirement for including font licenses as part of app review or approval. FWIW I worked on an iOS app in the past that included Roboto with no issues from Apple app review.
Second, my understanding is that Apple doesn’t license SF font for use in apps on non-Apple devices. You will have to use a different font.
Topic:
Programming Languages
SubTopic:
Swift
Tags:
You can use San Francisco font in both your Apple ecosystem devices (iphone, ipad, apple watch, etc.), and your websites.
The OS hides SF font from the list of installed fonts enumerated by the app. So you can’t pick it from a list.
For your app, use the UIFont.systemFont APIs. You will get San Francisco font on devices for which San Francisco is the system font.
For your website, there are tags for Safari that allow you to specify system font.
"You can access system fonts in a standards-compliant way by utilizing the system-ui family. And in Safari 13.1 we introduced new standards-based keywords to access serif, monospace, and rounded forms."
https://developer.apple.com/forums/thread/127350?answerId=614912022#614912022
The restriction on San Francisco font is that if you download the font, any use would be allowed for UI mockups only. So don’t do this in your app. Give the fonts to your UI designer for mocks and use System font APIs in your app.
My understanding is that Symbols is similar to SF font in terms of license restrictions.
I downloaded the SF Pro font installer at https://developer.apple.com/fonts
In the installer, I see some interesting license agreement terms:
"IMPORTANT NOTE: THE APPLE SF PRO FONT IS TO BE USED SOLELY FOR CREATING MOCK-UPS OF USER INTERFACES TO BE USED IN SOFTWARE PRODUCTS RUNNING ON APPLE’S iOS, iPadOS, macOS OR tvOS OPERATING SYSTEMS, AS APPLICABLE."
and
"B. Other Use Restrictions. The grants set forth in this License do not permit you to, and you agree not to, install, use or run the Apple Font for the purpose of creating mock-ups of user interfaces to be used in software products running on any non-Apple operating system or to enable others to do so. You may not embed the Apple Font in any software programs or other products. Except as expressly provided for herein, you may not use the Apple Font to, create, develop, display or otherwise distribute any documentation, artwork, website content or any other work product."
According to my read of this, you cannot use SF font for a book. If you are unsure of any of the license terms I would consult an IP attorney before using the font.
"You can access system fonts in a standards-compliant way by utilizing the system-ui family. And in Safari 13.1 we introduced new standards-based keywords to access serif, monospace, and rounded forms."
https://developer.apple.com/forums/thread/127350?answerId=614912022#614912022
The restriction on San Francisco font is that if you download the font, any use would only be allowed for UI mockups. So don’t download the font and add to your app bundle. Use the tags above for web pages or use the System font in UIkit, SwiftUi. Etc.
The system font is San Francisco however it’s handled differently than other installed fonts. For example you can’t search for it by name, and it won’t show up in the list of installed fonts. This is because the system font can and has changed in the past. Ideally you would like to write your code without assuming the system font is San Francisco. You should also not make my assumptions about the font name specifics, like pro vs regular. These details can change at any time.
San Francisco is also unique because it has optical variants, Text and Display. The system picks which variant to use based on the point size. 19 pt and lower uses text, 20 and higher uses display.
In general you don’t pick the variant manually; just use the syatem font and set the point size and the system does the rest.
Doug Hill
https://github.com/djfitz/SFFontFeatures
Topic:
App & System Services
SubTopic:
Core OS
Tags:
UIFont has a number of convenience constructors for creating variations of the system font.
// Bold system font
let boldSysFont = UIFont.boldSystemFont(ofSize: 12)
// Medium system font
let mediumSysFont = UIFont.systemFont(ofSize: 12, weight: .medium)
// Create a rounded variant using font descirptor
let sysFont = UIFont.systemFont(ofSize: 12)
if let descRound = sysFont.fontDescriptor.withDesign(.rounded) {
let roundedSysFont = UIFont(descriptor: descRound, size: 12)
}
I looked at the list of installed font families on iOS and iPadOS, and I don’t see Apple Chancery as being available.
Topic:
App & System Services
SubTopic:
General
Tags:
You can also try using monospaced system font. For example:
UIFont.monospacedDigitSystemFont(ofSize fontSize: CGFloat, weight: UIFont.Weight)
or
UIFont.monospacedSystemFont(ofSize fontSize: CGFloat, weight: UIFont.Weight)
It might be interesting if either of these also have an appropriately sized space character.
Topic:
UI Frameworks
SubTopic:
UIKit
Tags:
iOS uses San Francisco font as the sans-serif system font. To get the license terms, download the font here and look inside for license text:
https://developer.apple.com/fonts
You can use the rounded variant of San Francisco font in your iOS app. For example:
// Create a rounded variant using font descirptor
let sysFont = UIFont.systemFont(ofSize: 12)
if let descRound = sysFont.fontDescriptor.withDesign(.rounded) {
let roundedSysFont = UIFont(descriptor: descRound, size: 12)
}
Font files often have license terms embedded in them so you can always look at each one if you want.
That said, installed fonts are available to app developers via the UIFont or NSFont APIs. My understanding is that app developers are free to use these fonts in their apps using those APIs.
One thing that is not allowed is to download the font files themselves and embed them in your application bundle for distribution. Only use the APIs. You can give the font files to a UI designer to create mockups. Any other use you should check the font license agreement to see usage terms.