Coverage for /pythoncovmergedfiles/medio/medio/usr/local/lib/python3.8/site-packages/fontTools/ttLib/tables/DefaultTable.py: 32%
38 statements
« prev ^ index » next coverage.py v7.2.7, created at 2023-06-07 06:33 +0000
« prev ^ index » next coverage.py v7.2.7, created at 2023-06-07 06:33 +0000
1from fontTools.misc.textTools import Tag
2from fontTools.ttLib import getClassTag
5class DefaultTable(object):
7 dependencies = []
9 def __init__(self, tag=None):
10 if tag is None:
11 tag = getClassTag(self.__class__)
12 self.tableTag = Tag(tag)
14 def decompile(self, data, ttFont):
15 self.data = data
17 def compile(self, ttFont):
18 return self.data
20 def toXML(self, writer, ttFont, **kwargs):
21 if hasattr(self, "ERROR"):
22 writer.comment("An error occurred during the decompilation of this table")
23 writer.newline()
24 writer.comment(self.ERROR)
25 writer.newline()
26 writer.begintag("hexdata")
27 writer.newline()
28 writer.dumphex(self.compile(ttFont))
29 writer.endtag("hexdata")
30 writer.newline()
32 def fromXML(self, name, attrs, content, ttFont):
33 from fontTools.misc.textTools import readHex
34 from fontTools import ttLib
36 if name != "hexdata":
37 raise ttLib.TTLibError("can't handle '%s' element" % name)
38 self.decompile(readHex(content), ttFont)
40 def __repr__(self):
41 return "<'%s' table at %x>" % (self.tableTag, id(self))
43 def __eq__(self, other):
44 if type(self) != type(other):
45 return NotImplemented
46 return self.__dict__ == other.__dict__
48 def __ne__(self, other):
49 result = self.__eq__(other)
50 return result if result is NotImplemented else not result