designspaceLib: add add{Axis,Source,Instance,Rule}Descriptor methods
as suggested by Just here: https://github.com/fonttools/fonttools/pull/1860#issuecomment-601762751
This commit is contained in:
parent
2d27490c7d
commit
ca3306da57
@ -1188,15 +1188,35 @@ class DesignSpaceDocument(LogMixin, AsDictMixin):
|
||||
def addSource(self, sourceDescriptor):
|
||||
self.sources.append(sourceDescriptor)
|
||||
|
||||
def addSourceDescriptor(self, **kwargs):
|
||||
source = self.writerClass.sourceDescriptorClass(**kwargs)
|
||||
self.addSource(source)
|
||||
return source
|
||||
|
||||
def addInstance(self, instanceDescriptor):
|
||||
self.instances.append(instanceDescriptor)
|
||||
|
||||
def addInstanceDescriptor(self, **kwargs):
|
||||
instance = self.writerClass.instanceDescriptorClass(**kwargs)
|
||||
self.addInstance(instance)
|
||||
return instance
|
||||
|
||||
def addAxis(self, axisDescriptor):
|
||||
self.axes.append(axisDescriptor)
|
||||
|
||||
def addAxisDescriptor(self, **kwargs):
|
||||
axis = self.writerClass.axisDescriptorClass(**kwargs)
|
||||
self.addAxis(axis)
|
||||
return axis
|
||||
|
||||
def addRule(self, ruleDescriptor):
|
||||
self.rules.append(ruleDescriptor)
|
||||
|
||||
def addRuleDescriptor(self, **kwargs):
|
||||
rule = self.writerClass.ruleDescriptorClass(**kwargs)
|
||||
self.addRule(rule)
|
||||
return rule
|
||||
|
||||
def newDefaultLocation(self):
|
||||
"""Return default location in design space."""
|
||||
# Without OrderedDict, output XML would be non-deterministic.
|
||||
|
Loading…
x
Reference in New Issue
Block a user