27#ifndef LIBWPD_INTERNAL_H
28#define LIBWPD_INTERNAL_H
30#include <librevenge/librevenge.h>
31#include <librevenge-stream/librevenge-stream.h>
36#if defined(HAVE_FUNC_ATTRIBUTE_FORMAT)
37#define WPD_ATTRIBUTE_PRINTF(fmt, arg) __attribute__((format(printf, fmt, arg)))
39#define WPD_ATTRIBUTE_PRINTF(fmt, arg)
48#define WPD_DEBUG_MSG(M) libwpd::debugPrint M
50#define WPD_DEBUG_MSG(M)
53#define WPD_NUM_ELEMENTS(array) sizeof(array)/sizeof(array[0])
66unsigned short readU16(librevenge::RVNGInputStream *input,
WPXEncryption *encryption,
bool bigendian=
false);
67signed short readS16(librevenge::RVNGInputStream *input,
WPXEncryption *encryption,
bool bigendian=
false);
68unsigned readU32(librevenge::RVNGInputStream *input,
WPXEncryption *encryption,
bool bigendian=
false);
73void appendUCS4(librevenge::RVNGString &str,
unsigned ucs4);
78 const unsigned **chars);
81 const unsigned **chars);
114#define WPX_EXTRA_LARGE_BIT 1
115#define WPX_VERY_LARGE_BIT 2
116#define WPX_LARGE_BIT 4
117#define WPX_SMALL_PRINT_BIT 8
118#define WPX_FINE_PRINT_BIT 16
119#define WPX_SUPERSCRIPT_BIT 32
120#define WPX_SUBSCRIPT_BIT 64
121#define WPX_OUTLINE_BIT 128
122#define WPX_ITALICS_BIT 256
123#define WPX_SHADOW_BIT 512
124#define WPX_REDLINE_BIT 1024
125#define WPX_DOUBLE_UNDERLINE_BIT 2048
126#define WPX_BOLD_BIT 4096
127#define WPX_STRIKEOUT_BIT 8192
128#define WPX_UNDERLINE_BIT 16384
129#define WPX_SMALL_CAPS_BIT 32768
130#define WPX_BLINK_BIT 65536
131#define WPX_REVERSEVIDEO_BIT 131072
134#define WPX_PARAGRAPH_JUSTIFICATION_LEFT 0x00
135#define WPX_PARAGRAPH_JUSTIFICATION_FULL 0x01
136#define WPX_PARAGRAPH_JUSTIFICATION_CENTER 0x02
137#define WPX_PARAGRAPH_JUSTIFICATION_RIGHT 0x03
138#define WPX_PARAGRAPH_JUSTIFICATION_FULL_ALL_LINES 0x04
139#define WPX_PARAGRAPH_JUSTIFICATION_DECIMAL_ALIGNED 0x05
142#define WPX_TABLE_POSITION_ALIGN_WITH_LEFT_MARGIN 0x00
143#define WPX_TABLE_POSITION_ALIGN_WITH_RIGHT_MARGIN 0x01
144#define WPX_TABLE_POSITION_CENTER_BETWEEN_MARGINS 0x02
145#define WPX_TABLE_POSITION_FULL 0x03
146#define WPX_TABLE_POSITION_ABSOLUTE_FROM_LEFT_MARGIN 0x04
155#define WPX_PAGE_BREAK 0x00
156#define WPX_SOFT_PAGE_BREAK 0x01
157#define WPX_COLUMN_BREAK 0x02
161#define WPX_RIGHT 0x01
162#define WPX_CENTER 0x02
164#define WPX_BOTTOM 0x04
168 RGBSColor(
unsigned char r,
unsigned char g,
unsigned char b,
unsigned char s);
169 RGBSColor(
unsigned short red,
unsigned short green,
unsigned short blue);
Definition libwpd_internal.h:209
Definition libwpd_internal.h:217
Definition libwpd_internal.h:213
Definition libwpd_internal.h:225
Definition libwpd_internal.h:221
Definition libwpd_internal.h:205
Definition WPXEncryption.h:36
Definition libwpd_internal.h:229
const unsigned macRomanCharacterMap[]
Definition libwpd_internal.cpp:1353
WPXHeaderFooterOccurrence
Definition libwpd_internal.h:96
@ NEVER
Definition libwpd_internal.h:96
@ EVEN
Definition libwpd_internal.h:96
@ ODD
Definition libwpd_internal.h:96
@ ALL
Definition libwpd_internal.h:96
const unsigned char WPX_TABLE_CELL_BOTTOM_BORDER_OFF
Definition libwpd_internal.h:152
WPXHeaderFooterType
Definition libwpd_internal.h:94
@ HEADER
Definition libwpd_internal.h:94
@ FOOTER
Definition libwpd_internal.h:94
WPXFormOrientation
Definition libwpd_internal.h:105
@ LANDSCAPE
Definition libwpd_internal.h:105
@ PORTRAIT
Definition libwpd_internal.h:105
WPXPageNumberPosition
Definition libwpd_internal.h:97
@ PAGENUMBER_POSITION_BOTTOM_INSIDE_LEFT_AND_RIGHT
Definition libwpd_internal.h:102
@ PAGENUMBER_POSITION_BOTTOM_LEFT_AND_RIGHT
Definition libwpd_internal.h:100
@ PAGENUMBER_POSITION_BOTTOM_LEFT
Definition libwpd_internal.h:99
@ PAGENUMBER_POSITION_TOP_CENTER
Definition libwpd_internal.h:97
@ PAGENUMBER_POSITION_TOP_RIGHT
Definition libwpd_internal.h:98
@ PAGENUMBER_POSITION_TOP_LEFT_AND_RIGHT
Definition libwpd_internal.h:98
@ PAGENUMBER_POSITION_TOP_LEFT
Definition libwpd_internal.h:97
@ PAGENUMBER_POSITION_BOTTOM_RIGHT
Definition libwpd_internal.h:100
@ PAGENUMBER_POSITION_TOP_INSIDE_LEFT_AND_RIGHT
Definition libwpd_internal.h:101
@ PAGENUMBER_POSITION_NONE
Definition libwpd_internal.h:97
@ PAGENUMBER_POSITION_BOTTOM_CENTER
Definition libwpd_internal.h:99
double wpuToFontPointSize(const unsigned short wpuNumber)
Definition libwpd_internal.cpp:1179
WPXTabAlignment
Definition libwpd_internal.h:106
@ CENTER
Definition libwpd_internal.h:106
@ BAR
Definition libwpd_internal.h:106
@ LEFT
Definition libwpd_internal.h:106
@ RIGHT
Definition libwpd_internal.h:106
@ DECIMAL
Definition libwpd_internal.h:106
const unsigned char WPX_TABLE_CELL_RIGHT_BORDER_OFF
Definition libwpd_internal.h:150
int _extractNumericValueFromRoman(const char romanChar)
Definition libwpd_internal.cpp:1230
WPXFileType
Definition libwpd_internal.h:91
@ WP6_DOCUMENT
Definition libwpd_internal.h:91
@ OTHER
Definition libwpd_internal.h:91
@ WP5_DOCUMENT
Definition libwpd_internal.h:91
@ WP42_DOCUMENT
Definition libwpd_internal.h:91
unsigned short fixedPointToWPUs(const unsigned fixedPointNumber)
Definition libwpd_internal.cpp:1164
signed short readS16(librevenge::RVNGInputStream *input, WPXEncryption *encryption, bool bigendian=false)
Definition libwpd_internal.cpp:134
#define WPD_ATTRIBUTE_PRINTF(fmt, arg)
Definition libwpd_internal.h:39
WPXNumberingType _extractWPXNumberingTypeFromBuf(const librevenge::RVNGString &buf, const WPXNumberingType putativeWPXNumberingType)
Definition libwpd_internal.cpp:1303
librevenge::RVNGString _numberingTypeToString(WPXNumberingType t)
Definition libwpd_internal.cpp:1323
int _extractDisplayReferenceNumberFromBuf(const librevenge::RVNGString &buf, const WPXNumberingType listType)
Definition libwpd_internal.cpp:1257
WPXTextColumnType
Definition libwpd_internal.h:109
@ NEWSPAPER_VERTICAL_BALANCE
Definition libwpd_internal.h:109
@ NEWSPAPER
Definition libwpd_internal.h:109
@ PARALLEL_PROTECT
Definition libwpd_internal.h:109
@ PARALLEL
Definition libwpd_internal.h:109
void appendUCS4(librevenge::RVNGString &str, unsigned ucs4)
Definition libwpd_internal.cpp:154
librevenge::RVNGString readCString(librevenge::RVNGInputStream *input, WPXEncryption *encryption)
Definition libwpd_internal.cpp:184
unsigned char readU8(librevenge::RVNGInputStream *input, WPXEncryption *encryption)
Definition libwpd_internal.cpp:106
librevenge::RVNGString doubleToString(const double value)
Definition libwpd_internal.cpp:1385
WPXNumberingType
Definition libwpd_internal.h:92
@ UPPERCASE
Definition libwpd_internal.h:92
@ UPPERCASE_ROMAN
Definition libwpd_internal.h:92
@ ARABIC
Definition libwpd_internal.h:92
@ LOWERCASE_ROMAN
Definition libwpd_internal.h:92
@ LOWERCASE
Definition libwpd_internal.h:92
int extendedCharacterWP5ToUCS4(unsigned char character, unsigned char characterSet, const unsigned **chars)
Definition libwpd_internal.cpp:1018
WPXHeaderFooterInternalType
Definition libwpd_internal.h:95
@ FOOTER_B
Definition libwpd_internal.h:95
@ HEADER_B
Definition libwpd_internal.h:95
@ FOOTER_A
Definition libwpd_internal.h:95
@ HEADER_A
Definition libwpd_internal.h:95
@ DUMMY
Definition libwpd_internal.h:95
WPXSubDocumentType
Definition libwpd_internal.h:111
@ WPX_SUBDOCUMENT_TEXT_BOX
Definition libwpd_internal.h:111
@ WPX_SUBDOCUMENT_NOTE
Definition libwpd_internal.h:111
@ WPX_SUBDOCUMENT_NONE
Definition libwpd_internal.h:111
@ WPX_SUBDOCUMENT_COMMENT_ANNOTATION
Definition libwpd_internal.h:111
@ WPX_SUBDOCUMENT_HEADER_FOOTER
Definition libwpd_internal.h:111
WPXVerticalAlignment
Definition libwpd_internal.h:107
@ TOP
Definition libwpd_internal.h:107
@ MIDDLE
Definition libwpd_internal.h:107
@ BOTTOM
Definition libwpd_internal.h:107
@ FULL
Definition libwpd_internal.h:107
int extendedCharacterWP6ToUCS4(unsigned char character, unsigned char characterSet, const unsigned **chars)
Definition libwpd_internal.cpp:660
const unsigned char WPX_TABLE_CELL_TOP_BORDER_OFF
Definition libwpd_internal.h:151
double fixedPointToDouble(const unsigned fixedPointNumber)
Definition libwpd_internal.cpp:1172
unsigned short readU16(librevenge::RVNGInputStream *input, WPXEncryption *encryption, bool bigendian=false)
Definition libwpd_internal.cpp:119
const unsigned char WPX_TABLE_CELL_LEFT_BORDER_OFF
Definition libwpd_internal.h:149
WPXNoteType
Definition libwpd_internal.h:93
@ FOOTNOTE
Definition libwpd_internal.h:93
@ ENDNOTE
Definition libwpd_internal.h:93
librevenge::RVNGString readPascalString(librevenge::RVNGInputStream *input, WPXEncryption *encryption)
Definition libwpd_internal.cpp:163
unsigned readU32(librevenge::RVNGInputStream *input, WPXEncryption *encryption, bool bigendian=false)
Definition libwpd_internal.cpp:139
int extendedCharacterWP42ToUCS4(unsigned char character, const unsigned **chars)
Definition libwpd_internal.cpp:1151
int appleWorldScriptToUCS4(unsigned short character, const unsigned **chars)
Definition libwpd_internal.cpp:1409
Definition libwpd_internal.h:56
unsigned char m_b
Definition libwpd_internal.h:174
RGBSColor()
Definition libwpd_internal.cpp:1192
RGBSColor(unsigned char r, unsigned char g, unsigned char b, unsigned char s)
Definition libwpd_internal.cpp:1184
unsigned char m_r
Definition libwpd_internal.h:172
unsigned char m_s
Definition libwpd_internal.h:175
unsigned char m_g
Definition libwpd_internal.h:173
double m_leftGutter
Definition libwpd_internal.h:182
WPXColumnDefinition()
Definition libwpd_internal.cpp:1216
double m_width
Definition libwpd_internal.h:181
double m_rightGutter
Definition libwpd_internal.h:183
WPXColumnProperties()
Definition libwpd_internal.cpp:1223
unsigned char m_alignment
Definition libwpd_internal.h:190
unsigned m_attributes
Definition libwpd_internal.h:189
WPXTabStop()
Definition libwpd_internal.cpp:1208
WPXTabAlignment m_alignment
Definition libwpd_internal.h:197
double m_position
Definition libwpd_internal.h:196
unsigned char m_leaderNumSpaces
Definition libwpd_internal.h:199
unsigned m_leaderCharacter
Definition libwpd_internal.h:198
Definition libwpd_internal.h:58
void operator()(void *)
Definition libwpd_internal.h:59