1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4 -*- */
2 /* libwpd
3  * Version: MPL 2.0 / LGPLv2.1+
4  *
5  * This Source Code Form is subject to the terms of the Mozilla Public
6  * License, v. 2.0. If a copy of the MPL was not distributed with this
7  * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8  *
9  * Major Contributor(s):
10  * Copyright (C) 2002 William Lachance (wrlach@gmail.com)
11  * Copyright (C) 2002-2003 Marc Maurer (uwog@uwog.net)
12  *
13  * For minor contributions see the git repository.
14  *
15  * Alternatively, the contents of this file may be used under the terms
16  * of the GNU Lesser General Public License Version 2.1 or later
17  * (LGPLv2.1+), in which case the provisions of the LGPLv2.1+ are
18  * applicable instead of those above.
19  *
20  * For further information visit http://libwpd.sourceforge.net
21  */
22 
23 /* "This product is not manufactured, approved, or supported by
24  * Corel Corporation or Corel Corporation Limited."
25  */
26 
27 #ifndef WP6FILESTRUCTURE_H
28 #define WP6FILESTRUCTURE_H
29 
30 #include "libwpd_internal.h"
31 
32 // size of the fixed length functiongroups 0xF0 to 0xFF
33 extern unsigned char WP6_FIXED_LENGTH_FUNCTION_GROUP_SIZE[16];
34 
35 /* standard sizes */
36 #define WP6_NUM_LIST_LEVELS 8
37 
38 /* header defines */
39 #define WP6_HEADER_DOCUMENT_SIZE_OFFSET 20
40 #define WP6_HEADER_INDEX_HEADER_POINTER_OFFSET 14
41 
42 #define WP6_EXPECTED_MAJOR_VERSION 2
43 #define WP6_DOCUMENT_FILE_TYPE 10
44 
45 /* index header information */
46 
47 #define WP6_INDEX_HEADER_NUM_INDICES_POSITION 2
48 #define WP6_INDEX_HEADER_INDICES_POSITION 14
49 #define WP6_INDEX_HEADER_ELEMENT_CHILD_PACKET_BIT 1
50 
51 #define WP6_INDEX_HEADER_DOCUMENT_SETTINGS_DESCRIPTOR_POOL 0x02
52 #define WP6_INDEX_HEADER_HYPERLINK 0x07
53 #define WP6_INDEX_HEADER_GENERAL_WORDPERFECT_TEXT 0x08
54 #define WP6_INDEX_HEADER_NEXT_TOTAL_PAGE_COUNT_DESCRIPTOR_POOL 0x10
55 #define WP6_INDEX_HEADER_COMMENT_ANNOTATION 0x1B
56 #define WP6_INDEX_HEADER_PRINTER_SELECTION_DESCRIPTOR_POOL 0x23
57 #define WP6_INDEX_HEADER_INITIAL_FONT 0x25
58 #define WP6_INDEX_HEADER_SYLE_DATA_DESCRIPTOR_POOL 0x30
59 #define WP6_INDEX_HEADER_SHARED_PERSONAL_FILE_DATES_DESCRIPTOR_POOL 0x34
60 #define WP6_INDEX_HEADER_GRAPHICS_FILENAME 0x40
61 #define WP6_INDEX_HEADER_GRAPHICS_BOX_STYLE 0x41
62 #define WP6_INDEX_HEADER_FILL_STYLE 0x43
63 #define WP6_INDEX_HEADER_CHECK_AS_YOU_GO_DESCRIPTOR_POOL 0x4E
64 #define WP6_INDEX_HEADER_DESIRED_FONT_DESCRIPTOR_POOL 0x55
65 #define WP6_INDEX_HEADER_PREFIX_TIME_STAMP_DESCRIPTOR_POOL 0x5E
66 #define WP6_INDEX_HEADER_TABLE_STYLE 0x69
67 #define WP6_INDEX_HEADER_GRAPHICS_CACHED_FILE_DATA 0x6F
68 #define WP6_INDEX_HEADER_UNDO_INFORMATION_DESCRIPTOR_POOL 0x77 /* WordPerfect 6.1 */
69 #define WP6_INDEX_HEADER_WORLD_WIDE_WEB_DESCRIPTOR_POOL 0x6D
70 
71 #define WP6_INDEX_HEADER_EXTENDED_DOCUMENT_SUMMARY 0x12
72 #define WP6_INDEX_HEADER_EXTENDED_DOCUMENT_SUMMARY_AUTHOR 5
73 #define WP6_INDEX_HEADER_EXTENDED_DOCUMENT_SUMMARY_SUBJECT 46
74 #define WP6_INDEX_HEADER_EXTENDED_DOCUMENT_SUMMARY_PUBLISHER 33
75 #define WP6_INDEX_HEADER_EXTENDED_DOCUMENT_SUMMARY_CATEGORY 10
76 #define WP6_INDEX_HEADER_EXTENDED_DOCUMENT_SUMMARY_KEYWORDS 26
77 #define WP6_INDEX_HEADER_EXTENDED_DOCUMENT_SUMMARY_LANGUAGE 27
78 #define WP6_INDEX_HEADER_EXTENDED_DOCUMENT_SUMMARY_ABSTRACT 1
79 #define WP6_INDEX_HEADER_EXTENDED_DOCUMENT_SUMMARY_DESCRIPTIVE_NAME 17
80 #define WP6_INDEX_HEADER_EXTENDED_DOCUMENT_SUMMARY_DESCRIPTIVE_TYPE 18
81 
82 #define WP6_INDEX_HEADER_EXTENDED_DOCUMENT_SUMMARY_CREATION_DATE 0x0E
83 #define WP6_INDEX_HEADER_EXTENDED_DOCUMENT_SUMMARY_DATE_COMPLETED 0x0F
84 
85 #define WP6_INDEX_HEADER_EXTENDED_DOCUMENT_SUMMARY_ACCOUNT 2
86 #define WP6_INDEX_HEADER_EXTENDED_DOCUMENT_SUMMARY_ADDRESS 3
87 #define WP6_INDEX_HEADER_EXTENDED_DOCUMENT_SUMMARY_ATTACHMENTS 4
88 #define WP6_INDEX_HEADER_EXTENDED_DOCUMENT_SUMMARY_AUTHORIZATION 6
89 #define WP6_INDEX_HEADER_EXTENDED_DOCUMENT_SUMMARY_BILL_TO 7
90 #define WP6_INDEX_HEADER_EXTENDED_DOCUMENT_SUMMARY_BLIND_COPY 8
91 #define WP6_INDEX_HEADER_EXTENDED_DOCUMENT_SUMMARY_CARBON_COPY 9
92 #define WP6_INDEX_HEADER_EXTENDED_DOCUMENT_SUMMARY_CHECKED_BY 11
93 #define WP6_INDEX_HEADER_EXTENDED_DOCUMENT_SUMMARY_CLIENT 12
94 #define WP6_INDEX_HEADER_EXTENDED_DOCUMENT_SUMMARY_COMMENTS 13
95 #define WP6_INDEX_HEADER_EXTENDED_DOCUMENT_SUMMARY_DEPARTMENT 16
96 #define WP6_INDEX_HEADER_EXTENDED_DOCUMENT_SUMMARY_DESTINATION 19
97 #define WP6_INDEX_HEADER_EXTENDED_DOCUMENT_SUMMARY_DISPOSITION 20
98 #define WP6_INDEX_HEADER_EXTENDED_DOCUMENT_SUMMARY_DIVISION 21
99 #define WP6_INDEX_HEADER_EXTENDED_DOCUMENT_SUMMARY_DOCUMENT_NUMBER 22
100 #define WP6_INDEX_HEADER_EXTENDED_DOCUMENT_SUMMARY_EDITOR 23
101 #define WP6_INDEX_HEADER_EXTENDED_DOCUMENT_SUMMARY_FORWARD_TO 24
102 #define WP6_INDEX_HEADER_EXTENDED_DOCUMENT_SUMMARY_GROUP 25
103 #define WP6_INDEX_HEADER_EXTENDED_DOCUMENT_SUMMARY_MAIL_STOP 28
104 #define WP6_INDEX_HEADER_EXTENDED_DOCUMENT_SUMMARY_MATTER 29
105 #define WP6_INDEX_HEADER_EXTENDED_DOCUMENT_SUMMARY_OFFICE 30
106 #define WP6_INDEX_HEADER_EXTENDED_DOCUMENT_SUMMARY_OWNER 31
107 #define WP6_INDEX_HEADER_EXTENDED_DOCUMENT_SUMMARY_PROJECT 32
108 #define WP6_INDEX_HEADER_EXTENDED_DOCUMENT_SUMMARY_PURPOSE 34
109 #define WP6_INDEX_HEADER_EXTENDED_DOCUMENT_SUMMARY_RECEIVED_FROM 35
110 #define WP6_INDEX_HEADER_EXTENDED_DOCUMENT_SUMMARY_RECORDED_BY 36
111 #define WP6_INDEX_HEADER_EXTENDED_DOCUMENT_SUMMARY_RECORDED_DATE 37
112 #define WP6_INDEX_HEADER_EXTENDED_DOCUMENT_SUMMARY_REFERENCE 38
113 #define WP6_INDEX_HEADER_EXTENDED_DOCUMENT_SUMMARY_REVISION_DATE 39 /* unused and blank */
114 #define WP6_INDEX_HEADER_EXTENDED_DOCUMENT_SUMMARY_REVISION_NOTES 40
115 #define WP6_INDEX_HEADER_EXTENDED_DOCUMENT_SUMMARY_REVISION_NUMBER 41
116 #define WP6_INDEX_HEADER_EXTENDED_DOCUMENT_SUMMARY_SECTION 42
117 #define WP6_INDEX_HEADER_EXTENDED_DOCUMENT_SUMMARY_SECURITY 43
118 #define WP6_INDEX_HEADER_EXTENDED_DOCUMENT_SUMMARY_SOURCE 44
119 #define WP6_INDEX_HEADER_EXTENDED_DOCUMENT_SUMMARY_STATUS 45
120 #define WP6_INDEX_HEADER_EXTENDED_DOCUMENT_SUMMARY_TELEPHONE_NUMBER 47
121 #define WP6_INDEX_HEADER_EXTENDED_DOCUMENT_SUMMARY_TYPIST 48
122 #define WP6_INDEX_HEADER_EXTENDED_DOCUMENT_SUMMARY_VERSION_DATE 49
123 #define WP6_INDEX_HEADER_EXTENDED_DOCUMENT_SUMMARY_VERSION_NOTES 50
124 #define WP6_INDEX_HEADER_EXTENDED_DOCUMENT_SUMMARY_VERSION_NUMBER 51
125 
126 #define WP6_INDEX_HEADER_OUTLINE_STYLE 0x31
127 #define WP6_INDEX_HEADER_OUTLINE_STYLE_ARABIC_NUMBERING 0
128 #define WP6_INDEX_HEADER_OUTLINE_STYLE_LOWERCASE_NUMBERING 1
129 #define WP6_INDEX_HEADER_OUTLINE_STYLE_UPPERCASE_NUMBERING 2
130 #define WP6_INDEX_HEADER_OUTLINE_STYLE_LOWERCASE_ROMAN_NUMBERING 3
131 #define WP6_INDEX_HEADER_OUTLINE_STYLE_UPPERCASE_ROMAN_NUMBERING 4
132 
133 #define WP6_VARIABLE_GROUP_PREFIX_ID_BIT 128 /* bit 7 */
134 
135 /* Main function group list  */
136 
137 #define WP6_TOP_SOFT_SPACE 0x80
138 #define WP6_TOP_HARD_SPACE 0x81
139 #define WP6_TOP_SOFT_HYPHEN_IN_LINE 0x82
140 #define WP6_TOP_SOFT_HYPHEN_AT_EOL 0x83
141 #define WP6_TOP_HARD_HYPHEN 0x84
142 #define WP6_TOP_AUTO_HYPHEN 0x85
143 #define WP6_TOP_DORMANT_HARD_RETURN 0x87
144 
145 #define WP6_TOP_DELETABLE_HARD_EOP 0xB4
146 #define WP6_TOP_DELETABLE_HARD_EOC_AT_EOP 0xB5
147 #define WP6_TOP_DELETABLE_HARD_EOC 0xB6
148 #define WP6_TOP_DELETABLE_HARD_EOL_AT_EOC_AT_EOP 0xB7
149 #define WP6_TOP_DELETABLE_HARD_EOL_AT_EOC 0xB8
150 #define WP6_TOP_DELETABLE_HARD_EOL 0xB9
151 #define WP6_TOP_DELETABLE_SOFT_EOL_AT_EOC_AT_EOP 0xBA
152 #define WP6_TOP_DELETABLE_SOFT_EOL_AT_EOC 0xBB
153 #define WP6_TOP_DELETABLE_SOFT_EOL 0xBC
154 
155 #define WP6_TOP_TABLE_OFF_AT_EOC_AT_EOP 0xBD
156 #define WP6_TOP_TABLE_OFF_AT_EOC 0xBE
157 #define WP6_TOP_TABLE_OFF 0xBF
158 #define WP6_TOP_TABLE_ROW_AT_HARD_EOP 0xC0
159 #define WP6_TOP_TABLE_ROW_AT_HARD_EOC_AT_HARD_EOP 0xC1
160 #define WP6_TOP_TABLE_ROW_AT_HARD_EOC 0xC2
161 #define WP6_TOP_TABLE_ROW_AT_EOC_AT_EOP 0xC3
162 #define WP6_TOP_TABLE_ROW_AT_EOC 0xC4
163 #define WP6_TOP_TABLE_ROW 0xC5
164 #define WP6_TOP_TABLE_CELL 0xC6
165 
166 #define WP6_TOP_HARD_EOP 0xC7
167 #define WP6_TOP_HARD_EOC_AT_EOP 0xC8
168 #define WP6_TOP_HARD_EOC 0xC9
169 #define WP6_TOP_HARD_EOL_AT_EOC_AT_EOP 0xCA
170 #define WP6_TOP_HARD_EOL_AT_EOC 0xCB
171 #define WP6_TOP_HARD_EOL 0xCC
172 #define WP6_TOP_SOFT_EOL_AT_EOC_AT_EOP 0xCD
173 #define WP6_TOP_SOFT_EOL_AT_EOC 0xCE
174 #define WP6_TOP_SOFT_EOL 0xCF
175 
176 #define WP6_TOP_EOL_GROUP 0xD0
177 #define WP6_TOP_PAGE_GROUP 0xD1
178 #define WP6_TOP_COLUMN_GROUP 0xD2
179 #define WP6_TOP_PARAGRAPH_GROUP 0xD3
180 #define WP6_TOP_CHARACTER_GROUP 0xD4
181 #define WP6_TOP_CROSSREFERENCE_GROUP 0xD5
182 #define WP6_TOP_HEADER_FOOTER_GROUP 0xD6
183 #define WP6_TOP_FOOTNOTE_ENDNOTE_GROUP 0xD7
184 #define WP6_TOP_SET_NUMBER_GROUP 0xD8
185 #define WP6_TOP_NUMBERING_METHOD_GROUP 0xD9
186 #define WP6_TOP_DISPLAY_NUMBER_REFERENCE_GROUP 0xDA
187 #define WP6_TOP_INCREMENT_NUMBER_GROUP 0xDB
188 #define WP6_TOP_DECREMENT_NUMBER_GROUP 0xDC
189 #define WP6_TOP_STYLE_GROUP 0xDD
190 #define WP6_TOP_MERGE_GROUP 0xDE
191 #define WP6_TOP_BOX_GROUP 0xDF
192 #define WP6_TOP_TAB_GROUP 0xE0
193 #define WP6_TOP_PLATFORM_GROUP 0xE1
194 #define WP6_TOP_FORMATTER_GROUP 0xE2
195 
196 #define WP6_TOP_EXTENDED_CHARACTER 0xF0
197 #define WP6_TOP_UNDO_GROUP 0xF1
198 #define WP6_TOP_ATTRIBUTE_ON 0xF2
199 #define WP6_TOP_ATTRIBUTE_OFF 0xF3
200 #define WP6_TOP_HIGHLIGHT_ON 0xFB
201 #define WP6_TOP_HIGHLIGHT_OFF 0xFC
202 
203 /* Page Group */
204 #define WP6_PAGE_GROUP_TOP_MARGIN_SET 0x00
205 #define WP6_PAGE_GROUP_BOTTOM_MARGIN_SET 0x01
206 #define WP6_PAGE_GROUP_SUPPRESS_PAGE_CHARACTERISTICS 0x02
207 #define WP6_PAGE_GROUP_PAGE_NUMBER_POSITION 0x03
208 #define WP6_PAGE_GROUP_FORM 0x11
209 
210 // breaking style here so our symbols aren't (as) ridiculously long
211 #define WP6_PAGE_GROUP_SUPPRESS_PAGE_NUMBER 1
212 #define WP6_PAGE_GROUP_SUPPRESS_CURRENT_PAGE_NUMBERING_AND_PRINT_NUMBER_AT_BOTTOM_CENTER 2
213 #define WP6_PAGE_GROUP_SUPPRESS_HEADER_A 4
214 #define WP6_PAGE_GROUP_SUPPRESS_HEADER_B 8
215 #define WP6_PAGE_GROUP_SUPPRESS_FOOTER_A 16
216 #define WP6_PAGE_GROUP_SUPPRESS_FOOTER_B 32
217 #define WP6_PAGE_GROUP_SUPPRESS_WATERMARK_A 64
218 #define WP6_PAGE_GROUP_SUPPRESS_WATERMARK_B 128
219 
220 /* EOL Group */
221 #define WP6_EOL_GROUP_SOFT_EOL 0x01
222 #define WP6_EOL_GROUP_SOFT_EOC 0x02
223 #define WP6_EOL_GROUP_SOFT_EOC_AT_EOP 0x03
224 #define WP6_EOL_GROUP_HARD_EOL 0x04
225 #define WP6_EOL_GROUP_HARD_EOL_AT_EOC 0x05
226 #define WP6_EOL_GROUP_HARD_EOL_AT_EOP 0x06
227 #define WP6_EOL_GROUP_HARD_EOC 0x07
228 #define WP6_EOL_GROUP_HARD_EOC_AT_EOP 0x08
229 #define WP6_EOL_GROUP_HARD_EOP 0x09
230 #define WP6_EOL_GROUP_TABLE_CELL 0x0A
231 #define WP6_EOL_GROUP_TABLE_ROW_AND_CELL 0x0B
232 #define WP6_EOL_GROUP_TABLE_ROW_AT_EOC 0x0C
233 #define WP6_EOL_GROUP_TABLE_ROW_AT_EOP 0x0D
234 #define WP6_EOL_GROUP_TABLE_ROW_AT_HARD_EOC 0x0E
235 #define WP6_EOL_GROUP_TABLE_ROW_AT_HARD_EOC_AT_HARD_EOP 0x0F
236 #define WP6_EOL_GROUP_TABLE_ROW_AT_HARD_EOP 0x10
237 #define WP6_EOL_GROUP_TABLE_OFF 0x11
238 #define WP6_EOL_GROUP_TABLE_OFF_AT_EOC 0x12
239 #define WP6_EOL_GROUP_TABLE_OFF_AT_EOC_AT_EOP 0x13
240 #define WP6_EOL_GROUP_DELETABLE_SOFT_EOL 0x14
241 #define WP6_EOL_GROUP_DELETABLE_SOFT_EOC 0x15
242 #define WP6_EOL_GROUP_DELETABLE_SOFT_EOC_AT_EOP 0x16
243 #define WP6_EOL_GROUP_DELETABLE_HARD_EOL 0x17
244 #define WP6_EOL_GROUP_DELETABLE_HARD_EOL_AT_EOC 0x18
245 #define WP6_EOL_GROUP_DELETABLE_HARD_EOL_AT_EOP 0x19
246 #define WP6_EOL_GROUP_DELETABLE_HARD_EOC 0x1A
247 #define WP6_EOL_GROUP_DELETABLE_HARD_EOC_AT_EOP 0x1B
248 #define WP6_EOL_GROUP_DELETABLE_HARD_EOP 0x1C
249 #define WP6_EOL_GROUP_ROW_INFORMATION 128
250 #define WP6_EOL_GROUP_ROW_INFORMATION_SIZE 5
251 #define WP6_EOL_GROUP_CELL_FORMULA 129 // cell_formula size is variable
252 #define WP6_EOL_GROUP_TOP_GUTTER_SPACING 130
253 #define WP6_EOL_GROUP_TOP_GUTTER_SPACING_SIZE 4
254 #define WP6_EOL_GROUP_BOTTOM_GUTTER_SPACING 131
255 #define WP6_EOL_GROUP_BOTTOM_GUTTER_SPACING_SIZE 4
256 #define WP6_EOL_GROUP_CELL_INFORMATION 132
257 #define WP6_EOL_GROUP_CELL_INFORMATION_SIZE 9
258 #define WP6_EOL_GROUP_CELL_SPANNING_INFORMATION 133
259 #define WP6_EOL_GROUP_CELL_SPANNING_INFORMATION_SIZE 4
260 #define WP6_EOL_GROUP_CELL_FILL_COLORS 134
261 #define WP6_EOL_GROUP_CELL_FILL_COLORS_SIZE 10
262 #define WP6_EOL_GROUP_CELL_LINE_COLOR 135
263 #define WP6_EOL_GROUP_CELL_LINE_COLOR_SIZE 6
264 #define WP6_EOL_GROUP_CELL_NUMBER_TYPE 136
265 #define WP6_EOL_GROUP_CELL_NUMBER_TYPE_SIZE 6
266 #define WP6_EOL_GROUP_CELL_FLOATING_POINT_NUMBER 137
267 #define WP6_EOL_GROUP_CELL_FLOATING_POINT_NUMBER_SIZE 11
268 #define WP6_EOL_GROUP_CELL_PREFIX_FLAG 139
269 #define WP6_EOL_GROUP_CELL_PREFIX_FLAG_SIZE 3
270 #define WP6_EOL_GROUP_CELL_RECALCULATION_ERROR_NUMBER 140
271 #define WP6_EOL_GROUP_CELL_RECALCULATION_ERROR_NUMBER_SIZE 3
272 #define WP6_EOL_GROUP_DONT_END_A_PARAGRAPH_STYLE_FOR_THIS_HARD_RETURN 141
273 #define WP6_EOL_GROUP_DONT_END_A_PARAGRAPH_STYLE_FOR_THIS_HARD_RETURN_SIZE 1
274 
275 /* Style Group */
276 #define WP6_STYLE_GROUP_PARASTYLE_BEGIN_ON_PART1 0x04
277 #define WP6_STYLE_GROUP_PARASTYLE_BEGIN_OFF_PART1 0x05
278 #define WP6_STYLE_GROUP_PARASTYLE_BEGIN_ON_PART2 0x06
279 #define WP6_STYLE_GROUP_PARASTYLE_BEGIN_OFF_PART2 0x07
280 #define WP6_STYLE_GROUP_PARASTYLE_END_ON 0x08
281 #define WP6_STYLE_GROUP_PARASTYLE_END_OFF 0x09
282 #define WP6_STYLE_GROUP_GLOBAL_ON 0x0A
283 #define WP6_STYLE_GROUP_GLOBAL_OFF 0x0B
284 
285 #define WP6_SYSTEM_STYLE_FOOTNOTE 36
286 #define WP6_SYSTEM_STYLE_ENDNOTE 37
287 
288 /* Paragraph Group */
289 #define WP6_PARAGRAPH_GROUP_LINE_SPACING 0x01
290 #define WP6_PARAGRAPH_GROUP_TAB_SET 0x04
291 #define WP6_PARAGRAPH_GROUP_JUSTIFICATION 0x05
292 #define WP6_PARAGRAPH_GROUP_SPACING_AFTER_PARAGRAPH 0x0A
293 #define WP6_PARAGRAPH_GROUP_INDENT_FIRST_LINE_OF_PARAGRAPH 0x0B
294 #define WP6_PARAGRAPH_GROUP_LEFT_MARGIN_ADJUSTMENT 0x0C
295 #define WP6_PARAGRAPH_GROUP_RIGHT_MARGIN_ADJUSTMENT 0x0D
296 #define WP6_PARAGRAPH_GROUP_OUTLINE_DEFINE 0x0E
297 #define WP6_PARAGRAPH_GROUP_OUTLINE_DEFINE_BULLETED_NUMBERING 0
298 #define WP6_PARAGRAPH_GROUP_OUTLINE_DEFINE_ARABIC_NUMBERING 256
299 #define WP6_PARAGRAPH_GROUP_OUTLINE_DEFINE_LOWERCASE_NUMBERING 3
300 #define WP6_PARAGRAPH_GROUP_OUTLINE_DEFINE_LOWERCASE_ROMAN_NUMBERING 769
301 
302 #define WP6_PARAGRAPH_JUSTIFICATION_LEFT 0x00
303 #define WP6_PARAGRAPH_JUSTIFICATION_FULL 0x01
304 #define WP6_PARAGRAPH_JUSTIFICATION_CENTER 0x02
305 #define WP6_PARAGRAPH_JUSTIFICATION_RIGHT 0x03
306 #define WP6_PARAGRAPH_JUSTIFICATION_FULL_ALL_LINES 0x04
307 #define WP6_PARAGRAPH_JUSTIFICATION_RESERVED 0x05
308 
309 /* Character Group */
310 #define WP6_CHARACTER_GROUP_SET_ALIGNMENT_CHARACTER 0x00
311 #define WP6_CHARACTER_GROUP_COLOR 0x18
312 #define WP6_CHARACTER_GROUP_CHARACTER_SHADING_CHANGE 0x19
313 #define WP6_CHARACTER_GROUP_FONT_FACE_CHANGE 0x1A
314 #define WP6_CHARACTER_GROUP_FONT_SIZE_CHANGE 0x1B
315 #define WP6_CHARACTER_GROUP_COMMENT 0x1D
316 #define WP6_CHARACTER_GROUP_SET_DOT_LEADER_CHARACTERS 0x1E
317 #define WP6_CHARACTER_GROUP_PARAGRAPH_NUMBER_ON 0x32
318 #define WP6_CHARACTER_GROUP_PARAGRAPH_NUMBER_OFF 0x33
319 #define WP6_CHARACTER_GROUP_TABLE_DEFINITION_ON 0x2A
320 #define WP6_CHARACTER_GROUP_TABLE_DEFINITION_OFF 0x2B
321 #define WP6_CHARACTER_GROUP_TABLE_COLUMN 0x2C
322 
323 /* Footnote/endnote Group */
324 #define WP6_FOOTNOTE_ENDNOTE_GROUP_FOOTNOTE_ON 0x00
325 #define WP6_FOOTNOTE_ENDNOTE_GROUP_ENDNOTE_ON 0x02
326 #define WP6_FOOTNOTE_ENDNOTE_GROUP_FOOTNOTE_OFF 0x01
327 #define WP6_FOOTNOTE_ENDNOTE_GROUP_ENDNOTE_OFF 0x03
328 
329 /* Header/footer Group */
330 #define WP6_HEADER_FOOTER_GROUP_HEADER_A 0x00
331 #define WP6_HEADER_FOOTER_GROUP_HEADER_B 0x01
332 #define WP6_HEADER_FOOTER_GROUP_FOOTER_A 0x02
333 #define WP6_HEADER_FOOTER_GROUP_FOOTER_B 0x03
334 #define WP6_HEADER_FOOTER_GROUP_WATERMARK_A 0x04
335 #define WP6_HEADER_FOOTER_GROUP_WATERMARK_B 0x05
336 
337 #define WP6_HEADER_FOOTER_GROUP_ODD_BIT 0x01
338 #define WP6_HEADER_FOOTER_GROUP_EVEN_BIT 0x02
339 
340 /* Set Number Functions */
341 #define WP6_SET_NUMBER_GROUP_SET_USER_DEFINED_COUNTER 0x00
342 #define WP6_SET_NUMBER_GROUP_SET_BOX_NUMBER 0x01
343 #define WP6_SET_NUMBER_GROUP_SET_PAGE_NUMBER 0x02
344 #define WP6_SET_NUMBER_GROUP_SET_SECONDARY_PAGE_NUMBER 0x03
345 #define WP6_SET_NUMBER_GROUP_SET_CHAPTER_NUMBER 0x04
346 #define WP6_SET_NUMBER_GROUP_SET_VOLUME_NUMBER 0x05
347 #define WP6_SET_NUMBER_GROUP_SET_PARAGRAPH_NUMBER 0x06
348 #define WP6_SET_NUMBER_GROUP_SET_FOOTNOTE_NUMBER 0x07
349 #define WP6_SET_NUMBER_GROUP_SET_ENDNOTE_NUMBER 0x08
350 #define WP6_SET_NUMBER_GROUP_SET_LINE_NUMBER 0x09
351 
352 /* Numbering Functions */
353 
354 #define WP6_NUMBERING_METHOD_GROUP_SET_USER_DEFINED_COUNTER_NUMBERING_MODE 0x00
355 #define WP6_NUMBERING_METHOD_GROUP_SET_BOX_NUMBERING_MODE 0x01
356 #define WP6_NUMBERING_METHOD_GROUP_SET_PAGE_NUMBERING_MODE 0x02
357 #define WP6_NUMBERING_METHOD_GROUP_SET_SECONDARY_PAGE_NUMBERING_MODE 0x03
358 #define WP6_NUMBERING_METHOD_GROUP_SET_CHAPTER_NUMBERING_MODE 0x04
359 #define WP6_NUMBERING_METHOD_GROUP_SET_VOLUME_NUMBERING_MODE 0x05
360 #define WP6_NUMBERING_METHOD_GROUP_SET_PARAGRAPH_NUMBERING_MODE 0x06
361 #define WP6_NUMBERING_METHOD_GROUP_SET_FOOTNOTE_NUMBERING_MODE 0x07
362 #define WP6_NUMBERING_METHOD_GROUP_SET_ENDNOTE_NUMBERING_MODE 0x08
363 #define WP6_NUMBERING_METHOD_GROUP_SET_LINE_NUMBERING_MODE 0x09
364 
365 #define WP6_NUMBERING_METHOD_GROUP_PAGE_NUMBERING_ARABIC 0
366 #define WP6_NUMBERING_METHOD_GROUP_PAGE_NUMBERING_LOWERCASE 1
367 #define WP6_NUMBERING_METHOD_GROUP_PAGE_NUMBERING_UPPERCASE 2
368 #define WP6_NUMBERING_METHOD_GROUP_PAGE_NUMBERING_LOWERCASE_ROMAN 3
369 #define WP6_NUMBERING_METHOD_GROUP_PAGE_NUMBERING_UPPERCASE_ROMAN 4
370 
371 /* Display Number Functions */
372 
373 #define WP6_DISPLAY_NUMBER_REFERENCE_GROUP_USER_DEFINED_NUMBER_DISPLAY_ON 0x00
374 #define WP6_DISPLAY_NUMBER_REFERENCE_GROUP_USER_DEFINED_NUMBER_DISPLAY_OFF 0x01
375 #define WP6_DISPLAY_NUMBER_REFERENCE_GROUP_BOX_NUMBER_DISPLAY_ON 0x02
376 #define WP6_DISPLAY_NUMBER_REFERENCE_GROUP_BOX_NUMBER_DISPLAY_OFF 0x03
377 #define WP6_DISPLAY_NUMBER_REFERENCE_GROUP_PAGE_NUMBER_DISPLAY_ON 0x04
378 #define WP6_DISPLAY_NUMBER_REFERENCE_GROUP_PAGE_NUMBER_DISPLAY_OFF 0x05
379 #define WP6_DISPLAY_NUMBER_REFERENCE_GROUP_SECONDARY_PAGE_NUMBER_DISPLAY_ON 0x06
380 #define WP6_DISPLAY_NUMBER_REFERENCE_GROUP_SECONDARY_PAGE_NUMBER_DISPLAY_OFF 0x07
381 #define WP6_DISPLAY_NUMBER_REFERENCE_GROUP_CHAPTER_NUMBER_DISPLAY_ON 0x08
382 #define WP6_DISPLAY_NUMBER_REFERENCE_GROUP_CHAPTER_NUMBER_DISPLAY_OFF 0x09
383 #define WP6_DISPLAY_NUMBER_REFERENCE_GROUP_VOLUME_NUMBER_DISPLAY_ON 0x0A
384 #define WP6_DISPLAY_NUMBER_REFERENCE_GROUP_VOLUME_NUMBER_DISPLAY_OFF 0x0B
385 #define WP6_DISPLAY_NUMBER_REFERENCE_GROUP_PARAGRAPH_NUMBER_DISPLAY_ON 0x0C
386 #define WP6_DISPLAY_NUMBER_REFERENCE_GROUP_PARAGRAPH_NUMBER_DISPLAY_OFF 0x0D
387 #define WP6_DISPLAY_NUMBER_REFERENCE_GROUP_FOOTNOTE_NUMBER_DISPLAY_ON 0x0E
388 #define WP6_DISPLAY_NUMBER_REFERENCE_GROUP_FOOTNOTE_NUMBER_DISPLAY_OFF 0x0F
389 #define WP6_DISPLAY_NUMBER_REFERENCE_GROUP_ENDNOTE_NUMBER_DISPLAY_ON 0x10
390 #define WP6_DISPLAY_NUMBER_REFERENCE_GROUP_ENDNOTE_NUMBER_DISPLAY_OFF 0x11
391 #define WP6_DISPLAY_NUMBER_REFERENCE_GROUP_LINE_NUMBER_DISPLAY_ON 0x12
392 #define WP6_DISPLAY_NUMBER_REFERENCE_GROUP_LINE_NUMBER_DISPLAY_OFF 0x13
393 #define WP6_DISPLAY_NUMBER_REFERENCE_GROUP_TOTAL_NUMBER_OF_PAGES_DISPLAY_ON 0x14
394 #define WP6_DISPLAY_NUMBER_REFERENCE_GROUP_TOTAL_NUMBER_OF_PAGES_DISPLAY_OFF 0x15
395 
396 /* Increment Number Functions */
397 
398 #define WP6_INCREMENT_NUMBER_GROUP_INCREMENT_USER_DEFINED_NUMBER 0x00
399 #define WP6_INCREMENT_NUMBER_GROUP_INCREMENT_BOX_NUMBER 0x01
400 #define WP6_INCREMENT_NUMBER_GROUP_INCREMENT_PAGE_NUMBER 0x02
401 #define WP6_INCREMENT_NUMBER_GROUP_INCREMENT_SECONDARY_PAGE_NUMBER 0x03
402 #define WP6_INCREMENT_NUMBER_GROUP_INCREMENT_CHAPTER_NUMBER 0x04
403 #define WP6_INCREMENT_NUMBER_GROUP_INCREMENT_VOLUME_NUMBER 0x05
404 #define WP6_INCREMENT_NUMBER_GROUP_INCREMENT_PARAGRAPH_NUMBER 0x06
405 #define WP6_INCREMENT_NUMBER_GROUP_INCREMENT_FOOTNOTE_NUMBER 0x07
406 #define WP6_INCREMENT_NUMBER_GROUP_INCREMENT_ENDNOTE_NUMBER 0x08
407 #define WP6_INCREMENT_NUMBER_GROUP_INCREMENT_LINE_NUMBER 0x09
408 
409 /* Decrement Number Functions */
410 
411 #define WP6_DECREMENT_NUMBER_GROUP_DECREMENT_USER_DEFINED_NUMBER 0x00
412 #define WP6_DECREMENT_NUMBER_GROUP_DECREMENT_BOX_NUMBER 0x01
413 #define WP6_DECREMENT_NUMBER_GROUP_DECREMENT_PAGE_NUMBER 0x02
414 #define WP6_DECREMENT_NUMBER_GROUP_DECREMENT_SECONDARY_PAGE_NUMBER 0x03
415 #define WP6_DECREMENT_NUMBER_GROUP_DECREMENT_CHAPTER_NUMBER 0x04
416 #define WP6_DECREMENT_NUMBER_GROUP_DECREMENT_VOLUME_NUMBER 0x05
417 #define WP6_DECREMENT_NUMBER_GROUP_DECREMENT_PARAGRAPH_NUMBER_0x06
418 #define WP6_DECREMENT_NUMBER_GROUP_DECREMENT_FOOTNOTE_NUMBER 0x07
419 #define WP6_DECREMENT_NUMBER_GROUP_DECREMENT_ENDNOTE_NUMBER 0x08
420 #define WP6_DECREMENT_NUMBER_GROUP_DECREMENT_LINE_NUMBER 0x09
421 
422 /* Column Group */
423 #define WP6_COLUMN_GROUP_LEFT_MARGIN_SET 0
424 #define WP6_COLUMN_GROUP_RIGHT_MARGIN_SET 1
425 
426 #define WP6_COLUMN_TYPE_NEWSPAPER 0x00
427 #define WP6_COLUMN_TYPE_NEWSPAPER_VERTICAL_BALANCE 0x01
428 #define WP6_COLUMN_TYPE_PARALLEL 0x02
429 #define WP6_COLUMN_TYPE_PARALLEL_PROTECT 0x03
430 
431 /* Attribute Group */
432 #define WP6_ATTRIBUTE_EXTRA_LARGE 0
433 #define WP6_ATTRIBUTE_VERY_LARGE 1
434 #define WP6_ATTRIBUTE_LARGE 2
435 #define WP6_ATTRIBUTE_SMALL_PRINT 3
436 #define WP6_ATTRIBUTE_FINE_PRINT 4
437 #define WP6_ATTRIBUTE_SUPERSCRIPT 5
438 #define WP6_ATTRIBUTE_SUBSCRIPT 6
439 #define WP6_ATTRIBUTE_OUTLINE 7
440 #define WP6_ATTRIBUTE_ITALICS 8
441 #define WP6_ATTRIBUTE_SHADOW 9
442 #define WP6_ATTRIBUTE_REDLINE 10
443 #define WP6_ATTRIBUTE_DOUBLE_UNDERLINE 11
444 #define WP6_ATTRIBUTE_BOLD 12
445 #define WP6_ATTRIBUTE_STRIKE_OUT 13
446 #define WP6_ATTRIBUTE_UNDERLINE 14
447 #define WP6_ATTRIBUTE_SMALL_CAPS 15
448 #define WP6_ATTRIBUTE_BLINK 16
449 
450 /* Box Group */
451 #define WP6_BOX_GROUP_CHARACTER_ANCHORED_BOX 0x00
452 #define WP6_BOX_GROUP_PARAGRAPH_ANCHORED_BOX 0x01
453 #define WP6_BOX_GROUP_PAGE_ANCHORED_BOX 0x02
454 #define WP6_BOX_GROUP_GRAPHICS_RULE 0x03
455 
456 #define WP6_BOX_GROUP_BOX_COUNTER_DATA_BIT 0x8000
457 #define WP6_BOX_GROUP_BOX_POSITIONING_DATA_BIT 0x4000
458 #define WP6_BOX_GROUP_BOX_CONTENT_DATA_BIT 0x2000
459 #define WP6_BOX_GROUP_BOX_CAPTION_DATA_BIT 0x1000
460 #define WP6_BOX_GROUP_BOX_BORDER_DATA_BIT 0x0800
461 #define WP6_BOX_GROUP_BOX_FILL_DATA_BIT 0x0400
462 #define WP6_BOX_GROUP_BOX_BOX_WRAPPING_DATA_BIT 0x0200
463 #define WP6_BOX_GROUP_BOX_BOX_HYPERTEXT_WRAPPING_DATA_BIT 0x0100
464 #define WP6_BOX_GROUP_BOX_HTML_BIT 0x0080
465 #define WP6_BOX_GROUP_BOX_GROUPING_DATA_BIT 0x0040
466 #define WP6_BOX_GROUP_BOX_DRAW_OBJECT_DATA_BIT 0x0020
467 
468 /* Tab Group */
469 // these elements are defined in terms of bits 3-8 of the tab group
470 #define WP6_TAB_GROUP_BACK_TAB 0x00
471 #define WP6_TAB_GROUP_TABLE_TAB 0x01
472 #define WP6_TAB_GROUP_LEFT_TAB 0x02
473 #define WP6_TAB_GROUP_BAR_TAB 0x04
474 #define WP6_TAB_GROUP_LEFT_INDENT 0x06
475 #define WP6_TAB_GROUP_LEFT_RIGHT_INDENT 0x07
476 #define WP6_TAB_GROUP_CENTER_ON_MARGINS 0x08
477 #define WP6_TAB_GROUP_CENTER_ON_CURRENT_POSITION 0x09
478 #define WP6_TAB_GROUP_CENTER_TAB 0x0A
479 #define WP6_TAB_GROUP_FLUSH_RIGHT 0x10
480 #define WP6_TAB_GROUP_RIGHT_TAB 0x12
481 #define WP6_TAB_GROUP_DECIMAL_TAB 0x1A
482 
483 /* Platform Group */
484 #define WP6_PLATFORM_GROUP_DYNAMIC_DATA_EXCHANGE_START 0x00
485 #define WP6_PLATFORM_GROUP_DYNAMIC_DATA_EXCHANGE_END 0x01
486 #define WP6_PLATFORM_GROUP_PUBLISH_DATA_START 0x02
487 #define WP6_PLATFORM_GROUP_PUBLISH_DATA_END 0x03
488 #define WP6_PLATFORM_GROUP_SUBSCRIBE_DATA_START 0x04
489 #define WP6_PLATFORM_GROUP_SUBSCRIBE_DATA_END 0x05
490 #define WP6_PLATFORM_GROUP_SUBTITLE_MARK 0x06
491 #define WP6_PLATFORM_GROUP_SUBTITLE_TEXT 0x07
492 #define WP6_PLATFORM_GROUP_SUBTITLE_OPTION 0x08
493 #define WP6_PLATFORM_GROUP_SUBTITLE_TEXT_OPTIONS 0x09
494 #define WP6_PLATFORM_GROUP_SUPPRESS_SUBTITLE Ox0A
495 #define WP6_PLATFORM_GROUP_THIRD_PARTY 0x0B
496 #define WP6_PLATFORM_GROUP_PEN_FOREGROUND_COLOR_32BIT 0x0C
497 #define WP6_PLATFORM_GROUP_PEN_FOREGROUND_COLOR_64BIT 0x0D
498 #define WP6_PLATFORM_GROUP_PEN_BACKGROUND_COLOR_32BIT 0x0E
499 #define WP6_PLATFORM_GROUP_PEN_BACKGROUND_COLOR_64BIT 0x0F
500 #define WP6_PLATFORM_GROUP_PEN_STYLE 0x10
501 #define WP6_PLATFORM_GROUP_PEN_PATTERN 0x11
502 #define WP6_PLATFORM_GROUP_PEN_SIZE_16BIT 0x12
503 #define WP6_PLATFORM_GROUP_PEN_SIZE_32BIT 0x13
504 #define WP6_PLATFORM_GROUP_BRUSH_GRADIENT_32BIT 0x14
505 #define WP6_PLATFORM_GROUP_BRUSH_GRADIENT_64BIT 0x15
506 #define WP6_PLATFORM_GROUP_BRUSH_FOREGROUND_COLOR_32BIT 0x16
507 #define WP6_PLATFORM_GROUP_BRUSH_FOREGROUND_COLOR_64BIT 0x17
508 #define WP6_PLATFORM_GROUP_BRUSH_BACKGROUND_COLOR_32BIT 0x18
509 #define WP6_PLATFORM_GROUP_BRUSH_BACKGROUND_COLOR_64BIT 0x19
510 #define WP6_PLATFORM_GROUP_BRUSH_PATTERN 0x1A
511 #define WP6_PLATFORM_GROUP_MISCELLANEOUS_ATTRIBUTES 0x1B
512 #define WP6_PLATFORM_GROUP_PRESENTATIONS_SLIDE_OPTIONS 0x1C
513 #define WP6_PLATFORM_GROUP_PRESENTATIONS_ORGANIZATION_CHART_NODE_OPTIONS 0x1D
514 #define WP6_PLATFORM_GROUP_HIDE_FOR_CONVERSIONS 0x1E
515 #define WP6_PLATFORM_GROUP_HIDE_OFF_FOR_CONVERSIONS 0x1F
516 #define WP6_PLATFORM_GROUP_SGML_START_TAG 0x20
517 #define WP6_PLATFORM_GROUP_SGML_START_TAG_END 0x21
518 #define WP6_PLATFORM_GROUP_SGML_END_TAG 0x22
519 #define WP6_PLATFORM_GROUP_SGML_END_TAG_END 0x23
520 #define WP6_PLATFORM_GROUP_SGML_CHARACTER_REFERENCE 0x24
521 #define WP6_PLATFORM_GROUP_SGML_END_CHARACTER_REFERENCE 0x25
522 #define WP6_PLATFORM_GROUP_SGML_ENTITY_REFERENCE 0x26
523 #define WP6_PLATFORM_GROUP_SGML_END_ENTITY_REFERENCE 0x27
524 #define WP6_PLATFORM_GROUP_SGML_IGNORE_ON 0x28
525 #define WP6_PLATFORM_GROUP_SGML_IGNORE_OFF 0x29
526 #define WP6_PLATFORM_GROUP_SGML_MARKED_SECTION_ON 0x2A
527 #define WP6_PLATFORM_GROUP_SGML_MARKED_SECTION_OFF 0x2B
528 #define WP6_PLATFORM_GROUP_SGML_PROCESSING_INSTRUCTION_ON 0x2C
529 #define WP6_PLATFORM_GROUP_SGML_PROCESSING_INSTRUCTION_OFF 0x2D
530 
531 /* Set number group */
532 #define WP6_SET_NUMBER_GROUP_SET_PAGE_NUMBER 0x02
533 
534 /* Extended Character */
535 #define WP6_MULTINATIONAL_CHARACTER_SET 1
536 #define WP6_PHONETIC_SYMBOL_CHARACTER_SET 2
537 #define WP6_BOX_DRAWING_CHARACTER_SET 3
538 #define WP6_TYPOGRAPHIC_SYMBOL_CHARACTER_SET 4
539 #define WP6_ICONIC_SYMBOL_CHARACTER_SET 5
540 #define WP6_MATH_SCIENTIFIC_CHARACTER_SET 6
541 #define WP6_MATH_SCIENTIFIC_EXTENDED_CHARACTER_SET 7
542 #define WP6_GREEK_CHARACTER_SET 8
543 #define WP6_HEBREW_CHARACTER_SET 9
544 #define WP6_CYRILLIC_CHARACTER_SET 10
545 #define WP6_JAPANESE_CHARACTER_SET 11
546 #define WP6_TIBETAN_CHARACTER_SET 12
547 #define WP6_ARABIC_CHARACTER_SET 13
548 #define WP6_ARABIC_SCRIPT_CHARACTER_SET 14
549 
550 /* Undo Group */
551 #define WP6_UNDO_GROUP_INVALID_TEXT_START 0
552 #define WP6_UNDO_GROUP_INVALID_TEXT_END 1
553 #define WP6_UNDO_GROUP_VALID_TEXT_START 2
554 #define WP6_UNDO_GROUP_VALID_TEXT_END 3
555 
556 #endif /* WP6FILESTRUCTURE_H */
557 /* vim:set shiftwidth=4 softtabstop=4 noexpandtab: */
558