protected override void Parse()
{
BinaryReader br = new BinaryReader(this._dataStream);
this._fontID = br.ReadUInt16();
UInt16 glyphTableOffset = br.ReadUInt16();
this._numberOfGlyphs = (UInt16)(glyphTableOffset / 2);
this._offsetTable = new UInt16[_numberOfGlyphs];
this._offsetTable[0] = glyphTableOffset;
long glyphTableStreamOffset = glyphTableOffset + 2;
for (int i = 1; i < this._numberOfGlyphs; i++)
{
this._offsetTable[i] = br.ReadUInt16();
}
this._glyphShapeTable = new Shape[this._numberOfGlyphs];
for (int i = 0; i < this._numberOfGlyphs; i++)
{
Shape s = new Shape(this._SwfVersion);
if (i < this._numberOfGlyphs - 1)
{
s.Parse(this._dataStream, this._offsetTable[i + 1] - this._offsetTable[i], this._tag.TagType);
this._glyphShapeTable[i] = s;
}
else
{
s.Parse(this._dataStream, this._dataStream.Length - this._dataStream.Position, this._tag.TagType);
this._glyphShapeTable[i] = s;
}
}
}