- experiment to test the capabilities of the new variable font-format
- work in progress
- based on Roboto
Preview (via external testing page)
Note on a few unconventional axes (scale + baseline shift)
Especially the scale and the baseline shift axis isn't really anything I would recommend adding to your variable font. I believe that this should actually be an extra feature embedded within any variable font and could be optionally turned on or off in an UI. These two axes are fundamentally important if you want to mix different fonts inline (e.g. upright + italic of a different font) and becomes even more important if you mix fonts accross different scripts. And yes, some applications like Indesign allow for scaling and there are tricks to get the baselines aligned. But this will be never implemented across all software, which makes it almost impossible to mix different fonts for a corporate identity.
Basic Setup / Install
- To handle complex interpolations in Glyphs: 0-install/Multipolation
- To export Instances as UFOs (to build the variable font): 0-install/Export Instances as UFO
- To build a variable font, some py libraries: Fonttools, Fontmake and designSpaceDocument (move it to your python-packages folder)
- To preview: Fontview or http://axis-praxis.org
- NobotoFlex_multipolation-spec.json (custom ‘designspace’ format)
- setting up relations and custom scales (also allows different x/y-values) ("MasterName": [origin-value, master-value, ["Children"]])
How to create/update instances in Glyphs
- Execute the Multipolation script (Glyphs > Script > Multipolation).
Building Variable Font
Direct export from Glyphs is not yet supported, therefore the following short workaround.
- script_lib_custom/ (no need to touch)
- (rest is generated by the build.sh)
- Export UFOs (use the ‘Export_Instances_as_UFO’ script) to ‘2-build/master_ufo/’
- Edit/update the axis setup in ‘2-build/NobotoFlex_DesignSpace.py’ (if necessary)
- execute the build.sh file via Terminal (instructions)
- Cross fingers and enjoy :)
If it did not work have a look over here: https://github.com/scribbletone/i-can-variable-font)
Bugs / Font format issues / ...
Some features currently missing in the font format
- per-glyph-interpolation axes (the “Height”-subaxes are currently achieved by a workaround)
- hierachies + math for the slider behaviour to increase usability and decrease filesize (at the moment there are way more masters within this font, than actually needed)
- please remove restricted interpolation-value-bounds (allow extrapolation, and leave it to the designer to decide when it’s good or bad)
- possiblity to add a baseline-shift axis without an aditional master (e.g. adding basic transformations)
- possiblity to add a proportional scale axis without an aditional master (is really difficult to make it work with masters!)
Bugs / A few known issues
- This is more a demo than a full release, be aware ;)
- There are still quite a few incompatible and therefore missing glyphs
- Mono-axes does throw an assertion error (why!?) and is therefore exluded for the moment
- Tight spacing is off (maybe a rounding problem?)
- @Glyphs: exported UFOs ignore the instances custom parameters
Roboto-License, and Additions (C) by Manuel von Gebhardi (CC BY-SA)
This project was partially funded by Google Fonts.