The code in DesignSpace._makefont() that determines whether it is safe to use the master UFO rather than create an instance should work sufficiently for our current projects.
However, there are some additional tests that should be added to improve reliability of the choice.
Specifically,
in line 554:
for sub in ('kern', 'glyphs', 'info', 'lib', 'familyname', 'stylename', 'stylemapstylename', 'stylemapfamilyname'):
the first term should be kerning (there is no kern subelement in designspace)
Don't permit shortcircuit if any of:
designspace document has a rules element
the source element we want to use has a layer attribute or has glyph or kerning subelements.
The code in
DesignSpace._makefont()
that determines whether it is safe to use the master UFO rather than create an instance should work sufficiently for our current projects.However, there are some additional tests that should be added to improve reliability of the choice.
Specifically,
the first term should be
kerning
(there is nokern
subelement in designspace)rules
elementsource
element we want to use has alayer
attribute or hasglyph
orkerning
subelements.