swift variablefonts
1.1.0
Uso más fácil de fuentes variables con AppKit, Uikit y Swiftui. Para iOS, MacOS, Tvos, Watchos y Visionos
Extiende NSFont de Appkit, UIKIT's UIFont y Font de Swiftui con funciones de fuentes variables. ¡No podría ser más fácil!
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 )
} )
) El diccionario que suministra para configurar los ejes usa FontAxis.Name como claves. Este tipo viene con un conjunto de nombres de eje bien conocidos. Es decir .weight ( wght ), .width ( wdth ), etc. Este tipo es ExpressibleByStringLiteral . Los literales de cadena se pueden usar para nombres de eje personalizados.