WP6FileStructure.h
Go to the documentation of this file.
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: */
WP6_FIXED_LENGTH_FUNCTION_GROUP_SIZE
unsigned char WP6_FIXED_LENGTH_FUNCTION_GROUP_SIZE[16]
Definition WP6FileStructure.cpp:30
libwpd_internal.h