Which font formats does iOS support? - ios

I'd like to know which font formats iOS supports. I already know that iOS supports the TTF format. Does it support any others—for example, PFM or PMB?

As of iOS 7, both TTF and OTF font formats are supported. You can distribute these fonts in your apps, or through configuration profiles (to make them available system wide).

As of iOS 10, both WOFF and WOFF2 formats are supported. Though there's no info about it

The official documentation on this is spotty to say the least. In the article Adding a Custom Font to Your App, Apple states that can use True Type Font (.ttf) and Open Type Font (.otf) files.
In related Apple documentation for setting up a configuration profile on iOS, Apple states that you can use
[a] font file in TrueType (.ttf) or OpenType (.otf) format. Collection formats (.ttc or .otc) are not supported.
Again only True Type Fonts and Open Type Fonts are official supported. Although this document is not directly related to app development. It is further evidence for official support for fonts only extending to .ttf and .otf.
I couldn't find any official documentation for WOFF or WOFF2 support outside of Safari.

Related

iOS - Can we skip adding font capability if we want to install fonts using CTFontManagerRegister apple ios xcode?

For iOS, Can we use below methods to download the fonts without adding Fonts capability(to avoid asking user permission), if in case you only want to download fonts for your app and not systemwide?
And is it possible the downloaded fonts will be used only by our app and not system wide any app?
{
CTFontManagerRegisterFontURLs(_:_:_:_:)
CTFontManagerRegisterFontDescriptors(_:_:_:_:)
CTFontManagerRegisterFontsWithAssetNames(_:_:_:_:_:)
}
Referring the apple documentation.

Where can I find the iOS 10 font list on apple documents?

There used be an official web page on apple support like iOS 6 font list or iOS 7 font list. But there're no such page for the later iOS versions and the iOS 6 and iOS 7 font lists are not available any more.
My question here is: Is there any official web page from apple that shows which font we can use on which iOS version? I know there's some thing like iOS Font List. Just want to know if there's an official way to get this information(all the pre-installed fonts and downloadable fonts).
If there's not, how does iosfontlist.com get those information?
Thanks!
Turns out there's no such official web site for iOS 10. But you can find a similar one here: https://developer.apple.com/fonts/system-fonts/#document
The Preinstalled fonts is helpful.

Does the CFBundleURLIconFile key have any purpose in iOS?

In an app's Info.plist the developer has the opportunity to declare custom URL schemes supported by the app. The developer may also associate each scheme with an Apple Icon Image (icns) file in the bundle that will serve as an icon.
I have never seen these URL icons used anywhere, and I can't imagine how they even would be used. Is there any purpose to setting them?
That is not an iOS thing, but is instead intended for OS X/macOS.
You can read some about it here on the macOS Human Interface Guidelines page.

Tigrinya language support in iPad / iOS

We have a website which supports the Tigrinya language, using Arial for normal text. On mobile iOS devices (iPad/iPhone), Tigrinya characters just appear as rectangular boxes.
This problem also appears on Wikipedia and Google.
Kefa, an iOS font designed specifically to support Ethiopic text, did not work for me when I added the CSS property font-family: kefa, arial; to the website.
Not possible
Ethiopic is not a supported language on iOS devices. This has been an issue for quite some time and there are numerous references on SO.
Workaround?
A common workaround would be to install a custom keyboard, which usually comes with an Apple-certified font attached to it. An example for this would be the Abyssinica Ethiopic Font, which will ship along a keyboard by EthioCloud:
Ethiopic Keyboard can provide Ethiopic font for devices which do not have built in Ethiopic fonts like iOS systems. The font payload should be a separate installation from the keyboard installation. This gives opportunity to users to change fonts without affecting the keyboard app. Use Unicode compatible Ethiopic font, and your program codes should be Unicode compatible.
Another option is Keyman 1.1, which uses the Geez font for iOS.
Best solution
All questions about this in apple forums seem to remain unanswered. I think it would be best to just link this free (mobile) Safari extension from the AppStore on your website.
Can you use the CSS3 #font-face rule? http://www.w3schools.com/css/css3_fonts.asp
Example code (from the link above):
#font-face {
font-family: myFirstFont;
src: url(sansation_light.woff);
}
div {
font-family: myFirstFont;
}
It's possible to have Tigriyna rendered on Safari/Chrome/etc on devices with iOS 8.2+
Just install DroidSansEthiopic on your device. Other fonts (e.g. Ebrima, Nyala, Kefa) would also work (modulo copyright issues). DroidSansEthiopic is an Apache licensed font.
Go to this page using Safari on your iPad/iOS - https://app.box.com/s/p32l8auh37fo6xnglgd6
Click download
Follow the steps to install a new Profile.
Tigrinya should be rendered on your Safari.

How to localize an app icon?

I am comfortable with localizing strings and images within the app. But I am having a lot of difficulty trying to localize the app icon for my supported languages (english and german).
Is this even possible? According to the Apple documentation, you can:
An iOS application should be internationalized and have a
language.lproj folder for each language it supports. In addition to
providing localized versions of your application’s custom resources,
you can also localize your application icons and launch images by
placing files with the same name in your language-specific project
directories. Even if you provide localized versions, however, you
should always include a default version of these files at the
top-level of your application bundle. The default version is used in
situations where a specific localization is not available. For more
information about localized resources, see “Localized Resources in
Bundles.”
I have tried to do this with no luck. There doesn't seem to be any helpful resources?
Other things I've tried:
Localized App Icons with Retina Display for iOS
https://iphonedevsdk.vanillaforums.com/forum/iphone-sdk-development/77660-i-have-problem-localizing-application-icon.html
Has anyone successfully achieved a localized app icon?
Since iOS 4.0, this simply doesn't seem to be possible anymore. As of 2015, the documentation has been updated and now only states that Launch Images can be localized (but does not mention App Icons anymore).
The fact that this isn't working has been confirmed by an an Apple employee on the devforums (login required) in 2010:
https://devforums.apple.com/message/330960
Bugreports have been submitted for several years, but nothing has changed. I suppose Apple wants you to use the same icon for your app all over the world – or create separate apps for specific markets.
Actually, there is a way to localize the AppIcon. By using the alternative App Icon. You can change the app icon at the run time.
if Locale.current.language.languageCode?.identifier == "en" {
UIApplication.shared.setAlternateIconName("AppIcon-en") { (error) in
print(error)
}
}

Resources