|
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 |
|
|