class_docstr: Type 1 font class.
  
  Uses a minimal interpeter that supports just about enough PS to parse
  Type 1 fonts.
code: def createData(self):
      sf = self.font
  
      eexec_began = False
      eexec_dict = {}
      lines = []
      lines.extend(
          [
              self._tobytes(f"%!FontType1-1.1: {sf['FontName']}"),
              self._tobytes(f"%t1Font: ({fontTools.version})"),
              self._tobytes(f"%%BeginResource: font {sf['FontName']}"),
          ]
      )
      # follow t1write.c:writeRegNameKeyedFont
      size = 3  # Headroom for new key addition
      size += 1  # FontMatrix is always counted
      size += 1 + 1  # Private, CharStings
      for key in font_dictionary_keys:
          size += int(key in sf)
      lines.append(self._tobytes(f"{size} dict dup begin"))
  
      for key, value in sf.items():
          if eexec_began:
              eexec_dict[key] = value
              continue
  
          if key == "FontInfo":
              fi = sf["FontInfo"]
              # follow t1write.c:writeFontInfoDict
              size = 3  # Headroom for new key addition
              for subkey in FontInfo_dictionary_keys:
                  size += int(subkey in fi)
              lines.append(
                  self._tobytes(f"/FontInfo {size} dict dup begin")
              )
  
              for subkey, subvalue in fi.items():
                  lines.extend(self._make_lines(subkey, subvalue))
              lines.append(b"end def")
          elif key in _type1_post_eexec_order:  # usually 'Private'
              eexec_dict[key] = value
              eexec_began = True
          else:
              lines.extend(self._make_lines(key, value))
      lines.append(b"end")
      eexec_portion = self.encode_eexec(eexec_dict)
      lines.append(bytesjoin([b"currentfile eexec ", eexec_portion]))
  
      for _ in range(8):
          lines.append(self._tobytes("0" * 64))
      lines.extend([b"cleartomark", b"%%EndResource", b"%%EOF"])
  
      data = bytesjoin(lines, "\n")
      return data
  
imports: import fontTools
  from fontTools.misc import eexec
  from fontTools.misc.macCreatorType import getMacCreatorAndType
  from fontTools.misc.textTools import bytechr, byteord, bytesjoin, tobytes
  from fontTools.misc.psOperators import _type1_pre_eexec_order, _type1_fontinfo_order, _type1_post_eexec_order
  from fontTools.encodings.StandardEncoding import StandardEncoding
  import os
  import re
label_desc: Use image node_id 7 for calling the T1Font obj's underlying member method code with example usage: obj.createData() and returns: data