diff --git a/Lib/fontTools/ttLib/tables/otConverters.py b/Lib/fontTools/ttLib/tables/otConverters.py
index 16b86fe4e..f7f71744b 100644
--- a/Lib/fontTools/ttLib/tables/otConverters.py
+++ b/Lib/fontTools/ttLib/tables/otConverters.py
@@ -285,15 +285,16 @@ class GlyphID(SimpleValue):
class NameID(UShort):
def xmlWrite(self, xmlWriter, font, value, name, attrs):
xmlWriter.simpletag(name, attrs + [("value", value)])
- nameTable = font.get("name") if font else None
- if nameTable:
- name = nameTable.getDebugName(value)
- xmlWriter.write(" ")
- if name:
- xmlWriter.comment(name)
- else:
- xmlWriter.comment("missing from name table")
- log.warning("name id %d missing from name table" % value)
+ if font and value:
+ nameTable = font.get("name")
+ if nameTable:
+ name = nameTable.getDebugName(value)
+ xmlWriter.write(" ")
+ if name:
+ xmlWriter.comment(name)
+ else:
+ xmlWriter.comment("missing from name table")
+ log.warning("name id %d missing from name table" % value)
xmlWriter.newline()
diff --git a/Tests/ttLib/tables/otConverters_test.py b/Tests/ttLib/tables/otConverters_test.py
index 7f76d712c..3b9d5e9fc 100644
--- a/Tests/ttLib/tables/otConverters_test.py
+++ b/Tests/ttLib/tables/otConverters_test.py
@@ -114,6 +114,7 @@ class NameIDTest(unittest.TestCase):
def makeFont(self):
nameTable = newTable('name')
nameTable.setName(u"Demibold Condensed", 0x123, 3, 0, 0x409)
+ nameTable.setName(u"Copyright 2018", 0, 3, 0, 0x409)
return {"name": nameTable}
def test_read(self):
@@ -148,6 +149,14 @@ class NameIDTest(unittest.TestCase):
' ')
+ 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, '')
+
class UInt8Test(unittest.TestCase):
font = FakeFont([])
diff --git a/Tests/varLib/data/test_results/InterpolateLayoutGPOS_size_feat_same.ttx b/Tests/varLib/data/test_results/InterpolateLayoutGPOS_size_feat_same.ttx
index b0f8074bc..773dc594a 100644
--- a/Tests/varLib/data/test_results/InterpolateLayoutGPOS_size_feat_same.ttx
+++ b/Tests/varLib/data/test_results/InterpolateLayoutGPOS_size_feat_same.ttx
@@ -25,7 +25,7 @@
-
+