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

38 statements  

« prev     ^ index     » next       coverage.py v7.2.7, created at 2023-06-07 06:33 +0000

1from fontTools.misc.textTools import Tag 

2from fontTools.ttLib import getClassTag 

3 

4 

5class DefaultTable(object): 

6 

7 dependencies = [] 

8 

9 def __init__(self, tag=None): 

10 if tag is None: 

11 tag = getClassTag(self.__class__) 

12 self.tableTag = Tag(tag) 

13 

14 def decompile(self, data, ttFont): 

15 self.data = data 

16 

17 def compile(self, ttFont): 

18 return self.data 

19 

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

21 if hasattr(self, "ERROR"): 

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

23 writer.newline() 

24 writer.comment(self.ERROR) 

25 writer.newline() 

26 writer.begintag("hexdata") 

27 writer.newline() 

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

29 writer.endtag("hexdata") 

30 writer.newline() 

31 

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

33 from fontTools.misc.textTools import readHex 

34 from fontTools import ttLib 

35 

36 if name != "hexdata": 

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

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

39 

40 def __repr__(self): 

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

42 

43 def __eq__(self, other): 

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

45 return NotImplemented 

46 return self.__dict__ == other.__dict__ 

47 

48 def __ne__(self, other): 

49 result = self.__eq__(other) 

50 return result if result is NotImplemented else not result