-
Hit the green button above ("Use this template") to create your own repository.
-
Clone the repository, and replace the font sources in the
sources
directory with your own font sources. These sources may be either in Glyphs format or UFO/Designspace formats.
Unlike many open source distributors, Google Fonts is curated. Fonts shipped to the platform have to match the Google Fonts Specifications. Please read them carefully.
(The sample font provided in this template is Rubik by Philipp Hubert, Sebastian Fischer, and contributors.) -
Then reference the sources in the file
sources/config.yaml
, as well as making any other changes you would like to make based on the instructions in the Google Fonts Builder documentation. -
Add yourself to the
AUTHORS.txt
andCONTRIBUTORS.txt
files. -
Fill out
documentation/DESCRIPTION.en_us.html
with a description about your font. -
Rewrite this Readme file according to the recommendations in the Google Fonts Guide.
-
Add and commit these files to git.
-
At the command line, run
make customize
to ensure that all the paths and URLs in your project are correct. This will also push your changes to GitHub. -
Set up your GitHub pages site: go to Settings > Pages and ensure that the "Source" drop-down is set to "Deploy from a Branch". Ensure that the "Branch" is set to
gh-pages
. If this branch is not available, check that the "Build font and specimen" action in the "Actions" tab has completed; if it completed successfully, then try again -gh-pages
should now be an option. -
If Github Actions has successfully built the family, you will find the font binaries in the Actions tab. The official Github Actions documentation provides further information.
-
To update your font repository to bring in the latest best-practices from the Google Fonts Project Template, run
make update-project-template
from the command line. This requires thenode
Javascript engine to be installed; if you don't have that already, follow these instructions to install on your platform. -
To update the Python build chain which builds your fonts, run
make update
andgit add
/git commit
the newrequirements.txt
.
-
CustomFilter_GF_Latin_All.plist
insources
is practical if you use GlyphsApp, you can remove it otherwise. Placed in the same directory as the your.glyphs
file, it will allow Glyphs to display a filter list for all GF Latin glyphsets in app. To make sure your font supports the minimal set required by Google Fonts, look at theGF_Latin_Core
filter list. Find other glyphsets and list formats for different software in GF Glyphsets repository. -
Once you are happy with your font, add promotional assets in the documentation directory. Make it different from the pic you use in this README. You can get inspired by existing tweet @googlefonts like: https://twitter.com/googlefonts/status/1415562928657416192.
-
Google Fonts uses Github Releases to manage font families. If you feel your font project has hit a milestone, you must create a new release for it. In order to do this, go to the releases page and hit the "Draft a new release button". You must provide a tag number and title which can only be a decimal number e.g 0.100, 1.000 etc. For the body text, mention what has changed since the last release. Once you are done, hit the "Publish release" button. Here is an example which fulfills the requirements, https://github.com/m4rc1e/test-ufr-family/releases/tag/2.019. For more info regarding Github release, please see the official Github Release documentation. Please note that Github Actions must be able to build the fonts before you can make a release. Once you have made a release, the fonts and tests assets will be attached to the release automatically. This may take a while since the fonts and tests will be built from scratch so please be patient.
Description of your font goes here. We recommend to start with a very short presentation line (the kind you would use on twitter to present your project for example), and then add as much details as necesary :-) Origin of the project, idea of usage, concept of creation… but also number of masters, axes, character sets, etc.
Don't hesitate to create images!
Description of you and/or organisation goes here.
Fonts are built automatically by GitHub Actions - take a look in the "Actions" tab for the latest build.
If you want to build fonts manually on your own computer:
make build
will produce font files.make test
will run FontBakery's quality assurance tests.make proof
will generate HTML proof files.
The proof files and QA tests are also available automatically via GitHub Actions - look at https://yourname.github.io/your-font-repository-name
.
When you update your font (new version or new release), please report all notable changes here, with a date. Font Versioning is based on semver. Changelog example:
26 May 2021. Version 2.13
- MAJOR Font turned to a variable font.
- SIGNIFICANT New Stylistic sets added.
This Font Software is licensed under the SIL Open Font License, Version 1.1. This license is available with a FAQ at https://scripts.sil.org/OFL
This font repository structure is inspired by Unified Font Repository v0.3, modified for the Google Fonts workflow.