Skip to main content

CI Build Status PyPI

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.

Additional documentation in /docs

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

Google Fonts Official Glyph Sets

The glyph sets useful for type designers that were previously hosted in this repository have been moved to:

https://github.com/googlefonts/glyphsets/tree/main/GF_glyphsets

Tool 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/fix.py ../ofl/josefinsans
gftools sanity-check --repair_script=/tmp/fix.py --fix_type=fsSelection ../ufl

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

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

Check a variable font family against the same family as static fonts:

gftools qa -f [vf_fonts] -fb [static_fonts] --diffenator --diffbrowsers -o ~/path/out

Fix a non hinted font

gftools fix-nonhinting font_in.ttf font_out.ttf

Package and PR a family update to google/fonts. Find much more detailed documentation in /docs/gftools-packager.

gftools packager "Family Sans" path/to/local/google/fonts -py

Tool Installation

Please note that gftools requires Python 3.7 or later.

Please install these tools using pip:

pip install gftools

If you would like to use gftools qa:

brew install pkg-config # needed for interpolation checks
pip install 'gftools[qa]'

Tool Requirements and Dependencies

gftools packager needs the command line git program in a version >= Git 2.5 (Q2 2015) in order to perform a shallow clone (--depth 1) of the font upstream repository and branch. This is not supported by pygit2/libgit2 yet.

gftools manage-traffic-jam requires two private files which contain sensitive data. Ask m4rc1e for them.

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, https://developers.google.com/fonts/. You will then need to create a new text file located on your system at ~/.gf-api-key (where ~ is your home directory), which contains the following:

[Credentials]
key = your-newly-generated-googlefonts-api-key

Upstream project repos

Developers

Releasing a New Version

  1. Commit and push your final changes for the new version.
  2. Create an annotated Git tag of the version number, with a prepended "v", like so: git tag -a v3.1.1
  3. Write the release notes into the tag message. They will show up as release notes on the release page in GitHub.

Metadata

Release files for gftools 0.9.9992

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for gftools 0.9.9992
File Size Uploaded
gftools-0.9.9992.tar.gz 8.5 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for gftools 0.9.9992
File Interpreter ABI Platform
gftools-0.9.9992-py3-none-any.whl Python 3 none any Details

Total release size: 10.6 MB

Release files / gftools-0.9.9992.tar.gz

Download URL gftools-0.9.9992.tar.gz
Size 8.5 MB
Tags Source
SHA-256 checksum
How to use checksums
2e9c6612994ebcd7bd0c4975934a099d103c8397f6d3a438ae3d0eaa7d835d99
BLAKE2b-256 checksum
How to use checksums
c8e4bb1f212631dd0fe5378c247164db36dcb0cbf633f738138489657340d329
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 7, 2026.

Transparency log

Release files / gftools-0.9.9992-py3-none-any.whl

Download URL gftools-0.9.9992-py3-none-any.whl
Size 2.1 MB
Tags Python 3
SHA-256 checksum
How to use checksums
cd61508e431c59a8728a04eeb861dfd6f006876e9b0044d6d637f27f9de23932
BLAKE2b-256 checksum
How to use checksums
0f96886773df99670017057120669f9a05ad94933cc47215e5a41f5e5670c686
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 7, 2026.

Transparency log

Release history Release notifications | RSS feed

0.9991

2 release files

This release

0.9.9992 This release

2 release files

0.9.99

2 release files

0.9.98

2 release files

0.9.97

2 release files

0.9.96

2 release files

0.9.95

2 release files

0.9.94

2 release files

0.9.93

2 release files

0.9.91

2 release files

0.9.90

2 release files

0.9.89

2 release files

0.9.88

2 release files

0.9.87

2 release files

0.9.86

2 release files

0.9.85

2 release files

0.9.84

2 release files

0.9.83

2 release files

0.9.82

2 release files

0.9.79

2 release files

0.9.77

2 release files

0.9.76

2 release files

0.9.75

2 release files

0.9.70

2 release files

0.9.69

2 release files

0.9.68

2 release files

0.9.67

2 release files

0.9.63

2 release files

0.9.62

2 release files

0.9.61

2 release files

0.9.59

2 release files

0.9.58

2 release files

0.9.57

2 release files

0.9.52

2 release files

0.9.49

2 release files

0.9.48

2 release files

0.9.45

2 release files

0.9.44

2 release files

0.9.41

2 release files

0.9.40

2 release files

0.9.39

2 release files

0.9.38

2 release files

0.9.37

2 release files

0.9.35

2 release files

0.9.33

2 release files

0.9.32

2 release files

0.9.31

2 release files

0.9.29

2 release files

0.9.27

2 release files

0.9.24

2 release files

0.9.23

2 release files

0.9.21

2 release files

0.9.20

2 release files

0.9.18

2 release files

0.9.16

2 release files

0.9.14

2 release files

0.9.13

2 release files

0.9.11

2 release files

0.9.10

2 release files

0.9.9

2 release files

0.9.8

2 release files

0.9.7

2 release files

0.9.6

2 release files

0.9.5

2 release files

0.9.4

2 release files

0.9.2

2 release files

0.9.1

2 release files

0.9.0

2 release files

0.8.8

2 release files

0.8.7

2 release files

0.8.6

2 release files

0.8.5

2 release files

0.8.4

2 release files

0.8.3

2 release files

0.8.2

2 release files

0.8.1

2 release files

0.8.0

2 release files

0.7.4

2 release files

0.7.2

2 release files

0.7.1

2 release files

0.7.0

2 release files

0.6.2

2 release files

0.6.1

2 release files

0.6.0

2 release files

0.5.2

2 release files

0.5.1

2 release files

0.5.0

2 release files

0.4.5

1 release file

0.4.4

1 release file

0.4.3

1 release file

0.4.2

1 release file

0.4.1

1 release file

0.4.0

1 release file

0.3.15

1 release file

0.3.14

1 release file

0.3.13

1 release file

0.3.12

1 release file

0.3.11

1 release file

0.3.10

1 release file

0.3.9

1 release file

0.3.8

1 release file

0.3.7

1 release file

0.3.6

1 release file

0.3.5

1 release file

0.3.4

1 release file

0.3.3

1 release file

0.3.2

1 release file

0.3.1

1 release file

0.3.0

1 release file

0.1.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page