Handle the DefineFontAlignZones tag.

def _handle_tag_definefontalignzones(self):
        """Handle the DefineFontAlignZones tag."""
        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