DefaultTable.py revision 960280bbd6277b56be45595a050a720a49fd5917
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 __cmp__(self, other):
40		if not isinstance(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