swift variablefonts
1.1.0
AppKit、Uikit、Swiftuiを使用した変数フォントの使いやすい。 iOS、macos、tvos、watchos、visionosの場合
AppkitのNSFont 、UIKITのUIFont 、SWIFTUIのFontを可変フォント機能を拡張します。簡単ではありませんでした!
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キーとして使用します。このタイプには、よく知られている軸名のセットが付属しています。 IE .weight ( wght )、. .width ( wdth )など。このタイプはExpressibleByStringLiteralです。文字列リテラルは、カスタム軸名に使用できます。