File: DefaultTable.py

package info (click to toggle)
python-enable 4.1.0-1
  • links: PTS, VCS
  • area: main
  • in suites: wheezy
  • size: 7,220 kB
  • sloc: cpp: 57,417; python: 28,437; makefile: 314; sh: 43
file content (41 lines) | stat: -rw-r--r-- 1,377 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
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 kiva.fonttools.fontTools.misc.textTools import readHex
                from kiva.fonttools.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__)