code: def decompile(self, data, ttFont):
      numGlyphs = ttFont["maxp"].numGlyphs
      glyphOrder = ttFont.getGlyphOrder()
      dummy, data = sstruct.unpack2(hdmxHeaderFormat, data, self)
      self.hdmx = {}
      for i in range(self.numRecords):
          ppem = byteord(data[0])
          maxSize = byteord(data[1])
          widths = _GlyphnamedList(
              ttFont.getReverseGlyphMap(),
              array.array("B", data[2 : 2 + numGlyphs]),
          )
          self.hdmx[ppem] = widths
          data = data[self.recordSize :]
      assert len(data) == 0, "too much hdmx data"
  
file_path: catboost/contrib/python/fonttools/fontTools/ttLib/tables/_h_d_m_x.py
imports: from fontTools.misc import sstruct
  from fontTools.misc.textTools import bytechr, byteord, strjoin
  from .None import DefaultTable
  import array
  from collections.abc import Mapping
label_desc: Use image node_id 1 for calling the table__h_d_m_x obj's underlying member method code with example usage: obj.decompile(data, ttFont) without return types