3.4 Outline Text
The outline text can be displayed visually, as shown in the figure titled "Outline text" in section 3.1. The records used to construct the outline text are found inside the SlideListWithTextContainer record (section 2.4.14.3) contained within the DocumentContainer record (section 2.4.1). The child-record hierarchy of the DocumentContainer record S from the table titled "Top-level record sequence in the PowerPoint Document Stream from sample.ppt" in section 3.3 is shown expanded in the following table.
Offset |
Size |
Structure |
---|---|---|
00005C69 |
0CFB |
DocumentContainer |
00005C69 |
0008 |
RecordHeader - rh |
00005C71 |
0030 |
E: DocumentAtom - documentAtom |
00005CA1 |
0152 |
F: ExObjListContainer - exObjList |
00005DF3 |
016A |
DocumentTextInfoContainer - documentTextInfo |
00005F5D |
01FC |
DrawingGroupContainer - drawingGroup |
00006159 |
0040 |
A: MasterListWithTextContainer - masterList |
00006199 |
04D7 |
D: DocInfoListContainer - docInfoList |
00006670 |
0014 |
SlideHeadersFootersContainer - slideHF |
00006684 |
0014 |
NotesHeadersFootersContainer - notesHF |
00006698 |
0214 |
B: SlideListWithTextContainer - slideList |
000068AC |
00B0 |
C: NotesListWithTextContainer - notesList |
0000695C |
0008 |
EndDocumentAtom - endDocumentAtom |
Figure 26: DocumentContainer child-record hierarchy
The child-record hierarchy of the SlideListWithTextContainer (section 2.4.14.3) record B from the previous table is shown expanded in the following table.
Offset |
Size |
Structure |
---|---|---|
00006698 |
0214 |
SlideListWithTextContainer - slideList |
00006698 |
0008 |
RecordHeader - rh |
000066A0 |
001C |
SlidePersistAtom - case of RT_SlidePersistAtom |
000066BC |
000C |
A: TextHeaderAtom - case of RT_TextHeaderAtom |
000066C8 |
0010 |
B: TextBytesAtom - case of RT_TextBytesAtom |
000066D8 |
000C |
C: TextHeaderAtom - case of RT_TextHeaderAtom |
000066E4 |
0014 |
D: TextBytesAtom - case of RT_TextBytesAtom |
000066F8 |
001C |
SlidePersistAtom - case of RT_SlidePersistAtom |
00006714 |
000C |
E: TextHeaderAtom - case of RT_TextHeaderAtom |
00006720 |
0013 |
F: TextBytesAtom - case of RT_TextBytesAtom |
00006733 |
000C |
G: TextHeaderAtom - case of RT_TextHeaderAtom |
0000673F |
0031 |
H: TextBytesAtom - case of RT_TextBytesAtom |
00006770 |
0022 |
StyleTextPropAtom - case of RT_StyleTextPropAtom |
00006792 |
001C |
SlidePersistAtom - case of RT_SlidePersistAtom |
000067AE |
000C |
I: TextHeaderAtom - case of RT_TextHeaderAtom |
000067BA |
0016 |
J: TextBytesAtom - case of RT_TextBytesAtom |
000067D0 |
000C |
TextHeaderAtom - case of RT_TextHeaderAtom |
000067DC |
0012 |
TextSpecialInfoAtom - case of RT_TextSpecialInfoAtom |
000067EE |
001C |
SlidePersistAtom - case of RT_SlidePersistAtom |
0000680A |
000C |
K: TextHeaderAtom - case of RT_TextHeaderAtom |
00006816 |
0015 |
L: TextBytesAtom - case of RT_TextBytesAtom |
0000682B |
001C |
SlidePersistAtom - case of RT_SlidePersistAtom |
00006847 |
000C |
M: TextHeaderAtom - case of RT_TextHeaderAtom |
00006853 |
0019 |
N: TextBytesAtom - case of RT_TextBytesAtom |
0000686C |
001C |
SlidePersistAtom - case of RT_SlidePersistAtom |
00006888 |
000C |
O: TextHeaderAtom - case of RT_TextHeaderAtom |
00006894 |
0018 |
P: TextBytesAtom - case of RT_TextBytesAtom |
Figure 27: SlideListWithTextContainer child-record hierarchy
The character content of the outline text is derived from the TextBytesAtom records labeled B, D, F, H, J, L, N, and P in the previous table titled "SlideListWithTextContainer child-record hierarchy". The TextHeaderAtom records labeled A, C, E, G, I, K, M, and O that precede the TextBytesAtom records indicate the type of text content as specified by the textType field and the TextTypeEnum. These values can be used to organize the text into logical outline levels, where title placeholder shape text is a top-level outline item and body placeholder shape text is a subordinate outline item.
The detailed structures of records A through P in the previous table titled "SlideListWithTextContainer child-record hierarchy" are shown in the following tables. Non-printable character content in TextBytesAtom records has been replaced with "\t", "\n", "\v", or "\r" where applicable.
The first line of the outline text as shown in the figure titled "Outline text" in section 3.1 is derived from records A and B, which are shown expanded in the following tables.
Offset |
Size |
Structure |
Value |
---|---|---|---|
000066BC |
000C |
A: TextHeaderAtom - case of RT_TextHeaderAtom |
|
000066BC |
0008 |
RecordHeader - rh |
|
000066BC |
4 bits |
unsigned integer - recVer |
0x0 |
000066BC |
12 bits |
unsigned integer - recInstance |
0x000 |
000066BE |
0002 |
RecordType - recType |
0x0F9F |
000066C0 |
0004 |
unsigned integer - recLen |
0x00000004 |
000066C4 |
0004 |
TextTypeEnum - textType |
0x00000006 |
Figure 28: Outline TextHeaderAtom record A
textType: 0x00000006 specifies that the following character content in the textBytes field of the following table represents the center title placeholder shape text.
Offset |
Size |
Structure |
Value |
---|---|---|---|
000066C8 |
0010 |
B: TextBytesAtom - case of RT_TextBytesAtom |
|
000066C8 |
0008 |
RecordHeader - rh |
|
000066C8 |
4 bits |
unsigned integer - recVer |
0x0 |
000066C8 |
12 bits |
unsigned integer - recInstance |
0x000 |
000066CA |
0002 |
RecordType - recType |
0x0FA8 |
000066CC |
0004 |
unsigned integer - recLen |
0x00000008 |
000066D0 |
0008 |
array of bytes - textBytes |
a sample |
Figure 29: Outline TextBytesAtom record B
textBytes: "a sample" specifies the center title placeholder shape text.
The second line of the outline text as shown in the figure titled "Outline text" in section 3.1 is derived from records C and D, which are shown expanded in the following tables.
Offset |
Size |
Structure |
Value |
---|---|---|---|
000066D8 |
000C |
C: TextHeaderAtom - case of RT_TextHeaderAtom |
|
000066D8 |
0008 |
RecordHeader - rh |
|
000066D8 |
4 bits |
unsigned integer - recVer |
0x0 |
000066D8 |
12 bits |
unsigned integer - recInstance |
0x001 |
000066DA |
0002 |
RecordType - recType |
0x0F9F |
000066DC |
0004 |
unsigned integer - recLen |
0x00000004 |
000066E0 |
0004 |
TextTypeEnum - textType |
0x00000005 |
Figure 30: Outline TextHeaderAtom record C
textType: 0x00000005 specifies that the following character content in the textBytes field of the following table represents the center body placeholder shape text.
Offset |
Size |
Structure |
Value |
---|---|---|---|
000066E4 |
0014 |
D: TextBytesAtom - case of RT_TextBytesAtom |
|
000066E4 |
0008 |
RecordHeader - rh |
|
000066E4 |
4 bits |
unsigned integer - recVer |
0x0 |
000066E4 |
12 bits |
unsigned integer - recInstance |
0x000 |
000066E6 |
0002 |
RecordType - recType |
0x0FA8 |
000066E8 |
0004 |
unsigned integer - recLen |
0x0000000C |
000066EC |
000C |
array of bytes - textBytes |
presentation |
Figure 31: Outline TextBytesAtom record D
textBytes: "presentation" specifies the center body placeholder shape text.
The third line of the outline text as shown in the figure titled "Outline text" in section 3.1 is derived from records E and F, which are shown expanded in the following tables.
Offset |
Size |
Structure |
Value |
---|---|---|---|
00006714 |
000C |
E: TextHeaderAtom - case of RT_TextHeaderAtom |
|
00006714 |
0008 |
RecordHeader - rh |
|
00006714 |
4 bits |
unsigned integer - recVer |
0x0 |
00006714 |
12 bits |
unsigned integer - recInstance |
0x000 |
00006716 |
0002 |
RecordType - recType |
0x0F9F |
00006718 |
0004 |
unsigned integer - recLen |
0x00000004 |
0000671C |
0004 |
TextTypeEnum - textType |
0x00000000 |
Figure 32: Outline TextHeaderAtom record E
textType: 0x00000000 specifies that the following character content in the textBytes field of the following table represents the title placeholder shape text.
Offset |
Size |
Structure |
Value |
---|---|---|---|
00006720 |
0013 |
F: TextBytesAtom - case of RT_TextBytesAtom |
|
00006720 |
0008 |
RecordHeader - rh |
|
00006720 |
4 bits |
unsigned integer - recVer |
0x0 |
00006720 |
12 bits |
unsigned integer - recInstance |
0x000 |
00006722 |
0002 |
RecordType - recType |
0x0FA8 |
00006724 |
0004 |
unsigned integer - recLen |
0x0000000B |
00006728 |
000B |
array of bytes - textBytes |
the weather |
Figure 33: Outline TextBytesAtom record F
textBytes: "the weather" specifies the title placeholder shape text.
Lines four through six of the outline text as shown in the figure titled "Outline text" in section 3.1 are derived from records G and H, which are shown expanded in the following tables.
Offset |
Size |
Structure |
Value |
---|---|---|---|
00006733 |
000C |
G: TextHeaderAtom - case of RT_TextHeaderAtom |
|
00006733 |
0008 |
RecordHeader - rh |
|
00006733 |
4 bits |
unsigned integer - recVer |
0x0 |
00006733 |
12 bits |
unsigned integer - recInstance |
0x001 |
00006735 |
0002 |
RecordType - recType |
0x0F9F |
00006737 |
0004 |
unsigned integer - recLen |
0x00000004 |
0000673B |
0004 |
TextTypeEnum - textType |
0x00000001 |
Figure 34: Outline TextHeaderAtom record G
textType: 0x00000001 specifies that the following character content in the textBytes field of the following table represents the body placeholder shape text.
Offset |
Size |
Structure |
Value |
---|---|---|---|
0000673F |
0031 |
H: TextBytesAtom - case of RT_TextBytesAtom |
|
0000673F |
0008 |
RecordHeader - rh |
|
0000673F |
4 bits |
unsigned integer - recVer |
0x0 |
0000673F |
12 bits |
unsigned integer - recInstance |
0x000 |
00006741 |
0002 |
RecordType - recType |
0x0FA8 |
00006743 |
0004 |
unsigned integer - recLen |
0x00000029 |
00006747 |
0029 |
array of bytes - textBytes |
a sunny day\rthe blue sky\rsome green grass |
Figure 35: Outline TextBytesAtom record H
textBytes: "a sunny day\rthe blue sky\rsome green grass" specifies the body placeholder shape text. Each line break in the text, shown as "\r", is displayed as a separate outline item shown in the figure titled "Outline text" in section 3.1.
Line seven of the outline text as shown in the figure titled "Outline text" in section 3.1 is derived from records I and J, which are shown expanded in the following tables.
Offset |
Size |
Structure |
Value |
---|---|---|---|
000067AE |
000C |
I: TextHeaderAtom - case of RT_TextHeaderAtom |
|
000067AE |
0008 |
RecordHeader - rh |
|
000067AE |
4 bits |
unsigned integer - recVer |
0x0 |
000067AE |
12 bits |
unsigned integer - recInstance |
0x000 |
000067B0 |
0002 |
RecordType - recType |
0x0F9F |
000067B2 |
0004 |
unsigned integer - recLen |
0x00000004 |
000067B6 |
0004 |
TextTypeEnum - textType |
0x00000000 |
Figure 36: Outline TextHeaderAtom record I
textType: 0x00000000 specifies that the following character content in the textBytes field of the following table represents the title placeholder shape text.
Offset |
Size |
Structure |
Value |
---|---|---|---|
000067BA |
0016 |
J: TextBytesAtom - case of RT_TextBytesAtom |
|
000067BA |
0008 |
RecordHeader - rh |
|
000067BA |
4 bits |
unsigned integer - recVer |
0x0 |
000067BA |
12 bits |
unsigned integer - recInstance |
0x000 |
000067BC |
0002 |
RecordType - recType |
0x0FA8 |
000067BE |
0004 |
unsigned integer - recLen |
0x0000000E |
000067C2 |
000E |
array of bytes - textBytes |
a green square |
Figure 37: Outline TextBytesAtom record J
textBytes: "a green square" specifies the title placeholder shape text.
Line eight of the outline text as shown in the figure titled "Outline text" in section 3.1 is derived from records K and L, which are shown expanded in the following tables.
Offset |
Size |
Structure |
Value |
---|---|---|---|
0000680A |
000C |
K: TextHeaderAtom - case of RT_TextHeaderAtom |
|
0000680A |
0008 |
RecordHeader - rh |
|
0000680A |
4 bits |
unsigned integer - recVer |
0x0 |
0000680A |
12 bits |
unsigned integer - recInstance |
0x000 |
0000680C |
0002 |
RecordType - recType |
0x0F9F |
0000680E |
0004 |
unsigned integer - recLen |
0x00000004 |
00006812 |
0004 |
TextTypeEnum - textType |
0x00000000 |
Figure 38: Outline TextHeaderAtom record K
textType: 0x00000000 specifies that the following character content in the textBytes field of the following table represents the title placeholder shape text.
Offset |
Size |
Structure |
Value |
---|---|---|---|
00006816 |
0015 |
L: TextBytesAtom - case of RT_TextBytesAtom |
|
00006816 |
0008 |
RecordHeader - rh |
|
00006816 |
4 bits |
unsigned integer - recVer |
0x0 |
00006816 |
12 bits |
unsigned integer - recInstance |
0x000 |
00006818 |
0002 |
RecordType - recType |
0x0FA8 |
0000681A |
0004 |
unsigned integer - recLen |
0x0000000D |
0000681E |
000D |
array of bytes - textBytes |
a hungry bear |
Figure 39: Outline TextBytesAtom record L
textBytes: "a hungry bear" specifies the title placeholder shape text.
Line nine of the outline text as shown in the figure titled "Outline text" in section 3.1 is derived from records M and N, which are shown expanded in the following tables.
Offset |
Size |
Structure |
Value |
---|---|---|---|
00006847 |
000C |
M: TextHeaderAtom - case of RT_TextHeaderAtom |
|
00006847 |
0008 |
RecordHeader - rh |
|
00006847 |
4 bits |
unsigned integer - recVer |
0x0 |
00006847 |
12 bits |
unsigned integer - recInstance |
0x000 |
00006849 |
0002 |
RecordType - recType |
0x0F9F |
0000684B |
0004 |
unsigned integer - recLen |
0x00000004 |
0000684F |
0004 |
TextTypeEnum - textType |
0x00000000 |
Figure 40: Outline TextHeaderAtom record M
textType: 0x00000000 specifies that the following character content in the textBytes field of the following table represents the title placeholder shape text.
Offset |
Size |
Structure |
Value |
---|---|---|---|
00006853 |
0019 |
N: TextBytesAtom - case of RT_TextBytesAtom |
|
00006853 |
0008 |
RecordHeader - rh |
|
00006853 |
4 bits |
unsigned integer - recVer |
0x0 |
00006853 |
12 bits |
unsigned integer - recInstance |
0x000 |
00006855 |
0002 |
RecordType - recType |
0x0FA8 |
00006857 |
0004 |
unsigned integer - recLen |
0x00000011 |
0000685B |
0011 |
array of bytes - textBytes |
a fruit pie chart |
Figure 41: Outline TextBytesAtom record N
textBytes: "a fruit pie chart" specifies the title placeholder shape text.
The last line of the outline text as shown in the figure titled "Outline text" in section 3.1 is derived from records O and P, which are shown expanded in the following tables.
Offset |
Size |
Structure |
Value |
---|---|---|---|
00006888 |
000C |
O: TextHeaderAtom - case of RT_TextHeaderAtom |
|
00006888 |
0008 |
RecordHeader - rh |
|
00006888 |
4 bits |
unsigned integer - recVer |
0x0 |
00006888 |
12 bits |
unsigned integer - recInstance |
0x000 |
0000688A |
0002 |
RecordType - recType |
0x0F9F |
0000688C |
0004 |
unsigned integer - recLen |
0x00000004 |
00006890 |
0004 |
TextTypeEnum - textType |
0x00000000 |
Figure 42: Outline TextHeaderAtom record O
textType: 0x00000000 specifies that the following character content in the textBytes field of the following table represents the title placeholder shape text.
Offset |
Size |
Structure |
Value |
---|---|---|---|
00006894 |
0018 |
P: TextBytesAtom - case of RT_TextBytesAtom |
|
00006894 |
0008 |
RecordHeader - rh |
|
00006894 |
4 bits |
unsigned integer - recVer |
0x0 |
00006894 |
12 bits |
unsigned integer - recInstance |
0x000 |
00006896 |
0002 |
RecordType - recType |
0x0FA8 |
00006898 |
0004 |
unsigned integer - recLen |
0x00000010 |
0000689C |
0010 |
array of bytes - textBytes |
shapes with text |
Figure 43: Outline TextBytesAtom record P
textBytes: "shapes with text" specifies the title placeholder shape text.
For more information about how the outline text formatting as shown in the figure titled "Outline text" in section 3.1, for example bullet points, font face, and font size, is derived, see the Text Example section.