public virtual void ReadTable() { if (tableLocation > 0) { rf.Seek(tableLocation); // version, we only support 0x00010000 rf.ReadUnsignedInt(); int glyphClassDefOffset = rf.ReadUnsignedShort(); // skip Attachment Point List Table rf.ReadUnsignedShort(); // skip Ligature Caret List Table rf.ReadUnsignedShort(); int markAttachClassDefOffset = rf.ReadUnsignedShort(); if (glyphClassDefOffset > 0) { glyphClass = OtfClass.Create(rf, glyphClassDefOffset + tableLocation); } if (markAttachClassDefOffset > 0) { markAttachmentClass = OtfClass.Create(rf, markAttachClassDefOffset + tableLocation); } } }
/// <exception cref="System.IO.IOException"/> protected internal OtfClass ReadClassDefinition(int classLocation) { return(OtfClass.Create(rf, classLocation)); }