2.4.218 RichTextStream

The RichTextStream record specifies additional text properties for the text in the entire chart, text in the current legend, text in the current legend entry, or text in the attached label.  These text properties are a superset of the properties stored in the Text, Font, FontX, BRAI, and ObjectLink records based on the following table, as specified by the Chart Sheet Substream ABNF. In each case, the associated Font record is specified by the associated FontX record. <114> 

Rule Containing the RichTextStream record

Meaning

CHARTFORMATS

Specifies additional Rich Text Format properties for the text of the entire chart. 

The associated Text and FontX records are contained in the attached label that is contained in the first sequence of records that conforms to the DFTTEXT rule in the chart, and not contained in the chart group.

LD

Specifies additional Rich Text Format properties for text in the current legend. 

The associated Text and FontX records are contained in the sequence of records that conforms to the ATTACHEDLABEL rule that is contained in the sequence of records that conforms to the LD rule.

SERIESFORMAT

Specifies additional Rich Text Format properties for the current legend entry. 

The associated Text and FontX records are contained in the sequence of records that conforms to the ATTACHEDLABEL rule that immediately precedes this record in the sequence of records that conforms to the SERIESFORMAT rule.

The associated BRAI record is contained in the sequence of records that conforms to the AI rule that is contained in the sequence of records that conforms to the SERIESFORMAT rule.

ATTACHEDLABEL

Specifies additional Rich Text Format properties for the text in the attached label. 

The associated Text and FontX records are contained in the sequence of records that conforms to the ATTACHEDLABEL rule.

The associated BRAI record is contained in the sequence of records that conforms to the ATTACHEDLABEL rule.

The associated ObjectLink record is contained in the sequence of records that conforms to the ATTACHEDLABEL rule.

These Rich Text Format properties are stored in the XML stream (section 2.1.7.22) specified in [ECMA-376] Part 4, section 5.7.2.217. 

An application can choose to ignore this record without loss of functionality, but will lose access to the additional Rich Text Format properties. If an application chooses to implement this record, the application MUST implement the validation checksum specified by the dwCheckSum field.


0


1


2


3


4


5


6


7


8


9

1
0


1


2


3


4


5


6


7


8


9

2
0


1


2


3


4


5


6


7


8


9

3
0


1

frtHeader

...

...

dwCheckSum

cb

rgb (variable)

...

frtHeader (12 bytes):  An FrtHeader structure. The frtHeader.rt field MUST be 0x08A6.

dwCheckSum (4 bytes):  An unsigned integer that specifies the checksum of the attributes of the Rich Text Format properties related to this record. The algorithm used to calculate the checksum is specified by [MS-OSHARED] section 2.4.3.2. The checksum MUST be calculated from every property of the property stream, taken as an array of bytes as specified by the RichTextStreamChecksumData structure.

The information required to build the memory stream can be gathered from the Text, FontX, Font, BRAI, and ObjectLink records associated with this record, as previously specified.

When reading this record, the checksum is calculated as previously specified and compared to the dwCheckSum value stored in this record. If the calculated checksum does not match the dwCheckSum data, the application MUST assume that the XML stream (section 2.1.7.22) is out of date, and the data from the associated records MUST be used instead of the data specified by the XML stream (section 2.1.7.22).

cb (4 bytes):  An unsigned integer that specifies the size of the rgb field. This field MUST contain the exact length in bytes of the rgb field.

rgb (variable):  An array of ANSI characters that contains the XML representation of the text formatting properties, as defined in [ECMA-376] Part 4, section 5.7.2.217. The length of this field is specified by the cb field.