45 lines
1.2 KiB
Python
45 lines
1.2 KiB
Python
from __future__ import print_function
|
|
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__)
|
|
|