code: def _handle_tag_definefontalignzones(self):
          
          obj = _make_object("DefineFontAlignZones")
          obj.FontId = unpack_ui16(self._src)
          bc = BitConsumer(self._src)
          obj.CSMTableHint = bc.u_get(2)
          obj.Reserved = bc.u_get(6)
  
          obj.ZoneTable = zone_records = []
          glyph_count = self._last_defined_glyphs_quantity
          self._last_defined_glyphs_quantity = None
          for _ in range(glyph_count):
              zone_record = _make_object("ZoneRecord")
              zone_records.append(zone_record)
              zone_record.NumZoneData = unpack_ui8(self._src)
              zone_record.ZoneData = zone_data = []
              for _ in range(zone_record.NumZoneData):
                  zone_datum = _make_object("ZoneData")
                  zone_data.append(zone_datum)
                  zone_datum.AlignmentCoordinate = unpack_float16(self._src)
                  zone_datum.Range = unpack_float16(self._src)
              bc = BitConsumer(self._src)
              zone_record.Reserved = bc.u_get(6)
              zone_record.ZoneMaskY = bc.u_get(1)
              zone_record.ZoneMaskX = bc.u_get(1)
          return obj
docs: Handle the DefineFontAlignZones tag.