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); }); }