Skip to main content

Google Fonts Tools is a set of command-line tools for testing font projects

Project description

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.

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. Much more detailed documentation.

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

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gftools-0.9.74.tar.gz (6.1 MB view details)

Uploaded Source

Built Distribution

gftools-0.9.74-py3-none-any.whl (2.1 MB view details)

Uploaded Python 3

File details

Details for the file gftools-0.9.74.tar.gz.

File metadata

  • Download URL: gftools-0.9.74.tar.gz
  • Upload date:
  • Size: 6.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for gftools-0.9.74.tar.gz
Algorithm Hash digest
SHA256 cc4ea7e600a6c4e2a5f21153d8d4f8634bab7b4dbe31138c7c95d07d47e31b42
MD5 a4f7200d6c779c64a5be07f63181623e
BLAKE2b-256 6cdfd15b8f89aed93d1192e27c8ef694df767fabb7e34717a0e56e22a4bffccc

See more details on using hashes here.

Provenance

File details

Details for the file gftools-0.9.74-py3-none-any.whl.

File metadata

  • Download URL: gftools-0.9.74-py3-none-any.whl
  • Upload date:
  • Size: 2.1 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for gftools-0.9.74-py3-none-any.whl
Algorithm Hash digest
SHA256 6ceec87a87be84a8b9b43d516cb0ea5d46b0571e714d81c5fd24bab6fd00cffc
MD5 ab76bf945d78e55eb0895cd4aefb3f70
BLAKE2b-256 b0e82f13c307555d9813864530a97e0e417673150a37e0bfb2b858947b8bdca3

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page