Managing Multiscript Typefaces with Just One File
Traditionally, when working with multiscript typefaces, each script is stored in a separate source file, with each file also including the Core and Latin glyph sets. When working on Diatype Global, this would mean our font engineers (ie. me) having to work with several source files. Imagine all of these on your Desktop at one time:
The more scripts a typeface supports, the more source files needed. The primary challenge with this is the difficulty in maintaining, fixing, and updating these files.
For example, if an issue is found in the Latin glyph set, it must be fixed in all source files because all of our multiscript typefaces also include the Latin glyph set. If every file needs to be fixed, this significantly increases the workload, as the number of supported scripts multiplies the amount of work required.
✨ A New Approach ✨
To simplify file management process, we decided to keep all scripts in a single source file and generate exports with subsetted glyph sets:
However, building this came with its own set of challenges…
Designspace: Diatype includes four axes (Weight, Width, Slant, Mono), but not all scripts support all of these axes or their full ranges. This can create significant incompatibilities, making export nearly impossible without extensive adjustments.
Glyphset Subset: Since all glyphs are combined in one large file, some needed to be removed during export. While this is straightforward, it can cause issues if glyphs that are removed remain in manually defined OpenType classes and features, leading to errors during export.
Stylistic Sets: Diatype, even with just Latin, already uses all 20 available slots for stylistic sets. This required additional work to ensure that the stylistic sets for other scripts could coexist with those initially assigned to the Core and Latin glyph sets.
To address these challenges, we developed an alternative export dialog for Glyphs that allows us to define subsets by setting the name, script to keep, designspace, and other parameters.
✅ Designspace: Depending on the selected scripts and instances, the design space is automatically trimmed to retain only the masters and instances supported by the remaining scripts, while also removing any unused axes.
✅ Glyphset Subset & Stylistic Sets: We introduced a new syntax for Features that allows us to filter based on the remaining scripts in the subset, giving us control over which parts of the code are retained during export.
A significant benefit of this approach is that, since everything resides in the same source file, it’s possible to export fonts containing all scripts together—creating the true Diatype International