DefaultTable.py revision 3a9fd301808f5a8991ca9ac44028d1ecb22d307f
1import string 2import sys 3 4class DefaultTable: 5 6 dependencies = [] 7 8 def __init__(self, tag): 9 self.tableTag = 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 __cmp__(self, other): 40 if type(self) != type(other): return cmp(type(self), type(other)) 41 if self.__class__ != other.__class__: return cmp(self.__class__, other.__class__) 42 43 return cmp(self.__dict__, other.__dict__) 44 45