Skip to content
Misc tools for working with the Google Fonts library
Branch: master
Clone or download
m4rc1e Merge pull request #150 from m4rc1e/qa-gh-private
qa: get fonts from private github repos
Latest commit 9c0433e Sep 4, 2019

Google Fonts Tools

This project contains tools used for working with the Google Fonts collection, plus Google Fonts Glyph Set Documentation in the /encodings subdirectory. While these tools are primarily intended for contributors to the Google Fonts project, anyone who works with fonts could find them useful.

The tools and files under this directory are available under the Apache License v2.0, for details see LICENSE

Google Fonts Official Glyph Sets (Encodings)

Usage Examples

Compare fonts:

gftools compare-font font1.ttf font2.ttf

Add a METADATA.pb to a family directory

gftools add-font ../ofl/newfamily

Sanity check a family directory:

gftools sanity-check --repair_script=/tmp/ ../ofl/josefinsans
gftools sanity-check --repair_script=/tmp/ --fix_type=fsSelection ../ufl

Check a font family against the same family hosted on Google Fonts:

gftools qa [fonts.ttf] -a -o qa

Add a DSIG table to a font

gftools fix-dsig font1.ttf

Fix a non hinted font

gftools fix-nonhinting font_in.ttf font_out.ttf


Please install these tools using pip:

pip install git+

Note: We're in the middle of upgrading the scripts to support Python 3 so we don't have a Python 3 compatible pypi package yet.

Requirements and Dependencies

These tools are intended to work with both Python 2.7 and Python 3, If a tool isn't working with Python 3 please make an issue. Python 2 support is being phased out and gftools will be Python 3 only soon. Pull Requests welcome! :)

These tools depend on the submodule GlyphsInfo. Make sure the submodule is up to date by running:

git submodule update --init --recursive

Running gftools-qa also requires Harfbuzz, Cairo, FreeType and pkg-config. These can be installed on OS X using homebrew:

brew install cairo freetype harfbuzz pkg-config

Google Fonts API Key

In order to use the scripts gftools qa and gftools family-html-snippet, you will need to generate a Google Fonts api key, You will then need to create a new file located on your system at ~/.gf-api-key, which contains the following:

key = your-newly-generated-googlefonts-api-key

Upstream project repos

You can’t perform that action at this time.