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); }
//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); }