Google Fonts

Quality Assurance

🐯 Quality Assurance is an essential factor in Google Fonts. On the one hand, we expect the submitted fonts to follow the best standards and conventions of type design. On the other hand, committed to the understanding of fonts as software, we need to ensure that they fulfill the technical requirements of the major OS, applications, and browsers.

This chapter aims to guide designers to have a more automated approach of their binaries quality assurance. We recommend you install all the tools in a virtual environment, to avoid conflict between packages. Further information is detailed in the Tools and Dependencies section.

For the rest of this chapter, it would be better if you have basic knowledge of:
Background reading:
start Tools and Dependencies
must→ Overall font files requirements
learn Build the fonts

Table of contents


Checking the font tabes

Beyond the visible outlines of a typeface, each font binary is composed of an ensemble of required tables. These tables store fundamental metadata for the font to transmit operating information to the different environments (OS, applications, browsers) and, therefore, for it to function properly in all of them.

Hence, it is important to inspect them to verify all the information is as expected. You can make use of the following

Checking with Fontbakery

Fontbakery is our primary quality assurance testing tool to make it easier to check that font projects are optimal, making sure that the fonts are reliable before they are submitted to the users.

Log levels results

The check results are categorised according to levels of relevance, ranging from ERROR to SKIP. The icons are helpers to identify the severity. Be calm! There-could be many of them. Get comfortable with receiving them and embrace them as a way to improve your font.


Checks are separated into different collections called profiles (and a profile can include all or some checks from other profiles).

Main profiles are:

Some foundries created their own profile to have vendor-specific checks. This is the case of Fontwerk and Font Bureau, and you could do it too with a little bit of python skill!

Proofing with Diffenator2

Diffenator2 is a tool allows you to generate html with real words to proof the font functioning, and also to compare two different versions of a font.

To see the available options run one of the following commands:

diffenator2 proof --help or diffenator2 diff --help

You can also check for install instructions and more options in its GitHub repository.

Outlines and type design

There are many standards and conventions established over centuries around the design and drawing of fonts. Providing a comprehensive list of them goes out of the scope of the current Guide.

However, you could:

Type Design Testing web pages:
Testing apps:
Further reading:
learn Local Testing
learn Outline quality
learn Diacritics requirements