def METHOD_NAME(self, data, ttFont):
    self.getGlyphName = (
        ttFont.getGlyphName
    )  # for use in get/set item functions, for access by GID
    (
        self.majorVersion,
        self.minorVersion,
        self.defaultVertOriginY,
        self.numVertOriginYMetrics,
    ) = struct.unpack(">HHhH", data[:8])
    assert (
        self.majorVersion <= 1
    ), "Major version of VORG table is higher than I know how to handle"
    data = data[8:]
    vids = []
    gids = []
    pos = 0
    for i in range(self.numVertOriginYMetrics):
        gid, vOrigin = struct.unpack(">Hh", data[pos : pos + 4])
        pos += 4
        gids.append(gid)
        vids.append(vOrigin)
    self.VOriginRecords = vOrig = {}
    glyphOrder = ttFont.getGlyphOrder()
    try:
        names = [glyphOrder[gid] for gid in gids]
    except IndexError:
        getGlyphName = self.getGlyphName
        names = map(getGlyphName, gids)
    for name, vid in zip(names, vids):
        vOrig[name] = vid