private int SerializeTXORecord(int offset, byte[] data) { int dataSize = this.DataSize; LittleEndian.PutUShort(data, 0 + offset, TextObjectRecord.sid); LittleEndian.PutUShort(data, 2 + offset, dataSize); LittleEndian.PutUShort(data, 4 + offset, field_1_options); LittleEndian.PutUShort(data, 6 + offset, field_2_textOrientation); LittleEndian.PutUShort(data, 8 + offset, field_3_reserved4); LittleEndian.PutUShort(data, 10 + offset, field_4_reserved5); LittleEndian.PutUShort(data, 12 + offset, field_5_reserved6); LittleEndian.PutUShort(data, 14 + offset, _text.Length); LittleEndian.PutUShort(data, 16 + offset, FormattingDataLength); LittleEndian.PutInt(data, 18 + offset, field_8_reserved7); if (_linkRefPtg != null) { int pos = offset + 22; int formulaSize = _linkRefPtg.Size; LittleEndian.PutUShort(data, pos, formulaSize); pos += LittleEndianConstants.SHORT_SIZE; LittleEndian.PutInt(data, pos, _unknownPreFormulaInt); pos += LittleEndianConstants.INT_SIZE; _linkRefPtg.WriteBytes(data, pos); pos += formulaSize; if (_unknownPostFormulaByte != null) { LittleEndian.PutByte(data, pos, Convert.ToByte(_unknownPostFormulaByte)); pos += LittleEndianConstants.BYTE_SIZE; } } return(4 + dataSize); }