Skip to content

Instantly share code, notes, and snippets.

@iamjason
Last active May 24, 2017 05:29
Show Gist options
  • Save iamjason/6a32aa4f118d49bb8932716b15394386 to your computer and use it in GitHub Desktop.
Save iamjason/6a32aa4f118d49bb8932716b15394386 to your computer and use it in GitHub Desktop.
Loading Custom Fonts - Swift 3
import UIKit
/// Load Fonts
///
/// Example Usage:
///
/// let fonts = ["SourceSansPro-Regular.otf", "GT-Walsheim-Regular.ttf"]
///
/// let loadedSuccessfuly = loadFonts(fonts)
///
/// - parameter fonts: Array of font names to load including extentions e.g. .otf or .ttf
///
/// - returns: TRUE if ALL fonts loaded correctly
///
public func loadFonts(_ fonts:[String]) -> Bool {
return fonts
.map { (str) -> (String, String) in
let components = str.components(separatedBy: ".")
return (components[0], components[1])
}
.filter { (fileComponents) -> Bool in
if let fontURL = Bundle.main.url(forResource: fileComponents.0, withExtension: fileComponents.1) {
CTFontManagerRegisterFontsForURL(fontURL as CFURL, CTFontManagerScope.process, nil)
return true
}
return false
}.count == fonts.count
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment