.
βββ AUTHORS
βββ CODE_OF_CONDUCT.md
βββ CONTRIBUTING.md
βββ CONTRIBUTORS
βββ README.md
βββ TRIVIA.md
βββ apache
βββ axisregistry
βββ catalog
βββ knowledge
βββ lang
βββ ofl
βββ ufl
βββ to_production.txt
βββ to_sandbox.txt
TheΒ ofl
,Β ufl
Β andΒ apache
Β directories contain font families. There is a directory per family published by GF and each directory has the following structure:
.
βββ article/ARTICLE.en_us.html
βββ METADATA.pb
βββ License (OFL.txt, UFL.txt, License.txt)
βββ FontFamily-Regular.ttf
βββ upstream.yaml
Each file has the following purpose:
If the family is a variable font family, another directory called static
can be included to contain the static (non-variable) fonts for the family:
.
βββ DESCRIPTION.en_us.html
βββ METADATA.pb
βββ License (OFL.txt, UFL.txt, License.txt)
βββ FontFamily[axis].ttf
βββ static
β βββ FontFamily-Regular.ttf
β βββ FontFamily-Bold.ttf
βββ upstream.yaml
This static directory is mandatoryΒ if the static fonts are manually hinted; otherwise, it should not be added at all.
.
βββ info.pb
βββ bio.html
βββ image.png
Each credited entity on Google Fonts should have a registered profile in google/fonts/catalog/designers. This profile appears in the about section of the specimen page.
You can request the addition or modification of your name, bio, and image using this form.
Find more information about the requirements for these files in the designer profile chapter.
.
βββ axisregistry
Google Fonts supports all theΒ Microsoft registered axes for variable fonts, but it has its own Axis Registry, which defines the names, ranges, and defaults of additional axes supported by the API. This registry is used to generate the static instances of each variable family (which you can find in the downloadable zip file); the API will generate only those locations registered in the registry.
This directory is a git subtree that is automatically updated with changes in the googlefonts/axisregistry repository. The contents of this directory should not be changed in commits that are pushed to the google/fonts repository. Rather, make edits in a pull request on the googlefonts/axisregistry repository. google/fonts repository maintainers can then pull the git subtree changes in to the axisregistry
directory by executing the following command from the root of google/fonts:
git subtree pull --prefix=axisregistry https://github.com/googlefonts/axisregistry.git main
Once the main branch from the submodule is pulled, you will need to push in a new branch upstream.
Important: When merging a pull request in the google/fonts repo which contains a subtree pull, merge it using the βCreate a merge commitβ button and not the βSquash and mergeβ button. If we squash and merge, the subtreeβs history is squashed into a single commit which will cause merge conflicts for the next person who has to do a subtree pull.
.
βββ lang
This Python module provides the API with data about languages/regions/scripts for use in the language-support categorization of the font families in the Google Fonts collection.
This directory is a git subtree that is automatically updated with changes in the googlefonts/lang repository. The contents of this directory should not be changed in commits that are pushed to the google/fonts repository. Rather, make edits in a pull request on the googlefonts/lang repository.
Once you have a set of changes that you want to be merged into google/fonts
, the procedure is:
googlefonts/lang
directory:% cd gflanguages
% git tag -a v0.X.Y
(fill in the release notes in your editor)
% git push --tags
google/fonts
repository, and create a new branch:% cd ../fonts
% git checkout -b lang-v0.X.Y
lang
directory by executing the following command in the root of the google/fonts repository:% git subtree pull --prefix=lang https://github.com/googlefonts/lang.git main
Create a new google/fonts
pull request for this branch.
Label the pull request with | Lang
so that the push-list script will know what kind of paths are expected in the push lists.
Important: When merging the pull request in the google/fonts repo which contains a subtree pull, merge it using the βCreate a merge commitβ button and not the βSquash and mergeβ button. If we squash and merge, the subtreeβs history is squashed into a single commit which will cause merge conflicts for the next person who has to do a subtree pull.
to_sandbox.txt
is a list of font directories or designer directories to be pushed to sandbox.to_production.txt
is a list of fonts directories or designer directories to be pushed to production. Once the elements (fonts, bio, etc) have been checked and validated in sandbox, they can be sent to the API so users can have access to them. We can only push to production something that was first pushed to sandbox.