def METHOD_NAME(self, ttFont):
    if self.data is None:
        from fontTools import ttLib
        raise ttLib.TTLibError
    if len(self.data) < sbixStrikeHeaderFormatSize:
        from fontTools import ttLib
        raise (
            ttLib.TTLibError,
            "Strike header too short: Expected %x, got %x.",
        ) % (sbixStrikeHeaderFormatSize, len(self.data))
    # read Strike header from raw data
    sstruct.unpack(
        sbixStrikeHeaderFormat, self.data[:sbixStrikeHeaderFormatSize], self
    )
    # calculate number of glyphs
    (firstGlyphDataOffset,) = struct.unpack(
        ">L",
        self.data[
            sbixStrikeHeaderFormatSize : sbixStrikeHeaderFormatSize
            + sbixGlyphDataOffsetFormatSize
        ],
    )
    self.numGlyphs = (
        firstGlyphDataOffset - sbixStrikeHeaderFormatSize
    ) // sbixGlyphDataOffsetFormatSize - 1
    # ^ -1 because there's one more offset than glyphs
    # build offset list for single glyph data offsets
    self.glyphDataOffsets = []
    for i in range(
        self.numGlyphs + 1
    ):  # + 1 because there's one more offset than glyphs
        start = i * sbixGlyphDataOffsetFormatSize + sbixStrikeHeaderFormatSize
        (current_offset,) = struct.unpack(
            ">L", self.data[start : start + sbixGlyphDataOffsetFormatSize]
        )
        self.glyphDataOffsets.append(current_offset)
    # iterate through offset list and slice raw data into glyph data records
    for i in range(self.numGlyphs):
        current_glyph = Glyph(
            rawdata=self.data[
                self.glyphDataOffsets[i] : self.glyphDataOffsets[i + 1]
            ],
            gid=i,
        )
        current_glyph.METHOD_NAME(ttFont)
        self.glyphs[current_glyph.glyphName] = current_glyph
    del self.glyphDataOffsets
    del self.numGlyphs
    del self.data