Home

Awesome

To report an issue in a Noto font, go here.

High level overview and instructions for font developers

Here's what you need to know for general font-level work on the Noto project:

includeSubsets:
  - name: "GF Glyph Sets/GF-latin-core"
    from: "Noto Sans"

or

includeSubsets:
  - from: "Noto Sans Devanagari"
    ranges:
        - from: 0x1CD0
          to: 0x1CE7
        - from: ...

These subsets will be added to the font by Notobuilder, explained below.

Note that the action to produce the Google Fonts PR requires the organisational secrets SSH_KEY and USER_GITHUB_TOKEN to be set, and the category key to be set correctly in each config.yaml file.

Build, QA and onboarding automation

All of the above is wonderful if everything works. Here's what you need to know if there are problems with the build process itself.

The main design goal for the build process has been forward compatibility. In other words, providing a consistent build experience across all Noto script project repositories while ensuring that any changes which need to be made to the build or its environment do not need to be repeated across all 150+ repos.

The main way this is achieved is through the notobuilder repository. All script repositories use notobuilder, which provides:

The aim is that Noto project repositories would pull the latest version of this repository and use to get the latest actions as well as to use it to build the fonts; this means that both the way that font building happens, and the required versions of fonttools, fontmake, etc., can all be defined and updated in one single place, and also that any updates to the build methodology or the required versions will be automatically carried over to new builds.

notobuilder

The Notobuilder class is a subclass of GFBuilder, but with certain modifications to suit the Noto workflow.

As these are Noto-specific process requirements they have not been merged into the upstream GFBuilder.

notoqa

This Python module defines the process used to test Noto fonts. In a similar vein to notobuilder, the point is that we define the test procedures in one location, and all project repositories automatically receive updated versions of the test protocols when this repository changes.

It defines two kind of tests:

Note

This repository does not contain the following fonts:

Licensing

All Noto fonts (in the fonts/ directory) are licensed under the SIL Open Font License. This documentation and all tooling in this repository is licensed under the Apache 2.0 License.