Example #1
0
        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);
        }