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