Я использую этот большой код из New Font Features at WWDC 2015:Как найти разные ключи для UIFontFeatureTypeIdentifierKey?
import UIKit
let pointSize : CGFloat = 60.0
let systemFontDesc = UIFont.systemFont(ofSize: pointSize,
weight: UIFontWeightLight).fontDescriptor
let fractionFontDesc = systemFontDesc.addingAttributes(
[
UIFontDescriptorFeatureSettingsAttribute: [
[
UIFontFeatureTypeIdentifierKey: kFractionsType,
UIFontFeatureSelectorIdentifierKey: kDiagonalFractionsSelector,
],
]
])
let label = UILabel(frame: CGRect(x: 0, y: 0, width: 200, height: 100))
label.font = UIFont(descriptor: fractionFontDesc, size:pointSize)
label.text = "12/48"
видео WWDC показывает другие способы применения UIFontDescriptorFeatureSettingsAttribute таких как начальники (е = mc²)
Но каковы ключи, чтобы разблокировать другие атрибуты ?
Страница документации для UIFontDescriptorFeatureSettingsAttribute просто говорит, что это массив словарей, содержащих UIFontFeatureTypeIdentifierKey и UIFontFeatureSelectorIdentifierKey.
Документация для этих двух клавиш (type и selector) просто говорит, что они NSNumbers.
Для фракций, тип kFractionsType и селектор kDiagonalFractionsSelector
Как я могу найти ключи для других доступных функций?
Спасибо - это работает и распечатывает все различные варианты ключей, хотя он дает только значения Int, а не более описательные переменные для этих Ints, таких как kFractionsType и kDiagonalFractionsSelector – RanLearns
Правильно, но, как я сказал в своем ответе , соответствующие имена находятся в заголовке. – matt
Где/как вы смотрите в заголовке? Я, наконец, нашел здесь все разные «магические имена»: https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html – RanLearns