Coverage for /pythoncovmergedfiles/medio/medio/usr/local/lib/python3.8/site-packages/fontTools/ttLib/tables/DefaultTable.py: 32%

Shortcuts on this page

r m x   toggle line displays

j k   next/prev highlighted chunk

0   (zero) top of page

1   (one) first highlighted chunk

38 statements  

1from fontTools.misc.textTools import Tag 

2from fontTools.ttLib import getClassTag 

3 

4 

5class DefaultTable(object): 

6 dependencies = [] 

7 

8 def __init__(self, tag=None): 

9 if tag is None: 

10 tag = getClassTag(self.__class__) 

11 self.tableTag = Tag(tag) 

12 

13 def decompile(self, data, ttFont): 

14 self.data = data 

15 

16 def compile(self, ttFont): 

17 return self.data 

18 

19 def toXML(self, writer, ttFont, **kwargs): 

20 if hasattr(self, "ERROR"): 

21 writer.comment("An error occurred during the decompilation of this table") 

22 writer.newline() 

23 writer.comment(self.ERROR) 

24 writer.newline() 

25 writer.begintag("hexdata") 

26 writer.newline() 

27 writer.dumphex(self.compile(ttFont)) 

28 writer.endtag("hexdata") 

29 writer.newline() 

30 

31 def fromXML(self, name, attrs, content, ttFont): 

32 from fontTools.misc.textTools import readHex 

33 from fontTools import ttLib 

34 

35 if name != "hexdata": 

36 raise ttLib.TTLibError("can't handle '%s' element" % name) 

37 self.decompile(readHex(content), ttFont) 

38 

39 def __repr__(self): 

40 return "<'%s' table at %x>" % (self.tableTag, id(self)) 

41 

42 def __eq__(self, other): 

43 if type(self) != type(other): 

44 return NotImplemented 

45 return self.__dict__ == other.__dict__ 

46 

47 def __ne__(self, other): 

48 result = self.__eq__(other) 

49 return result if result is NotImplemented else not result