[VARC] Compute flags from XML transform components
This commit is contained in:
parent
037bbe1030
commit
5b2df6b90b
@ -282,7 +282,8 @@ class VarComponent:
|
|||||||
writer.newline()
|
writer.newline()
|
||||||
|
|
||||||
write("glyphName", self.glyphName)
|
write("glyphName", self.glyphName)
|
||||||
write("flags", hex(self.flags))
|
if self.flags & VarComponentFlags.RESET_UNSPECIFIED_AXES:
|
||||||
|
write("resetUnspecifiedAxes", True)
|
||||||
|
|
||||||
if self.axisIndicesIndex is not None:
|
if self.axisIndicesIndex is not None:
|
||||||
write("axisIndicesIndex", self.axisIndicesIndex)
|
write("axisIndicesIndex", self.axisIndicesIndex)
|
||||||
@ -293,10 +294,13 @@ class VarComponent:
|
|||||||
if self.transformVarIndex != NO_VARIATION_INDEX:
|
if self.transformVarIndex != NO_VARIATION_INDEX:
|
||||||
write("transformVarIndex", self.transformVarIndex)
|
write("transformVarIndex", self.transformVarIndex)
|
||||||
|
|
||||||
|
# Only write transform components that are specified in the
|
||||||
|
# flags, even if they are the default value.
|
||||||
for attr_name, mapping in VAR_TRANSFORM_MAPPING.items():
|
for attr_name, mapping in VAR_TRANSFORM_MAPPING.items():
|
||||||
|
if not (self.flags & mapping.flag):
|
||||||
|
continue
|
||||||
v = getattr(self.transform, attr_name)
|
v = getattr(self.transform, attr_name)
|
||||||
if v != mapping.defaultValue:
|
write(attr_name, fl2str(v, mapping.fractionalBits))
|
||||||
write(attr_name, fl2str(v, mapping.fractionalBits))
|
|
||||||
|
|
||||||
writer.endtag("VarComponent")
|
writer.endtag("VarComponent")
|
||||||
writer.newline()
|
writer.newline()
|
||||||
@ -312,6 +316,8 @@ class VarComponent:
|
|||||||
|
|
||||||
if name == "glyphName":
|
if name == "glyphName":
|
||||||
self.glyphName = v
|
self.glyphName = v
|
||||||
|
elif name == "resetUnspecifiedAxes":
|
||||||
|
self.flags = VarComponentFlags.RESET_UNSPECIFIED_AXES if v else 0
|
||||||
elif name == "flags":
|
elif name == "flags":
|
||||||
self.flags = safeEval(v)
|
self.flags = safeEval(v)
|
||||||
elif name == "axisIndicesIndex":
|
elif name == "axisIndicesIndex":
|
||||||
@ -328,6 +334,7 @@ class VarComponent:
|
|||||||
name,
|
name,
|
||||||
safeEval(v),
|
safeEval(v),
|
||||||
)
|
)
|
||||||
|
self.flags |= VAR_TRANSFORM_MAPPING[name].flag
|
||||||
else:
|
else:
|
||||||
assert False, name
|
assert False, name
|
||||||
|
|
||||||
|
@ -306,31 +306,25 @@
|
|||||||
<VarCompositeGlyph index="0">
|
<VarCompositeGlyph index="0">
|
||||||
<VarComponent index="0">
|
<VarComponent index="0">
|
||||||
<glyphName value="glyph00007"/>
|
<glyphName value="glyph00007"/>
|
||||||
<flags value="0x0"/>
|
|
||||||
</VarComponent>
|
</VarComponent>
|
||||||
<VarComponent index="1">
|
<VarComponent index="1">
|
||||||
<glyphName value="glyph00003"/>
|
<glyphName value="glyph00003"/>
|
||||||
<flags value="0x0"/>
|
|
||||||
</VarComponent>
|
</VarComponent>
|
||||||
</VarCompositeGlyph>
|
</VarCompositeGlyph>
|
||||||
<VarCompositeGlyph index="1">
|
<VarCompositeGlyph index="1">
|
||||||
<VarComponent index="0">
|
<VarComponent index="0">
|
||||||
<glyphName value="glyph00005"/>
|
<glyphName value="glyph00005"/>
|
||||||
<flags value="0x0"/>
|
|
||||||
</VarComponent>
|
</VarComponent>
|
||||||
<VarComponent index="1">
|
<VarComponent index="1">
|
||||||
<glyphName value="glyph00004"/>
|
<glyphName value="glyph00004"/>
|
||||||
<flags value="0x0"/>
|
|
||||||
</VarComponent>
|
</VarComponent>
|
||||||
<VarComponent index="2">
|
<VarComponent index="2">
|
||||||
<glyphName value="glyph00006"/>
|
<glyphName value="glyph00006"/>
|
||||||
<flags value="0x0"/>
|
|
||||||
</VarComponent>
|
</VarComponent>
|
||||||
</VarCompositeGlyph>
|
</VarCompositeGlyph>
|
||||||
<VarCompositeGlyph index="2">
|
<VarCompositeGlyph index="2">
|
||||||
<VarComponent index="0">
|
<VarComponent index="0">
|
||||||
<glyphName value="glyph00008"/>
|
<glyphName value="glyph00008"/>
|
||||||
<flags value="0x12"/>
|
|
||||||
<axisIndicesIndex value="2"/>
|
<axisIndicesIndex value="2"/>
|
||||||
<axisValues value="[0.2159]"/>
|
<axisValues value="[0.2159]"/>
|
||||||
<translateX value="-6.0"/>
|
<translateX value="-6.0"/>
|
||||||
@ -339,7 +333,6 @@
|
|||||||
<VarCompositeGlyph index="3">
|
<VarCompositeGlyph index="3">
|
||||||
<VarComponent index="0">
|
<VarComponent index="0">
|
||||||
<glyphName value="glyph00008"/>
|
<glyphName value="glyph00008"/>
|
||||||
<flags value="0x16"/>
|
|
||||||
<axisIndicesIndex value="0"/>
|
<axisIndicesIndex value="0"/>
|
||||||
<axisValues value="[-0.8047, 0.0, 0.4839]"/>
|
<axisValues value="[-0.8047, 0.0, 0.4839]"/>
|
||||||
<axisValuesVarIndex value="0"/>
|
<axisValuesVarIndex value="0"/>
|
||||||
@ -349,7 +342,6 @@
|
|||||||
<VarCompositeGlyph index="4">
|
<VarCompositeGlyph index="4">
|
||||||
<VarComponent index="0">
|
<VarComponent index="0">
|
||||||
<glyphName value="glyph00009"/>
|
<glyphName value="glyph00009"/>
|
||||||
<flags value="0x3e"/>
|
|
||||||
<axisIndicesIndex value="1"/>
|
<axisIndicesIndex value="1"/>
|
||||||
<axisValues value="[-0.54, 0.04, -0.5178, 0.0, 0.0]"/>
|
<axisValues value="[-0.54, 0.04, -0.5178, 0.0, 0.0]"/>
|
||||||
<axisValuesVarIndex value="1"/>
|
<axisValuesVarIndex value="1"/>
|
||||||
@ -361,7 +353,6 @@
|
|||||||
<VarCompositeGlyph index="5">
|
<VarCompositeGlyph index="5">
|
||||||
<VarComponent index="0">
|
<VarComponent index="0">
|
||||||
<glyphName value="glyph00010"/>
|
<glyphName value="glyph00010"/>
|
||||||
<flags value="0x3e"/>
|
|
||||||
<axisIndicesIndex value="0"/>
|
<axisIndicesIndex value="0"/>
|
||||||
<axisValues value="[-0.776, -0.3566, 0.0]"/>
|
<axisValues value="[-0.776, -0.3566, 0.0]"/>
|
||||||
<axisValuesVarIndex value="3"/>
|
<axisValuesVarIndex value="3"/>
|
||||||
@ -373,7 +364,6 @@
|
|||||||
<VarCompositeGlyph index="6">
|
<VarCompositeGlyph index="6">
|
||||||
<VarComponent index="0">
|
<VarComponent index="0">
|
||||||
<glyphName value="glyph00009"/>
|
<glyphName value="glyph00009"/>
|
||||||
<flags value="0x3e"/>
|
|
||||||
<axisIndicesIndex value="0"/>
|
<axisIndicesIndex value="0"/>
|
||||||
<axisValues value="[-0.258, 0.05, -0.5178]"/>
|
<axisValues value="[-0.258, 0.05, -0.5178]"/>
|
||||||
<axisValuesVarIndex value="5"/>
|
<axisValuesVarIndex value="5"/>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user