3.8.3 Shape Text

This example shows how to locate the text of the triangle shape on presentation slide 6 as shown in figure titled "Presentation slide 6" in section 3.1.

The child-record hierarchy of the OfficeArtSpContainer ([MS-ODRAW] section 2.2.14) record C from the table titled "DrawingContainer child-record hierarchy" in section 3.8.1 is shown expanded in the following table.

Offset

Size

Structure

00007D39

00F7

OfficeArtSpContainer - case of msofbtSpContainer

00007D39

0008

    OfficeArtRecordHeader - rh

00007D41

0010

    OfficeArtFSP - shapeProp

00007D51

0044

    OfficeArtFOPT - shapePrimaryOptions

00007D95

000E

    OfficeArtTertiaryFOPT - shapeTertiaryOptons

00007DA3

0010

    OfficeArtClientAnchor - clientAnchor

00007DB3

007D

    A: OfficeArtClientTextbox - clientTextbox

Figure 150: OfficeArtSpContainer child-record hierarchy

The child-record hierarchy of the OfficeArtClientTextbox record A from the previous table is shown expanded in the following table.

Offset

Size

Structure

Value

00007DB3

007D

OfficeArtClientTextbox - clientTextbox

00007DB3

0008

    OfficeArtRecordHeader - rh

00007DB3

4 bits

        unsigned integer - recVer

0xF

00007DB3

12 bits

        unsigned integer - recInstance

0x000

00007DB5

0002

        unsigned integer - recType

0xF00D

00007DB7

0004

        unsigned integer - recLen

0x00000075

00007DBB

000C

    A: TextHeaderAtom - case of RT_TextHeaderAtom

00007DC7

0019

    B: TextBytesAtom - case of RT_TextBytesAtom

00007DE0

0050

    StyleTextPropAtom - case of RT_StyleTextPropAtom

Figure 151: OfficeArtClientTextbox child-record hierarchy

The child-record hierarchy of the TextHeaderAtom record A from the previous table is shown expanded in the following table.

Offset

Size

Structure

Value

00007DBB

000C

A: TextHeaderAtom - case of RT_TextHeaderAtom

00007DBB

0008

    RecordHeader - rh

00007DBB

4 bits

        unsigned integer - recVer

0x0

00007DBB

12 bits

        unsigned integer - recInstance

0x000

00007DBD

0002

        RecordType - recType

0x0F9F

00007DBF

0004

        unsigned integer - recLen

0x00000004

00007DC3

0004

    TextTypeEnum - textType

0x00000004

Figure 152: TextHeaderAtom record A child-record hierarchy

textType: 0x00000004 specifies that the body of text is type Tx_TYPE_OTHER.

The child-record hierarchy of the TextBytesAtom record B from the table titled "OfficeArtClientTextbox child-record hierarchy" in this section is shown expanded in the following table.

Offset

Size

Structure

Value

00007DC7

0019

B: TextBytesAtom - case of RT_TextBytesAtom

00007DC7

0008

    RecordHeader - rh

00007DC7

4 bits

        unsigned integer - recVer

0x0

00007DC7

12 bits

        unsigned integer - recInstance

0x000

00007DC9

0002

        RecordType - recType

0x0FA8

00007DCB

0004

        unsigned integer - recLen

0x00000011

00007DCF

0011

    array of bytes - textBytes

a \vbold\v triangle

Figure 153: TextBytesAtom record B child-record hierarchy

textBytes: "a \vbold\v triangle" specifies the characters of the text body.