Spaces:
Paused
Paused
| from fontTools.misc.textTools import Tag | |
| from fontTools.ttLib import getClassTag | |
| class DefaultTable(object): | |
| dependencies = [] | |
| def __init__(self, tag=None): | |
| if tag is None: | |
| tag = getClassTag(self.__class__) | |
| self.tableTag = Tag(tag) | |
| def decompile(self, data, ttFont): | |
| self.data = data | |
| def compile(self, ttFont): | |
| return self.data | |
| def toXML(self, writer, ttFont, **kwargs): | |
| if hasattr(self, "ERROR"): | |
| writer.comment("An error occurred during the decompilation of this table") | |
| writer.newline() | |
| writer.comment(self.ERROR) | |
| writer.newline() | |
| writer.begintag("hexdata") | |
| writer.newline() | |
| writer.dumphex(self.compile(ttFont)) | |
| writer.endtag("hexdata") | |
| writer.newline() | |
| def fromXML(self, name, attrs, content, ttFont): | |
| from fontTools.misc.textTools import readHex | |
| from fontTools import ttLib | |
| if name != "hexdata": | |
| raise ttLib.TTLibError("can't handle '%s' element" % name) | |
| self.decompile(readHex(content), ttFont) | |
| def __repr__(self): | |
| return "<'%s' table at %x>" % (self.tableTag, id(self)) | |
| def __eq__(self, other): | |
| if type(self) != type(other): | |
| return NotImplemented | |
| return self.__dict__ == other.__dict__ | |
| def __ne__(self, other): | |
| result = self.__eq__(other) | |
| return result if result is NotImplemented else not result | |