文字っぽいの。

文字を書いています。写真も混ざります。

SwiftでLatoフォントを簡単に使えるLatoSwiftをつくりました。

f:id:FromAtom:20220104023507p:plain

作ったもの

github.com

できること

UIKitやSwiftUI製のアプリで、簡単にLatoフォントを扱えるようになります。SwiftUIでも使えるので、macOS向けにSwiftUIアプリを作った場合でも利用可能です。

for UIKit

import LatoSwift

let latoRegularFont = Lato.uiFont(ofSize: 16)
let latoBoldFont = Lato.uiFont(ofSize: 16, weight: .bold)
let latoLightItalicFont = Lato.uiFont(ofSize: 16, weight: .light, style: .italic)

for SwiftUI

import SwiftUI
import LatoSwift

struct ContentView: View {
    var body: some View {
        VStack {
            Text("Lato Regular")
                .font(Lato.font(ofSize: 16))
            Text("Lato Bold")
                .font(Lato.font(ofSize: 16, weight: .bold))
            Text("Lato Light Italic")
                .font(Lato.font(ofSize: 16, weight: .light, style: .italic))
        }
    }
}

こんな感じで簡単にLato指定で表示できます。

f:id:FromAtom:20220104024448p:plain

フォント(.ttf)も一緒に入ってくるので、使うときはこのライブラリを導入するだけで済みます。

なお、現時点では自分しか使わなさそうなのでSwiftPMのみの対応です。

注意点

READMEにも書いてありますが、LicensePlistでライセンス表記を自動生成している場合、LatoSwiftのライセンス(MIT)は読み込まれますが、Latoフォント自体のライセンス(SIL Open Font License)を読み込んでくれません。license_plist.yml を自分で用意して、ライセンス表記を追加してあげて下さい。

地味に面倒なので自動で読み取らせたいのですが、どうにもやり方が分からなくて断念しました。誰か詳しい人がいたら教えて下さい。1

モチベーション

副業や個人アプリでLatoフォントを使うことがままあるのですが、毎回Fontファイルをダウンロードして、読み込み用のコードやそれっぽい仕組みを用意するのが面倒だったので作りました。

また、SwiftPM中心のプロジェクト構成にしていると、Asset周りで地味に面倒な感じになったので「これならライブラリ化しちまえ」となったわけです。

fromatom.hatenablog.com


  1. LICENSEファイルに2つ分のライセンスを書いてしまえば良さそうだけど、それでいいのかよく分かっていない。