Simplified Version? No longer requires UIKit, only for SwiftUI? Must test
This commit is contained in:
		
							parent
							
								
									e049a2cb60
								
							
						
					
					
						commit
						3538f491f8
					
				|  | @ -23,7 +23,7 @@ let package = Package( | |||
|             name: "CustomFontsPackage", | ||||
|             dependencies: [], | ||||
|             exclude: ["Images"], | ||||
|             resources: [.process("Fonts")] | ||||
|             resources: [.process("Resources")] | ||||
|         ), | ||||
|         .testTarget( | ||||
|             name: "CustomFontsPackageTests", | ||||
|  |  | |||
|  | @ -1,38 +1,49 @@ | |||
| import Foundation | ||||
| import UIKit | ||||
| //import UIKit | ||||
| 
 | ||||
| public let fontBundle = Bundle.module | ||||
| 
 | ||||
| public func registerFonts() { | ||||
|     _ = UIFont.registerFont(bundle: .module, fontName: "BeautifulPeople-Regular", fontExtension: "ttf") | ||||
|     _ = UIFont.registerFont(bundle: .module, fontName: "VeganStyle-Regular", fontExtension: "ttf") | ||||
| } | ||||
| //public func registerFonts() { | ||||
| //    _ = UIFont.registerFont(bundle: .module, fontName: "BeautifulPeople-Regular", fontExtension: "ttf") | ||||
| //    _ = UIFont.registerFont(bundle: .module, fontName: "VeganStyle-Regular", fontExtension: "ttf") | ||||
| //} | ||||
| 
 | ||||
| extension UIFont { | ||||
|     static func registerFont(bundle: Bundle, fontName: String, fontExtension: String) -> Bool { | ||||
| 
 | ||||
|         guard let fontURL = bundle.url(forResource: fontName, withExtension: fontExtension) else { | ||||
|             fatalError("Couldn't find font \(fontName)") | ||||
|         } | ||||
| 
 | ||||
|         guard let fontDataProvider = CGDataProvider(url: fontURL as CFURL) else { | ||||
|             fatalError("Couldn't load data from the font \(fontName)") | ||||
|         } | ||||
| 
 | ||||
|         guard let font = CGFont(fontDataProvider) else { | ||||
|             fatalError("Couldn't create font from data") | ||||
| func registerFont(_ name: String, fileExtension: String) { | ||||
|     guard let fontURL = Bundle.module.url(forResource: name, withExtension: fileExtension) else { | ||||
|         print("No font named \(name).\(fileExtension) was found in the module bundle") | ||||
|         return | ||||
|     } | ||||
| 
 | ||||
|     var error: Unmanaged<CFError>? | ||||
|         let success = CTFontManagerRegisterGraphicsFont(font, &error) | ||||
|         guard success else { | ||||
|             print("Error registering font: \(fontName). Maybe it was already registered.") | ||||
|             return false | ||||
|     CTFontManagerRegisterFontsForURL(fontURL as CFURL, .process, &error) | ||||
|     print(error ?? "Successfully registered font: \(name)") | ||||
| } | ||||
| 
 | ||||
|         return true | ||||
|     } | ||||
| } | ||||
| //extension UIFont { | ||||
| //    static func registerFont(bundle: Bundle, fontName: String, fontExtension: String) -> Bool { | ||||
| // | ||||
| //        guard let fontURL = bundle.url(forResource: fontName, withExtension: fontExtension) else { | ||||
| //            fatalError("Couldn't find font \(fontName)") | ||||
| //        } | ||||
| // | ||||
| //        guard let fontDataProvider = CGDataProvider(url: fontURL as CFURL) else { | ||||
| //            fatalError("Couldn't load data from the font \(fontName)") | ||||
| //        } | ||||
| // | ||||
| //        guard let font = CGFont(fontDataProvider) else { | ||||
| //            fatalError("Couldn't create font from data") | ||||
| //        } | ||||
| // | ||||
| //        var error: Unmanaged<CFError>? | ||||
| //        let success = CTFontManagerRegisterGraphicsFont(font, &error) | ||||
| //        guard success else { | ||||
| //            print("Error registering font: \(fontName). Maybe it was already registered.") | ||||
| //            return false | ||||
| //        } | ||||
| // | ||||
| //        return true | ||||
| //    } | ||||
| //} | ||||
| 
 | ||||
| struct CustomFontsPackage { | ||||
|     var text = "Hello, World!" | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue