DefaultTable.py revision b7fd2e19138b177403689bdd6989cfd2402aa2b3
1from __future__ import print_function, division 2from fontTools.misc.py23 import * 3 4class DefaultTable: 5 6 dependencies = [] 7 8 def __init__(self, tag): 9 self.tableTag = Tag(tag) 10 11 def decompile(self, data, ttFont): 12 self.data = data 13 14 def compile(self, ttFont): 15 return self.data 16 17 def toXML(self, writer, ttFont): 18 if hasattr(self, "ERROR"): 19 writer.comment("An error occurred during the decompilation of this table") 20 writer.newline() 21 writer.comment(self.ERROR) 22 writer.newline() 23 writer.begintag("hexdata") 24 writer.newline() 25 writer.dumphex(self.compile(ttFont)) 26 writer.endtag("hexdata") 27 writer.newline() 28 29 def fromXML(self, name, attrs, content, ttFont): 30 from fontTools.misc.textTools import readHex 31 from fontTools import ttLib 32 if name != "hexdata": 33 raise ttLib.TTLibError("can't handle '%s' element" % name) 34 self.decompile(readHex(content), ttFont) 35 36 def __repr__(self): 37 return "<'%s' table at %x>" % (self.tableTag, id(self)) 38 39 def __eq__(self, other): 40 if type(self) != type(other): 41 raise TypeError("unordered types %s() < %s()", type(self), type(other)) 42 return self.__dict__ == other.__dict__ 43