A font quality assurance tool for everyone
Project description
Font Bakery is a command-line tool for checking the quality of font projects.
For a quick overview, check out the list of checks currently offered. And for a full written introduction check out our documentation at Read The Docs.
For video introductions, see the TypeCon 2018 and ATypI 2020 FontBakery presentations.
Font Bakery has an active community of contributors from foundries around the world, including Adobe Fonts, Dalton Maag, Type Network, and Google Fonts.
Font Bakery is not an official Google project, and Google provides no support for it. However, throughout 2018-2024 a project maintainer, Felipe Corrêa da Silva Sanches (@felipesanches), is commissioned by the Google Fonts team to maintain it. The original software architecture (and maintenance of it) is by Lasse Fister (@graphicore).
Run Font Bakery automatically on Github Actions
Simon Cozens prepared a template git repo that makes it easy to build, check and proof fonts. He's also prepared a nice 1 minute video showcasing it.
License
Font Bakery is available under the Apache 2.0 license.
All comments on the issue tracker or on pull requests will be treated as also licensed under this license such that they can be incorporated into the project code.
Install
See the Font Bakery Installation Guide for your platform:
Usage
Font Bakery is primarily a Terminal app, learn more in the Command Line Usage Guide.
If you write little Python scripts in your workflow, you can easily write custom checks.
For full developer documentation, check out fontbakery.readthedocs.io (a hosted and compiled copy of contents in the /docs
directory.)
Contributing
See the guide to Getting Started as a Contributor.
History
The project was initiated by Dave Crossland in 2013 to accelerate the onboarding process for Google Fonts. In 2017 Lasse Fister and Felipe Sanches rewrote it into a modern, modular architecture suitable for both individuals and large distributors. Felipe has maintained the check contents since 2016.
In 2017, Lasse began a sister project, Font Bakery Dashboard: A UI and a cloud system that scales up for checking 1,000s of font files super fast and in parallel, by using 1,000s of "container" virtual machines. See his TypoLabs 2018 talk on YouTube and its presentation deck. However, the project was halted at the end of 2019.
Most of the checks are for OpenType binary files, and project metadata files.
(Currently, the Google Fonts METADATA.pb
files are supported.)
If you are developing a font project publicly with Github (or a similar host) you can set up a Continuous Integration service (such as GHActions) to run Font Bakery on each commit, so that with each update all checks will be run on your files.
Trivia
- Advances in Continuous Integration Testing at Google - 2018 presentation
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 fontbakery-0.12.10.tar.gz
.
File metadata
- Download URL: fontbakery-0.12.10.tar.gz
- Upload date:
- Size: 49.8 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.0 CPython/3.12.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | fbd3bb70013a094013bf26c6db6a942cd3478bde33486a94f548e1beb17d47c9 |
|
MD5 | 233ea82ee64a46a3f0079b5b005b38eb |
|
BLAKE2b-256 | 00278c08e032dfee5d1bb1f8bb20b97d1dd1364419e9e08dababf3ae49509708 |
File details
Details for the file fontbakery-0.12.10-py3-none-any.whl
.
File metadata
- Download URL: fontbakery-0.12.10-py3-none-any.whl
- Upload date:
- Size: 406.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.0 CPython/3.12.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e4c876e7a0541cc458c8bf949ef14efd193dee12e2b3ee0e6ca631a9d203f0c3 |
|
MD5 | 72c2cd0212a957e336c8934d14907fab |
|
BLAKE2b-256 | db933b50f6d258fbd201f310e78b9abe2ea9469ca9b33bcae6e9deccd542e1a5 |