Exemple #1
0
 public void ReadTableRecords(BinaryReaderFont reader)
 {
     offset  = OffsetTable.Read(reader);
     Records = TableRecord.ReadArray(reader, offset.numTables);
     Array.Sort(Records, (a, b) => {
         if (a.tableTag == HeadTable.Tag)
         {
             return(-1);
         }
         if (b.tableTag == HeadTable.Tag)
         {
             return(1);
         }
         if (a.tableTag == MaxpTable.Tag)
         {
             return(-1);
         }
         if (b.tableTag == MaxpTable.Tag)
         {
             return(1);
         }
         if (a.tableTag == HheaTable.Tag)
         {
             return(-1);
         }
         if (b.tableTag == HheaTable.Tag)
         {
             return(1);
         }
         if (a.tableTag == LocaTable.Tag)
         {
             return(-1);
         }
         if (b.tableTag == LocaTable.Tag)
         {
             return(1);
         }
         if (a.tableTag == EBLCTable.Tag)
         {
             return(-1);
         }
         if (b.tableTag == EBLCTable.Tag)
         {
             return(1);
         }
         if (a.tableTag == CBLCTable.Tag)
         {
             return(-1);
         }
         if (b.tableTag == CBLCTable.Tag)
         {
             return(1);
         }
         if (a.offset < b.offset)
         {
             return(-1);
         }
         if (a.offset > b.offset)
         {
             return(1);
         }
         return(0);
     });
 }