Example #1
0
        //protected string filePath;

        public static IndexSubTable Read(BinaryReaderFont reader, ushort firstGlyphIndex, ushort lastGlyphIndex)
        {
            ushort format = reader.PeekUInt16();

            switch (format)
            {
            case 1:
                return(IndexSubTable1.Read(reader, lastGlyphIndex - firstGlyphIndex + 1));

            case 2:
                return(IndexSubTable2.Read(reader));

            case 3:
                return(IndexSubTable3.Read(reader, lastGlyphIndex - firstGlyphIndex + 1));

            case 4:
                return(IndexSubTable4.Read(reader));

            case 5:
                return(IndexSubTable5.Read(reader));
            }
            return(null);
        }