blob: e960ff3fabe9b2b02fb5f152d567823dac7e01e1 [file] [log] [blame]
Just7842e561999-12-16 21:34:53 +00001import 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):
Justf8fd4772000-01-03 23:00:10 +000018 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()
Just7842e561999-12-16 21:34:53 +000023 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 return cmp(self.__dict__, other.__dict__)
41