LibreOffice Module sw (master)  1
ww8struc.hxx
Go to the documentation of this file.
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
3  * This file is part of the LibreOffice project.
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  * This file incorporates work covered by the following license notice:
10  *
11  * Licensed to the Apache Software Foundation (ASF) under one or more
12  * contributor license agreements. See the NOTICE file distributed
13  * with this work for additional information regarding copyright
14  * ownership. The ASF licenses this file to you under the Apache
15  * License, Version 2.0 (the "License"); you may not use this file
16  * except in compliance with the License. You may obtain a copy of
17  * the License at http://www.apache.org/licenses/LICENSE-2.0 .
18  */
19 
20 #ifndef INCLUDED_SW_SOURCE_FILTER_WW8_WW8STRUC_HXX
21 #define INCLUDED_SW_SOURCE_FILTER_WW8_WW8STRUC_HXX
22 
23 #include <sal/config.h>
24 
25 #include <rtl/ustring.hxx>
26 
27 #include <filter/msfilter/util.hxx>
28 #include <i18nlangtag/lang.h>
29 #include <tools/color.hxx>
30 #include <tools/solar.h>
31 #include <tools/stream.hxx>
32 
33 #include <vector>
34 
35 #ifdef _WIN32
36 # pragma pack(push, 2)
37 #endif
38 
39 class WW8Export;
40 
41 inline void Set_UInt8( sal_uInt8 *& p, sal_uInt8 n )
42 {
43  *p = n;
44  p+= 1;
45 }
46 
47 inline void Set_UInt16( sal_uInt8 *& p, sal_uInt16 n )
48 {
49  ShortToSVBT16( n, *reinterpret_cast<SVBT16*>(p) );
50  p+= 2;
51 }
52 
53 inline void Set_UInt32( sal_uInt8 *& p, sal_uInt32 n )
54 {
55  UInt32ToSVBT32( n, *reinterpret_cast<SVBT32*>(p) );
56  p+= 4;
57 }
58 
59 struct Word2CHPX
60 {
61  sal_uInt16 fBold:1;
62  sal_uInt16 fItalic:1;
63  sal_uInt16 fRMarkDel:1;
64  sal_uInt16 fOutline:1;
65  sal_uInt16 fFieldVanish:1;
66  sal_uInt16 fSmallCaps:1;
67  sal_uInt16 fCaps:1;
68  sal_uInt16 fVanish:1;
69  sal_uInt16 fRMark:1;
70  sal_uInt16 fSpec:1;
71  sal_uInt16 fStrike:1;
72  sal_uInt16 fObj:1;
73  sal_uInt16 fBoldBi:1;
74  sal_uInt16 fItalicBi:1;
75  sal_uInt16 fBiDi:1;
76  sal_uInt16 fDiacUSico:1;
77  sal_uInt16 fsIco:1;
78  sal_uInt16 fsFtc:1;
79  sal_uInt16 fsHps:1;
80  sal_uInt16 fsKul:1;
81  sal_uInt16 fsPos:1;
82  sal_uInt16 fsSpace:1;
83  sal_uInt16 fsLid:1;
84  sal_uInt16 fsIcoBi:1;
85  sal_uInt16 fsFtcBi:1;
86  sal_uInt16 fsHpsBi:1;
87  sal_uInt16 fsLidBi:1;
88 
89  sal_uInt16 ftc;
90  sal_uInt16 hps;
98  sal_uInt16 lid;
99  sal_uInt16 ftcBi;
100  sal_uInt16 hpsBi;
101  sal_uInt16 lidBi;
102  sal_uInt32 fcPic;
103 
105  {
106  fBold = 0;
107  fItalic = 0;
108  fRMarkDel = 0;
109  fOutline = 0;
110  fFieldVanish = 0;
111  fSmallCaps = 0;
112  fCaps = 0;
113  fVanish = 0;
114  fRMark = 0;
115  fSpec = 0;
116  fStrike = 0;
117  fObj = 0;
118  fBoldBi = 0;
119  fItalicBi = 0;
120  fBiDi = 0;
121  fDiacUSico = 0;
122  fsIco = 0;
123  fsFtc = 0;
124  fsHps = 0;
125  fsKul = 0;
126  fsPos = 0;
127  fsSpace = 0;
128  fsLid = 0;
129  fsIcoBi = 0;
130  fsFtcBi = 0;
131  fsHpsBi = 0;
132  fsLidBi = 0;
133 
134  ftc = 0;
135  hps = 0;
136  qpsSpace = 0;
137  fSysVanish = 0;
138  fNumRun = 0;
139  ico = 0;
140  kul = 0;
141  hpsPos = 0;
142  icoBi = 0;
143  lid = 0;
144  ftcBi = 0;
145  hpsBi = 0;
146  lidBi = 0;
147  fcPic = 0;
148  }
149 };
150 
151 typedef sal_Int16 WW8_PN;
152 typedef sal_Int32 WW8_FC;
153 typedef sal_Int32 WW8_CP;
154 
157 
169 struct WW8_STD
170 {
171  // Base part of STD:
172  sal_uInt16 sti : 12; // invariant style identifier
173  sal_uInt16 fScratch : 1; // spare field for any temporary use,
174  // always reset back to zero!
175  sal_uInt16 fInvalHeight : 1; // PHEs of all text with this style are wrong
176  sal_uInt16 fHasUpe : 1; // UPEs have been generated
177  sal_uInt16 fMassCopy : 1; // std has been mass-copied; if unused at
178  // save time, style should be deleted
179  sal_uInt16 sgc : 4; // style type code
180  sal_uInt16 istdBase : 12; // base style
181  sal_uInt16 cupx : 4; // # of UPXs (and UPEs)
182  sal_uInt16 istdNext : 12; // next style
183  sal_uInt16 bchUpe; // offset to end of upx's, start of upe's
184  // new:
185  // from Ver8 on there are two more fields:
186  sal_uInt16 fAutoRedef : 1; /* auto redefine style when appropriate */
187  sal_uInt16 fHidden : 1; /* hidden from UI? */
188  sal_uInt16 : 14; /* unused bits */
189 
190  // Variable length part of STD:
191  // sal_uInt8 stzName[2]; /* sub-names are separated by chDelimStyle
192  // char grupx[];
193  // the UPEs are not stored on the file; they are a cache of the based-on
194  // chain
195  // char grupe[];
196 };
197 
198 static_assert(sizeof (WW8_STD) == 10, "this has to match the msword size");
199 
201 struct WW8_FFN_BASE // Font Descriptor
202 {
203  // from Ver6 on
204  sal_uInt8 cbFfnM1; // 0x0 total length of FFN - 1.
205 
206  sal_uInt8 prg: 2; // 0x1:03 pitch request
207  sal_uInt8 fTrueType : 1; // 0x1:04 when 1, font is a TrueType font
208  sal_uInt8 _reserved1 : 1; // 0x1:08 reserved
209  sal_uInt8 ff : 3; // 0x1:70 font family id
210  sal_uInt8 _reserved2 : 1; // 0x1:80 reserved
211 
212  short wWeight; // 0x2 base weight of font
213  sal_uInt8 chs; // 0x4 character set identifier
214  sal_uInt8 ibszAlt; // 0x5 index into ffn.szFfn to the name of the alternate font
215 };
216 
217 static_assert(sizeof (WW8_FFN_BASE) == 6, "this has to match the msword size");
218 
221 struct WW8_FFN
222 {
223  // from Ver8 on as Unicode
224  OUString sFontname;// 0x6 or 0x40 resp. from Ver8 on zero terminated string that
225  // records name of font.
226  // Maximal size of szFfn is 65 characters.
227  // Attention: This array can be smaller!!!
228  // Possibly followed by a second sz which records the
229  // name of an alternate font to use if the first named
230  // font does not exist on this system.
232 };
233 
234 struct WW8_BRCVer6 // BoRder Code (WW6 version)
235 {
237 // sal_uInt16 dxpLineWidth : 3;// 0007 When dxpLineWidth is 0, 1, 2, 3, 4, or 5, this field is the width of
238  // a single line of border in units of 0.75 points
239  // Must be nonzero when brcType is nonzero.
240  // 6 == dotted, 7 == dashed.
241 // sal_uInt16 brcType : 2; // 0018 border type code: 0 == none, 1 == single, 2 == thick, 3 == double
242 // sal_uInt16 fShadow : 1; // 0020 when 1, border is drawn with shadow. Must be 0 when BRC is a substructure of the TC
243 // sal_uInt16 ico : 5; // 07C0 color code (see chp.ico)
244 // sal_uInt16 dxpSpace : 5; // F800 width of space to maintain between border and text within border.
245  // Must be 0 when BRC is a substructure of the TC. Stored in points for Windows.
247  {
248  memset(aBits1, 0, sizeof(aBits1));
249  }
250 
252  { return aBits1[0] & 0x07; }
254  { return (aBits1[0] & 0x18) >> 3; }
255  bool fShadow() const
256  { return !!(aBits1[0] & 0x20); }
257  sal_uInt8 ico() const
258  { return ((aBits1[0] & 0xc0) >> 6) | ((aBits1[1] & 0x07) << 2); }
260  { return aBits1[1] >> 3; }
261 };
262 
263 struct WW8_BRC // BoRder Code (WW8 version)
264 // Documented at http://msdn.microsoft.com/en-us/library/dd952599.aspx
265 {
268 // sal_uInt8 dptLineWidth;
269 // sal_uInt8 brcType;
270 // sal_uInt8 ico;
271 // sal_uInt8 dptSpace : 5
272 // bool fShadow : 1;
273 // bool fFrame : 1;
274 // bool fReserved : 1;
276  {
277  memset(aBits1, 0, sizeof(aBits1));
278  memset(aBits2, 0, sizeof(aBits2));
279  }
280 
281  sal_uInt8 dptLineWidth() const // border line width (1/8pt)
282  { return aBits1[0]; }
283  sal_uInt8 brcType() const // border type (eg single, double, dotted)
284  { return aBits1[1]; }
285  sal_uInt8 ico() const // colour index, 1-17 or 0=auto
286  { return aBits2[0]; }
287  sal_uInt8 dptSpace() const // space between text & border (pt)
288  { return aBits2[1] & 0x1f; }
289  bool fShadow() const // shadow effect
290  { return !!(aBits2[1] & 0x20); }
291  bool fFrame() const // 3D frame effect
292  { return !!(aBits2[1] & 0x40); }
293  bool isNil() const // nil = no border
294  { return aBits1[0] == 0xff && aBits1[1] == 0xff; }
295 
296  WW8_BRC(sal_uInt8 _dptLineWidth, sal_uInt8 _brcType, sal_uInt8 _ico,
297  sal_uInt8 _dptSpace, bool _fShadow, bool _fFrame)
298  {
299  assert(_dptSpace < 0x20);
300  aBits1[0] = _dptLineWidth;
301  aBits1[1] = _brcType;
302  aBits2[0] = _ico;
303  aBits2[1] = _dptSpace | (static_cast<sal_uInt8>(_fShadow) << 5)
304  | (static_cast<sal_uInt8>(_fFrame) << 6);
305  }
306  // Convert BRC from WW6 to WW8 format
307  explicit WW8_BRC(const WW8_BRCVer6& brcVer6);
308 
309  // Returns LO border width in twips=1/20pt, taking into account brcType
310  short DetermineBorderProperties(short *pSpace) const;
311 };
312 
313 typedef WW8_BRC WW8_BRC5[5]; // 5 * Border Code
314 
315 struct WW8_BRCVer9 // BoRder Code (WW9 version)
316 // Documented at http://msdn.microsoft.com/en-us/library/dd907496.aspx
317 {
318  SVBT32 aBits1; // border colour (RGB)
320 // sal_uInt8 dptLineWidth; // border line width (1/8pt)
321 // sal_uInt8 brcType; // border type (eg single, double, dotted)
322 // sal_uInt8 dptSpace : 5; // space between text & border (pt)
323 // bool fShadow : 1; // border has shadow effect
324 // bool fFrame : 1; // border has 3D effect
325 // sal_uInt16 fReserved : 9; // unused
327  {
328  memset(aBits1, 0, sizeof(aBits1));
329  memset(aBits2, 0, sizeof(aBits2));
330  }
331 
332  sal_uInt32 cv() const // colour value (BGR)
333  { return SVBT32ToUInt32(aBits1); }
334  sal_uInt8 dptLineWidth() const // border line width (1/8pt)
335  { return aBits2[0]; }
336  sal_uInt8 brcType() const // border type (eg single, double, dotted)
337  { return aBits2[1]; }
338  sal_uInt8 dptSpace() const // space between text & border (pt)
339  { return aBits2[2] & 0x1f; }
340  bool fShadow() const // shadow effect
341  { return !!(aBits2[2] & 0x20); }
342  bool fFrame() const // 3D frame effect
343  { return !!(aBits2[2] & 0x40); }
344  bool isNil() const // nil = no border
345  { return SVBT32ToUInt32(aBits2) == 0xffffffff; }
346 
347  WW8_BRCVer9(sal_uInt32 _cv, sal_uInt8 _dptLineWidth, sal_uInt8 _brcType,
348  sal_uInt8 _dptSpace, bool _fShadow, bool _fFrame)
349  {
350  assert(_dptSpace < 0x20);
351  UInt32ToSVBT32(_cv, aBits1);
352  aBits2[0] = _dptLineWidth;
353  aBits2[1] = _brcType;
354  aBits2[2] = _dptSpace | (static_cast<sal_uInt8>(_fShadow) << 5)
355  | (static_cast<sal_uInt8>(_fFrame) << 6);
356  aBits2[3] = 0;
357  }
358  // Convert BRC from WW8 to WW9 format
359  explicit WW8_BRCVer9(const WW8_BRC& brcVer8);
360 
361  // Returns LO border width in twips=1/20pt, taking into account brcType
362  short DetermineBorderProperties(short *pSpace=nullptr) const;
363 };
364 
365 typedef WW8_BRCVer9 WW8_BRCVer9_5[5]; // 5 * Border Code
366 
368 {
369  WW8_TOP = 0, WW8_LEFT = 1, WW8_BOT = 2, WW8_RIGHT = 3, WW8_BETW = 4
370 };
371 
372 /*
373 Document Typography Info (DOPTYPOGRAPHY) These options are Far East only,
374 and are accessible through the Typography tab of the Tools/Options dialog.
375 */
377 {
378 public:
379  void ReadFromMem(sal_uInt8 *&pData);
380  void WriteToMem(sal_uInt8 *&pData) const;
381 
382  //Maps what I think is the language this is to affect to the OOo language
384 
385  sal_uInt16 m_fKerningPunct : 1; // true if we're kerning punctuation
386  sal_uInt16 m_iJustification : 2; // Kinsoku method of justification:
387  // 0 = always expand
388  // 1 = compress punctuation
389  // 2 = compress punctuation and kana.
390  sal_uInt16 m_iLevelOfKinsoku : 2; // Level of Kinsoku:
391  // 0 = Level 1
392  // 1 = Level 2
393  // 2 = Custom
394  sal_uInt16 m_f2on1 : 1; // 2-page-on-1 feature is turned on.
395  sal_uInt16 m_reserved1 : 4; // in 97 its marked as reserved BUT
396  sal_uInt16 m_reserved2 : 6; // reserved ?
397  //we find that the following applies,
398  //2 == Japanese
399  //4 == Chinese (VR...
400  //6 == Korean
401  //8 == Chinese (Ta...
402  //perhaps a bit field where the DOP can possibly relate to more than
403  //one language at a time, nevertheless MS seems to have painted
404  //themselves into a small corner with one DopTypography for the
405  //full document, might not matter all that much though ?
406 
408  static const sal_Unicode * GetJapanNotBeginLevel1();
409  static const sal_Unicode * GetJapanNotEndLevel1();
410 
411  sal_Int16 m_cchFollowingPunct; // length of rgxchFPunct
412  sal_Int16 m_cchLeadingPunct; // length of rgxchLPunct
413 
414  // array of characters that should never appear at the start of a line
416  // array of characters that should never appear at the end of a line
418 };
419 
421 {
422  short xaGrid; // x-coord of the upper left-hand corner of the grid
423  short yaGrid; // y-coord of the upper left-hand corner of the grid
424  short dxaGrid; // width of each grid square
425  short dyaGrid; // height of each grid square
426 
427  /* attention: you must not put bit fields on top of such a byte array read from a file!
428  instead put an aBits1 on it and read it out with &.
429  reason: compilers on Intel and Sparc sort the bits differently
430  */
431 
432  short dyGridDisplay:7; // the number of grid squares (in the y direction)
433  // between each gridline drawn on the screen. 0 means
434  // don't display any gridlines in the y direction.
435  short fTurnItOff :1; // suppress display of gridlines
436  short dxGridDisplay:7; // the number of grid squares (in the x direction)
437  // between each gridline drawn on the screen. 0 means
438  // don't display any gridlines in the y direction.
439  short fFollowMargins:1; // if true, the grid will start at the left and top
440  // margins and ignore xaGrid and yaGrid.
441 };
442 
443 static_assert(sizeof (WW8_DOGRID) == 10, "this has to match the msword size");
444 
445 struct WW8_PIC
446 {
447  sal_Int32 lcb; // 0x0 number of bytes in the PIC structure plus size of following picture data which may be a Window's metafile, a bitmap, or the filename of a TIFF file.
448  sal_uInt16 cbHeader; // 0x4 number of bytes in the PIC (to allow for future expansion).
449  struct {
450  sal_Int16 mm; // 0x6 int
451  sal_Int16 xExt; // 0x8 int
452  sal_Int16 yExt; // 0xa int
453  sal_Int16 hMF; // 0xc int
454  }MFP;
455 // sal_uInt8 bm[14]; // 0xe BITMAP(14 bytes) Window's bitmap structure when PIC describes a BITMAP.
456  sal_uInt8 rcWinMF[14]; // 0xe rc (rectangle - 8 bytes) rect for window origin
457  // and extents when metafile is stored -- ignored if 0
458  sal_Int16 dxaGoal; // 0x1c horizontal measurement in twips of the rectangle the picture should be imaged within.
459  sal_Int16 dyaGoal; // 0x1e vertical measurement in twips of the rectangle the picture should be imaged within.
460  sal_uInt16 mx; // 0x20 horizontal scaling factor supplied by user in .1% units.
461  sal_uInt16 my; // 0x22 vertical scaling factor supplied by user in .1% units.
462  sal_Int16 dxaCropLeft; // 0x24 the amount the picture has been cropped on the left in twips.
463  sal_Int16 dyaCropTop; // 0x26 the amount the picture has been cropped on the top in twips.
464  sal_Int16 dxaCropRight; // 0x28 the amount the picture has been cropped on the right in twips.
465  sal_Int16 dyaCropBottom;// 0x2a the amount the picture has been cropped on the bottom in twips.
466  sal_Int16 brcl : 4; // 000F Obsolete, superseded by brcTop, etc. In
467  sal_Int16 fFrameEmpty : 1; // 0010 picture consists of a single frame
468  sal_Int16 fBitmap : 1; // 0020 ==1, when picture is just a bitmap
469  sal_Int16 fDrawHatch : 1; // 0040 ==1, when picture is an active OLE object
470  sal_Int16 fError : 1; // 0080 ==1, when picture is just an error message
471  sal_Int16 bpp : 8; // FF00 bits per pixel, 0 = unknown
473 // BRC brcTop; // 0x2e specification for border above picture
474 // BRC brcLeft; // 0x30 specification for border to the left
475 // BRC brcBottom; // 0x32 specification for border below picture
476 // BRC brcRight; // 0x34 specification for border to the right
477  sal_Int16 dxaOrigin; // 0x36 horizontal offset of hand annotation origin
478  sal_Int16 dyaOrigin; // 0x38 vertical offset of hand annotation origin
479 // sal_uInt8 rgb[]; // 0x3a variable array of bytes containing Window's metafile, bitmap or TIFF file filename.
480 };
481 
483 {
484  SVBT32 lcb; // 0x0 number of bytes in the PIC structure plus size of following picture data which may be a Window's metafile, a bitmap, or the filename of a TIFF file.
485  SVBT16 cbHeader; // 0x4 number of bytes in the PIC (to allow for future expansion).
486  struct {
487  SVBT16 mm; // 0x6 int
488  SVBT16 xExt; // 0x8 int
489  SVBT16 yExt; // 0xa int
490  SVBT16 hMF; // 0xc int
491  }MFP;
492 // sal_uInt8 bm[14]; // 0xe BITMAP(14 bytes) Window's bitmap structure when PIC describes a BITMAP.
493  sal_uInt8 rcWinMF[14]; // 0xe rc (rectangle - 8 bytes) rect for window origin
494  // and extents when metafile is stored -- ignored if 0
495  SVBT16 dxaGoal; // 0x1c horizontal measurement in twips of the rectangle the picture should be imaged within.
496  SVBT16 dyaGoal; // 0x1e vertical measurement in twips of the rectangle the picture should be imaged within.
497  SVBT16 mx; // 0x20 horizontal scaling factor supplied by user in .1% units.
498  SVBT16 my; // 0x22 vertical scaling factor supplied by user in .1% units.
499  SVBT16 dxaCropLeft; // 0x24 the amount the picture has been cropped on the left in twips.
500  SVBT16 dyaCropTop; // 0x26 the amount the picture has been cropped on the top in twips.
501  SVBT16 dxaCropRight; // 0x28 the amount the picture has been cropped on the right in twips.
502  SVBT16 dyaCropBottom;// 0x2a the amount the picture has been cropped on the bottom in twips.
505 // WW8_BRC rgbrc[4];
506 // BRC brcTop; // 0x2e specification for border above picture
507 // BRC brcLeft; // 0x30 specification for border to the left
508 // BRC brcBottom; // 0x32 specification for border below picture
509 // BRC brcRight; // 0x34 specification for border to the right
510 // SVBT16 dxaOrigin; // 0x36 horizontal offset of hand annotation origin
511 // SVBT16 dyaOrigin; // 0x38 vertical offset of hand annotation origin
512 // sal_uInt8 rgb[]; // 0x3a variable array of bytes containing Window's metafile, bitmap or TIFF file filename.
513 };
514 
515 static_assert(sizeof (WW8_PIC_SHADOW) == 0x2E, "this has to match the msword size");
516  // "0x2E": cf. SwWW8ImplReader::PicRead pDataStream->Read call
517 
518 struct WW8_TBD
519 {
521 // sal_uInt8 jc : 3; // 0x07 justification code: 0=left tab, 1=centered tab, 2=right tab, 3=decimal tab, 4=bar
522 // sal_uInt8 tlc : 3; // 0x38 tab leader code: 0=no leader, 1=dotted leader,
523  // 2=hyphenated leader, 3=single line leader, 4=heavy line leader
524 // * int :2 C0 reserved
525 };
526 
527 struct WW8_TCell // this is the base for further work (corresponds mostly to the Ver8 format)
528 {
529  // The single-bit fields should ideally be bool, but probably need to keep
530  // them as sal_uInt8 to make them combine with the following two-bit
531  // nVertAlign:
532  sal_uInt8 bFirstMerged : 1;// 0001 set to 1 when cell is first cell of a range of cells that have been merged.
533  sal_uInt8 bMerged : 1;// 0002 set to 1 when cell has been merged with preceding cell.
534  sal_uInt8 bVertical : 1;// set to 1 when cell has vertical text flow
535  sal_uInt8 bBackward : 1;// for a vertical table cell, text flow is bottom to top when 1 and is bottom to top when 0.
536  sal_uInt8 bRotateFont : 1;// set to 1 when cell has rotated characters (i.e. uses @font)
537  sal_uInt8 bVertMerge : 1;// set to 1 when cell is vertically merged with the cell(s) above and/or below. When cells are vertically merged, the display area of the merged cells are consolidated. The consolidated area is used to display the contents of the first vertically merged cell (the cell with fVertRestart set to 1), and all other vertically merged cells (those with fVertRestart set to 0) must be empty. Cells can only be merged vertically if their left and right boundaries are (nearly) identical (i.e. if corresponding entries in rgdxaCenter of the table rows differ by at most 3).
538  sal_uInt8 bVertRestart : 1;// set to 1 when the cell is the first of a set of vertically merged cells. The contents of a cell with fVertStart set to 1 are displayed in the consolidated area belonging to the entire set of vertically merged cells. Vertically merged cells with fVertRestart set to 0 must be empty.
539  sal_uInt8 nVertAlign : 2;// specifies the alignment of the cell contents relative to text flow (e.g. in a cell with bottom to top text flow and bottom vertical alignment, the text is shifted horizontally to match the cell's right boundary):
540  // 0 top
541  // 1 center
542  // 2 bottom
543  sal_uInt16 fUnused : 7;// reserved - do not remove, fills up the sal_uInt16!
544 
545  WW8_BRCVer9 rgbrc[4]; // border codes
546 //notational convenience for referring to brcTop, brcLeft, etc fields.
547 // BRC brcTop; // specification of the top border of a table cell
548 // BRC brcLeft; // specification of left border of table row
549 // BRC brcBottom; // specification of bottom border of table row
550 // BRC brcRight; // specification of right border of table row.
551 };
552 // cbTC (count of bytes of a TC) is 18(decimal), 12(hex).
553 
554 struct WW8_TCellVer6 // read from file
555 {
558 // sal_uInt16 fFirstMerged : 1;// 0001 set to 1 when cell is first cell of a range of cells that have been merged.
559 // sal_uInt16 fMerged : 1; // 0002 set to 1 when cell has been merged with preceding cell.
560 // sal_uInt16 fUnused : 14; // FFFC reserved
562 // notational convenience for referring to brcTop, brcLeft, etc fields:
563 // BRC brcTop; // specification of the top border of a table cell
564 // BRC brcLeft; // specification of left border of table row
565 // BRC brcBottom; // specification of bottom border of table row
566 // BRC brcRight; // specification of right border of table row.
567 };
568 // cbTC (count of bytes of a TC) is 10(decimal), A(hex).
569 
570 struct WW8_TCellVer8 // read from file
571 {
572  SVBT16 aBits1Ver8; // Documentation: see above at WW8_TCell
573  SVBT16 aUnused; // reserve
574  WW8_BRC rgbrcVer8[4]; // Documentation: see above at WW8_TCell
575 };
576 // cbTC (count of bytes of a TC) is 20(decimal), 14(hex).
577 
578 struct WW8_SHD // struct SHD is missing from the description
579 {
580 private:
581  sal_uInt16 maBits;
582 // sal_uInt16 nFore : 5; // 0x001f ForegroundColor
583 // sal_uInt16 nBack : 5; // 0x03e0 BackgroundColor
584 // sal_uInt16 nStyle : 5; // 0x7c00 Percentage and Style
585 // sal_uInt16 nDontKnow : 1; // 0x8000 ??? from Ver8: also for Style
586 
587 public:
588  WW8_SHD() : maBits(0) {}
589 
590  sal_uInt8 GetFore() const { return static_cast<sal_uInt8>( maBits & 0x1f); }
591  sal_uInt8 GetBack() const { return static_cast<sal_uInt8>((maBits >> 5 ) & 0x1f); }
592  sal_uInt8 GetStyle(bool bVer67) const
593  { return static_cast<sal_uInt8>((maBits >> 10) & ( bVer67 ? 0x1f : 0x3f ) ); }
594 
595  sal_uInt16 GetValue() const { return maBits; }
596 
597  void SetWWValue(SVBT16 const nVal) { maBits = SVBT16ToUInt16(nVal); }
598 
599  void SetFore(sal_uInt8 nVal)
600  {
601  maBits &= 0xffe0;
602  maBits |= (nVal & 0x1f);
603  }
604  void SetBack(sal_uInt8 nVal)
605  {
606  maBits &= 0xfc1f;
607  maBits |= (nVal & 0x1f) << 5;
608  }
609  void SetStyle(sal_uInt8 nVal)
610  {
611  maBits &= 0x03ff;
612  maBits |= (nVal & 0x3f) << 10;
613  }
614 };
615 
616 struct WW8_ANLV
617 {
618  sal_uInt8 nfc; // 0 number format code, 0=Arabic, 1=Upper case Roman, 2=Lower case Roman
619  // 3=Upper case Letter, 4=Lower case letter, 5=Ordinal
620  sal_uInt8 cbTextBefore; // 1 offset into anld.rgch limit of prefix text
623 // sal_uInt8 jc : 2; // 3 : 0x03 justification code, 0=left, 1=center, 2=right, 3=left and right justify
624 // sal_uInt8 fPrev : 1; // 0x04 when ==1, include previous levels
625 // sal_uInt8 fHang : 1; // 0x08 when ==1, number will be displayed using a hanging indent
626 // sal_uInt8 fSetBold : 1; // 0x10 when ==1, boldness of number will be determined by anld.fBold.
627 // sal_uInt8 fSetItalic : 1;// 0x20 when ==1, italicness of number will be determined by anld.fItalic
628 // sal_uInt8 fSetSmallCaps : 1;// 0x40 when ==1, anld.fSmallCaps will determine whether number will be displayed in small caps or not.
629 // sal_uInt8 fSetCaps : 1; // 0x80 when ==1, anld.fCaps will determine whether number will be displayed capitalized or not
631 // sal_uInt8 fSetStrike : 1;// 4 : 0x01 when ==1, anld.fStrike will determine whether the number will be displayed using strikethrough or not.
632 // sal_uInt8 fSetKul : 1; // 0x02 when ==1, anld.kul will determine the underlining state of the autonumber.
633 // sal_uInt8 fPrevSpace : 1;// 0x04 when ==1, autonumber will be displayed with a single prefixing space character
634 // sal_uInt8 fBold : 1; // 0x08 determines boldness of autonumber when anld.fSetBold == 1.
635 // sal_uInt8 fItalic : 1; // 0x10 determines italicness of autonumber when anld.fSetItalic == 1.
636 // sal_uInt8 fSmallCaps : 1;// 0x20 determines whether autonumber will be displayed using small caps when anld.fSetSmallCaps == 1.
637 // sal_uInt8 fCaps : 1; // 0x40 determines whether autonumber will be displayed using caps when anld.fSetCaps == 1.
638 // sal_uInt8 fStrike : 1; // 0x80 determines whether autonumber will be displayed using caps when anld.fSetStrike == 1.
640 // sal_uInt8 kul : 3; // 5 : 0x07 determines whether autonumber will be displayed with underlining when anld.fSetKul == 1.
641 // sal_uInt8 ico : 5; // 0xF1 color of autonumber
642  SVBT16 ftc; // 6 font code of autonumber
643  SVBT16 hps; // 8 font half point size (or 0=auto)
644  SVBT16 iStartAt; // 0x0a starting value (0 to 65535)
645  SVBT16 dxaIndent; // 0x0c *short?* *sal_uInt16?* width of prefix text (same as indent)
646  SVBT16 dxaSpace; // 0x0e minimum space between number and paragraph
647 };
648 // *cbANLV (count of bytes of ANLV) is 16 (decimal), 10(hex).
649 
650 struct WW8_ANLD
651 {
653  sal_uInt8 fNumber1; // 0x10 number only 1 item per table cell
654  sal_uInt8 fNumberAcross; // 0x11 number across cells in table rows(instead of down)
655  sal_uInt8 fRestartHdn; // 0x12 restart heading number on section boundary
656  sal_uInt8 fSpareX; // 0x13 unused( should be 0)
657  sal_uInt8 rgchAnld[32]; // 0x14 characters displayed before/after autonumber
658 };
659 
660 struct WW8_OLST
661 {
662  WW8_ANLV rganlv[9]; // 0 an array of 9 ANLV structures (heading levels)
663  sal_uInt8 fRestartHdr; // 0x90 when ==1, restart heading on section break
664  sal_uInt8 fSpareOlst2; // 0x91 reserved
665  sal_uInt8 fSpareOlst3; // 0x92 reserved
666  sal_uInt8 fSpareOlst4; // 0x93 reserved
667  sal_uInt8 rgch[64]; // 0x94 array of 64 chars text before/after number
668 };
669 // cbOLST is 212(decimal), D4(hex).
670 
671 struct WW8_FDOA
672 {
673  SVBT32 fc; // 0 FC pointing to drawing object data
674  SVBT16 ctxbx; // 4 count of textboxes in the drawing object
675 };
676 
677 struct WW8_DO
678 {
679  SVBT16 dok; // 0 Drawn Object Kind, currently this is always 0
680  SVBT16 cb; // 2 size (count of bytes) of the entire DO
681  sal_uInt8 bx; // 4 x position relative to anchor CP
682  sal_uInt8 by; // 5 y position relative to anchor CP
683 
684  /*
685  bx and by above are apparently better described by this info from the rtf standard...
686 
687  \dobxpage The drawing object is page relative in the x-direction.
688  \dobxcolumn The drawing object is column relative in the x-direction.
689  \dobxmargin The drawing object is margin relative in the x-direction.
690 
691  \dobypage The drawing object is page relative in the y-direction.
692  \dobypara The drawing object is paragraph relative in the y-direction.
693  \dobymargin The drawing object is margin relative in the y-direction.
694 
695  */
696 
697  SVBT16 dhgt; // 6 height of DO
699 // sal_uInt16 fAnchorLock : 1; // 8 1 if the DO anchor is locked
700 // sal_uInt8[] rgdp; // 0xa variable length array of drawing primitives
701 };
702 
704 {
705  SVBT16 dpk; // 0 Drawn Primitive Kind REVIEW davebu
706  // 0=start of grouping, 1=line, 2=textbox, 3=rectangle,
707  // 4=arc, 5=elipse, 6=polyline, 7=callout textbox,
708  // 8=end of grouping, 9=sample primitive holding default values
709  SVBT16 cb; // 2 size (count of bytes) of this DP
710  SVBT16 xa; // 4 These 2 points describe the rectangle
711  SVBT16 ya; // 6 enclosing this DP relative to the origin of
712  SVBT16 dxa; // 8 the DO
713  SVBT16 dya; // 0xa
714 };
715 
717 {
718  SVBT32 lnpc; // LiNe Property Color -- RGB color value
719  SVBT16 lnpw; // line property weight in twips
720  SVBT16 lnps; // line property style : 0=Solid, 1=Dashed
721  // 2=Dotted, 3=Dash Dot, 4=Dash Dot Dot, 5=Hollow
722 };
723 
724 struct WW8_DP_SHADOW // shading!
725 {
726  SVBT16 shdwpi; // Shadow Property Intensity
727  SVBT16 xaOffset; // x offset of shadow
728  SVBT16 yaOffset; // y offset of shadow
729 };
730 
732 {
733  SVBT32 dlpcFg; // FiLl Property Color ForeGround -- RGB color value
734  SVBT32 dlpcBg; // Property Color BackGround -- RGB color value
735  SVBT16 flpp; // FiLl Property Pattern REVIEW davebu
736 };
737 
739 {
741 // sal_uInt16 eppsStart : 2; // Start EndPoint Property Style
742  // 0=None, 1=Hollow, 2=Filled
743 // sal_uInt16 eppwStart : 2; // Start EndPoint Property Weight
744 // sal_uInt16 epplStart : 2; // Start EndPoint Property length
745 // sal_uInt16 dummyStart : 10; // Alignment
747 // sal_uInt16 eppsEnd : 2; // End EndPoint Property Style
748 // sal_uInt16 eppwEnd : 2; // End EndPoint Property Weight
749 // sal_uInt16 epplEnd : 2; // End EndPoint Property length
750 // sal_uInt16 dummyEnd : 10; // Alignment
751 };
752 
754 {
755 // WW8_DPHEAD dphead; // 0 Common header for a drawing primitive
756  SVBT16 xaStart; // starting point for line
758  SVBT16 xaEnd; // ending point for line
763 };
764 
766 {
771 // sal_uInt16 fRoundCorners : 1; //0x24 0001 1 if the textbox has rounded corners
772 // sal_uInt16 zaShape : 15; // 0x24 000e REVIEW davebu
773  SVBT16 dzaInternalMargin; // 0x26 REVIEW davebu
774 };
775 
777 {
782 // sal_uInt16 fRoundCorners : 1; // 0x24 0001 1 if the textbox has rounded corners
783 // sal_uInt16 zaShape : 15; // 0x24 000e REVIEW davebu
784 };
785 
787 {
791  sal_uInt8 fLeft; // 0x24 00ff REVIEW davebu
792  sal_uInt8 fUp; // 0x24 ff00 REVIEW davebu
793 // sal_uInt16 fLeft : 8; // 0x24 00ff REVIEW davebu
794 // sal_uInt16 fUp : 8; // 0x24 ff00 REVIEW davebu
795 };
796 
798 {
802 };
803 
805 {
811 // sal_uInt16 fPolygon : 1; // 0x28 0001 1 if this is a polygon
812 // sal_uInt16 cpt : 15; // 0x28 00fe count of points
813 // short xaFirst; // 0x2a These are the endpoints of the first line.
814 // short yaFirst; // 0x2c
815 // short xaEnd; // 0x2e
816 // short yaEnd; // 0x30
817 // short rgpta[]; // 0x32 An array of xa,ya pairs for the remaining points
818 };
819 
821 {
822  SVBT16 flags; // 0x0c REVIEW davebu flags
823  SVBT16 dzaOffset; // 0x0e REVIEW davebu
824  SVBT16 dzaDescent; // 0x10 REVIEW davebu
825  SVBT16 dzaLength; // 0x12 REVIEW davebu
826  WW8_DPHEAD dpheadTxbx; // 0x14 DPHEAD for a textbox
827  WW8_DP_TXTBOX dptxbx; // 0x20 DP for a textbox
828  WW8_DPHEAD dpheadPolyLine; // 0x4c DPHEAD for a Polyline
829  WW8_DP_POLYLINE dpPolyLine; // 0x48 DP for a polyline
830 };
831 
832 struct WW8_PCD
833 {
835 // sal_uInt8 fNoParaLast : 1; // when 1, means that piece contains no end of paragraph marks.
836 // sal_uInt8 fPaphNil : 1; // used internally by Word
837 // sal_uInt8 fCopied : 1; // used internally by Word
838 // * int :5
839  sal_uInt8 aBits2; // fn int:8, used internally by Word
840  SVBT32 fc; // file offset of beginning of piece. The size of the
841  // ithpiece can be determined by subtracting rgcp[i] of
842  // the containing plcfpcd from its rgcp[i+1].
843  SVBT16 prm; // PRM contains either a single sprm or else an index number
844  // of the grpprl which contains the sprms that modify the
845  // properties of the piece.
846 };
847 
848 // AnnoTation References Descriptor (ATRD)
849 struct WW8_ATRD // for version 8
850 {
851  SVBT16 xstUsrInitl[ 10 ]; // pascal-style String holding initials
852  // of annotation author
853  SVBT16 ibst; // index into GrpXstAtnOwners
854  SVBT16 ak; // not used
855  SVBT16 grfbmc; // not used
856  SVBT32 ITagBkmk; // when not -1, this tag identifies the
857  // annotation bookmark that locates the
858  // range of CPs in the main document which
859  // this annotation references.
860 };
861 
863 {
864  // --- Extended bit since Word 2002 ---
865 
871 };
872 
873 struct WW67_ATRD // for versions 6/7
874 {
875  sal_Char xstUsrInitl[ 10 ]; // pascal-style String holding initials
876  // of annotation author
877  SVBT16 ibst; // index into GrpXstAtnOwners
878  SVBT16 ak; // not used
879  SVBT16 grfbmc; // not used
880  SVBT32 ITagBkmk; // when not -1, this tag identifies the
881  // annotation bookmark that locates the
882  // range of CPs in the main document which
883  // this annotation references.
884 };
885 
887 {
888  sal_Int16 nSp26;
889  sal_Int16 nSp27;
890  sal_Int16 nLeMgn;
891  sal_Int16 nRiMgn;
892  sal_Int16 nUpMgn;
893  sal_Int16 nLoMgn;
896  bool bNoFly;
897 };
898 
899 struct WW8_FSPA
900 {
901 public:
902  sal_Int32 nSpId; //Shape Identifier. Used in conjunction with the office art data (found via fcDggInfo in the FIB) to find the actual data for this shape.
903  sal_Int32 nXaLeft; //left of rectangle enclosing shape relative to the origin of the shape
904  sal_Int32 nYaTop; //top of rectangle enclosing shape relative to the origin of the shape
905  sal_Int32 nXaRight; //right of rectangle enclosing shape relative to the origin of the shape
906  sal_Int32 nYaBottom;//bottom of the rectangle enclosing shape relative to the origin of the shape
907  sal_uInt16 bHdr:1;
908  //0001 1 in the undo doc when shape is from the header doc, 0 otherwise (undefined when not in the undo doc)
909  sal_uInt16 nbx:2;
910  //0006 x position of shape relative to anchor CP
911  //0 relative to page margin
912  //1 relative to top of page
913  //2 relative to text (column for horizontal text; paragraph for vertical text)
914  //3 reserved for future use
915  sal_uInt16 nby:2;
916  //0018 y position of shape relative to anchor CP
917  //0 relative to page margin
918  //1 relative to top of page
919  //2 relative to text (paragraph for horizontal text; column for vertical text)
920  sal_uInt16 nwr:4;
921  //01E0 text wrapping mode
922  //0 like 2, but doesn't require absolute object
923  //1 no text next to shape
924  //2 wrap around absolute object
925  //3 wrap as if no object present
926  //4 wrap tightly around object
927  //5 wrap tightly, but allow holes
928  //6-15 reserved for future use
929  sal_uInt16 nwrk:4;
930  //1E00 text wrapping mode type (valid only for wrapping modes 2 and 4
931  //0 wrap both sides
932  //1 wrap only on left
933  //2 wrap only on right
934  //3 wrap only on largest side
935  sal_uInt16 bRcaSimple:1;
936  //2000 when set, temporarily overrides bx, by, forcing the xaLeft, xaRight, yaTop, and yaBottom fields to all be page relative.
937  sal_uInt16 bBelowText:1;
938  //4000
939  //1 shape is below text
940  //0 shape is above text
941  sal_uInt16 bAnchorLock:1;
942  //8000 1 anchor is locked
943  // 0 anchor is not locked
944  sal_Int32 nTxbx; //count of textboxes in shape (undo doc only)
945 public:
947 };
948 
949 struct WW8_FSPA_SHADOW // all members at same position and size
950 { // due to: pF = (WW8_FSPA*)pFS;
958 };
959 
960 static_assert(sizeof (WW8_FSPA_SHADOW) == 26, "this has to match the msword size");
961  // "26": cf. WW8ScannerBase ctor case 8 creation of pMainFdoa and pHdFtFdoa
962 
963 struct WW8_TXBXS
964 {
971 };
972 
974 {
975  // M.M. This is the extra data stored in the SttbfFnm
976  // For now I only need the String Id
981 };
982 
983 struct WW8_WKB
984 {
985  // M.M. This is the WkbPLCF struct
986  // For now I only need the Link Id
993 };
994 
995 #ifdef _WIN32
996 # pragma pack(pop)
997 #endif
998 
999 // Maximum number of columns according the WW8 specification
1001 
1002 struct SEPr
1003 {
1004  SEPr();
1015  sal_uInt16 nLnnMod;
1016  sal_Int32 dxaLnn;
1017  sal_Int16 dxaPgn;
1018  sal_Int16 dyaPgn;
1021  sal_uInt16 dmBinFirst;
1022  sal_uInt16 dmBinOther;
1023  sal_uInt16 dmPaperReq;
1024 /*
1025  28 1C brcTop BRC top page border
1026 
1027  32 20 brcLeft BRC left page border
1028 
1029  36 24 brcBottom BRC bottom page border
1030 
1031  40 28 brcRight BRC right page border
1032 */
1033  sal_Int16 fPropRMark;
1034  sal_Int16 ibstPropRMark;
1035  sal_Int32 dttmPropRMark; //DTTM
1036  sal_Int32 dxtCharSpace;
1037  sal_Int32 dyaLinePitch;
1038  sal_uInt16 clm;
1039  sal_Int16 reserved1;
1042  sal_uInt16 pgnStart;
1043  sal_Int16 lnnMin;
1044  sal_uInt16 wTextFlow;
1045  sal_Int16 reserved2;
1046  sal_uInt16 pgbApplyTo:3;
1047  sal_uInt16 pgbPageDepth:2;
1048  sal_Int16 pgbOffsetFrom:3;
1049  sal_Int16 :8;
1050  sal_uInt32 xaPage;
1051  sal_uInt32 yaPage;
1052  sal_uInt32 xaPageNUp;
1053  sal_uInt32 yaPageNUp;
1054  sal_uInt32 dxaLeft;
1055  sal_uInt32 dxaRight;
1056  sal_Int32 dyaTop;
1057  sal_Int32 dyaBottom;
1058  sal_uInt32 dzaGutter;
1059  sal_uInt32 dyaHdrTop;
1060  sal_uInt32 dyaHdrBottom;
1061  sal_Int16 ccolM1; // have to be less than MAX_NO_OF_SEP_COLUMNS according the WW8 specification
1068  sal_Int32 dxaColumns;
1069 
1070  // Fixed array - two entries for each SEP column to store width of column and spacing to next column.
1071  // At odd index values [1,3,5,...] the column widths are stored.
1072  // At even index values [2,4,6,...] the spacings to the next columns are stored.
1073  // Value at index 0 is initialized with 0 and used for easier iteration on the array
1074  sal_Int32 rgdxaColumnWidthSpacing[MAX_NO_OF_SEP_COLUMNS*2 + 1];
1075 
1076  sal_Int32 dxaColumnWidth;
1079  sal_Int16 reserved4;
1080 };
1081 
1082 namespace wwUtility
1083 {
1084  inline sal_uInt32 RGBToBGR(::Color nColour)
1085  {
1086  // we can use this because the translation is symmetric
1087  return msfilter::util::BGRToRGB(sal_uInt32(nColour));
1088  }
1089 }
1090 
1093 {
1094 public:
1095  MSOFactoidType();
1096  void Read(SvStream& rStream);
1097  void Write(WW8Export& rExport);
1098 
1099  sal_uInt32 m_nId;
1100  OUString m_aUri;
1101  OUString m_aTag;
1102 };
1103 
1106 {
1107 public:
1108  void Read(SvStream& rStream);
1109  void Write(WW8Export& rExport);
1110 
1111  std::vector<MSOFactoidType> m_aFactoidTypes;
1112  std::vector<OUString> m_aStringTable;
1113 };
1114 
1117 {
1118 public:
1119  MSOProperty();
1120  void Read(SvStream& rStream);
1121  void Write(SvStream& rStream);
1122 
1124  sal_uInt32 m_nKey;
1126  sal_uInt32 m_nValue;
1127 };
1128 
1131 {
1132 public:
1133  MSOPropertyBag();
1134  bool Read(SvStream& rStream);
1135  void Write(WW8Export& rExport);
1136 
1138  sal_uInt16 m_nId;
1139  std::vector<MSOProperty> m_aProperties;
1140 };
1141 
1144 {
1145 public:
1146  void Read(SvStream& rStream, WW8_FC fcFactoidData, sal_uInt32 lcbFactoidData);
1147  void Write(WW8Export& rExport);
1148 
1150  std::vector<MSOPropertyBag> m_aPropBags;
1151 };
1152 
1153 #endif
1154 
1155 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
sal_Int32 dttmPropRMark
Definition: ww8struc.hxx:1035
sal_uInt8 aBits2
Definition: ww8struc.hxx:839
sal_Int8 fLBetween
Definition: ww8struc.hxx:1019
SVBT32 aBits1
Definition: ww8struc.hxx:318
sal_Int32 nXaRight
Definition: ww8struc.hxx:905
short fTurnItOff
Definition: ww8struc.hxx:435
sal_Int16 reserved4
Definition: ww8struc.hxx:1079
SVBT32 cReusable
Definition: ww8struc.hxx:966
sal_uInt32 dxaRight
Definition: ww8struc.hxx:1055
sal_uInt16 pgnStart
Definition: ww8struc.hxx:1042
sal_uInt8 fSysVanish
Definition: ww8struc.hxx:92
sal_uInt8 nSp37
Definition: ww8struc.hxx:895
SVBT16 ctxbx
Definition: ww8struc.hxx:674
sal_uInt16 fScratch
Definition: ww8struc.hxx:173
WW8_BRC rgbrc[4]
Definition: ww8struc.hxx:472
Exporter of the binary Word file formats.
Definition: wrtww8.hxx:963
sal_uInt16 nby
Definition: ww8struc.hxx:915
sal_uInt16 fBold
Definition: ww8struc.hxx:61
sal_uInt32 m_nValue
Index into MSOPropertyBagStore::m_aStringTable.
Definition: ww8struc.hxx:1126
void Read(SvStream &rStream)
Definition: ww8scan.cxx:6633
sal_uInt8 brcType() const
Definition: ww8struc.hxx:336
sal_Int32 dyaBottom
Definition: ww8struc.hxx:1057
SVBT16 aBits1
Definition: ww8struc.hxx:266
sal_uInt16 clm
Definition: ww8struc.hxx:1038
SVBT16 dxaGoal
Definition: ww8struc.hxx:495
WW8_DP_LINETYPE aLnt
Definition: ww8struc.hxx:799
sal_uInt16 m_f2on1
Definition: ww8struc.hxx:394
WW8_DP_POLYLINE dpPolyLine
Definition: ww8struc.hxx:829
SVBT16 cb
Definition: ww8struc.hxx:709
sal_uInt16 fDiacUSico
Definition: ww8struc.hxx:76
SVBT16 ibst
Definition: ww8struc.hxx:877
short DetermineBorderProperties(short *pSpace=nullptr) const
Definition: ww8scan.cxx:1362
sal_uInt8 SVBT16[2]
WW8_DPHEAD dpheadPolyLine
Definition: ww8struc.hxx:828
sal_uInt16 hps
Definition: ww8struc.hxx:90
sal_uInt8 fRTLAlignment
Definition: ww8struc.hxx:1067
sal_uInt8 hpsPos
Definition: ww8struc.hxx:96
WW8_DP_LINEEND aEpp
Definition: ww8struc.hxx:808
WW8_DP_SHADOW aShd
Definition: ww8struc.hxx:769
sal_uInt8 fUp
Definition: ww8struc.hxx:792
sal_Int16 dyaCropBottom
Definition: ww8struc.hxx:465
sal_uInt16 bBelowText
Definition: ww8struc.hxx:937
SEPr()
Definition: ww8scan.cxx:8485
sal_uInt16 fsPos
Definition: ww8struc.hxx:81
SVBT32 txidUndo
Definition: ww8struc.hxx:970
sal_uInt8 fTitlePage
Definition: ww8struc.hxx:1006
sal_uInt8 fEndNote
Definition: ww8struc.hxx:1012
sal_uInt16 fInvalHeight
Definition: ww8struc.hxx:175
void SetBack(sal_uInt8 nVal)
Definition: ww8struc.hxx:604
signed char sal_Int8
SVBT16 nLinkId
Definition: ww8struc.hxx:990
sal_uInt8 GetBack() const
Definition: ww8struc.hxx:591
sal_uInt8 aBits1
Definition: ww8struc.hxx:503
sal_uInt16 nbx
Definition: ww8struc.hxx:909
void Read(SvStream &rStream)
Definition: ww8scan.cxx:6712
sal_uInt8 cbFfnM1
Definition: ww8struc.hxx:204
SVBT16 aBits1
Definition: ww8struc.hxx:770
sal_uInt8 bBackward
Definition: ww8struc.hxx:535
static const sal_Unicode * GetJapanNotBeginLevel1()
Definition: wrtww8.cxx:558
SVBT16 cbHeader
Definition: ww8struc.hxx:485
sal_uInt8 nSp29
Definition: ww8struc.hxx:894
[MS-DOC] SmartTagData: stores information about all smart tags in the document.
Definition: ww8struc.hxx:1143
sal_uInt8 fSpareOlst3
Definition: ww8struc.hxx:665
struct WW8_PIC::@17 MFP
SVBT16 reserved2
Definition: ww8struc.hxx:979
sal_uInt16 dmPaperReq
Definition: ww8struc.hxx:1023
sal_uInt8 fNumRun
Definition: ww8struc.hxx:93
sal_uInt8 fFacingCol
Definition: ww8struc.hxx:1065
SVBT32 nYaBottom
Definition: ww8struc.hxx:955
void Write(WW8Export &rExport)
Definition: ww8scan.cxx:6692
SVBT16 dok
Definition: ww8struc.hxx:679
std::vector< MSOFactoidType > m_aFactoidTypes
Definition: ww8struc.hxx:1111
SVBT16 aBits1
Definition: ww8struc.hxx:236
SVBT16 ibst
Definition: ww8struc.hxx:853
sal_uInt8 by
Definition: ww8struc.hxx:682
SVBT16 ftc
Definition: ww8struc.hxx:642
WW8_DP_LINETYPE aLnt
Definition: ww8struc.hxx:806
SVBT16 xstUsrInitl[10]
Definition: ww8struc.hxx:851
sal_uInt16 fVanish
Definition: ww8struc.hxx:68
sal_uInt8 ff
Definition: ww8struc.hxx:209
sal_Int32 lcb
Definition: ww8struc.hxx:447
sal_Int16 bpp
Definition: ww8struc.hxx:471
SVBT16 reserved3
Definition: ww8struc.hxx:989
sal_Int16 dxaPgn
Definition: ww8struc.hxx:1017
sal_uInt16 fFieldVanish
Definition: ww8struc.hxx:65
sal_uInt16 fsLid
Definition: ww8struc.hxx:83
SVBT32 ITagBkmk
Definition: ww8struc.hxx:880
sal_uInt8 rgch[64]
Definition: ww8struc.hxx:667
void Set_UInt32(sal_uInt8 *&p, sal_uInt32 n)
Definition: ww8struc.hxx:53
sal_Int32 nXaLeft
Definition: ww8struc.hxx:903
sal_Int32 dxaColumnWidth
Definition: ww8struc.hxx:1076
sal_uInt16 fsSpace
Definition: ww8struc.hxx:82
void Read(SvStream &rStream)
Definition: ww8scan.cxx:6657
SVBT16 dxaIndent
Definition: ww8struc.hxx:645
sal_Int32 nSpId
Definition: ww8struc.hxx:902
sal_uInt16 fItalic
Definition: ww8struc.hxx:62
SVBT32 dlpcBg
Definition: ww8struc.hxx:734
sal_uInt16 fSmallCaps
Definition: ww8struc.hxx:66
bool Read(SvStream &rStream)
Definition: ww8scan.cxx:6729
sal_Int32 dyaTop
Definition: ww8struc.hxx:1056
sal_uInt8 cbTextAfter
Definition: ww8struc.hxx:621
SVBT16 xa
Definition: ww8struc.hxx:710
sal_uInt8 fBiDi
Definition: ww8struc.hxx:1064
sal_uInt32 dzaGutter
Definition: ww8struc.hxx:1058
sal_uInt16 fItalicBi
Definition: ww8struc.hxx:74
OUString m_aTag
Definition: ww8struc.hxx:1101
WW8_DP_LINEEND aEpp
Definition: ww8struc.hxx:761
sal_uInt8 fSpareOlst4
Definition: ww8struc.hxx:666
sal_uInt8 SVBT32[4]
sal_uInt8 cnsPgn
Definition: ww8struc.hxx:1010
SVBT16 dxaSpace
Definition: ww8struc.hxx:646
struct WW8_PIC_SHADOW::@18 MFP
SVBT16 reserved5
Definition: ww8struc.hxx:992
sal_uInt8 fNumberAcross
Definition: ww8struc.hxx:654
sal_uInt16 fsHps
Definition: ww8struc.hxx:79
MSOPropertyBagStore m_aPropBagStore
Definition: ww8struc.hxx:1149
sal_uInt8 GetStyle(bool bVer67) const
Definition: ww8struc.hxx:592
WW8_DP_FILL aFill
Definition: ww8struc.hxx:807
std::vector< MSOProperty > m_aProperties
Definition: ww8struc.hxx:1139
SVBT16 dpk
Definition: ww8struc.hxx:705
sal_uInt32 yaPageNUp
Definition: ww8struc.hxx:1053
sal_uInt16 sal_Unicode
SVBT32 Discussitem
Definition: ww8struc.hxx:870
sal_uInt32 dyaHdrTop
Definition: ww8struc.hxx:1059
sal_uInt8 rcWinMF[14]
Definition: ww8struc.hxx:456
sal_uInt16 m_nId
Matches MSOFactoidType::m_nId in MSOPropertyBagStore::m_aFactoidTypes.
Definition: ww8struc.hxx:1138
sal_uInt16 cupx
Definition: ww8struc.hxx:181
sal_uInt16 wTextFlow
Definition: ww8struc.hxx:1044
sal_uInt16 hpsBi
Definition: ww8struc.hxx:100
bool isNil() const
Definition: ww8struc.hxx:293
SVBT16 ak
Definition: ww8struc.hxx:878
bool fFrame() const
Definition: ww8struc.hxx:342
sal_uInt16 m_reserved1
Definition: ww8struc.hxx:395
sal_uInt8 ico() const
Definition: ww8struc.hxx:257
sal_Char xstUsrInitl[10]
Definition: ww8struc.hxx:875
sal_Int8 reserved3
Definition: ww8struc.hxx:1063
sal_uInt32 cv() const
Definition: ww8struc.hxx:332
char sal_Char
sal_uInt32 yaPage
Definition: ww8struc.hxx:1051
sal_uInt8 dptSpace() const
Definition: ww8struc.hxx:338
sal_uInt32 dyaHdrBottom
Definition: ww8struc.hxx:1060
sal_uInt16 fUnused
Definition: ww8struc.hxx:543
sal_uInt32 xaPageNUp
Definition: ww8struc.hxx:1052
sal_Unicode m_rgxchFPunct[nMaxFollowing]
Definition: ww8struc.hxx:415
sal_Int16 fBitmap
Definition: ww8struc.hxx:468
WW8_DP_LINETYPE aLnt
Definition: ww8struc.hxx:788
sal_uInt32 RGBToBGR(::Color nColour)
Definition: ww8struc.hxx:1084
sal_Int16 dxaCropLeft
Definition: ww8struc.hxx:462
sal_uInt8 chs
Definition: ww8struc.hxx:213
sal_Int8 fEvenlySpaced
Definition: ww8struc.hxx:1062
short DetermineBorderProperties(short *pSpace) const
Definition: ww8scan.cxx:1356
sal_uInt8 rgchAnld[32]
Definition: ww8struc.hxx:657
void Set_UInt16(sal_uInt8 *&p, sal_uInt16 n)
Definition: ww8struc.hxx:47
sal_uInt32 fcPic
Definition: ww8struc.hxx:102
SVBT16 reserved2
Definition: ww8struc.hxx:988
This is what we use in the Parser (and Dumper)
Definition: ww8struc.hxx:221
sal_uInt16 fSpec
Definition: ww8struc.hxx:70
void WriteToMem(sal_uInt8 *&pData) const
Definition: ww8scan.cxx:8282
WW8_BRCVer9 rgbrc[4]
Definition: ww8struc.hxx:545
sal_uInt8 kul
Definition: ww8struc.hxx:95
sal_uInt8 bkc
Definition: ww8struc.hxx:1005
sal_uInt16 dmBinOther
Definition: ww8struc.hxx:1022
sal_uInt16 bAnchorLock
Definition: ww8struc.hxx:941
sal_uInt16 lidBi
Definition: ww8struc.hxx:101
sal_Int16 reserved1
Definition: ww8struc.hxx:1039
sal_uInt32 BGRToRGB(sal_uInt32 nColour)
sal_Int16 dxaGoal
Definition: ww8struc.hxx:458
sal_uInt8 _reserved2
Definition: ww8struc.hxx:210
sal_Int16 lnnMin
Definition: ww8struc.hxx:1043
SVBT16 ya
Definition: ww8struc.hxx:711
sal_Int8 grpfIhdt
Definition: ww8struc.hxx:1014
bool fShadow() const
Definition: ww8struc.hxx:255
bool fFrame() const
Definition: ww8struc.hxx:291
SVBT16 dhgt
Definition: ww8struc.hxx:697
SVBT16 dyaCropTop
Definition: ww8struc.hxx:500
sal_uInt8 icoBi
Definition: ww8struc.hxx:97
WW8_DP_SHADOW aShd
Definition: ww8struc.hxx:801
sal_uInt16 pgbApplyTo
Definition: ww8struc.hxx:1046
sal_uInt8 ico
Definition: ww8struc.hxx:94
SVBT16 iStartAt
Definition: ww8struc.hxx:644
sal_uInt16 fsIcoBi
Definition: ww8struc.hxx:84
sal_Int16 mm
Definition: ww8struc.hxx:450
WW8_BRCVer9 WW8_BRCVer9_5[5]
Definition: ww8struc.hxx:365
sal_uInt8 fPgnRestart
Definition: ww8struc.hxx:1011
sal_uInt16 sgc
Definition: ww8struc.hxx:179
short dyGridDisplay
Definition: ww8struc.hxx:432
sal_uInt16 fBiDi
Definition: ww8struc.hxx:75
WW8_DP_LINETYPE aLnt
Definition: ww8struc.hxx:778
SVBT16 cb
Definition: ww8struc.hxx:680
SVBT16 aUnused
Definition: ww8struc.hxx:573
sal_Int16 fDrawHatch
Definition: ww8struc.hxx:469
#define SAL_MAX_INT32
OUString m_aUri
Definition: ww8struc.hxx:1100
sal_uInt16 GetValue() const
Definition: ww8struc.hxx:595
sal_uInt8 ico() const
Definition: ww8struc.hxx:285
SVBT16 reserved4
Definition: ww8struc.hxx:991
WW8_ANLV eAnlv
Definition: ww8struc.hxx:652
WW8_FFN_BASE aFFNBase
Definition: ww8struc.hxx:231
sal_uInt8 fRestartHdn
Definition: ww8struc.hxx:655
sal_uInt16 maBits
Definition: ww8struc.hxx:581
sal_uInt8 rcWinMF[14]
Definition: ww8struc.hxx:493
sal_Int16 yExt
Definition: ww8struc.hxx:452
sal_uInt16 m_reserved2
Definition: ww8struc.hxx:396
sal_uInt16 fStrike
Definition: ww8struc.hxx:71
SVBT16 flpp
Definition: ww8struc.hxx:735
sal_uInt8 fUnlocked
Definition: ww8struc.hxx:1009
sal_Int16 xExt
Definition: ww8struc.hxx:451
SVBT32 ShapeId
Definition: ww8struc.hxx:969
SVBT32 reserved
Definition: ww8struc.hxx:968
sal_uInt8 dmOrientFirst
Definition: ww8struc.hxx:1077
SVBT32 aBits2
Definition: ww8struc.hxx:319
SVBT16 reserved1
Definition: ww8struc.hxx:978
SVBT16 dzaInternalMargin
Definition: ww8struc.hxx:773
sal_Int8 lnc
Definition: ww8struc.hxx:1013
sal_uInt16 ftc
Definition: ww8struc.hxx:89
void Write(WW8Export &rExport)
Definition: ww8scan.cxx:6781
sal_Int16 nUpMgn
Definition: ww8struc.hxx:892
sal_Int16 fFrameEmpty
Definition: ww8struc.hxx:467
sal_Int16 ibstPropRMark
Definition: ww8struc.hxx:1034
sal_uInt32 xaPage
Definition: ww8struc.hxx:1050
WW8_DP_LINETYPE aLnt
Definition: ww8struc.hxx:760
[MS-OSHARED] PropertyBagStore: smart tag types and string store.
Definition: ww8struc.hxx:1105
sal_uInt8 bVertMerge
Definition: ww8struc.hxx:537
sal_uInt8 fRestartHdr
Definition: ww8struc.hxx:663
sal_Int16 nSp27
Definition: ww8struc.hxx:889
sal_uInt16 fsIco
Definition: ww8struc.hxx:77
SVBT16 xaOffset
Definition: ww8struc.hxx:727
BRC_Sides
Definition: ww8struc.hxx:367
sal_Int16 reserved2
Definition: ww8struc.hxx:1045
SVBT32 diatrdParent
Definition: ww8struc.hxx:869
sal_Int16 nLoMgn
Definition: ww8struc.hxx:893
sal_uInt16 sti
Definition: ww8struc.hxx:172
sal_uInt16 fsFtc
Definition: ww8struc.hxx:78
const WW8_CP WW8_CP_MAX
Definition: ww8struc.hxx:156
void Write(WW8Export &rExport)
Definition: ww8scan.cxx:6753
sal_uInt8 dptLineWidth() const
Definition: ww8struc.hxx:281
sal_uInt8 brcType() const
Definition: ww8struc.hxx:253
sal_uInt8 dxpLineWidth() const
Definition: ww8struc.hxx:251
LanguageType GetConvertedLang() const
Definition: ww8scan.cxx:8302
WW8_DP_SHADOW aShd
Definition: ww8struc.hxx:762
sal_uInt8 aBits1
Definition: ww8struc.hxx:834
sal_uInt8 dmOrientPage
Definition: ww8struc.hxx:1040
sal_uInt8 aBits1
Definition: ww8struc.hxx:520
sal_uInt16 fHidden
Definition: ww8struc.hxx:187
sal_uInt16 fsLidBi
Definition: ww8struc.hxx:87
WW8_DP_SHADOW aShd
Definition: ww8struc.hxx:780
sal_uInt8 aBits2
Definition: ww8struc.hxx:630
sal_Int16 dyaGoal
Definition: ww8struc.hxx:459
sal_Int8 fAutoPgn
Definition: ww8struc.hxx:1007
sal_uInt16 lid
Definition: ww8struc.hxx:98
sal_uInt16 mx
Definition: ww8struc.hxx:460
sal_Int16 dxaOrigin
Definition: ww8struc.hxx:477
sal_Int16 dyaOrigin
Definition: ww8struc.hxx:478
sal_uInt16 m_iLevelOfKinsoku
Definition: ww8struc.hxx:390
WW8_ANLV rganlv[9]
Definition: ww8struc.hxx:662
sal_uInt16 fBoldBi
Definition: ww8struc.hxx:73
short fFollowMargins
Definition: ww8struc.hxx:439
sal_uInt8 cbTextBefore
Definition: ww8struc.hxx:620
sal_uInt8 nfcPgn
Definition: ww8struc.hxx:1008
sal_uInt8 fTrueType
Definition: ww8struc.hxx:207
SVBT32 dlpcFg
Definition: ww8struc.hxx:733
sal_uInt8 nfc
Definition: ww8struc.hxx:618
SVBT32 cDepth
Definition: ww8struc.hxx:868
[MS-OSHARED] PropertyBag: stores information about one smart tag.
Definition: ww8struc.hxx:1130
sal_uInt32 m_nKey
Index into MSOPropertyBagStore::m_aStringTable.
Definition: ww8struc.hxx:1124
sal_Int16 dyaPgn
Definition: ww8struc.hxx:1018
sal_uInt8 _reserved1
Definition: ww8struc.hxx:208
short dxGridDisplay
Definition: ww8struc.hxx:436
sal_uInt16 fCaps
Definition: ww8struc.hxx:67
SVBT32 cTxbx_iNextReuse
Definition: ww8struc.hxx:965
sal_Int16 WW8_PN
Definition: ww8struc.hxx:151
WW8_BRCVer6 rgbrcVer6[4]
Definition: ww8struc.hxx:561
void Write(SvStream &rStream)
Definition: ww8scan.cxx:6718
sal_uInt8 nVertAlign
Definition: ww8struc.hxx:539
WW8_DP_FILL aFill
Definition: ww8struc.hxx:789
sal_uInt16 fHasUpe
Definition: ww8struc.hxx:176
sal_Int32 WW8_CP
Definition: ww8struc.hxx:153
SVBT16 reserved3
Definition: ww8struc.hxx:980
sal_Int32 dxaLnn
Definition: ww8struc.hxx:1016
SVBT16 aBits2
Definition: ww8struc.hxx:267
STD - STyle Definition.
Definition: ww8struc.hxx:169
sal_uInt8 dptLineWidth() const
Definition: ww8struc.hxx:334
sal_uInt32 m_nId
Definition: ww8struc.hxx:1099
SVBT16 dxa
Definition: ww8struc.hxx:712
sal_uInt16 m_fKerningPunct
Definition: ww8struc.hxx:385
sal_uInt16 nwrk
Definition: ww8struc.hxx:929
sal_uInt8 aBits2
Definition: ww8struc.hxx:504
sal_uInt8 qpsSpace
Definition: ww8struc.hxx:91
sal_uInt16 istdBase
Definition: ww8struc.hxx:180
SVBT16 yaEnd
Definition: ww8struc.hxx:759
SVBT16 grfbmc
Definition: ww8struc.hxx:855
SVBT16 aEndBits
Definition: ww8struc.hxx:746
void Write(WW8Export &rExport)
Definition: ww8scan.cxx:6643
sal_uInt16 istdNext
Definition: ww8struc.hxx:182
sal_uInt8 bx
Definition: ww8struc.hxx:681
base for reading AND working on (will have different subclasses
Definition: ww8struc.hxx:201
WW8_DP_SHADOW aShd
Definition: ww8struc.hxx:790
WW8_BRC(sal_uInt8 _dptLineWidth, sal_uInt8 _brcType, sal_uInt8 _ico, sal_uInt8 _dptSpace, bool _fShadow, bool _fFrame)
Definition: ww8struc.hxx:296
sal_Int16 dyaCropTop
Definition: ww8struc.hxx:463
SVBT32 fc
Definition: ww8struc.hxx:673
std::vector< MSOPropertyBag > m_aPropBags
Definition: ww8struc.hxx:1150
short xaGrid
Definition: ww8struc.hxx:422
sal_uInt16 pgbPageDepth
Definition: ww8struc.hxx:1047
sal_uInt16 bRcaSimple
Definition: ww8struc.hxx:935
sal_Int32 rgdxaColumnWidthSpacing[MAX_NO_OF_SEP_COLUMNS *2+1]
Definition: ww8struc.hxx:1074
sal_Int16 pgbOffsetFrom
Definition: ww8struc.hxx:1048
sal_uInt16 fObj
Definition: ww8struc.hxx:72
[MS-OSHARED] FactoidType: one smart tag type.
Definition: ww8struc.hxx:1092
SVBT16 dyaCropBottom
Definition: ww8struc.hxx:502
sal_uInt8 aBits1Ver6
Definition: ww8struc.hxx:556
sal_uInt8 dxpSpace() const
Definition: ww8struc.hxx:259
sal_uInt32 dxaLeft
Definition: ww8struc.hxx:1054
SVBT16 yaStart
Definition: ww8struc.hxx:757
sal_uInt8 prg
Definition: ww8struc.hxx:206
sal_uInt16 fMassCopy
Definition: ww8struc.hxx:177
sal_uInt8 aBits1
Definition: ww8struc.hxx:622
SVBT16 reserved1
Definition: ww8struc.hxx:987
sal_uInt8 bMerged
Definition: ww8struc.hxx:533
sal_Int32 dxaColumns
Definition: ww8struc.hxx:1068
unsigned char sal_uInt8
sal_Int16 ccolM1
Definition: ww8struc.hxx:1061
SVBT16 dyaGoal
Definition: ww8struc.hxx:496
SVBT16 shdwpi
Definition: ww8struc.hxx:726
sal_Int16 dxaCropRight
Definition: ww8struc.hxx:464
sal_Int16 m_cchLeadingPunct
Definition: ww8struc.hxx:412
sal_uInt16 bchUpe
Definition: ww8struc.hxx:183
WW8_BRC rgbrcVer8[4]
Definition: ww8struc.hxx:574
SVBT16 nStringId
Definition: ww8struc.hxx:977
sal_uInt16 fOutline
Definition: ww8struc.hxx:64
sal_Int8 vjc
Definition: ww8struc.hxx:1020
sal_uInt16 nLnnMod
Definition: ww8struc.hxx:1015
SVBT16 dxaCropRight
Definition: ww8struc.hxx:501
sal_Int16 m_cchFollowingPunct
Definition: ww8struc.hxx:411
void SetWWValue(SVBT16 const nVal)
Definition: ww8struc.hxx:597
[MS-OSHARED] Property: stores information about one smart-tag key/value.
Definition: ww8struc.hxx:1116
sal_uInt8 fSpareX
Definition: ww8struc.hxx:656
WW8_DP_FILL aFill
Definition: ww8struc.hxx:768
SVBT16 prm
Definition: ww8struc.hxx:843
SVBT16 aBits1
Definition: ww8struc.hxx:781
sal_uInt16 m_iJustification
Definition: ww8struc.hxx:386
sal_uInt8 aBits3
Definition: ww8struc.hxx:639
WW8_BRCVer9(sal_uInt32 _cv, sal_uInt8 _dptLineWidth, sal_uInt8 _brcType, sal_uInt8 _dptSpace, bool _fShadow, bool _fFrame)
Definition: ww8struc.hxx:347
sal_Int16 nLeMgn
Definition: ww8struc.hxx:890
WW8_DP_TXTBOX dptxbx
Definition: ww8struc.hxx:827
sal_uInt8 bFirstMerged
Definition: ww8struc.hxx:532
sal_uInt16 fsFtcBi
Definition: ww8struc.hxx:85
sal_Int16 nSp26
Definition: ww8struc.hxx:888
void SetFore(sal_uInt8 nVal)
Definition: ww8struc.hxx:599
SVBT16 xaStart
Definition: ww8struc.hxx:756
SVBT16 grfbmc
Definition: ww8struc.hxx:879
sal_Int32 nTxbx
Definition: ww8struc.hxx:944
short dxaGrid
Definition: ww8struc.hxx:424
sal_Int16 hMF
Definition: ww8struc.hxx:453
SVBT16 xaEnd
Definition: ww8struc.hxx:758
sal_Int16 fPropRMark
Definition: ww8struc.hxx:1033
SVBT32 fc
Definition: ww8struc.hxx:840
WW8_DP_FILL aFill
Definition: ww8struc.hxx:779
SVBT16 dya
Definition: ww8struc.hxx:713
sal_Int16 fError
Definition: ww8struc.hxx:470
std::vector< OUString > m_aStringTable
Definition: ww8struc.hxx:1112
short dyaGrid
Definition: ww8struc.hxx:425
sal_uInt16 bHdr
Definition: ww8struc.hxx:907
sal_uInt8 bVertRestart
Definition: ww8struc.hxx:538
sal_uInt8 ibszAlt
Definition: ww8struc.hxx:214
WW8_DP_FILL aFill
Definition: ww8struc.hxx:800
SVBT16 aBits1
Definition: ww8struc.hxx:698
short wWeight
Definition: ww8struc.hxx:212
void Set_UInt8(sal_uInt8 *&p, sal_uInt8 n)
Definition: ww8struc.hxx:41
void ReadFromMem(sal_uInt8 *&pData)
Definition: ww8scan.cxx:8251
sal_uInt8 aBits2Ver6
Definition: ww8struc.hxx:557
bool fShadow() const
Definition: ww8struc.hxx:289
sal_uInt8 bVertical
Definition: ww8struc.hxx:534
sal_uInt16 nwr
Definition: ww8struc.hxx:920
SVBT16 hps
Definition: ww8struc.hxx:643
sal_uInt8 brcType() const
Definition: ww8struc.hxx:283
sal_Unicode m_rgxchLPunct[nMaxLeading]
Definition: ww8struc.hxx:417
SVBT16 ak
Definition: ww8struc.hxx:854
sal_uInt16 ftcBi
Definition: ww8struc.hxx:99
sal_uInt8 bRotateFont
Definition: ww8struc.hxx:536
sal_Int32 dxtCharSpace
Definition: ww8struc.hxx:1036
SVBT16 yaOffset
Definition: ww8struc.hxx:728
SVBT16 aStartBits
Definition: ww8struc.hxx:740
short yaGrid
Definition: ww8struc.hxx:423
WW8_DPHEAD dpheadTxbx
Definition: ww8struc.hxx:826
sal_Int32 nYaBottom
Definition: ww8struc.hxx:906
sal_Int16 brcl
Definition: ww8struc.hxx:466
sal_uInt8 iHeadingPgn
Definition: ww8struc.hxx:1041
sal_Int32 WW8_FC
Definition: ww8struc.hxx:152
sal_uInt16 dmBinFirst
Definition: ww8struc.hxx:1021
sal_uInt16 fAutoRedef
Definition: ww8struc.hxx:186
bool isNil() const
Definition: ww8struc.hxx:344
const WW8_FC WW8_FC_MAX
Definition: ww8struc.hxx:155
sal_uInt8 fRTLGutter
Definition: ww8struc.hxx:1066
sal_uInt8 fSpareOlst2
Definition: ww8struc.hxx:664
sal_uInt16 cbHeader
Definition: ww8struc.hxx:448
static const sal_uInt8 MAX_NO_OF_SEP_COLUMNS
Definition: ww8struc.hxx:1000
sal_uInt8 GetFore() const
Definition: ww8struc.hxx:590
static const sal_Unicode * GetJapanNotEndLevel1()
Definition: wrtww8.cxx:574
sal_uInt8 dptSpace() const
Definition: ww8struc.hxx:287
SVBT16 fReusable
Definition: ww8struc.hxx:967
sal_uInt16 fRMark
Definition: ww8struc.hxx:69
sal_Int32 nYaTop
Definition: ww8struc.hxx:904
void SetStyle(sal_uInt8 nVal)
Definition: ww8struc.hxx:609
SVBT32 ITagBkmk
Definition: ww8struc.hxx:856
SVBT16 aBits1Ver8
Definition: ww8struc.hxx:572
WW8_DP_LINETYPE aLnt
Definition: ww8struc.hxx:767
SVBT16 dxaCropLeft
Definition: ww8struc.hxx:499
sal_uInt8 fLayout
Definition: ww8struc.hxx:1078
sal_uInt16 fsHpsBi
Definition: ww8struc.hxx:86
OUString sFontname
Definition: ww8struc.hxx:224
void Read(SvStream &rStream, WW8_FC fcFactoidData, sal_uInt32 lcbFactoidData)
Definition: ww8scan.cxx:6763
WW8_DP_SHADOW aShd
Definition: ww8struc.hxx:809
sal_uInt16 fRMarkDel
Definition: ww8struc.hxx:63
sal_uInt16 fsKul
Definition: ww8struc.hxx:80
sal_Int32 dyaLinePitch
Definition: ww8struc.hxx:1037
WW8_BRC WW8_BRC5[5]
Definition: ww8struc.hxx:313
sal_Int16 nRiMgn
Definition: ww8struc.hxx:891
sal_uInt8 fNumber1
Definition: ww8struc.hxx:653
sal_uInt16 my
Definition: ww8struc.hxx:461
bool fShadow() const
Definition: ww8struc.hxx:340
sal_uInt8 fLeft
Definition: ww8struc.hxx:791