May I suggest an idea of “static export setting” similar to “variable export setting”? Basically, an instance which (if active) would bulk override or add custom parameters to the static instances.
Currently, having different sets of instances for demo files, client customization etc. requires maintaining multiple sets of the same instances with different custom parameters. Meanwhile, the variable export settings nicely handle that in bulk — if only they worked for static!
We are thinking about something like this.
Is there a way to add new custom parameters to instances on export? Just tried doing so with a filter plugin applied as a custom parameter that adds new parameters to its layer.parent.parent.instances, but it looks like the new parameters have no effect at that point. Is there any workaround?
Is there a typo in there? I don’t understand.
There’s a typo indeed; I corrected the message
Why not add the custom parameter to the instance?
Rather than a filter that adds other parameters. The issue is that the filter will attempt to do that for every layer called. You may have some luck with a prefilter, but it is still inefficient.
As an attempt to achieve what’s described in the first comment — the filter copies the custom parameters from another instance (“static settings”), which would be easier to swap/maintain as presets, similar to variable settings. Yes, I check if the instance is already processed after the first layer and skip the rest. But it looks like the instance that is passed into the filter (layer.parent.parent.instances[0]
) is already after the custom parameters applied, so I wonder if there’s any way to force/apply the custom parameters after the filter?
You know you can already bulk set custom parameters for multiple instances by selecting multiple instances and adding/editing parameters, right?
Or can you give me a more concrete example of what you are trying to achieve?
Sure, but let’s say you have versions A, B and C of the same typeface, which are achieved by replacing some glyphs and features on export. Now you need to maintain a duplicate of the same instances for each version (differing by parameters/family names), and remember to activate/deactivate them for variable exports. Alternatively, you can keep one set of instances and manually replace the names/parameters before each export.
Meanwhile, all that is already solved for variable — 1 set of instances and different variable exports for each version. Same for static…?
Some of these things are perhaps better done in post production. Subsetting and trial fonts for instance.
And have you tried .glyphsproject files? I use them for static exports all the time. Then you don’t need to deactivate anything for the variable exports.