Google Fonts Tools is a set of command-line tools for testing font projects
Project description
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)
This repo also contains definitions of glyph sets useful for type designers:
https://github.com/googlefonts/gftools/tree/main/Lib/gftools/encodings/GF%20Glyph%20Sets
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
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
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 need to use gftools qa
, you will need to install Harfbuzz, Cairo, FreeType and pkg-config. These can be installed on OS X using homebrew:
brew install cairo freetype harfbuzz pkg-config
Once You have installed these system packages, install gftools using the following command:
pip install 'gftools[qa]'
Tool Requirements and Dependencies
These tools depend on the submodule GlyphsInfo
.
Make sure the submodule is up to date by running:
git submodule update --init --recursive
gftool 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.
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
Built Distribution
File details
Details for the file gftools-0.8.2.tar.gz
.
File metadata
- Download URL: gftools-0.8.2.tar.gz
- Upload date:
- Size: 6.4 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.10.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 32aad8567c2c41704e74b8ad8080a96ad274d30bd3051d8594d9a6f527061c36 |
|
MD5 | ff98deb8ade15e529ac4cb36686a362e |
|
BLAKE2b-256 | b4bee3cec5c276934f4bf9815932ebfa2ec8a330f124a4447bc7e604570f42d0 |
File details
Details for the file gftools-0.8.2-py3-none-any.whl
.
File metadata
- Download URL: gftools-0.8.2-py3-none-any.whl
- Upload date:
- Size: 3.5 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.10.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 768e8ee717e7e4e69de30e400de6f69dffffc4920aa35db7868a8d0e6584b390 |
|
MD5 | 4a9295b555193e54420aa863d76e815a |
|
BLAKE2b-256 | 50fb26361a393d88a3d1e1e6493e6ed4b5e2f0b39d5aa0d18926ac926fefedf7 |