[designspaceLib/avar2] Write out <mappings> element
This commit is contained in:
parent
50b1fb3f01
commit
3a809dbbf3
@ -1378,6 +1378,7 @@ class BaseDocWriter(object):
|
||||
|
||||
if (
|
||||
self.documentObject.axes
|
||||
or self.documentObject.axisMappings
|
||||
or self.documentObject.elidedFallbackName is not None
|
||||
):
|
||||
axesElement = ET.Element("axes")
|
||||
@ -1389,6 +1390,12 @@ class BaseDocWriter(object):
|
||||
for axisObject in self.documentObject.axes:
|
||||
self._addAxis(axisObject)
|
||||
|
||||
if self.documentObject.axisMappings:
|
||||
mappingsElement = ET.Element("mappings")
|
||||
self.root.findall(".axes")[0].append(mappingsElement)
|
||||
for mappingObject in self.documentObject.axisMappings:
|
||||
self._addAxisMapping(mappingsElement, mappingObject)
|
||||
|
||||
if self.documentObject.locationLabels:
|
||||
labelsElement = ET.Element("labels")
|
||||
for labelObject in self.documentObject.locationLabels:
|
||||
@ -1544,6 +1551,23 @@ class BaseDocWriter(object):
|
||||
axisElement.attrib["hidden"] = "1"
|
||||
self.root.findall(".axes")[0].append(axisElement)
|
||||
|
||||
def _addAxisMapping(self, mappingsElement, mappingObject):
|
||||
mappingElement = ET.Element("mapping")
|
||||
for what in ("inputLocation", "outputLocation"):
|
||||
whatObject = getattr(mappingObject, what, None)
|
||||
if whatObject is None:
|
||||
continue
|
||||
whatElement = ET.Element(what[:-8])
|
||||
mappingElement.append(whatElement)
|
||||
|
||||
for tag, value in whatObject.items():
|
||||
dimensionElement = ET.Element("dimension")
|
||||
dimensionElement.attrib["tag"] = tag
|
||||
dimensionElement.attrib["xvalue"] = self.intOrFloat(value)
|
||||
whatElement.append(dimensionElement)
|
||||
|
||||
mappingsElement.append(mappingElement)
|
||||
|
||||
def _addAxisLabel(
|
||||
self, axisElement: ET.Element, label: AxisLabelDescriptor
|
||||
) -> None:
|
||||
|
Loading…
x
Reference in New Issue
Block a user