| from __future__ import print_function, division |
| from fontTools.misc.py23 import * |
| |
| class DefaultTable: |
| |
| dependencies = [] |
| |
| def __init__(self, tag): |
| self.tableTag = tag |
| |
| def decompile(self, data, ttFont): |
| self.data = data |
| |
| def compile(self, ttFont): |
| return self.data |
| |
| def toXML(self, writer, ttFont): |
| 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 __cmp__(self, other): |
| if not isinstance(self, type(other)): return cmp(type(self), type(other)) |
| if self.__class__ != other.__class__: return cmp(self.__class__, other.__class__) |
| |
| return cmp(self.__dict__, other.__dict__) |
| |