aboutsummaryrefslogtreecommitdiff
path: root/Lib/fontTools/ttLib/tables/_f_p_g_m.py
blob: 77fdc6d069a602bf70fed1c54ac5c15ae228df0a (plain)
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
42
43
44
45
46
47
48
49
from fontTools.misc.py23 import *
from . import DefaultTable
from . import ttProgram

class table__f_p_g_m(DefaultTable.DefaultTable):

	def decompile(self, data, ttFont):
		program = ttProgram.Program()
		program.fromBytecode(data)
		self.program = program

	def compile(self, ttFont):
		return self.program.getBytecode()

	def toXML(self, writer, ttFont):
		self.program.toXML(writer, ttFont)

	def fromXML(self, name, attrs, content, ttFont):
		program = ttProgram.Program()
		program.fromXML(name, attrs, content, ttFont)
		self.program = program

	def __bool__(self):
		"""
		>>> fpgm = table__f_p_g_m()
		>>> bool(fpgm)
		False
		>>> p = ttProgram.Program()
		>>> fpgm.program = p
		>>> bool(fpgm)
		False
		>>> bc = bytearray([0])
		>>> p.fromBytecode(bc)
		>>> bool(fpgm)
		True
		>>> p.bytecode.pop()
		0
		>>> bool(fpgm)
		False
		"""
		return hasattr(self, 'program') and bool(self.program)

	__nonzero__ = __bool__


if __name__ == "__main__":
	import sys
	import doctest
	sys.exit(doctest.testmod().failed)