I’m stoked that the .glyphspackage format exists, as it works much better for Git! However, life is immediately complicated because it is not yet supported by either FontMake or glyphsLib, both of which I need in the builds for my current project.
I am not really sure what is required to get support into FontMake and glyphsLib to implement support on their end, but it would likely at least be helpful to have a specific, official description of the format on the Glyphs site, so I can point to it in issues requesting support. Does such a page exist?
There is not much to document about the differences between the two format flavors:
the package writes each glyph to a glyphs directory where the files are named like the glyphs (with an additional underscore after capital letters) with the file extension .glyph
the order of the glyphs is written to a order.plist file
display strings are written to a UIState.plist file
all other data that would otherwise be in a .glyphs file is written to a fontinfo.plist file
I use makefiles to control generating variable fonts from glyphspackage files via fontmake. I just added the conversion step from .glyphspackage to .glyphs as a prerequisite for the fontmake task. I can post an example tomorrow.
Running make from the command line will convert the .glyphspackage file to .glyphs, then call fontmake to produce variable_ttf/DemoFamilyVariable.ttf.
If make detects any changes on the .glyphspackage “file”, it will rebuild the .glyphs file, otherwise that step is skipped, and fontmake will be called directly on the .glyphs file.
Note: The variable font file name is set in the custom parameters of the VF export setting inside the .glyphspackage file.
master_ufo is a temporary directory that contains the master UFOs and designspace file generated by fontmake.
Awesome, thanks for sharing this example, @jkutilek! This is the first time I’ve seen an example of a makefile where the utility is super obvious. I’ll give it a try!