code: def fromXML(self, name, attrs, content, ttFont):
      if name not in ("psNames", "extraNames", "hexdata"):
          setattr(self, name, safeEval(attrs["value"]))
      elif name == "psNames":
          self.mapping = {}
          for element in content:
              if not isinstance(element, tuple):
                  continue
              name, attrs, content = element
              if name == "psName":
                  self.mapping[attrs["name"]] = attrs["psName"]
      elif name == "extraNames":
          self.extraNames = []
          for element in content:
              if not isinstance(element, tuple):
                  continue
              name, attrs, content = element
              if name == "psName":
                  self.extraNames.append(attrs["name"])
      else:
          self.data = readHex(content)
  
imports: from fontTools import ttLib
  from fontTools.ttLib.standardGlyphOrder import standardGlyphOrder
  from fontTools.misc import sstruct
  from fontTools.misc.textTools import bytechr, byteord, tobytes, tostr, safeEval, readHex
  from .None import DefaultTable
  import sys
  import struct
  import array
  import logging
label_desc: Use image node_id 12 for calling the table__p_o_s_t obj's underlying member method code with example usage: obj.fromXML(name, attrs, content, ttFont) without return types