Spaces:
Sleeping
Sleeping
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 | |