Class: ContinueRecord
- Inherits:
-
BiffRecord
- Object
- BiffRecord
- ContinueRecord
- Defined in:
- lib/surpass/biff_record.rb
Overview
Whenever the content of a record exceeds the given limits (see table), the record must be split. Several CONTINUE records containing the additional data are added after the parent record.
BIFF version Maximum data size of a record BIFF2-BIFF7 2080 bytes (2084 bytes including record header) BIFF8 8224 bytes (8228 bytes including record header) (0x2020)
Record CONTINUE, BIFF2-BIFF8: Offset Size Contents 0 var. Data continuation of the previous record
Unicode strings are split in a special way. At the beginning of each CONTINUE record the option flags byte is repeated. Only the character size flag will be set in this flags byte, the Rich-Text flag and the Far-East flag are set to zero. In each CONTINUE record it is possible that the character size changes from 8-bit characters to 16-bit characters and vice versa.
Never a Unicode string is split until and including the first character. That means, all header fields (string length, option flags, optional Rich-Text size, and optional Far-East data size) and the first character of the string have to occur together in the leading record, or have to be moved completely into the CONTINUE record. Formatting runs cannot be split between their components (character index and FONT record index). If a string is split between two formatting runs, the option flags field will not be repeated in the CONTINUE record.
Constant Summary collapse
- RECORD_ID =
0x003C
Constants inherited from BiffRecord
BiffRecord::BIFF_LIMIT, BiffRecord::CONTINUE_RECORD_ID
Instance Attribute Summary
Attributes inherited from BiffRecord
Method Summary
Methods inherited from BiffRecord
#initialize, #record_header, #to_biff
Constructor Details
This class inherits a constructor from BiffRecord