How does the google fonts project template differ from exporting via glyphs?

elektrrrobot
Posts: 1
I have a beginner question.
Before, I only knew how to export fonts using Glyphs app via File > Export. But recently, I found this page: https://github.com/googlefonts/googlefonts-project-template.
I have read and tried to understand it, but I’m still confused about what it’s for and how it’s different from the usual export method.
Is there any beginner-friendly guide or resource that explains the correct way to export fonts and the differences between these methods?
Before, I only knew how to export fonts using Glyphs app via File > Export. But recently, I found this page: https://github.com/googlefonts/googlefonts-project-template.
I have read and tried to understand it, but I’m still confused about what it’s for and how it’s different from the usual export method.
Is there any beginner-friendly guide or resource that explains the correct way to export fonts and the differences between these methods?
Tagged:
0
Answers
-
The ‘correct way to export fonts’ is the way that produces a font that functions how you intend it to function (or, in this case, how Google Fonts intends it to function). That isn’t always obvious to beginners—or, indeed, to a lot of people who might have produced lots of fonts but only in one way—, because intent implies knowledge: you have to know what the options are, and which are appropriate to your goals.
I think it is generally the case that few serious font engineers ever use the font export function in design tools like Glyphs and FontLab. It isn’t that those export functions produce bad fonts, but a) they are limited to the set of export profile settings that the tool maker provide, b) they presume all font development is being done within that single tool, and c) they are not suited to library updates, i.e. processing large numbers of fonts while ensuring consistency between them.
Something like the Google Fonts project template aims to address the latter, while also providing guidance for the part of a project submission that GF expects beyond the font itself, such as public repo metadata expectations.
3 -
In the GF guide, you can read why created their own font compilation toolchain (fontmake). Partly this was for reliability (builds can be automated, locked to particular library versions, and reproducible across machines) and partly for ideological reasons (open source tools are part of libre culture).
The googlefonts-project-template builds on the fontmake toolchain and takes the principles a step further: by using continuous integration via GitHub Actions, font builds are completely automated and take place on a neutral, reference system, the GitHub Actions runner. This avoids the problem of somebody running the font build on their computer and getting a different result when built on another computer (due to different versions of installed software, different versions of Python, etc.). It also provides a one-step build/QA/release workflow.
There are some advanced Glyphs features which fontmake does not support (off the top of my head: some of the filters, one or two custom parameters, cap and segment components), but generally speaking most things work.
I'd say if you're ever thinking about releasing a font for Google Fonts, if you plan to collaborate with other designers or with engineers, or if you particularly want automated building and quality control, you should use googlefonts-project-template; if you're just casually designing and want to handle testing/QA yourself, Glyphs export is probably fine.7
Categories
- All Categories
- 44 Introductions
- 3.8K Typeface Design
- 823 Font Technology
- 1.1K Technique and Theory
- 637 Type Business
- 453 Type Design Critiques
- 550 Type Design Software
- 30 Punchcutting
- 139 Lettering and Calligraphy
- 86 Technique and Theory
- 53 Lettering Critiques
- 502 Typography
- 310 History of Typography
- 118 Education
- 74 Resources
- 525 Announcements
- 84 Events
- 110 Job Postings
- 162 Type Releases
- 168 Miscellaneous News
- 272 About TypeDrawers
- 54 TypeDrawers Announcements
- 117 Suggestions and Bug Reports