swift variablefonts
1.1.0
Проще говоря, использование переменных шрифтов с Appkit, Uikit и Swiftui. Для iOS, MacOS, TVOS, WatchOS и Visionos
Распространяет NSFont Appkit, UIKIT UIFont и Font Swiftui с переменными функциями шрифта. Не мог быть легче!
let font = NSFont ( name : " Amstelvar " , size : 20 , axes : [
. weight : 650 ,
. opticalSize : 144 ,
" GRAD " : 500 ,
] ) let scienceGothic = UIFont ( name : " ScienceGothic " , size : 20 ) !
let slanted = scienceGothic . withAxis ( . slant , value : - 10 ) let tiltWarp = NSFont ( name : " TiltWarp-Regular " , size : 100 ) !
let axes = tiltWarp . allAxes ( )
print ( axes )
/*
[VariableFonts.FontAxis(
id: 1481789268,
name: "XROT",
description: "Rotation in X",
minimumValue: -45.0,
maximumValue: 45.0,
defaultValue: 0.0),
etc...]
*/ Text ( " Hello world " )
. font ( . custom ( name : " Fraunces " , size : 40 , axes : [
. weight : 900 ,
" SOFT " : 100 ,
" WONK " : 1 ,
] ) ) let nunito = UIFont ( name : " NunitoSans " , size : 20 ) !
let axes = nunito . allAxes ( )
// Creates a UIFont with all axes set to their maximum value.
let megaNunito = nunito . withAxes (
Dictionary ( uniqueKeysWithValues : axes . map { axis in
return ( axis . id , axis . maximumValue )
} )
) Словарь, который вы поставляете для настройки осей, использует FontAxis.Name в качестве ключей. Этот тип поставляется с набором известных имен оси. Т.е. .weight ( wght ), .width ( wdth ) и т. Д. Этот тип является ExpressibleByStringLiteral . Строковые литералы могут использоваться для пользовательских имен оси.