Class: ContinueRecord

Inherits:
BiffRecord show all
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

#record_data

Method Summary

Methods inherited from BiffRecord

#initialize, #record_header, #to_biff

Constructor Details

This class inherits a constructor from BiffRecord