Bundling and subsetting different scripts

Good morning,

I’ve begun to notice more and more demand for fonts that cover different scripts, and wanted to ask what you’d consider the best approach. Multi-script fonts can need to be shipped:

  • Directly to clients to roll out on their brand
  • As the font producers, we’d control which scripts are in each font, so client would tell us which scripts are needed and we’d build the fonts to match their needs. This would include
    • design of all glyphs,
    • engineering and testing for each supported script,
    • and possibly hinting if required.
  • Our normal approach so far has been to design and engineer everything in one master file, so all scripts can be shipped in one font.
  • If client requires script-separate fonts, for different country offices, for example, we’d use custom instance parameters to remove, substitute or add glyphs, classes, and features. I don’t know if it’s possible to have instance-specific languagesystems, supported codepages, copyright/designer info, but those are needed (the last if for example the Thai is made by a different party than the Burmese). The UI custom instance parameters feels tricky: replace features have to be copy-pasted into a single line in the Font Info panel, so you can’t see the whole field.
  • To font foundries or branding agencies
  • This is where things can get tricky as they often need different parties to provide the different scripts:
  • Eg an existing Latin designed by one party is extended by another party for one script and someone else again for another script. Either the designing party does the engineering, or they send un-engineered fonts to the foundry for engineering.
  • What is the most reliable way to bundle the needed scripts together? Or, conversely, if we’re subsetting, how can we pull only the scripts we need into individual font files? It’s a question of merging sources and exporting subsets, I think.

I have a few ideas how Glyphs could help with this, but thought I’d seek thoughts here first.