_f_p_g_m.py 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. from . import DefaultTable
  2. from . import ttProgram
  3. class table__f_p_g_m(DefaultTable.DefaultTable):
  4. def decompile(self, data, ttFont):
  5. program = ttProgram.Program()
  6. program.fromBytecode(data)
  7. self.program = program
  8. def compile(self, ttFont):
  9. return self.program.getBytecode()
  10. def toXML(self, writer, ttFont):
  11. self.program.toXML(writer, ttFont)
  12. def fromXML(self, name, attrs, content, ttFont):
  13. program = ttProgram.Program()
  14. program.fromXML(name, attrs, content, ttFont)
  15. self.program = program
  16. def __bool__(self):
  17. """
  18. >>> fpgm = table__f_p_g_m()
  19. >>> bool(fpgm)
  20. False
  21. >>> p = ttProgram.Program()
  22. >>> fpgm.program = p
  23. >>> bool(fpgm)
  24. False
  25. >>> bc = bytearray([0])
  26. >>> p.fromBytecode(bc)
  27. >>> bool(fpgm)
  28. True
  29. >>> p.bytecode.pop()
  30. 0
  31. >>> bool(fpgm)
  32. False
  33. """
  34. return hasattr(self, "program") and bool(self.program)
  35. __nonzero__ = __bool__
  36. if __name__ == "__main__":
  37. import sys
  38. import doctest
  39. sys.exit(doctest.testmod().failed)