Merge pull request #1152 from anthrotype/null-nameid

otConverters: don't write XML comment if NameID value is 0 == NULL
This commit is contained in:
Cosimo Lupo 2018-01-19 16:46:29 +01:00 committed by GitHub
commit 38b25e00eb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 20 additions and 10 deletions

View File

@ -285,7 +285,8 @@ class GlyphID(SimpleValue):
class NameID(UShort): class NameID(UShort):
def xmlWrite(self, xmlWriter, font, value, name, attrs): def xmlWrite(self, xmlWriter, font, value, name, attrs):
xmlWriter.simpletag(name, attrs + [("value", value)]) xmlWriter.simpletag(name, attrs + [("value", value)])
nameTable = font.get("name") if font else None if font and value:
nameTable = font.get("name")
if nameTable: if nameTable:
name = nameTable.getDebugName(value) name = nameTable.getDebugName(value)
xmlWriter.write(" ") xmlWriter.write(" ")

View File

@ -114,6 +114,7 @@ class NameIDTest(unittest.TestCase):
def makeFont(self): def makeFont(self):
nameTable = newTable('name') nameTable = newTable('name')
nameTable.setName(u"Demibold Condensed", 0x123, 3, 0, 0x409) nameTable.setName(u"Demibold Condensed", 0x123, 3, 0, 0x409)
nameTable.setName(u"Copyright 2018", 0, 3, 0, 0x409)
return {"name": nameTable} return {"name": nameTable}
def test_read(self): def test_read(self):
@ -148,6 +149,14 @@ class NameIDTest(unittest.TestCase):
'<Entity attrib="val"' '<Entity attrib="val"'
' value="666"/> <!-- missing from name table -->') ' value="666"/> <!-- missing from name table -->')
def test_xmlWrite_NULL(self):
writer = makeXMLWriter()
self.converter.xmlWrite(writer, self.makeFont(), 0,
"FooNameID", [("attr", "val")])
xml = writer.file.getvalue().decode("utf-8").rstrip()
self.assertEqual(
xml, '<FooNameID attr="val" value="0"/>')
class UInt8Test(unittest.TestCase): class UInt8Test(unittest.TestCase):
font = FakeFont([]) font = FakeFont([])

View File

@ -25,7 +25,7 @@
<FeatureParamsSize> <FeatureParamsSize>
<DesignSize value="10.0"/> <DesignSize value="10.0"/>
<SubfamilyID value="0"/> <SubfamilyID value="0"/>
<SubfamilyNameID value="0"/> <!-- missing from name table --> <SubfamilyNameID value="0"/>
<RangeStart value="0.0"/> <RangeStart value="0.0"/>
<RangeEnd value="0.0"/> <RangeEnd value="0.0"/>
</FeatureParamsSize> </FeatureParamsSize>