diff options
author | Behdad Esfahbod <behdad@behdad.org> | 2014-03-28 14:04:01 -0700 |
---|---|---|
committer | Behdad Esfahbod <behdad@behdad.org> | 2014-03-28 14:04:01 -0700 |
commit | d0a31f5a43c4743671c4941fe45dda059aada0be (patch) | |
tree | e064f7adb95e5aca12a2fcb6b1a5e0a11ffd1318 | |
parent | b8039e26530e2a76c3c15c3bd79b31137e3719f2 (diff) | |
download | fonttools-d0a31f5a43c4743671c4941fe45dda059aada0be.tar.gz |
Make tag parameter to table constructor optional
If not provided, extract from class name.
-rw-r--r-- | Lib/fontTools/ttLib/__init__.py | 9 | ||||
-rw-r--r-- | Lib/fontTools/ttLib/tables/DefaultTable.py | 5 |
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): |