✒️
[SwiftUI] URLから取得したFontを使う
以下の方法でURLからフォントをダウンロードしてSwiftUIのFontに変換できます。
import CoreText
import SwiftUI
func loadFont(url: URL) {
let session = URLSession(configuration: .default, delegate: nil, delegateQueue: nil)
let request = URLRequest(url: url)
let task = session.dataTask(with: request){ (data: Data?, response: URLResponse?, error: Error?) in
if let error = error{
print("Failure: ", error.localizedDescription)
return
}
if let fontData = (data as CFData?),
let dataProvider = CGDataProvider(data: fontData),
let cgFont = CGFont(dataProvider)
{
let ctFont = CTFontCreateWithGraphicsFont(cgFont, UIFont.labelFontSize, nil, nil)
let font = Font(ctFont) //SwiftUI.Font
}else{
print("Failure")
}
}
task.resume()
}
端末へのインストールまでできると完璧なのですが、どうやるんだろう・・・。
Discussion