예제 #1
0
 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);
         }
     }
 }
예제 #2
0
 /// <exception cref="System.IO.IOException"/>
 protected internal OtfClass ReadClassDefinition(int classLocation)
 {
     return(OtfClass.Create(rf, classLocation));
 }