Beispiel #1
0
        public static IndexSubTable1 Read(BinaryReaderFont reader, int count)
        {
            IndexSubTable1 value = new IndexSubTable1();

            value.header   = IndexSubHeader.Read(reader);
            value.position = reader.Position;
            value.count    = count;
            //value.offsetArray = reader.ReadUInt32Array(count + 1);
            return(value);
        }
Beispiel #2
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);
        }