|
| 1 | +import Foundation |
| 2 | +import SwiftUI |
| 3 | +import UIKit |
| 4 | + |
| 5 | +extension Font { |
| 6 | + public static func registerFonts() { |
| 7 | + _ = UIFont.registerFont(bundle: .module, fontName: "Lato-Regular", fontExtension: "ttf") |
| 8 | + _ = UIFont.registerFont(bundle: .module, fontName: "Poppins-Regular", fontExtension: "ttf") |
| 9 | + _ = UIFont.registerFont(bundle: .module, fontName: "Inter", fontExtension: "ttf") |
| 10 | + _ = UIFont.registerFont(bundle: .module, fontName: "Inter-Italic", fontExtension: "ttf") |
| 11 | + _ = UIFont.registerFont(bundle: .module, fontName: "SourceCodePro", fontExtension: "ttf") |
| 12 | + _ = UIFont.registerFont(bundle: .module, fontName: "SourceCodePro-Italic", fontExtension: "ttf") |
| 13 | + _ = UIFont.registerFont(bundle: .module, fontName: "Roboto", fontExtension: "ttf") |
| 14 | + _ = UIFont.registerFont(bundle: .module, fontName: "Roboto-Italic", fontExtension: "ttf") |
| 15 | + _ = UIFont.registerFont(bundle: .module, fontName: "OpenSans", fontExtension: "ttf") |
| 16 | + _ = UIFont.registerFont(bundle: .module, fontName: "OpenSans-Italic", fontExtension: "ttf") |
| 17 | + _ = UIFont.registerFont(bundle: .module, fontName: "Montserrat", fontExtension: "ttf") |
| 18 | + _ = UIFont.registerFont(bundle: .module, fontName: "Montserrat-Italic", fontExtension: "ttf") |
| 19 | + _ = UIFont.registerFont(bundle: .module, fontName: "Raleway", fontExtension: "ttf") |
| 20 | + _ = UIFont.registerFont(bundle: .module, fontName: "Raleway-Italic", fontExtension: "ttf") |
| 21 | + _ = UIFont.registerFont(bundle: .module, fontName: "Nunito", fontExtension: "ttf") |
| 22 | + _ = UIFont.registerFont(bundle: .module, fontName: "Nunito-Italic", fontExtension: "ttf") |
| 23 | + _ = UIFont.registerFont(bundle: .module, fontName: "DMSans", fontExtension: "ttf") |
| 24 | + _ = UIFont.registerFont(bundle: .module, fontName: "DMSans-Italic", fontExtension: "ttf") |
| 25 | + } |
| 26 | + |
| 27 | +} |
| 28 | + |
| 29 | +extension UIFont { |
| 30 | + |
| 31 | + static func registerFont(bundle: Bundle, fontName: String, fontExtension: String) -> Bool { |
| 32 | + guard let fontURL = bundle.url(forResource: fontName, withExtension: fontExtension) else { |
| 33 | + fatalError("Couldn't find font \(fontName)") |
| 34 | + } |
| 35 | + guard let fontDataProvider = CGDataProvider(url: fontURL as CFURL) else { |
| 36 | + fatalError("Couldn't load data from the font \(fontName)") |
| 37 | + } |
| 38 | + guard let font = CGFont(fontDataProvider) else { |
| 39 | + fatalError("Couldn't create font from data") |
| 40 | + } |
| 41 | + var error: Unmanaged<CFError>? |
| 42 | + return CTFontManagerRegisterGraphicsFont(font, &error) |
| 43 | + } |
| 44 | +} |
0 commit comments