aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBehdad Esfahbod <behdad@behdad.org>2014-03-28 14:04:01 -0700
committerBehdad Esfahbod <behdad@behdad.org>2014-03-28 14:04:01 -0700
commitd0a31f5a43c4743671c4941fe45dda059aada0be (patch)
treee064f7adb95e5aca12a2fcb6b1a5e0a11ffd1318
parentb8039e26530e2a76c3c15c3bd79b31137e3719f2 (diff)
downloadfonttools-d0a31f5a43c4743671c4941fe45dda059aada0be.tar.gz
Make tag parameter to table constructor optional
If not provided, extract from class name.
-rw-r--r--Lib/fontTools/ttLib/__init__.py9
-rw-r--r--Lib/fontTools/ttLib/tables/DefaultTable.py5
2 files changed, 13 insertions, 1 deletions
diff --git a/Lib/fontTools/ttLib/__init__.py b/Lib/fontTools/ttLib/__init__.py
index 38664510..9b852a4d 100644
--- a/Lib/fontTools/ttLib/__init__.py
+++ b/Lib/fontTools/ttLib/__init__.py
@@ -816,6 +816,15 @@ def getTableClass(tag):
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 e2e76851..3a6886c4 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):