public static SbixTable Read(BinaryReaderFont reader, MaxpTable maxp) { long position = reader.Position; SbixTable value = new SbixTable { version = reader.ReadUInt16(), flags = reader.ReadUInt16(), numStrikes = reader.ReadUInt32(), }; uint numGlyphs = maxp.numGlyphs; uint numStrikes = value.numStrikes; value.strikeOffsets = reader.ReadUInt32Array((int)numStrikes); value.strikes = new Strike[numStrikes]; for (int i = 0; i < numStrikes; i++) { uint strikeOffset = value.strikeOffsets[i]; reader.Position = position + strikeOffset; value.strikes[i] = Strike.Read(reader, numGlyphs); } return(value); }