Make tag parameter to table constructor optional
If not provided, extract from class name.
diff --git a/Lib/fontTools/ttLib/__init__.py b/Lib/fontTools/ttLib/__init__.py
index 3866451..9b852a4 100644
--- a/Lib/fontTools/ttLib/__init__.py
+++ b/Lib/fontTools/ttLib/__init__.py
@@ -816,6 +816,15 @@
return tableClass
+def getClassTag(klass):
+ """Fetch the table tag for a class object."""
+ name = klass.__name__
+ assert name[:6] == 'table_'
+ name = name[6:] # Chop 'table_'
+ return identifierToTag(name)
+
+
+
def newTable(tag):
"""Return a new instance of a table."""
tableClass = getTableClass(tag)
diff --git a/Lib/fontTools/ttLib/tables/DefaultTable.py b/Lib/fontTools/ttLib/tables/DefaultTable.py
index e2e7685..3a6886c 100644
--- a/Lib/fontTools/ttLib/tables/DefaultTable.py
+++ b/Lib/fontTools/ttLib/tables/DefaultTable.py
@@ -1,11 +1,14 @@
from __future__ import print_function, division, absolute_import
from fontTools.misc.py23 import *
+from fontTools.ttLib import getClassTag
class DefaultTable(object):
dependencies = []
- def __init__(self, tag):
+ def __init__(self, tag=None):
+ if tag is None:
+ tag = getClassTag(self.__class__)
self.tableTag = Tag(tag)
def decompile(self, data, ttFont):