code: def compile(self, ttFont):
      if hasattr(self, "kernTables"):
          nTables = len(self.kernTables)
      else:
          nTables = 0
      if self.version == 1.0:
          # AAT Apple's "new" format.
          data = struct.pack(">LL", fl2fi(self.version, 16), nTables)
      else:
          data = struct.pack(">HH", self.version, nTables)
      if hasattr(self, "kernTables"):
          for subtable in self.kernTables:
              data = data + subtable.compile(ttFont)
      return data
  
imports: from fontTools.ttLib import getSearchRange
  from fontTools.misc.textTools import safeEval, readHex
  from fontTools.misc.fixedTools import fixedToFloat, floatToFixed
  from .None import DefaultTable
  import struct
  import sys
  import array
  import logging
label_desc: Use image node_id 3 for calling the table__k_e_r_n obj's underlying member method code with example usage: obj.compile(ttFont) and returns: data