fonttools/Lib/fontTools/ttLib/tables/DefaultTable.py
Just f8fd4777d2 Added code to fall back to the DefaultTable (and therefore to hex XML dumps) when an exception occurs during decompilation.
git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@44 4cde692c-a291-49d1-8350-778aa11640f8
2000-01-03 23:00:10 +00:00

42 lines
984 B
Python

import string
import sys
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):
return cmp(self.__dict__, other.__dict__)