googlefonts-installer

Google fonts installer utility.


License
MIT
Install
pip install googlefonts-installer==0.3.1

Documentation

Google Fonts Installer

Installs selected fonts from the Google fonts directory by selectively cloning the Git repository at github.com/google/fonts and creating symlinks in your ~/.fonts directory.

Quickstart:

$ pipsi install googlefonts_installer
$ mkdir -p ~/googlefonts
$ cd ~/googlefonts
# Add list of font paths from git repo to:
$ vim googlefonts.conf
$ googlefonts-installer

To update fonts from Git, install new fonts or remove fonts, just (optionally) change googlefonts.conf and re-run googlefonts-installer.

Requirements

To use this, you'll need

  • Python 3.3+ to run this script,
  • a recent version of Git supporting sparse checkouts,
  • a Linux-based system that uses the ~/.fonts directory.

Usage / How it works

  1. Create a directory for the Git clone:

    $ mkdir -p ~/Fonts/googlefonts/
    $ cd ~/Fonts/googlefonts/
  2. Install the googlefonts-installer package from PyPi. A good way to do this is via pipsi:

    $ pipsi install googlefonts_installer

    You now have the googlefonts-installer command available.

  3. List the fonts to install, or more precicely the sub-paths of the Google fonts Git repository to clone, in a googlefonts.conf configuration file, e.g.:

    ufl/ubuntu
    ofl/firamono
    ofl/firasans
    

    For example, to install Ubuntu Regular, use the directory part ufl/ubuntu/ of the file ufl/ubuntu/Ubuntu-Regular.ttf in the repository.

  4. Run googlefonts-installer. This …

    • If not yet done, inits a Git repository with sparse-checkout (only clone the defined paths) and adds the Google fonts Git repository as a remote.
    • Pulls the latest changes (shallow history to save space).
    • Creates symlinks for each font directory to ~/.fonts.
    • Removes broken symlinks from ~/.fonts for uninstalled (removed from googlefonts.conf) fonts.

Defaults

The googlefonts-installer command defaults to:

  • reading config from googlefonts.conf in the current working directory,
  • cloning into the current working directory and
  • symlinking to ~/.fonts.

Use the --config, --work-dir and --fonts-dir arguments to change this behaviour.

Hint

To find the sub-paths of the fonts you'd like to install, go to https://github.com/google/fonts, hit t and start typing a font's name. Github will list all matching file names.