An inkwell to use custom fonts on the fly.
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
Example Version 1.2.1 Jul 20, 2017
.travis.yml Update Travis config Jul 20, 2017 Update CHANGELOG Jul 20, 2017
Demo.gif Add demo image Apr 8, 2017
LICENSE Obscure email Apr 8, 2017 Update README Jul 7, 2017


CI Status Version Carthage compatible License Platform


In brief, Inkwell is a font library to use custom fonts on the fly. Inkwell takes responsibilities for:

  • Downloading fonts from Google Fonts or custom resources.
  • Registering custom fonts to the system.
  • Loading and using custom fonts dynamically and seamlessly.


To run the example project, clone the repo, and run pod install from the Example directory first.

alt tag



Install CocoaPods if need be.

$ gem install cocoapods

Add Inkwell in your Podfile.


pod 'Inkwell'

Run the following command.

$ pod install


Install Carthage if need be.

$ brew update
$ brew install carthage

Add Inkwell in your Cartfile.

github "ninjaprox/Inkwell"

Run carthage to build the framework and drag the built Inkwell.framework into your Xcode project.


Firstly, set the Google API key in the app delegate.

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
    Inkwell.shared.APIKey = "paste your key here"

Now you are ready to use Inkwell with only one API to remember.

let font = Font(family: "ABeeZee" variant: .regular)
let fontSize = 27
Inkwell.shared.font(for: font, size: fontSize) { uifont in
    // Do something with the `uifont`.

Note: Do not forget to import Inkwell in any file using Inkwell.


For full API documentation, please check Inkwell's documentation.



Inkwell is available under the MIT license. See the LICENSE file for more info.

Copyright (c) 2017 Vinh Nguyen @ninjaprox