LibreOffice Module sw (master)  1
ww8par.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_WW8PAR_HXX
21 #define INCLUDED_SW_SOURCE_FILTER_WW8_WW8PAR_HXX
22 
23 #include <rtl/ustring.hxx>
25 #include <filter/msfilter/util.hxx>
26 #include <editeng/frmdir.hxx>
27 #include <fltshell.hxx>
28 
29 #include <svx/svdobj.hxx>
30 
31 #include <vector>
32 #include <stack>
33 #include <string_view>
34 #include <deque>
35 #include <map>
36 #include <utility>
37 #include <memory>
38 
39 #include "ww8struc.hxx"
40 #include "ww8scan.hxx"
41 #include "ww8glsy.hxx"
42 #include "ww8graf.hxx"
43 #include "wrtww8.hxx"
44 #include <msfilter.hxx>
45 #include <xmloff/odffields.hxx>
46 #include <IMark.hxx>
47 
48 #include <com/sun/star/drawing/TextVerticalAdjust.hpp>
49 #include <swtypes.hxx>
50 #include <fmtfsize.hxx>
51 #include <fmtornt.hxx>
52 #include <fmtsrnd.hxx>
53 #include <ndtxt.hxx>
54 #include <editeng/lrspitem.hxx>
55 #include <o3tl/deleter.hxx>
56 #include <o3tl/sorted_vector.hxx>
57 #include <oox/ole/olehelper.hxx>
58 
59 #define SW_UD_IMAPDATA 2
60 
61 class SwDoc;
62 class SwPaM;
63 class SfxPoolItem;
64 class SwTextFormatColl;
65 class SwPageDesc;
66 class SvxBoxItem;
67 class SwFormat;
68 class SwNodeIndex;
69 class SwFlyFrameFormat;
70 class SwAttrSet;
71 class SwNumRule;
72 class SwFrameFormat;
73 class Writer;
74 class SwFormatField;
75 class WW8Fib;
76 class WW8PLCFMan;
77 struct WW8PLCFManResult;
78 class WW8RStyle;
79 class WW8PLCF_HdFt;
80 class WW8ScannerBase;
81 struct WW8FlyPara;
82 struct WW8SwFlyPara;
83 struct WW8_PIC;
84 class WW8TabDesc;
85 struct WW8_SHD;
86 struct WW8_OLST;
87 class SwNumFormat;
88 struct WW8_ANLD;
89 struct WW8_ANLV;
90 struct WW8_DO;
91 struct WW8_DPHEAD;
92 struct WW8_FSPA;
93 class SdrModel;
94 class SdrPage;
95 class SdrObject;
96 class SdrTextObj;
97 class SdrUnoObj;
98 class Size;
99 class EditEngine;
100 struct SwPosition;
101 class WW8ReaderSave;
102 struct WW8PicDesc;
103 class Graphic;
104 class SwFieldType;
105 class SotStorage;
106 class SwAttrSet;
107 class GDIMetaFile;
108 struct ESelection;
109 class SfxItemSet;
110 class OutlinerParaObject;
111 
112 namespace com::sun::star{
113  namespace beans{ class XPropertySet;}
114  namespace form { class XFormComponent;}
115  namespace drawing{class XShape;}
116  namespace lang{class XMultiServiceFactory;}
117 }
118 
119 // defines only for the WW8-variable of the INI file
120 #define WW8FL_NO_STYLES 2
121 #define WW8FL_NO_GRAF 0x80
122 
123 #define WW8FL_NO_OUTLINE 0x1000
124 #define WW8FL_NO_IMPLPASP 0x4000 // no implicit para space
125 #define WW8FL_NO_GRAFLAYER 0x8000
126 
127 // Add-on-filter-flags, valid from Winword 8 on
128 #define WW8FL_NO_FLY_FOR_TXBX 1
129 
130 // List-Manager (from Ver8 on)
131 
132 struct WW8LFOInfo;
133 
134 class WW8Reader : public StgReader
135 {
136  std::shared_ptr<SvStream> mDecodedStream;
137  virtual ErrCode Read(SwDoc &, const OUString& rBaseURL, SwPaM &, const OUString &) override;
138  ErrCode OpenMainStream( tools::SvRef<SotStorageStream>& rRef, sal_uInt16& rBuffSize );
140 public:
142  virtual SwReaderType GetReaderType() override;
143 
144  virtual bool HasGlossaries() const override;
145  virtual bool ReadGlossaries( SwTextBlocks&, bool bSaveRelFiles ) const override;
146 };
147 
148 class SwWW8ImplReader;
149 struct WW8LSTInfo;
151 {
152 public:
153  WW8ListManager(SvStream& rSt_, SwWW8ImplReader& rReader_);
154  //Min and Max possible List Levels in Word
156  //the rParaSprms returns back the original word paragraph indent
157  //sprms which were attached to the original numbering format
158  SwNumRule* GetNumRuleForActivation(sal_uInt16 nLFOPosition, const sal_uInt8 nLevel,
159  std::vector<sal_uInt8> &rParaSprms, SwTextNode *pNode=nullptr);
160  SwNumRule* CreateNextRule(bool bSimple);
161  ~WW8ListManager() COVERITY_NOEXCEPT_FALSE;
162  SwNumRule* GetNumRule(size_t i);
163  size_t GetWW8LSTInfoNum() const{return maLSTInfos.size();}
164  static SvxNumType GetSvxNumTypeFromMSONFC(sal_uInt16 nMSONFC);
165 
166 private:
170  const WW8Fib& rFib;
172  std::vector<std::unique_ptr<WW8LSTInfo>> maLSTInfos;
173  std::vector<std::unique_ptr<WW8LFOInfo>> m_LFOInfos;// D. from PLF LFO, sorted exactly like in the WW8 Stream
174  sal_uInt16 nUniqueList; // current number for creating unique list names
175  SprmResult GrpprlHasSprm(sal_uInt16 nId, sal_uInt8& rSprms, sal_uInt8 nLen);
176  WW8LSTInfo* GetLSTByListId( sal_uInt32 nIdLst ) const;
177  //the rParaSprms returns back the original word paragraph indent
178  //sprms which are attached to this numbering level
179  bool ReadLVL(SwNumFormat& rNumFormat, std::unique_ptr<SfxItemSet>& rpItemSet, sal_uInt16 nLevelStyle,
180  bool bSetStartNo, sal_uInt16 nLevel, ww::bytes &rParaSprms);
181 
182  // character attributes from GrpprlChpx
183  typedef std::unique_ptr<SfxItemSet> WW8aISet[nMaxLevel];
184  // character style pointer
186 
187  void AdjustLVL(sal_uInt8 nLevel, SwNumRule& rNumRule, WW8aISet const & rListItemSet,
188  WW8aCFormat& aCharFormat, bool& bNewCharFormatCreated,
189  const OUString& aPrefix = OUString());
190 
191  WW8ListManager(const WW8ListManager&) = delete;
192  WW8ListManager& operator=(const WW8ListManager&) = delete;
193  sal_uInt16 nLastLFOPosition;
194 };
195 
197 { // WinWord-attributes
198  // Attention: *DO NOT* reorder, since parts will be
199  // compared using memcmp
200  bool bVer67;
201  sal_Int16 nSp26, nSp27; // raw position
202  sal_Int16 nSp45, nSp28; // width / height
203  sal_Int16 nLeMgn, nRiMgn, nUpMgn, nLoMgn; // borders
204  sal_uInt8 nSp29; // raw binding + alignment
205  sal_uInt8 nSp37; // Wrap-Mode ( 1 / 2; 0 = no Apo ? )
206  WW8_BRCVer9_5 brc; // borders Top, Left, Bottom, Right, Between
207  bool bBorderLines; // border lines
208  bool bGrafApo; // true: this frame is only used to position
209  // the contained graphics *not* as a character
210  bool mbVertSet; // true if vertical positioning has been set
211 
212  WW8FlyPara(bool bIsVer67, const WW8FlyPara* pSrc = nullptr);
213  bool operator==(const WW8FlyPara& rSrc) const;
214  void Read(sal_uInt8 nSprm29, WW8PLCFx_Cp_FKP* pPap);
215  void ReadFull(sal_uInt8 nSprm29, SwWW8ImplReader* pIo);
216  void Read(sal_uInt8 nSprm29, WW8RStyle const * pStyle);
217  void ApplyTabPos(const WW8_TablePos *pTabPos);
218  bool IsEmpty() const;
219 };
220 
222 {
223  OUString m_sWWStyleName;
224  sal_uInt16 m_nWWStyleId;
225 public:
226  rtl_TextEncoding m_eLTRFontSrcCharSet; // rtl_TextEncoding for the font
227  rtl_TextEncoding m_eRTLFontSrcCharSet; // rtl_TextEncoding for the font
228  rtl_TextEncoding m_eCJKFontSrcCharSet; // rtl_TextEncoding for the font
230  std::shared_ptr<WW8FlyPara> m_xWWFly;
233  sal_uInt16 m_nBase;
234  sal_uInt16 m_nFollow;
235  sal_uInt16 m_nLFOIndex;
237 
238  // WW8 outline level is zero-based:
239  // 0: outline level 1
240  // 1: outline level 2
241  // ...
242  // 8: outline level 9
243  // 9: body text
245 
246  sal_uInt16 m_n81Flags; // for bold, italic, ...
247  sal_uInt16 m_n81BiDiFlags; // for bold, italic, ...
248  std::shared_ptr<SvxLRSpaceItem> maWordLR;
249  bool m_bValid; // empty of valid
250  bool m_bImported; // for recursive imports
251  bool m_bColl; // true-> pFormat is SwTextFormatColl
252  bool m_bImportSkipped; // only true if !bNewDoc && existing style
253  bool m_bHasStyNumRule; // true-> named NumRule in style
254  bool m_bHasBrokenWW6List; // true-> WW8+ style has a WW7- list
255  bool m_bListRelevantIndentSet; //true if this style's indent has
256  //been explicitly set, it's set to the value
257  //of pFormat->GetItemState(RES_LR_SPACE, false)
258  //if it was possible to get the ItemState
259  //for L of the LR space independently
260  bool m_bParaAutoBefore; // For Auto spacing before a paragraph
261  bool m_bParaAutoAfter; // For Auto Spacing after a paragraph
263 
265  m_sWWStyleName( OUString() ),
266  m_nWWStyleId( 0 ),
267  m_eLTRFontSrcCharSet(0),
268  m_eRTLFontSrcCharSet(0),
269  m_eCJKFontSrcCharSet(0),
270  m_pFormat( nullptr ),
271  m_pOutlineNumrule( nullptr ),
272  m_nFilePos( 0 ),
273  m_nBase( 0 ),
274  m_nFollow( 0 ),
275  m_nLFOIndex( USHRT_MAX ),
276  m_nListLevel(MAXLEVEL),
277  mnWW8OutlineLevel( MAXLEVEL ),
278  m_n81Flags( 0 ),
279  m_n81BiDiFlags(0),
281  m_bValid(false),
282  m_bImported(false),
283  m_bColl(false),
284  m_bImportSkipped(false),
285  m_bHasStyNumRule(false),
286  m_bHasBrokenWW6List(false),
287  m_bListRelevantIndentSet(false),
288  m_bParaAutoBefore(false),
289  m_bParaAutoAfter(false),
290  m_nRelativeJustify(-1)
291 
292  {}
293 
294  void SetOrgWWIdent( const OUString& rName, const sal_uInt16 nId )
295  {
296  m_sWWStyleName = rName;
297  m_nWWStyleId = nId;
298 
299  // apply default WW8 outline level to WW8 Built-in Heading styles
301  {
302  mnWW8OutlineLevel = m_nWWStyleId - 1;
303  }
304  }
305 
306  const OUString& GetOrgWWName() const
307  {
308  return m_sWWStyleName;
309  }
310 
311  bool HasWW8OutlineLevel() const
312  {
313  return (m_pFormat != nullptr && (MAXLEVEL > mnWW8OutlineLevel));
314  }
315 
316  bool IsOutlineNumbered() const
317  {
318  return m_pOutlineNumrule && HasWW8OutlineLevel();
319  }
320 
322  {
323  return m_pOutlineNumrule;
324  }
325  rtl_TextEncoding GetCharSet() const;
326  rtl_TextEncoding GetCJKCharSet() const;
327 
328  sal_uInt16 GetWWStyleId() const
329  {
330  return m_nWWStyleId;
331  }
332 
334  {
335  return GetWWStyleId() >= 1 && GetWWStyleId() <= 9;
336  }
337 
339  {
340  return GetWWStyleId() == 0;
341  }
342 
343  static sal_uInt8
344  WW8OutlineLevelToOutlinelevel(const sal_uInt8 nWW8OutlineLevel)
345  {
346  if (nWW8OutlineLevel < MAXLEVEL)
347  {
348  if (nWW8OutlineLevel == 9)
349  {
350  return 0; // no outline level --> body text
351  }
352  else
353  {
354  return nWW8OutlineLevel + 1; // outline level 1..9
355  }
356  }
357 
358  return 0;
359  }
360 };
361 
362 // Stack
363 
365 {
366 private:
368  std::unique_ptr<SfxItemSet> m_xScratchSet;
369  sal_uInt16 nToggleAttrFlags;
373  const SwNumFormat* GetNumFormatFromStack(const SwPosition &rPos,
374  const SwTextNode &rTextNode);
375 protected:
376  virtual void SetAttrInDoc(const SwPosition& rTmpPos,
377  SwFltStackEntry& rEntry) override;
378 
379 public:
381  : SwFltControlStack( rDo, nFieldFl ), rReader( rReader_ ),
382  nToggleAttrFlags(0), nToggleBiDiAttrFlags(0)
383  {}
384 
385  void NewAttr(const SwPosition& rPos, const SfxPoolItem& rAttr);
386 
387  virtual SwFltStackEntry* SetAttr(const SwPosition& rPos, sal_uInt16 nAttrId, bool bTstEnd=true, tools::Long nHand=LONG_MAX, bool consumedByField=false) override;
388 
389  void SetToggleAttr(sal_uInt8 nId, bool bOn)
390  {
391  if( bOn )
392  nToggleAttrFlags |= (1 << nId);
393  else
394  nToggleAttrFlags &= ~(1 << nId);
395  }
396 
397  sal_uInt16 GetToggleAttrFlags() const { return nToggleAttrFlags; }
398 
399  void SetToggleBiDiAttr(sal_uInt8 nId, bool bOn)
400  {
401  if( bOn )
402  nToggleBiDiAttrFlags |= (1 << nId);
403  else
404  nToggleBiDiAttrFlags &= ~(1 << nId);
405  }
406 
407  sal_uInt16 GetToggleBiDiAttrFlags() const { return nToggleBiDiAttrFlags; }
408  void SetToggleAttrFlags(sal_uInt16 nFlags) { nToggleAttrFlags = nFlags; }
409  void SetToggleBiDiAttrFlags(sal_uInt16 nFlags) {nToggleBiDiAttrFlags = nFlags;}
410 
411  const SfxPoolItem* GetFormatAttr(const SwPosition& rPos, sal_uInt16 nWhich);
412  template<class T> const T* GetFormatAttr( const SwPosition& rPos, TypedWhichId<T> nWhich )
413  {
414  return static_cast<const T*>(GetFormatAttr(rPos, sal_uInt16(nWhich)));
415  }
416  const SfxPoolItem* GetStackAttr(const SwPosition& rPos, sal_uInt16 nWhich);
417 };
418 
419 //The only thing this is for is RES_FLTR_ANCHOR, anything else is an error.
420 //For graphics whose anchoring position would otherwise be automatically moved
421 //along by the insertion of text.
423 {
424 public:
426  : SwFltControlStack( rDo, nFieldFl ) {}
427  void AddAnchor(const SwPosition& rPos,SwFrameFormat *pFormat);
428  void Flush();
429 private:
430  SwWW8FltAnchorStack(const SwWW8FltAnchorStack&) = delete;
432 };
433 
434 
435 namespace SwWW8
436 {
437  struct ltstr
438  {
439  bool operator()(const OUString &r1, std::u16string_view r2) const
440  {
441  return r1.compareToIgnoreAsciiCase(r2)<0;
442  }
443  };
444 
445  struct ltnode
446  {
447  bool operator()(const SwTextNode *r1, const SwTextNode *r2) const
448  {
449  return r1->GetIndex() < r2->GetIndex();
450  }
451  };
452 };
453 
455 {
456 public:
458  : SwFltEndStack( rDo, nFieldFl )
460  {}
461 
462  // Keep track of referenced TOC bookmarks in order to suppress the import
463  // of unreferenced ones.
464  std::set<OUString, SwWW8::ltstr> aReferencedTOCBookmarks;
465 protected:
466  virtual void SetAttrInDoc( const SwPosition& rTmpPos,
467  SwFltStackEntry& rEntry ) override;
468 };
469 
470 class SwWW8FltRefStack final : public SwFltEndStack
471 {
472 public:
474  : SwFltEndStack( rDo, nFieldFl )
475  , aFieldVarNames()
476  {}
477  bool IsFootnoteEdnBkmField(const SwFormatField& rFormatField, sal_uInt16& rBkmNo);
478 
479  //Keep track of variable names created with fields, and the bookmark
480  //mapped to their position, hopefully the same, but very possibly
481  //an additional pseudo bookmark
482  std::map<OUString, OUString, SwWW8::ltstr> aFieldVarNames;
483 private:
484  SwFltStackEntry *RefToVar(const SwField* pField,SwFltStackEntry& rEntry);
485  virtual void SetAttrInDoc(const SwPosition& rTmpPos,
486  SwFltStackEntry& rEntry) override;
487  SwWW8FltRefStack(const SwWW8FltRefStack&) = delete;
488  SwWW8FltRefStack& operator=(const SwWW8FltRefStack&) = delete;
489 };
490 
491 template< typename Type >
492 inline bool get_flag( Type nBitField, Type nMask )
493 { return (nBitField & nMask) != 0; }
494 
495 template< typename ReturnType, typename Type >
496 inline ReturnType ulimit_cast( Type nValue, ReturnType nMax )
497 { return static_cast< ReturnType >( std::min< Type >( nValue, nMax ) ); }
498 
499 template< typename ReturnType, typename Type >
500 inline ReturnType ulimit_cast( Type nValue )
501 { return ulimit_cast( nValue, std::numeric_limits< ReturnType >::max() ); }
502 
504 {
505 public:
506  SwMacroInfo();
507  virtual ~SwMacroInfo() override;
508 
509  SwMacroInfo(SwMacroInfo const &) = default;
510  SwMacroInfo(SwMacroInfo &&) = default;
511  SwMacroInfo & operator =(SwMacroInfo const &) = delete; // due to SdrObjUserData
512  SwMacroInfo & operator =(SwMacroInfo &&) = delete; // due to SdrObjUserData
513 
514  virtual std::unique_ptr<SdrObjUserData> Clone( SdrObject* pObj ) const override;
515 
516  void SetHlink( const OUString& rHlink ) { maHlink = rHlink; }
517  const OUString& GetHlink() const { return maHlink; }
518  void SetTarFrame( const OUString& rTarFrame ) { maTarFrame = rTarFrame; }
519  const OUString& GetTarFrame() const { return maTarFrame; }
520  void SetShapeId( sal_Int32 rShapeId ) { mnShapeId = rShapeId; }
521  const sal_Int32& GetShapeId() const { return mnShapeId; }
522  void SetName( const OUString& rName ) { maNameStr = rName; }
523  const OUString& GetName() const { return maNameStr; }
524 
525 private:
526  sal_Int32 mnShapeId;
527  OUString maHlink;
528  OUString maNameStr;
529  OUString maTarFrame;
530 };
531 
533 {
534  OUString hLinkAddr;
535  OUString tarFrame;
536 };
537 
538 namespace sw
539 {
540  namespace hack
541  {
542  class Position
543  {
544  private:
546  sal_Int32 mnPtContent;
547  public:
548  explicit Position(const SwPosition &rPos);
549  operator SwPosition() const;
550  const SwNodeIndex& GetPtNode() const { return maPtNode; };
551  sal_Int32 GetPtContent() const { return mnPtContent; };
552  };
553  }
554 
555  auto FilterControlChars(OUString const& rString) -> OUString;
556 }
557 
559 {
560  private:
561  OUString msBookmarkName;
562  OUString msMarkType;
563  OUString msMarkCode;
565 
566  public:
568  sal_uInt16 mnFieldId;
570  WW8FieldEntry(SwPosition const &rPos, sal_uInt16 nFieldId) noexcept;
571  WW8FieldEntry(const WW8FieldEntry &rOther) noexcept;
572  WW8FieldEntry &operator=(const WW8FieldEntry &rOther) noexcept;
573  void Swap(WW8FieldEntry &rOther) noexcept;
574 
575  SwNodeIndex GetPtNode() const { return maStartPos.GetPtNode(); };
576  sal_Int32 GetPtContent() const { return maStartPos.GetPtContent(); };
577 
578  const OUString& GetBookmarkName() const { return msBookmarkName;}
579  const OUString& GetBookmarkCode() const { return msMarkCode;}
580  void SetBookmarkName(const OUString& bookmarkName);
581  void SetBookmarkType(const OUString& bookmarkType);
582  void SetBookmarkCode(const OUString& bookmarkCode);
584 };
585 
586 // mini marker for some flags
587 
589 {
590 private:
593  std::deque<bool> maOldApos;
594  std::deque<WW8FieldEntry> maOldFieldStack;
595  std::unique_ptr<SwWW8FltControlStack> mxOldStck;
596  std::unique_ptr<SwWW8FltAnchorStack> mxOldAnchorStck;
597  std::unique_ptr<sw::util::RedlineStack> mxOldRedlines;
598  std::shared_ptr<WW8PLCFMan> mxOldPlcxMan;
599  std::unique_ptr<WW8FlyPara> mpWFlyPara;
600  std::unique_ptr<WW8SwFlyPara> mpSFlyPara;
603  std::unique_ptr<WW8TabDesc> mxTableDesc;
605  sal_uInt16 mnCurrentColl;
608  bool mbSymbol;
611  bool mbAnl;
617 public:
618  WW8ReaderSave(SwWW8ImplReader* pRdr, WW8_CP nStart=-1);
619  void Restore(SwWW8ImplReader* pRdr);
620  const SwPosition &GetStartPos() const { return maTmpPos; }
621 };
622 
623 enum class eF_ResT { OK, TEXT, TAGIGN, READ_FSPA };
624 
626 {
627 public:
629  SwWW8Shade(bool bVer67, const WW8_SHD& rSHD);
630  SwWW8Shade(Color nFore, Color nBack, sal_uInt16 nIndex)
631  {
632  SetShade(nFore, nBack, nIndex);
633  }
634 private:
635  void SetShade(Color nFore, Color nBack, sal_uInt16 nIndex);
636 };
637 
638 // Formulas
639 
641 {
645 };
646 
648 {
649 protected:
651 
652  WW8FormulaControl(WW8FormulaControl const&) = delete;
654 
655 public:
656  WW8FormulaControl(const OUString& rN, SwWW8ImplReader &rRdr)
657  : mrRdr(rRdr), mfUnknown(0), mfDropdownIndex(0),
658  mfToolTip(0), mfNoMark(0), mfType(0),
659  mfUnused(0), mhpsCheckBox(20), mnChecked(0), mnMaxLen(0),
660  mbHelp(false), msName( rN )
661  {
662  }
669 
670  sal_uInt16 mhpsCheckBox;
671  sal_uInt16 mnChecked;
672 
674  sal_uInt16 mnMaxLen;
675  OUString msTitle;
676  OUString msDefault;
677  OUString msFormatting;
678  bool mbHelp;
679  OUString msHelp;
680  OUString msToolTip;
681  OUString msEntryMcr;
682  OUString msExitMcr;
683  std::vector<OUString> maListEntries;
684  virtual ~WW8FormulaControl() {}
685  void FormulaRead(SwWw8ControlType nWhich,SvStream *pD);
686  virtual bool Import(const css::uno::Reference< css::lang::XMultiServiceFactory> &rServiceFactory,
687  css::uno::Reference< css::form::XFormComponent> &rFComp,
688  css::awt::Size &rSz) = 0;
689  OUString msName;
690 };
691 
693 {
694 private:
695  WW8FormulaCheckBox(const WW8FormulaCheckBox&) = delete;
697 
698 public:
699  explicit WW8FormulaCheckBox(SwWW8ImplReader &rR);
700 
701  virtual bool Import(const css::uno::Reference< css::lang::XMultiServiceFactory> &rServiceFactory,
702  css::uno::Reference< css::form::XFormComponent> &rFComp,
703  css::awt::Size &rSz) override;
704 };
705 
707 {
708 private:
709  WW8FormulaListBox(const WW8FormulaListBox&) = delete;
711 
712 public:
713  explicit WW8FormulaListBox(SwWW8ImplReader &rR);
714 
715  virtual bool Import(const css::uno::Reference< css::lang::XMultiServiceFactory> &rServiceFactory,
716  css::uno::Reference< css::form::XFormComponent> &rFComp,
717  css::awt::Size &rSz) override;
718 };
719 
721 {
722 private:
723  WW8FormulaEditBox(const WW8FormulaEditBox&) = delete;
725 public:
726  explicit WW8FormulaEditBox(SwWW8ImplReader &rR);
727  //no real implementation, return false
728  virtual bool Import(const css::uno::Reference< css::lang::XMultiServiceFactory> & /* rServiceFactory */,
729  css::uno::Reference< css::form::XFormComponent> & /* rFComp */,
730  css::awt::Size & /* rSz */) override { return false; }
731 };
732 
734 {
735 public:
736  SwMSConvertControls( SfxObjectShell const *pDSh, SwPaM *pP );
737  void InsertFormula( WW8FormulaControl &rFormula);
738  virtual bool InsertControl(const css::uno::Reference< css::form::XFormComponent >& rFComp,
739  const css::awt::Size& rSize,
740  css::uno::Reference< css::drawing::XShape > *pShape, bool bFloatingCtrl) override;
741  void ExportControl(WW8Export &rWrt, const SdrUnoObj& rFormObj);
742  bool ReadOCXStream( tools::SvRef<SotStorage> const & rSrc1,
743  css::uno::Reference< css::drawing::XShape > *pShapeRef,
744  bool bFloatingCtrl=false );
745 private:
747  sal_uInt32 mnObjectId;
748 };
749 
751 {
752 private:
755  std::unordered_map<sal_uInt32, Graphic> aOldEscherBlipCache;
756 
757  virtual bool GetOLEStorageName( sal_uInt32 nOLEId, OUString& rStorageName,
758  tools::SvRef<SotStorage>& rSrcStorage, css::uno::Reference < css::embed::XStorage >& rDestStorage ) const override;
759  virtual bool ShapeHasText( sal_uLong nShapeId, sal_uLong nFilePos ) const override;
760  // #i32596# - new parameter <_nCalledByGroup>, which
761  // indicates, if the OLE object is imported inside a group object
762  virtual SdrObject* ImportOLE( sal_uInt32 nOLEId,
763  const Graphic& rGrf,
764  const tools::Rectangle& rBoundRect,
765  const tools::Rectangle& rVisArea,
766  const int _nCalledByGroup ) const override;
767 
768  SwMSDffManager(const SwMSDffManager&) = delete;
769  SwMSDffManager& operator=(const SwMSDffManager&) = delete;
770 public:
771  static sal_uInt32 GetFilterFlags();
772  static sal_Int32 GetEscherLineMatch(MSO_LineStyle eStyle, MSO_SPT eShapeType,
773  sal_Int32 &rThick);
774  SwMSDffManager( SwWW8ImplReader& rRdr, bool bSkipImages );
775  void DisableFallbackStream();
776  void EnableFallbackStream();
777 protected:
778  virtual SdrObject* ProcessObj( SvStream& rSt, DffObjData& rObjData, SvxMSDffClientData& rData, tools::Rectangle& rTextRect, SdrObject* pObj ) override;
779 };
780 
782 {
783 public:
784  explicit wwSection(const SwPosition &rPos);
791 
792  sal_uInt32 nPgWidth;
793  sal_uInt32 nPgLeft;
794  sal_uInt32 nPgRight;
795  sal_uInt32 nPgGutter;
796  bool m_bRtlGutter = false;
797 
798  css::drawing::TextVerticalAdjust mnVerticalAdjustment;
801  void SetDirection();
802  bool IsContinuous() const { return maSep.bkc == 0; }
803  bool IsNotProtected() const { return maSep.fUnlocked != 0; }
804  bool IsVertical() const;
805  sal_Int16 NoCols() const { return maSep.ccolM1 + 1; }
806  sal_Int32 StandardColSeparation() const { return maSep.dxaColumns; }
807  bool HasTitlePage() const { return maSep.fTitlePage != 0; }
808  sal_uInt16 PageStartAt() const { return maSep.pgnStart; }
809  bool PageRestartNo() const { return maSep.fPgnRestart != 0; }
810  bool IsBiDi() const { return maSep.fBiDi != 0; }
811  sal_uInt32 GetPageWidth() const { return nPgWidth; }
812  sal_uInt32 GetTextAreaWidth() const
813  { return GetPageWidth() - GetPageLeft() - nPgGutter - GetPageRight(); }
814  sal_uInt32 GetPageHeight() const { return maSep.yaPage; }
815  sal_uInt32 GetPageLeft() const { return nPgLeft; }
816  sal_uInt32 GetPageRight() const { return nPgRight; }
817  bool IsLandScape() const { return maSep.dmOrientPage != 0; }
818  bool IsFixedHeightHeader() const { return maSep.dyaTop < 0; }
819  bool IsFixedHeightFooter() const { return maSep.dyaBottom < 0; }
820 };
821 
823 {
824 private:
825  /*
826  A queue of the ms sections in the document
827  */
829  std::deque<wwSection> maSegments;
830  typedef std::deque<wwSection>::iterator mySegIter;
831 
832  //Num of page desc's entered into the document
833  sal_uInt16 mnDesc;
834 
836  {
838  sal_uInt32 nSwHLo, nSwFUp, nSwUp, nSwLo;
840  : bHasHeader(false)
841  , bHasFooter(false)
842  , nSwHLo(0)
843  , nSwFUp(0)
844  , nSwUp(0)
845  , nSwLo(0)
846  {}
847  };
848 
849  void SetSegmentToPageDesc(const wwSection &rSection, bool bIgnoreCols);
850 
851  void GetPageULData(const wwSection &rNewSection,
852  wwULSpaceData& rData) const;
853  static void SetPageULSpaceItems(SwFrameFormat &rFormat, wwULSpaceData const & rData,
854  const wwSection &rSection);
855 
856  static void SetPage(SwPageDesc &rPageDesc, SwFrameFormat &rFormat,
857  const wwSection &rSection, bool bIgnoreCols);
858 
859  static void SetNumberingType(const wwSection &rNewSection, SwPageDesc &rPageDesc);
860 
861  void SetUseOn(wwSection &rSection);
862  void SetHdFt(wwSection const &rSection, int nSect, const wwSection *pPrevious);
863 
864  SwSectionFormat *InsertSection(SwPaM const & rMyPaM, wwSection &rSection);
865  static bool SetCols(SwFrameFormat &rFormat, const wwSection &rSection,
866  sal_uInt32 nNetWidth);
867  bool SectionIsProtected(const wwSection &rSection) const;
868  static void SetLeftRight(wwSection &rSection);
869  /*
870  The segment we're inserting, the start of the segments container, and the
871  nodeindex of where we want the page break to (normally the segments start
872  position
873  */
874  SwFormatPageDesc SetSwFormatPageDesc(mySegIter const &rIter, mySegIter const &rStart,
875  bool bIgnoreCols);
876 
877  wwSectionManager(const wwSectionManager&) = delete;
878  wwSectionManager& operator=(const wwSectionManager&) = delete;
879 public:
880  explicit wwSectionManager(SwWW8ImplReader &rReader) : mrReader(rReader), mnDesc(0)
881  {}
883  void SetCurrentSectionVerticalAdjustment(const css::drawing::TextVerticalAdjust nVA);
884  bool CurrentSectionIsVertical() const;
885  bool CurrentSectionIsProtected() const;
886  void PrependedInlineNode(const SwPosition &rPos, const SwNode &rNode);
887  sal_uInt16 CurrentSectionColCount() const;
888  bool WillHavePageDescHere(const SwNodeIndex& rIdx) const;
889  void CreateSep(const tools::Long nTextPos);
890  void InsertSegments();
891  void JoinNode(const SwPosition &rPos, const SwNode &rNode);
892  sal_uInt32 GetPageLeft() const;
893  sal_uInt32 GetPageRight() const;
894  sal_uInt32 GetPageWidth() const;
895  sal_uInt32 GetWWPageTopMargin() const;
896  sal_uInt32 GetTextAreaWidth() const;
897 };
898 
899 //Various writer elements like frames start off containing a blank paragraph,
900 //sometimes this paragraph turns out to be extraneous, e.g. the frame should
901 //only contain a table with no trailing paragraph.
902 
903 //We want to remove these extra paragraphs, but removing them during the parse
904 //is problematic, because we don't want to remove any paragraphs that are still
905 //addressed by property entries in a SwFltControlStack which have not yet been
906 //committed to the document.
907 
908 //Safest thing is to not delete SwTextNodes from a document during import, and
909 //remove these extraneous paragraphs at the end after all SwFltControlStack are
910 //destroyed.
912 {
913 private:
914  /*
915  A vector of SwTextNodes to erase from a document after import is complete
916  */
917  std::set<SwTextNode*, SwWW8::ltnode> m_aTextNodes;
919 
920  wwExtraneousParas(wwExtraneousParas const&) = delete;
922 
923 public:
924  explicit wwExtraneousParas(SwDoc &rDoc) : m_rDoc(rDoc) {}
926  void insert(SwTextNode *pTextNode) { m_aTextNodes.insert(pTextNode); }
928  {
929  auto it = m_aTextNodes.find(pTextNode);
930  if (it == m_aTextNodes.end())
931  return;
932  SAL_WARN("sw.ww8", "It is unexpected to anchor something in a para scheduled for removal");
933  m_aTextNodes.erase(it);
934  }
935  void delete_all_from_doc();
936 };
937 
939 {
940 private:
941  OUString msSeed;
944 
945  wwFrameNamer(wwFrameNamer const&) = delete;
946  wwFrameNamer& operator=(wwFrameNamer const&) = delete;
947 
948 public:
949  void SetUniqueGraphName(SwFrameFormat *pFrameFormat, std::u16string_view rFixedPart);
950  wwFrameNamer(bool bIsDisabled, const OUString &rSeed)
951  : msSeed(rSeed), mnImportedGraphicsCount(0), mbIsDisabled(bIsDisabled)
952  {
953  }
954 };
955 
957 {
958 private:
959  const SwDoc &mrDoc;
960  OUString msFileLinkSeed;
962  wwSectionNamer(const wwSectionNamer&) = delete;
963  wwSectionNamer& operator=(const wwSectionNamer&) = delete;
964 public:
965  OUString UniqueName();
966  wwSectionNamer(const SwDoc &rDoc, const OUString &rSeed)
967  : mrDoc(rDoc), msFileLinkSeed(rSeed), mnFileSectionNo(0)
968  { }
969 };
970 
972 {
973 public:
975  bool mbAutoNum;
978 };
979 
981 {
983  bool mbStopApo;
989  : mbStartApo(false), mbStopApo(false), m_bHasSprm37(false)
990  , m_bHasSprm29(false), m_nSprm29(0), mpStyleApo(nullptr) {}
991  bool HasStartStop() const { return (mbStartApo || mbStopApo); }
992  bool HasFrame() const { return (m_bHasSprm29 || m_bHasSprm37 || mpStyleApo); }
993 };
994 
996 {
997  OUString msOutlineNumRule; // WinWord 6 numbering, variant 1
998  OUString msNumberingNumRule; // WinWord 6 numbering, variant 2
999  SwNumRule* GetNumRule(const SwDoc& rDoc, sal_uInt8 nNumType);
1000  void SetNumRule(const OUString& rNumRule, sal_uInt8 nNumType);
1001 };
1002 
1003 struct SprmReadInfo;
1004 class SwDocShell;
1006 {
1007  bool mbCopy;
1012 
1013  WW8PostProcessAttrsInfo(WW8_CP nCpStart, WW8_CP nCpEnd, SwPaM & rPaM);
1014 };
1015 
1016 #define MAX_COL 64 // WW6-description: 32, WW6-UI: 31 & WW8-UI: 63!
1017 
1019 {
1021  short nGapHalf;
1028  short nRows;
1029  sal_uInt16 maDirections[MAX_COL + 1];
1030  short nCenter[MAX_COL + 1]; // X-edge of all cells of this band
1031  short nWidth[MAX_COL + 1]; // length of all cells of this band
1032  short nWwCols; // sal_uInt8 would be sufficient, alignment -> short
1033  short nSwCols; // SW: number of columns for the writer
1034  bool bLEmptyCol; // SW: an additional empty column at the left
1035  bool bREmptyCol; // SW: same at the right
1040  short nOverrideValues[MAX_COL + 1][4];
1044 
1045  bool bExist[MAX_COL]; // does this cell exist ?
1046  sal_uInt8 nTransCell[MAX_COL + 2]; // translation WW-Index -> SW-Index
1047 
1049  {
1050  return nWwCol < SAL_N_ELEMENTS(nTransCell) ? nTransCell[nWwCol] : 0xFF;
1051  }
1052 
1053  WW8TabBandDesc();
1054  WW8TabBandDesc(WW8TabBandDesc const & rBand); // deep copy
1055  ~WW8TabBandDesc();
1056  void ReadDef(bool bVer67, const sal_uInt8* pS, short nLen);
1057  void ProcessDirection(const sal_uInt8* pParams);
1058  void ProcessSprmTSetBRC(int nBrcVer, const sal_uInt8* pParamsTSetBRC, sal_uInt16 nParamsLen);
1059  void ProcessSprmTTableBorders(int nBrcVer, const sal_uInt8* pParams, sal_uInt16 nParamsLen);
1060  void ProcessSprmTDxaCol(const sal_uInt8* pParamsTDxaCol);
1061  void ProcessSprmTDelete(const sal_uInt8* pParamsTDelete);
1062  void ProcessSprmTInsert(const sal_uInt8* pParamsTInsert);
1063  void ProcessSpacing(const sal_uInt8* pParamsTInsert);
1064  void ProcessSpecificSpacing(const sal_uInt8* pParamsTInsert);
1065  void ReadShd(const sal_uInt8* pS );
1066  void ReadNewShd(const sal_uInt8* pS, bool bVer67, sal_uInt8 nStart);
1067 
1068  enum wwDIR {wwTOP = 0, wwLEFT = 1, wwBOTTOM = 2, wwRIGHT = 3};
1069 
1070 private:
1071  WW8TabBandDesc & operator =(WW8TabBandDesc const &) = default; // only for use in copy ctor
1072 };
1073 
1074 // Storage-Reader
1075 
1076 typedef std::set<WW8_CP> cp_set;
1077 
1079 {
1080 private:
1081  SwDocShell *m_pDocShell; // The Real DocShell
1082 
1083 friend class WW8RStyle;
1084 friend class WW8TabDesc;
1085 friend class WW8ReaderSave;
1086 friend struct WW8FlyPara;
1087 friend struct WW8SwFlyPara;
1088 friend class WW8FlySet;
1089 friend class SwMSDffManager;
1091 friend class WW8FormulaControl;
1092 friend class wwSectionManager;
1093 
1094 private:
1095 
1096  SotStorage* m_pStg; // Input-Storage
1097  SvStream* m_pStrm; // Input-(Storage)Stream
1098  SvStream* m_pTableStream; // Input-(Storage)Stream
1099  SvStream* m_pDataStream; // Input-(Storage)Stream
1100 
1101 // general stuff
1103  std::shared_ptr<SwUnoCursor> mpCursor;
1105 
1106  std::unique_ptr<SwWW8FltControlStack> m_xCtrlStck; // stack for the attributes
1107 
1108  /*
1109  This stack is for redlines, because their sequence of discovery can
1110  be out of order of their order of insertion into the document.
1111  */
1112  std::stack<std::unique_ptr<sw::util::RedlineStack>> m_aFrameRedlines; //inside frames, tables, etc
1113  std::unique_ptr<sw::util::RedlineStack> m_xRedlineStack; //main document
1114 
1115  /*
1116  This stack is for fields that get referenced later, e.g. BookMarks and TOX.
1117  They get inserted at the end of the document, it is the same stack for
1118  headers/footers/main text/textboxes/tables etc...
1119  */
1120  std::unique_ptr<SwWW8ReferencedFltEndStack> m_xReffedStck;
1121 
1122  /*
1123  This stack is for fields whose true conversion cannot be determined until
1124  the end of the document, it is the same stack for headers/footers/main
1125  text/textboxes/tables etc... They are things that reference other things
1126  e.g. NoteRef and Ref, they are processed after m_xReffedStck
1127  */
1128  std::unique_ptr<SwWW8FltRefStack> m_xReffingStck;
1129 
1130  /*
1131  For graphics anchors. Determines the graphics whose anchors are in the
1132  current paragraph, and works around the difficulty in inserting a graphic
1133  anchored to character before a character to be anchored to has been
1134  inserted. Is emptied at the end of each paragraph.
1135  */
1136  std::unique_ptr<SwWW8FltAnchorStack> m_xAnchorStck;
1137 
1138  /*
1139  A stack of fields identifiers to keep track of any open fields that need
1140  to be closed. Generally word fields are inserted as writer fields as soon
1141  as they are encountered, and so their end point is normally unimportant.
1142  But hyperlink fields need to be applied as attributes to text and it is
1143  far easier and safer to set the end point of an attribute when we
1144  encounter the end marker of the field instead of calculating in advance
1145  where the end point will fall, to do so fully correctly duplicates the
1146  main logic of the filter itself.
1147  */
1148  std::deque<WW8FieldEntry> m_aFieldStack;
1149 
1150  /*
1151  A stack of open footnotes. Should only be one in it at any time.
1152  */
1153  std::deque<FootnoteDescriptor> m_aFootnoteStack;
1154 
1155  /*
1156  A queue of the ms sections in the document
1157  */
1159 
1160  /*
1161  A vector of surplus-to-requirements paragraph in the final document,
1162  that exist because of quirks of the SwDoc document model and/or API,
1163  which need to be removed.
1164  */
1166 
1167  /*
1168  A map of tables to their follow nodes for use in inserting tables into
1169  already existing document, i.e. insert file
1170  */
1172 
1173  /*
1174  Creates unique names to give to (file link) sections (WW1/WW2/...)
1175  */
1177 
1178  /*
1179  Knows how to split a series of bytes into sprms and their arguments
1180  */
1181  std::unique_ptr<wwSprmParser> m_xSprmParser;
1182 
1183  /*
1184  Creates unique names to give to graphics
1185  */
1187 
1188  /*
1189  Knows which writer style a given word style should be imported as.
1190  */
1193 
1194  /*
1195  Stack of textencoding being used as we progress through the document text
1196  */
1197  std::stack<rtl_TextEncoding> m_aFontSrcCharSets;
1198  std::stack<rtl_TextEncoding> m_aFontSrcCJKCharSets;
1199 
1200  /*
1201  Progress bar
1202  */
1203  std::unique_ptr<ImportProgress> m_xProgress;
1204 
1205  std::unique_ptr<SwMSConvertControls> m_xFormImpl; // implementation of control
1206 
1208  std::unique_ptr<FrameDeleteWatch> m_xFormatOfJustInsertedApo;
1211 
1212  //Keep track of APO environments
1213  std::deque<bool> m_aApos;
1214  /*
1215  Keep track of generated Ruby character formats we can minimize the
1216  number of character formats created
1217  */
1218  std::vector<const SwCharFormat*> m_aRubyCharFormats;
1219 
1220  /*
1221  For fuzzing keep track of source offset of inserted graphics
1222  */
1223  std::set<sal_uLong> m_aGrafPosSet;
1224 
1225  std::unique_ptr<WW8PostProcessAttrsInfo> m_pPostProcessAttrsInfo;
1226 
1227  std::shared_ptr<WW8Fib> m_xWwFib;
1228  std::unique_ptr<WW8Fonts> m_xFonts;
1229  std::unique_ptr<WW8Dop> m_xWDop;
1230  std::unique_ptr<WW8ListManager, o3tl::default_delete<WW8ListManager>> m_xLstManager;
1231  std::unique_ptr<WW8ScannerBase> m_xSBase;
1232  std::shared_ptr<WW8PLCFMan> m_xPlcxMan;
1233  std::map<short, OUString> m_aLinkStringMap;
1234 
1237 
1238  std::unique_ptr<WW8RStyle> m_xStyles; // pointer to the style reading class
1239  SwFormat* m_pCurrentColl; // collection to be created now
1240  // ( always 0 outside of a Style-Def )
1241  std::unique_ptr<SfxItemSet> m_xCurrentItemSet;// character attributes to be read in now
1242  // (always 0 outside of the WW8ListManager Ctor)
1243  std::vector<SwWW8StyInf> m_vColl;
1246 
1247  std::unique_ptr<WW8PLCF_HdFt> m_xHdFt; // pointer to Header / Footer - scanner class
1248 
1249  std::unique_ptr<WW8FlyPara> m_xWFlyPara; // WW-parameter
1250  std::unique_ptr<WW8SwFlyPara> m_xSFlyPara; // Sw parameters created from previous
1251 
1252  std::unique_ptr<WW8TabDesc> m_xTableDesc; // description of table properties
1253  //Keep track of tables within tables
1254  std::stack<std::unique_ptr<WW8TabDesc>> m_aTableStack;
1255 
1257  std::unique_ptr<WW8_OLST> m_xNumOlst; // position in text
1258 
1261  std::unique_ptr<EditEngine> m_pDrawEditEngine;
1262  std::unique_ptr<wwZOrderer> m_xWWZOrder;
1263 
1264  SwFieldType* m_pNumFieldType; // for number circle
1265 
1266  std::unique_ptr<SwMSDffManager> m_xMSDffManager;
1267 
1268  std::optional<std::vector<OUString>> m_xAtnNames;
1269 
1270  std::unique_ptr<WW8SmartTagData> m_pSmartTagData;
1271 
1273  std::map<sal_uInt16, std::size_t> m_aAuthorInfos;
1274  OUString m_sBaseURL;
1275 
1276  // Ini-Flags:
1277  sal_uInt32 m_nIniFlags; // flags from writer.ini
1278  sal_uInt32 m_nIniFlags1; // ditto ( additional flags )
1279  sal_uInt32 m_nFieldFlags; // ditto for fields
1280  sal_uInt32 m_nFieldTagAlways[3]; // ditto for tagging of fields
1281  sal_uInt32 m_nFieldTagBad[3]; // ditto for tagging of fields that can't be imported
1282  bool m_bRegardHindiDigits; // import digits in CTL scripts as Hindi numbers
1283 
1285  WW8_CP m_nDrawCpO; // start of Txbx-SubDocs
1286 
1287  sal_uLong m_nPicLocFc; // Picture Location in File (FC)
1288  sal_uLong m_nObjLocFc; // Object Location in File (FC)
1289 
1290  sal_Int32 m_nIniFlyDx; // X-offset of Flys
1291  sal_Int32 m_nIniFlyDy; // Y-offset of Flys
1292 
1293  rtl_TextEncoding m_eTextCharSet; // Default charset for Text
1294  rtl_TextEncoding m_eStructCharSet; // rtl_TextEncoding for structures
1295  rtl_TextEncoding m_eHardCharSet; // Hard rtl_TextEncoding-Attribute
1296  sal_uInt16 m_nProgress; // percentage for Progressbar
1297  sal_uInt16 m_nCurrentColl; // per WW-count
1298  sal_uInt16 m_nFieldNum; // serial number for that
1299  sal_uInt16 m_nLFOPosition;
1300 
1301  short m_nCharFormat; // per WW-count, <0 for none
1302 
1305 
1306  sal_Unicode m_cSymbol; // symbol to be read now
1307 
1308  sal_uInt8 m_nWantedVersion; // originally requested WW-Doc version by Writer
1309 
1310  sal_uInt8 m_nSwNumLevel; // level number for outline / enumeration
1311  sal_uInt8 m_nWwNumType; // outline / number / enumeration
1312  const SwNumRule* m_pChosenWW8OutlineStyle; // copied to the "Outline" Chapter Numbering style
1314 
1315  bool m_bNewDoc; // new document?
1316  bool m_bSkipImages; // skip images for text extraction/indexing
1317  bool m_bReadNoTable; // no tables
1318  bool m_bPgSecBreak; // Page- or Sectionbreak is still to be added
1319  bool m_bSpec; // special char follows in text
1320  bool m_bObj; // Obj in Text
1321  bool m_bTxbxFlySection; // FlyFrame that was inserted as replacement for Winword Textbox
1322  bool m_bHasBorder; // for bundling of the borders
1323  bool m_bSymbol; // e.g. Symbol instead of Times
1324  bool m_bIgnoreText; // e.g. for FieldVanish
1325  int m_nInTable; // are we currently reading a table?
1326  bool m_bWasTabRowEnd; // table : Row End Mark
1327  bool m_bWasTabCellEnd; // table: Cell End Mark
1328 
1329  bool m_bAnl; // enumeration in work
1330  // Anl stands for "Autonumber level"
1331 
1332  bool m_bHdFtFootnoteEdn; // special text: header/footer/and so on
1333  bool m_bFootnoteEdn; // footnote or endnote
1334  bool m_bIsHeader; // text is read from header ( line height )
1335  bool m_bIsFooter; // text is read from footer ( line height )
1336 
1337  bool m_bIsUnicode; // current piece of text is encoded as 2-byte Unicode
1338  // please do NOT handle this as bit field!
1339 
1340  bool m_bCpxStyle; // style in the complex part
1341  bool m_bStyNormal; // style with Id 0 is currently read
1342  bool m_bWWBugNormal; // WW-Version with Bug Dya in Style Normal
1343  bool m_bNoAttrImport; // ignore attributes for ignoring styles
1344  bool m_bInHyperlink; // special case for reading 0x01
1345  // see also: SwWW8ImplReader::Read_F_Hyperlink()
1347 
1348  // useful helper variables
1349  bool m_bVer67; // ( (6 == nVersion) || (7 == nVersion) );
1350  bool m_bVer6; // (6 == nVersion);
1351  bool m_bVer7; // (7 == nVersion);
1352  bool m_bVer8; // (8 == nVersion);
1353 
1354  bool m_bEmbeddObj; // EmbeddField is being read
1355 
1356  bool m_bCurrentAND_fNumberAcross; // current active Annotated List Descriptor - ROW flag
1357 
1358  bool m_bNoLnNumYet; // no Line Numbering has been activated yet (we import
1359  // the very 1st Line Numbering and ignore the rest)
1360 
1361  bool m_bFirstPara; // first paragraph?
1365 
1367  sal_Int32 m_nDropCap;
1368 
1369  bool m_bBidi;
1371  // Indicate that currently on loading a TOC, managed by Read_F_TOX() and End_Field()
1374  // Indicate that current on loading a hyperlink, which is inside a TOC; Managed by Read_F_Hyperlink() and End_Field()
1376  // a document position recorded the after-position of TOC section, managed by Read_F_TOX() and End_Field()
1377  std::unique_ptr<SwPaM> m_pPosAfterTOC;
1378  // used for some dropcap tweaking
1380 
1381  std::unique_ptr< SwPosition > m_pLastAnchorPos;
1382 
1386 
1389 
1390  const SprmReadInfo& GetSprmReadInfo(sal_uInt16 nId) const;
1391 
1392  bool StyleExists(unsigned int nColl) const { return (nColl < m_vColl.size()); }
1393  SwWW8StyInf *GetStyle(sal_uInt16 nColl) const;
1394  void AppendTextNode(SwPosition& rPos);
1395 
1396  void Read_HdFt(int nSect, const SwPageDesc *pPrev,
1397  const wwSection &rSection);
1398  void Read_HdFtText(WW8_CP nStartCp, WW8_CP nLen, SwFrameFormat const * pHdFtFormat);
1399  void Read_HdFtTextAsHackedFrame(WW8_CP nStart, WW8_CP nLen,
1400  SwFrameFormat const &rHdFtFormat, sal_uInt16 nPageWidth);
1401 
1402  bool isValid_HdFt_CP(WW8_CP nHeaderCP) const;
1403 
1404  bool HasOwnHeaderFooter(sal_uInt8 nWhichItems, sal_uInt8 grpfIhdt, int nSect);
1405 
1406  void HandleLineNumbering(const wwSection &rSection);
1407 
1408  void CopyPageDescHdFt( const SwPageDesc* pOrgPageDesc,
1409  SwPageDesc* pNewPageDesc, sal_uInt8 nCode );
1410 
1411  void DeleteStack(std::unique_ptr<SwFltControlStack> prStck);
1413  {
1414  DeleteStack(std::move(m_xCtrlStck));
1415  }
1417  {
1418  DeleteStack(std::move(m_xReffedStck));
1419  DeleteStack(std::move(m_xReffingStck));
1420  }
1422  {
1423  DeleteStack(std::move(m_xAnchorStck));
1424  }
1425  void emulateMSWordAddTextToParagraph(const OUString& rAddString);
1426  void simpleAddTextToParagraph(const OUString& rAddString);
1427  bool HandlePageBreakChar();
1428  bool ReadChar(tools::Long nPosCp, tools::Long nCpOfs);
1429  bool ReadPlainChars(WW8_CP& rPos, sal_Int32 nEnd, sal_Int32 nCpOfs);
1430  bool ReadChars(WW8_CP& rPos, WW8_CP nNextAttr, tools::Long nTextEnd, tools::Long nCpOfs);
1433 
1434  void SetDocumentGrid(SwFrameFormat &rFormat, const wwSection &rSection);
1435 
1436  void ProcessCurrentCollChange(WW8PLCFManResult& rRes, bool* pStartAttr,
1437  bool bCallProcessSpecial);
1438  tools::Long ReadTextAttr(WW8_CP& rTextPos, tools::Long nTextEnd, bool& rbStartLine, int nDepthGuard = 0);
1439  void ReadAttrs(WW8_CP& rTextPos, WW8_CP& rNext, tools::Long nTextEnd, bool& rbStartLine);
1440  void CloseAttrEnds();
1441  bool ReadText(WW8_CP nStartCp, WW8_CP nTextLen, ManTypes nType);
1442 
1443  void ReadRevMarkAuthorStrTabl( SvStream& rStrm, sal_Int32 nTablePos,
1444  sal_Int32 nTableSiz, SwDoc& rDoc );
1445 
1446  void Read_HdFtFootnoteText(const SwNodeIndex* pSttIdx, WW8_CP nStartCp,
1447  WW8_CP nLen, ManTypes nType);
1448 
1449  void ImportTox( int nFieldId, const OUString& aStr );
1450 
1451  void EndSprm( sal_uInt16 nId );
1452  // #i103711#
1453  // #i105414#
1454  void NewAttr( const SfxPoolItem& rAttr,
1455  const bool bFirstLineOfStSet = false,
1456  const bool bLeftIndentSet = false );
1457 
1458  bool GetFontParams(sal_uInt16, FontFamily&, OUString&, FontPitch&,
1459  rtl_TextEncoding&);
1460  bool SetNewFontAttr(sal_uInt16 nFCode, bool bSetEnums, sal_uInt16 nWhich);
1461  void ResetCharSetVars();
1462  void ResetCJKCharSetVars();
1463 
1464  const SfxPoolItem* GetFormatAttr( sal_uInt16 nWhich );
1465  bool JoinNode(SwPaM &rPam, bool bStealAttr = false);
1466 
1467  static bool IsBorder(const WW8_BRCVer9* pbrc, bool bChkBtwn = false);
1468 
1469  //Set closest writer border equivalent into rBox from pbrc, optionally
1470  //recording true winword dimensions in pSizeArray. nSetBorders to mark a
1471  //border which has been previously set to a value and for which becoming
1472  //empty is valid. Set bCheBtwn to work with paragraphs that have a special
1473  //between paragraphs border
1474 
1475  // Note #i20672# we can't properly support between lines so best to ignore
1476  // them for now
1477  static bool SetBorder(SvxBoxItem& rBox, const WW8_BRCVer9* pbrc,
1478  short *pSizeArray=nullptr, sal_uInt8 nSetBorders=0xFF);
1479  static void GetBorderDistance(const WW8_BRCVer9* pbrc, tools::Rectangle& rInnerDist);
1480  static sal_uInt16 GetParagraphAutoSpace(bool fDontUseHTMLAutoSpacing);
1481  static bool SetShadow(SvxShadowItem& rShadow, const short *pSizeArray,
1482  const WW8_BRCVer9& aRightBrc);
1483  //returns true is a shadow was set
1484  static bool SetFlyBordersShadow(SfxItemSet& rFlySet, const WW8_BRCVer9 *pbrc,
1485  short *SizeArray);
1486  static void SetPageBorder(SwFrameFormat &rFormat, const wwSection &rSection);
1487 
1488  static sal_Int32 MatchSdrBoxIntoFlyBoxItem( const Color& rLineColor,
1489  MSO_LineStyle eLineStyle, MSO_LineDashing eDashing, MSO_SPT eShapeType, sal_Int32 &rLineWidth,
1490  SvxBoxItem& rBox );
1491  void MatchSdrItemsIntoFlySet( SdrObject const * pSdrObj, SfxItemSet &aFlySet,
1492  MSO_LineStyle eLineStyle, MSO_LineDashing eDashing, MSO_SPT eShapeType, tools::Rectangle &rInnerDist );
1493  static void AdjustLRWrapForWordMargins(const SvxMSDffImportRec &rRecord,
1494  SvxLRSpaceItem &rLR);
1495  static void AdjustULWrapForWordMargins(const SvxMSDffImportRec &rRecord,
1496  SvxULSpaceItem &rUL);
1497  static void MapWrapIntoFlyFormat(const SvxMSDffImportRec& rRecord, SwFrameFormat& rFlyFormat);
1498 
1499  void SetAttributesAtGrfNode(const SvxMSDffImportRec& rRecord, const SwFrameFormat& rFlyFormat,
1500  WW8_FSPA const* pF);
1501 
1502  bool IsDropCap() const;
1503  bool IsListOrDropcap() const { return (!m_xCurrentItemSet || m_bDropCap); };
1504 
1505  //Apo == Absolutely Positioned Object, MSWord's old-style frames
1506  std::unique_ptr<WW8FlyPara> ConstructApo(const ApoTestResults &rApo,
1507  const WW8_TablePos *pTabPos);
1508  bool StartApo(const ApoTestResults &rApo, const WW8_TablePos *pTabPos);
1509  void StopApo();
1510  bool TestSameApo(const ApoTestResults &rApo, const WW8_TablePos *pTabPos);
1511  ApoTestResults TestApo(int nCellLevel, bool bTableRowEnd,
1512  const WW8_TablePos *pTabPos);
1513  static void StripNegativeAfterIndent(SwFrameFormat const *pFlyFormat);
1514 
1515  void EndSpecial();
1516  bool ProcessSpecial(bool &rbReSync, WW8_CP nStartCp);
1517  sal_uInt16 TabRowSprm(int nLevel) const;
1518 
1519  bool ReadGrafFile(OUString& rFileName, std::unique_ptr<Graphic>& rpGraphic,
1520  const WW8_PIC& rPic, SvStream* pSt, sal_uLong nFilePos, bool* pDelIt);
1521 
1522  static void ReplaceObj(const SdrObject &rReplaceTextObj,
1523  SdrObject &rSubObj);
1524 
1526  const Graphic* pGraph, const OUString& rFileName,
1527  const SfxItemSet& rGrfSet);
1528 
1529  SwFrameFormat* MakeGrafInContent(const WW8_PIC& rPic, const WW8PicDesc& rPD,
1530  const Graphic* pGraph, const OUString& rFileName,
1531  const SfxItemSet& rGrfSet);
1532 
1534  SwFrameFormat* ImportGraf1(WW8_PIC const & rPic, SvStream* pSt, sal_uLong nFilePos);
1535  SwFrameFormat* ImportGraf(SdrTextObj const * pTextObj = nullptr, SwFrameFormat const * pFlyFormat = nullptr);
1536 
1537  SdrObject* ImportOleBase( Graphic& rGraph, const Graphic* pGrf=nullptr,
1538  const SfxItemSet* pFlySet=nullptr, const tools::Rectangle& aVisArea = tools::Rectangle() );
1539 
1540  SwFrameFormat* ImportOle( const Graphic* = nullptr, const SfxItemSet* pFlySet = nullptr,
1541  const SfxItemSet* pGrfSet = nullptr, const tools::Rectangle& aVisArea = tools::Rectangle() );
1542  SwFlyFrameFormat* InsertOle(SdrOle2Obj &rObject, const SfxItemSet &rFlySet,
1543  const SfxItemSet *rGrfSet);
1544 
1545  bool ImportFormulaControl(WW8FormulaControl &rBox,WW8_CP nStart,
1546  SwWw8ControlType nWhich);
1547 
1548  void ImportDop();
1549 
1550  //This converts MS Asian Typography information into OOo's
1551  void ImportDopTypography(const WW8DopTypography &rTypo);
1552 
1555  ErrCode CoreLoad(WW8Glossary const *pGloss);
1556 
1557  void ReadDocVars();
1558 
1559  bool StartTable(WW8_CP nStartCp);
1560  bool InEqualApo(int nLvl) const;
1561  bool InLocalApo() const { return InEqualApo(m_nInTable); }
1562  bool InEqualOrHigherApo(int nLvl) const;
1563  void TabCellEnd();
1564  void StopTable();
1565  bool IsInvalidOrToBeMergedTabCell() const;
1566 
1567 // Enumerations / lists ( Autonumbered List Data Descriptor )
1568 // list: ANLD ( Autonumbered List Data Descriptor )
1569 // one level: ANLV ( Autonumber Level Descriptor )
1570 
1571 // Chg7-8:
1572 // lists are separate structures in WW8 that are handled via the following three tables:
1573 // rglst, hpllfo and hsttbListNames
1574 // the corresponding structures are: LSTF, LVLF, LFO LFOLVL
1575 
1576  void SetAnlvStrings(SwNumFormat &rNum, WW8_ANLV const &rAV, const sal_uInt8* pText,
1577  size_t nStart, size_t nElements, bool bOutline);
1578  void SetAnld(SwNumRule* pNumR, WW8_ANLD const * pAD, sal_uInt8 nSwLevel, bool bOutLine);
1579  void SetNumOlst( SwNumRule* pNumR, WW8_OLST* pO, sal_uInt8 nSwLevel );
1580  SwNumRule* GetStyRule();
1581 
1582  void StartAnl(const sal_uInt8* pSprm13);
1583  void NextAnlLine(const sal_uInt8* pSprm13);
1584  void StopAllAnl(bool bGoBack = true);
1585  void StopAnlToRestart(sal_uInt8 nType, bool bGoBack = true);
1586 
1587 // graphics layer
1588 
1589  bool ReadGrafStart(void* pData, short nDataSiz, WW8_DPHEAD const * pHd,
1590  SfxAllItemSet &rSet);
1591  SdrObject *ReadLine(WW8_DPHEAD const * pHd, SfxAllItemSet &rSet);
1592  SdrObject *ReadRect(WW8_DPHEAD const * pHd, SfxAllItemSet &rSet);
1593  SdrObject *ReadEllipse(WW8_DPHEAD const * pHd, SfxAllItemSet &rSet);
1594  SdrObject *ReadArc(WW8_DPHEAD const * pHd, SfxAllItemSet &rSet);
1595  SdrObject *ReadPolyLine(WW8_DPHEAD const * pHd, SfxAllItemSet &rSet);
1596  void InsertTxbxStyAttrs( SfxItemSet& rS, sal_uInt16 nColl );
1597  void InsertAttrsAsDrawingAttrs(WW8_CP nStartCp, WW8_CP nEndCp, ManTypes eType, bool bONLYnPicLocFc=false);
1598 
1599  bool GetTxbxTextSttEndCp(WW8_CP& rStartCp, WW8_CP& rEndCp, sal_uInt16 nTxBxS,
1600  sal_uInt16 nSequence);
1601  sal_Int32 GetRangeAsDrawingString(OUString& rString, tools::Long StartCp, tools::Long nEndCp, ManTypes eType);
1602  std::unique_ptr<OutlinerParaObject> ImportAsOutliner(OUString &rString, WW8_CP nStartCp, WW8_CP nEndCp, ManTypes eType);
1603  void InsertTxbxText(SdrTextObj* pTextObj, Size const * pObjSiz,
1604  sal_uInt16 nTxBxS, sal_uInt16 nSequence, tools::Long nPosCp, SwFrameFormat const * pFlyFormat,
1605  bool bMakeSdrGrafObj, bool& rbEraseTextObj,
1606  bool* pbTestTxbxContainsText = nullptr, tools::Long* pnStartCp = nullptr,
1607  tools::Long* pnEndCp = nullptr, bool* pbContainsGraphics = nullptr,
1608  SvxMSDffImportRec const * pRecord = nullptr);
1609  bool TxbxChainContainsRealText( sal_uInt16 nTxBxS,
1610  tools::Long& rStartCp,
1611  tools::Long& rEndCp );
1612  SdrObject *ReadTextBox(WW8_DPHEAD const * pHd, SfxAllItemSet &rSet);
1613  SdrObject *ReadCaptionBox(WW8_DPHEAD const * pHd, SfxAllItemSet &rSet);
1614  SdrObject *ReadGroup(WW8_DPHEAD const * pHd, SfxAllItemSet &rSet);
1615  SdrObject *ReadGrafPrimitive(short& rLeft, SfxAllItemSet &rSet);
1616  void ReadGrafLayer1(WW8PLCFspecial& rPF, tools::Long nGrafAnchorCp);
1619  bool MiserableRTLGraphicsHack(SwTwips &rLeft, SwTwips nWidth,
1620  sal_Int16 eHoriOri, sal_Int16 eHoriRel);
1621  SwFrameFormat* Read_GrafLayer( tools::Long nGrafAnchorCp );
1622  SwFlyFrameFormat* ImportReplaceableDrawables(SdrObject*& rpObject, SdrObject*& rpOurNewObject,
1623  SvxMSDffImportRec& rRecord, WW8_FSPA& rF,
1624  SfxItemSet& rFlySet);
1625  SwFlyFrameFormat* ConvertDrawTextToFly(SdrObject*& rpObject, SdrObject*& rpOurNewObject,
1626  const SvxMSDffImportRec& rRecord, RndStdIds eAnchor,
1627  const WW8_FSPA& rF, SfxItemSet& rFlySet);
1629  SwFrameFormat* pRetFrameFormat);
1630 
1631  void GraphicCtor();
1632  void GraphicDtor();
1633 
1634 // other stuff
1635  OUString GetFieldResult( WW8FieldDesc const * pF );
1636  void MakeTagString( OUString& rStr, const OUString& rOrg );
1637  void UpdateFields();
1638  OUString ConvertFFileName(const OUString& rRaw);
1640  void InsertTagField( const sal_uInt16 nId, const OUString& rTagText );
1642  void EndExtSprm(sal_uInt16 nSprmId);
1643  void ReadDocInfo();
1644 
1645 // Ver8 lists
1646 
1647  void RegisterNumFormatOnTextNode(sal_uInt16 nCurrentLFO, sal_uInt8 nCurrentLevel,
1648  const bool bSetAttr = true);
1649 
1650  void RegisterNumFormatOnStyle(sal_uInt16 nStyle);
1651  void SetStylesList(sal_uInt16 nStyle, sal_uInt16 nCurrentLFO,
1652  sal_uInt8 nCurrentLevel);
1653  void RegisterNumFormat(sal_uInt16 nCurrentLFO, sal_uInt8 nCurrentLevel);
1654 
1655 // to be replaced by calls in the appropriate extended SvxMSDffManager
1656 
1657  const OUString* GetAnnotationAuthor(sal_uInt16 nIdx);
1658 
1659  void GetSmartTagInfo(SwFltRDFMark& rMark);
1660 
1661  // interfaces for the toggle attributes
1662  void SetToggleAttr(sal_uInt8 nAttrId, bool bOn);
1663  void SetToggleBiDiAttr(sal_uInt8 nAttrId, bool bOn);
1664  void ChkToggleAttr_( sal_uInt16 nOldStyle81Mask, sal_uInt16 nNewStyle81Mask );
1665 
1666  void ChkToggleAttr( sal_uInt16 nOldStyle81Mask, sal_uInt16 nNewStyle81Mask )
1667  {
1668  if( nOldStyle81Mask != nNewStyle81Mask &&
1669  m_xCtrlStck->GetToggleAttrFlags() )
1670  ChkToggleAttr_( nOldStyle81Mask, nNewStyle81Mask );
1671  }
1672 
1673  void ChkToggleBiDiAttr_( sal_uInt16 nOldStyle81Mask, sal_uInt16 nNewStyle81Mask );
1674 
1675  void ChkToggleBiDiAttr( sal_uInt16 nOldStyle81Mask, sal_uInt16 nNewStyle81Mask )
1676  {
1677  if( nOldStyle81Mask != nNewStyle81Mask &&
1678  m_xCtrlStck->GetToggleBiDiAttrFlags() )
1679  ChkToggleBiDiAttr_( nOldStyle81Mask, nNewStyle81Mask );
1680  }
1681 
1682  void PopTableDesc();
1683  void MoveInsideFly(const SwFrameFormat *pFlyFormat);
1684  SwTwips MoveOutsideFly(SwFrameFormat *pFlyFormat, const SwPosition &rPos,
1685  bool bTableJoin = true);
1686 
1687  void SetOutlineStyles();
1688 
1689  bool SetSpacing(SwPaM &rMyPam, int nSpace, bool bIsUpper);
1690  bool SetUpperSpacing(SwPaM &pMyPam, int nSpace);
1691  bool SetLowerSpacing(SwPaM &rMyPam, int nSpace);
1692 
1693  bool IsInlineEscherHack() const
1694  { return !m_aFieldStack.empty() && m_aFieldStack.back().mnFieldId == 95; };
1695 
1696  void StoreMacroCmds();
1697 
1698  // #i84783#
1699  // determine object attribute "Layout in Table Cell"
1700  bool IsObjectLayoutInTableCell( const sal_uInt32 nLayoutInTableCell ) const;
1701  void ReadGlobalTemplateSettings( std::u16string_view sCreatedFrom, const css::uno::Reference< css::container::XNameContainer >& xPrjNameMap );
1702  SwWW8ImplReader(const SwWW8ImplReader &) = delete;
1703  SwWW8ImplReader& operator=(const SwWW8ImplReader&) = delete;
1704 public: // really private, but can only be done public
1705  ~SwWW8ImplReader();
1706  sal_uInt16 GetToggleAttrFlags() const;
1707  sal_uInt16 GetToggleBiDiAttrFlags() const;
1708  void SetToggleAttrFlags(sal_uInt16 nFlags);
1709  void SetToggleBiDiAttrFlags(sal_uInt16 nFlags);
1710 
1712  sal_uInt16 End_Footnote();
1714  sal_uInt16 End_Field();
1719 
1720  // attributes
1721 
1722  void Read_Special(sal_uInt16, const sal_uInt8*, short nLen);
1723  void Read_Obj(sal_uInt16, const sal_uInt8*, short nLen);
1724  void Read_PicLoc(sal_uInt16, const sal_uInt8* pData, short nLen );
1725  void Read_BoldUsw(sal_uInt16 nId, const sal_uInt8*, short nLen);
1726  void Read_Bidi(sal_uInt16 nId, const sal_uInt8*, short nLen);
1727  void Read_BoldBiDiUsw(sal_uInt16 nId, const sal_uInt8*, short nLen);
1728  void Read_AmbiguousSPRM(sal_uInt16 nId, const sal_uInt8*, short nLen);
1729  void Read_SubSuper( sal_uInt16, const sal_uInt8*, short nLen );
1731  static SwFrameFormat *ContainsSingleInlineGraphic(const SwPaM &rRegion);
1732  void Read_SubSuperProp( sal_uInt16, const sal_uInt8*, short nLen );
1733  void Read_Underline( sal_uInt16, const sal_uInt8*, short nLen );
1734  void Read_TextColor( sal_uInt16, const sal_uInt8*, short nLen );
1735  void openFont(sal_uInt16 nFCode, sal_uInt16 nId);
1736  void closeFont(sal_uInt16 nId);
1737  void Read_FontCode( sal_uInt16, const sal_uInt8*, short nLen );
1738  void Read_FontSize( sal_uInt16, const sal_uInt8*, short nLen );
1739  void Read_CharSet(sal_uInt16 , const sal_uInt8* pData, short nLen);
1740  void Read_Language( sal_uInt16, const sal_uInt8*, short nLen );
1741  void Read_CColl( sal_uInt16, const sal_uInt8*, short nLen );
1742  void Read_Kern( sal_uInt16, const sal_uInt8* pData, short nLen );
1743  void Read_FontKern( sal_uInt16, const sal_uInt8* pData, short nLen );
1744  void Read_Emphasis( sal_uInt16, const sal_uInt8* pData, short nLen );
1745  void Read_ScaleWidth( sal_uInt16, const sal_uInt8* pData, short nLen );
1746  void Read_Relief( sal_uInt16, const sal_uInt8* pData, short nLen);
1747  void Read_TextAnim( sal_uInt16, const sal_uInt8* pData, short nLen);
1748 
1749  void Read_NoLineNumb( sal_uInt16 nId, const sal_uInt8* pData, short nLen );
1750 
1751  void Read_LR( sal_uInt16 nId, const sal_uInt8*, short nLen );
1752  void Read_UL( sal_uInt16 nId, const sal_uInt8*, short nLen );
1753  void Read_ParaAutoBefore(sal_uInt16 , const sal_uInt8 *pData, short nLen);
1754  void Read_ParaAutoAfter(sal_uInt16 , const sal_uInt8 *pData, short nLen);
1755  void Read_ParaContextualSpacing( sal_uInt16 nId, const sal_uInt8* pData, short nLen );
1756  void Read_LineSpace( sal_uInt16, const sal_uInt8*, short nLen );
1757 
1758  void SetRelativeJustify( bool bRel );
1759  bool IsRelativeJustify();
1760  bool IsRelativeJustify(sal_uInt16 nColl, o3tl::sorted_vector<sal_uInt16>& rVisitedStyles);
1761  void Read_Justify(sal_uInt16, const sal_uInt8*, short nLen);
1762 
1763  void Read_IdctHint(sal_uInt16, const sal_uInt8*, short nLen);
1764  bool IsRightToLeft();
1765  void Read_RTLJustify(sal_uInt16, const sal_uInt8*, short nLen);
1766  void Read_Hyphenation( sal_uInt16, const sal_uInt8* pData, short nLen );
1767  void Read_WidowControl( sal_uInt16, const sal_uInt8* pData, short nLen );
1768  void Read_AlignFont( sal_uInt16, const sal_uInt8* pData, short nLen );
1769  void Read_UsePgsuSettings( sal_uInt16, const sal_uInt8* pData, short nLen );
1770  void Read_KeepLines( sal_uInt16, const sal_uInt8* pData, short nLen );
1771  void Read_KeepParas( sal_uInt16, const sal_uInt8* pData, short nLen );
1772  void Read_BreakBefore( sal_uInt16, const sal_uInt8* pData, short nLen );
1773  void Read_ApoPPC(sal_uInt16, const sal_uInt8* pData, short);
1774 
1775  void Read_BoolItem( sal_uInt16 nId, const sal_uInt8*, short nLen );
1776 
1777  void Read_Border( sal_uInt16 nId, const sal_uInt8* pData, short nLen );
1778  void Read_CharBorder(sal_uInt16 nId, const sal_uInt8* pData, short nLen );
1779  void Read_Tab( sal_uInt16 nId, const sal_uInt8* pData, short nLen );
1780  void Read_Symbol(sal_uInt16, const sal_uInt8* pData, short nLen);
1781  void Read_FieldVanish( sal_uInt16 nId, const sal_uInt8* pData, short nLen );
1782 
1783  // Revision Marks ( == Redlining )
1784 
1785  // insert or delete content (change char attributes resp.)
1786  void Read_CRevisionMark(RedlineType eType, const sal_uInt8* pData, short nLen);
1787  // insert new content
1788  void Read_CFRMark(sal_uInt16 , const sal_uInt8* pData, short nLen);
1789  // delete old content
1790  void Read_CFRMarkDel(sal_uInt16 , const sal_uInt8* pData, short nLen);
1791  // change properties of content (e.g. char formatting)
1792  void Read_CPropRMark(sal_uInt16 , const sal_uInt8* pData, short nLen); // complex!
1793 
1794  void Read_TabRowEnd( sal_uInt16, const sal_uInt8* pData, short nLen );
1795  void Read_TabCellEnd( sal_uInt16, const sal_uInt8* pData, short nLen );
1796  bool ParseTabPos(WW8_TablePos *aTabPos, WW8PLCFx_Cp_FKP* pPap);
1797  void Read_Shade( sal_uInt16, const sal_uInt8* pData, short nLen );
1798  void Read_ANLevelNo( sal_uInt16, const sal_uInt8* pData, short nLen );
1799  void Read_ANLevelDesc( sal_uInt16, const sal_uInt8* pData, short nLen );
1800 
1801  // outline level Ver8
1802  void Read_POutLvl(sal_uInt16, const sal_uInt8* pData, short nLen);
1803 
1804  void Read_OLST( sal_uInt16, const sal_uInt8* pData, short nLen );
1805 
1806  void Read_CharShadow( sal_uInt16, const sal_uInt8* pData, short nLen );
1807  void Read_CharHighlight( sal_uInt16, const sal_uInt8* pData, short nLen );
1808  // Ver8-Listen
1809 
1810  void Read_ListLevel( sal_uInt16 nId, const sal_uInt8* pData, short nLen);
1811 
1820  void Read_LFOPosition( sal_uInt16 nId, const sal_uInt8* pData, short nLen);
1821  bool SetTextFormatCollAndListLevel(const SwPaM& rRg, SwWW8StyInf& rStyleInfo);
1822 
1823  void Read_StyleCode(sal_uInt16, const sal_uInt8* pData, short nLen);
1824  void Read_Majority(sal_uInt16, const sal_uInt8* , short );
1825  void Read_DoubleLine_Rotate( sal_uInt16, const sal_uInt8* pDATA, short nLen);
1826 
1827  void Read_TextForeColor(sal_uInt16, const sal_uInt8* pData, short nLen);
1828  void Read_TextBackColor(sal_uInt16, const sal_uInt8* pData, short nLen);
1829  void Read_ParaBackColor(sal_uInt16, const sal_uInt8* pData, short nLen);
1830  void Read_ParaBiDi(sal_uInt16, const sal_uInt8* pData, short nLen);
1831  static Color ExtractColour(const sal_uInt8* &rpData, bool bVer67);
1832 
1833  void Read_TextVerticalAdjustment(sal_uInt16, const sal_uInt8* pData, short nLen);
1834  void Read_UnderlineColor(sal_uInt16, const sal_uInt8* pData, short nLen);
1835  tools::Long MapBookmarkVariables(const WW8FieldDesc* pF, OUString &rOrigName,
1836  const OUString &rData);
1837  OUString GetMappedBookmark(std::u16string_view rOrigName);
1838 
1839  // fields
1840  eF_ResT Read_F_Input(WW8FieldDesc*, OUString& rStr);
1841  eF_ResT Read_F_InputVar(WW8FieldDesc*, OUString& rStr);
1842  eF_ResT Read_F_ANumber( WW8FieldDesc*, OUString& );
1843  eF_ResT Read_F_DocInfo( WW8FieldDesc* pF, OUString& rStr );
1844  eF_ResT Read_F_Author( WW8FieldDesc*, OUString& );
1845  eF_ResT Read_F_TemplName( WW8FieldDesc*, OUString& );
1846  SvNumFormatType GetTimeDatePara(OUString const & rStr, sal_uInt32& rFormat, LanguageType &rLang,
1847  int nWhichDefault, bool bHijri = false);
1849  eF_ResT Read_F_DateTime( WW8FieldDesc*, OUString& rStr );
1850  eF_ResT Read_F_FileName( WW8FieldDesc*, OUString& rStr);
1851  eF_ResT Read_F_Num( WW8FieldDesc* pF, OUString& );
1852  eF_ResT Read_F_CurPage( WW8FieldDesc*, OUString& );
1853  eF_ResT Read_F_Ref( WW8FieldDesc* pF, OUString& );
1854 
1855  eF_ResT Read_F_Set( WW8FieldDesc*, OUString& rStr );
1856  eF_ResT Read_F_PgRef( WW8FieldDesc*, OUString& rStr );
1857  eF_ResT Read_F_NoteReference( WW8FieldDesc* pF, OUString& rStr );
1858 
1859  eF_ResT Read_F_Tox( WW8FieldDesc* pF, OUString& rStr );
1860  eF_ResT Read_F_Symbol( WW8FieldDesc*, OUString& rStr );
1861  eF_ResT Read_F_Embedd( WW8FieldDesc*, OUString& rStr );
1862  eF_ResT Read_F_FormTextBox( WW8FieldDesc* pF, OUString& rStr);
1863  eF_ResT Read_F_FormCheckBox( WW8FieldDesc* pF, OUString& rStr );
1864  eF_ResT Read_F_FormListBox( WW8FieldDesc* pF, OUString& rStr);
1865  css::awt::Size MiserableDropDownFormHack(const OUString &rString,
1866  css::uno::Reference<css::beans::XPropertySet> const & rPropSet);
1867 
1868  eF_ResT Read_F_Macro( WW8FieldDesc*, OUString& rStr);
1869  eF_ResT Read_F_DBField( WW8FieldDesc*, OUString& rStr );
1870  eF_ResT Read_F_DBNext( WW8FieldDesc*, OUString& );
1871  eF_ResT Read_F_DBNum( WW8FieldDesc*, OUString& );
1872  eF_ResT Read_F_Equation( WW8FieldDesc*, OUString& );
1874  eF_ResT Read_F_IncludePicture( WW8FieldDesc*, OUString& rStr );
1875  eF_ResT Read_F_IncludeText( WW8FieldDesc*, OUString& rStr );
1876  eF_ResT Read_F_Seq( WW8FieldDesc*, OUString& rStr );
1878  eF_ResT Read_F_Styleref(WW8FieldDesc*, OUString& rStr);
1879 
1880  eF_ResT Read_F_OCX(WW8FieldDesc*, OUString&);
1881  eF_ResT Read_F_Hyperlink(WW8FieldDesc*, OUString& rStr);
1882  eF_ResT Read_F_Shape(WW8FieldDesc* pF, OUString& rStr);
1883  eF_ResT Read_F_HTMLControl( WW8FieldDesc* pF, OUString& rStr);
1884 
1885  short ImportSprm(const sal_uInt8* pPos, sal_Int32 nMemLen, sal_uInt16 nId = 0);
1886 
1887  bool SearchRowEnd(WW8PLCFx_Cp_FKP* pPap,WW8_CP &rStartCp, int nLevel) const;
1889  bool SearchTableEnd(WW8PLCFx_Cp_FKP* pPap) const;
1891 
1892  const WW8Fib& GetFib() const { return *m_xWwFib; }
1893  SwDoc& GetDoc() const { return m_rDoc; }
1894  sal_uInt16 GetCurrentColl() const { return m_nCurrentColl; }
1895  void SetNCurrentColl( sal_uInt16 nColl ) { m_nCurrentColl = nColl; }
1896  std::unique_ptr<SfxItemSet> SetCurrentItemSet(std::unique_ptr<SfxItemSet> pItemSet);
1897  sal_uInt16 StyleUsingLFO( sal_uInt16 nLFOIndex ) const ;
1898  const SwFormat* GetStyleWithOrgWWName( std::u16string_view rName ) const ;
1899 
1900  static bool GetPictGrafFromStream(Graphic& rGraphic, SvStream& rSrc);
1901  static void PicRead( SvStream *pDataStream, WW8_PIC *pPic, bool bVer67);
1902  static bool ImportOleWMF(const tools::SvRef<SotStorage>& xSrc1, GDIMetaFile& rWMF, tools::Long& rX,
1903  tools::Long& rY);
1904  static Color GetCol(sal_uInt8 nIco);
1905 
1906  SwWW8ImplReader( sal_uInt8 nVersionPara, SotStorage* pStorage, SvStream* pSt,
1907  SwDoc& rD, const OUString& rBaseURL, bool bNewDoc, bool bSkipImages, SwPosition const &rPos );
1908 
1909  const OUString& GetBaseURL() const { return m_sBaseURL; }
1910  // load a complete doc file
1911  ErrCode LoadDoc(WW8Glossary *pGloss=nullptr);
1912  rtl_TextEncoding GetCurrentCharSet();
1913  rtl_TextEncoding GetCurrentCJKCharSet();
1914  rtl_TextEncoding GetCharSetFromLanguage();
1915  rtl_TextEncoding GetCJKCharSetFromLanguage();
1916 
1917  void PostProcessAttrs();
1918  void ReadEmbeddedData(SvStream& rStrm, SwDocShell const * pDocShell, struct HyperLinksTable& hlStr);
1919  void NotifyMacroEventRead();
1920 };
1921 
1922 bool CanUseRemoteLink(const OUString &rGrfName);
1923 void UseListIndent(SwWW8StyInf &rStyle, const SwNumFormat &rFormat);
1924 void SetStyleIndent(SwWW8StyInf &rStyleInfo, const SwNumFormat &rFormat);
1925 // #i103711#
1926 // #i105414#
1928  const SwNumFormat &rFormat,
1929  const bool bFirstLineOfStSet,
1930  const bool bLeftIndentSet );
1932 OUString BookmarkToWriter(std::u16string_view rBookmark);
1933 bool RTLGraphicsHack(SwTwips &rLeft, SwTwips nWidth,
1934  sal_Int16 eHoriOri, sal_Int16 eHoriRel, SwTwips nPageLeft,
1935  SwTwips nPageRight, SwTwips nPageSize);
1937  SfxItemSet &rFlySet);
1938 #endif
1939 
1940 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
bool HasFrame() const
Definition: ww8par.hxx:992
SwNodeIndex GetPtNode() const
Definition: ww8par.hxx:575
eF_ResT Read_F_Set(WW8FieldDesc *, OUString &rStr)
Definition: ww8par5.cxx:2003
void Read_ListLevel(sal_uInt16 nId, const sal_uInt8 *pData, short nLen)
Definition: ww8par3.cxx:1912
sal_uInt32 GetTextAreaWidth() const
Definition: ww8par2.cxx:160
sal_Int16 nSp45
Definition: ww8par.hxx:202
Instances of SwFields and those derived from it occur 0 to n times.
Definition: fldbas.hxx:240
void InsertTagField(const sal_uInt16 nId, const OUString &rTagText)
Definition: ww8par5.cxx:1109
void AdjustLVL(sal_uInt8 nLevel, SwNumRule &rNumRule, WW8aISet const &rListItemSet, WW8aCFormat &aCharFormat, bool &bNewCharFormatCreated, const OUString &aPrefix=OUString())
Definition: ww8par3.cxx:1026
SwWW8FltControlStack & operator=(const SwWW8FltControlStack &)=delete
virtual ~WW8FormulaControl()
Definition: ww8par.hxx:684
Type
std::unique_ptr< WW8PLCF_HdFt > m_xHdFt
Definition: ww8par.hxx:1247
WW8_BRCVer9 aDefBrcs[6]
Definition: ww8par.hxx:1043
SwFrameFormat * ImportGraf1(WW8_PIC const &rPic, SvStream *pSt, sal_uLong nFilePos)
Definition: ww8graf2.cxx:410
void Read_Language(sal_uInt16, const sal_uInt8 *, short nLen)
Definition: ww8par6.cxx:3997
short nLineHeight
Definition: ww8par.hxx:1027
sal_uInt32 m_nFieldFlags
Definition: ww8par.hxx:1279
std::unordered_map< sal_uInt32, Graphic > aOldEscherBlipCache
Definition: ww8par.hxx:755
sal_uInt16 pgnStart
Definition: ww8struc.hxx:1046
short nCenter[MAX_COL+1]
Definition: ww8par.hxx:1030
const OUString * GetAnnotationAuthor(sal_uInt16 nIdx)
Definition: ww8par.cxx:6082
void EndExtSprm(sal_uInt16 nSprmId)
Definition: ww8par6.cxx:5311
Exporter of the binary Word file formats.
Definition: wrtww8.hxx:988
sal_uInt8 m_nWwNumType
Definition: ww8par.hxx:1311
sal_uInt32 mnObjectId
Definition: ww8par.hxx:747
std::unique_ptr< SwWW8FltControlStack > m_xCtrlStck
Definition: ww8par.hxx:1106
void SetCurrentSectionVerticalAdjustment(const css::drawing::TextVerticalAdjust nVA)
Definition: ww8par2.cxx:119
OUString msFileLinkSeed
Definition: ww8par.hxx:960
rtl_TextEncoding m_eLTRFontSrcCharSet
Definition: ww8par.hxx:226
sal_uLong GetIndex() const
Definition: node.hxx:291
sal_uInt8 m_nWantedVersion
Definition: ww8par.hxx:1308
void SyncIndentWithList(SvxLRSpaceItem &rLR, const SwNumFormat &rFormat, const bool bFirstLineOfStSet, const bool bLeftIndentSet)
Definition: ww8par.cxx:1253
sal_Int32 mnImportedGraphicsCount
Definition: ww8par.hxx:942
SdrObject * ReadPolyLine(WW8_DPHEAD const *pHd, SfxAllItemSet &rSet)
Definition: ww8graf.cxx:428
sw::util::CharStyleMapper m_aCharStyleMapper
Definition: ww8par.hxx:1192
static sal_Int32 MatchSdrBoxIntoFlyBoxItem(const Color &rLineColor, MSO_LineStyle eLineStyle, MSO_LineDashing eDashing, MSO_SPT eShapeType, sal_Int32 &rLineWidth, SvxBoxItem &rBox)
Definition: ww8graf.cxx:1578
sal_uInt32 GetPageLeft() const
Definition: ww8par2.cxx:145
sal_Int32 dyaBottom
Definition: ww8struc.hxx:1061
std::map< OUString, css::uno::Any > parameter_map_t
Definition: IMark.hxx:94
sal_uInt8 mfNoMark
Definition: ww8par.hxx:666
static SwFrameFormat * ContainsSingleInlineGraphic(const SwPaM &rRegion)
Definition: ww8par6.cxx:3397
bool mbVertSet
Definition: ww8par.hxx:210
virtual bool Import(const css::uno::Reference< css::lang::XMultiServiceFactory > &rServiceFactory, css::uno::Reference< css::form::XFormComponent > &rFComp, css::awt::Size &rSz)=0
Represents the style of a paragraph.
Definition: fmtcol.hxx:56
std::deque< wwSection >::iterator mySegIter
Definition: ww8par.hxx:830
Marks a position in the document model.
Definition: pam.hxx:35
rtl_TextEncoding m_eStructCharSet
Definition: ww8par.hxx:1294
void Read_FieldVanish(sal_uInt16 nId, const sal_uInt8 *pData, short nLen)
Definition: ww8par5.cxx:3656
SwWW8FltControlStack(SwDoc &rDo, sal_uLong nFieldFl, SwWW8ImplReader &rReader_)
Definition: ww8par.hxx:380
ErrCode SetSubStreams(tools::SvRef< SotStorageStream > &rTableStream, tools::SvRef< SotStorageStream > &rDataStream)
Definition: ww8par.cxx:5439
SwWw8ControlType
Definition: ww8par.hxx:640
void ReadDocInfo()
Document Info.
Definition: ww8par.cxx:4764
bool InEqualOrHigherApo(int nLvl) const
Definition: ww8par.cxx:6628
bool m_bNotifyMacroEventRead
Definition: ww8par.hxx:1387
WW8FieldEntry(SwPosition const &rPos, sal_uInt16 nFieldId) noexcept
Definition: ww8par5.cxx:717
bool m_bLoadingTOXCache
Definition: ww8par.hxx:1372
sal_uInt16 nToggleAttrFlags
Definition: ww8par.hxx:369
sal_Int32 GetRangeAsDrawingString(OUString &rString, tools::Long StartCp, tools::Long nEndCp, ManTypes eType)
Definition: ww8graf.cxx:896
eF_ResT Read_F_DateTime(WW8FieldDesc *, OUString &rStr)
Definition: ww8par5.cxx:1780
static sal_uInt32 GetFilterFlags()
Definition: ww8par.cxx:492
std::unique_ptr< WW8RStyle > m_xStyles
Definition: ww8par.hxx:1238
void SetHlink(const OUString &rHlink)
Definition: ww8par.hxx:516
ReturnType ulimit_cast(Type nValue, ReturnType nMax)
Definition: ww8par.hxx:496
OUString msName
Definition: ww8par.hxx:689
SwFlyFrameFormat * m_pFlyFormatOfJustInsertedGraphic
Definition: ww8par.hxx:1207
SwWW8FltAnchorStack(SwDoc &rDo, sal_uLong nFieldFl)
Definition: ww8par.hxx:425
SwDoc & m_rDoc
Definition: ww8par.hxx:918
SdrObject * ReadCaptionBox(WW8_DPHEAD const *pHd, SfxAllItemSet &rSet)
Definition: ww8graf.cxx:1272
Pagedescriptor Client of SwPageDesc that is "described" by the attribute.
Definition: fmtpdsc.hxx:35
SwMSDffManager(const SwMSDffManager &)=delete
ErrCode LoadThroughDecryption(WW8Glossary *pGloss)
Definition: ww8par.cxx:5704
bool ProcessSpecial(bool &rbReSync, WW8_CP nStartCp)
Definition: ww8par.cxx:2622
static Color ExtractColour(const sal_uInt8 *&rpData, bool bVer67)
Definition: ww8par6.cxx:4960
void Read_HdFtTextAsHackedFrame(WW8_CP nStart, WW8_CP nLen, SwFrameFormat const &rHdFtFormat, sal_uInt16 nPageWidth)
Definition: ww8par.cxx:2180
void NotifyMacroEventRead()
Definition: ww8par.cxx:6688
sal_uInt32 m_nFieldTagAlways[3]
Definition: ww8par.hxx:1280
void check_anchor_destination(SwTextNode *pTextNode)
Definition: ww8par.hxx:927
void StartAnl(const sal_uInt8 *pSprm13)
Definition: ww8par2.cxx:908
bool RTLGraphicsHack(SwTwips &rLeft, SwTwips nWidth, sal_Int16 eHoriOri, sal_Int16 eHoriRel, SwTwips nPageLeft, SwTwips nPageRight, SwTwips nPageSize)
Definition: wrtw8esh.cxx:531
std::stack< std::unique_ptr< sw::util::RedlineStack > > m_aFrameRedlines
Definition: ww8par.hxx:1112
eF_ResT Read_F_Num(WW8FieldDesc *pF, OUString &)
Definition: ww8par5.cxx:1878
void Read_TextBackColor(sal_uInt16, const sal_uInt8 *pData, short nLen)
Definition: ww8par6.cxx:4109
sal_uInt16 End_Field()
Definition: ww8par5.cxx:503
void ReadDef(bool bVer67, const sal_uInt8 *pS, short nLen)
Definition: ww8par2.cxx:1103
OUString msMarkType
Definition: ww8par.hxx:562
sal_uInt32 GetWWPageTopMargin() const
Definition: ww8par2.cxx:165
void Read_ApoPPC(sal_uInt16, const sal_uInt8 *pData, short)
Definition: ww8par6.cxx:5230
SwNumRule * m_pOutlineNumrule
Definition: ww8par.hxx:231
sal_uInt16 mnDesc
Definition: ww8par.hxx:833
size_t GetWW8LSTInfoNum() const
Definition: ww8par.hxx:163
SotStorage * m_pStg
Definition: ww8par.hxx:1096
bool SearchRowEnd(WW8PLCFx_Cp_FKP *pPap, WW8_CP &rStartCp, int nLevel) const
Definition: ww8par2.cxx:326
void delete_all_from_doc()
Definition: ww8par.cxx:4684
void Read_CColl(sal_uInt16, const sal_uInt8 *, short nLen)
Definition: ww8par6.cxx:4031
void Read_CFRMark(sal_uInt16, const sal_uInt8 *pData, short nLen)
Definition: ww8par4.cxx:527
std::deque< WW8FieldEntry > maOldFieldStack
Definition: ww8par.hxx:594
wwSection(const SwPosition &rPos)
Definition: ww8par6.cxx:823
sal_uInt8 fTitlePage
Definition: ww8struc.hxx:1010
tools::Long Read_And(WW8PLCFManResult *pRes)
Use authornames, if not available fall back to initials.
Definition: ww8par.cxx:2105
void SetBookmarkType(const OUString &bookmarkType)
Definition: ww8par5.cxx:746
void ReadAttrs(WW8_CP &rTextPos, WW8_CP &rNext, tools::Long nTextEnd, bool &rbStartLine)
Definition: ww8par.cxx:3956
void CreateSep(const tools::Long nTextPos)
Definition: ww8par6.cxx:857
virtual bool ReadGlossaries(SwTextBlocks &, bool bSaveRelFiles) const override
Definition: ww8par.cxx:6517
ANLDRuleMap m_aANLDRules
Definition: ww8par.hxx:1256
sal_uInt16 m_nProgress
Definition: ww8par.hxx:1296
void Read_SubSuperProp(sal_uInt16, const sal_uInt8 *, short nLen)
Definition: ww8par6.cxx:3460
std::set< SwTextNode *, SwWW8::ltnode > m_aTextNodes
Definition: ww8par.hxx:917
sal_uInt16 mnCurrentColl
Definition: ww8par.hxx:605
static bool SetBorder(SvxBoxItem &rBox, const WW8_BRCVer9 *pbrc, short *pSizeArray=nullptr, sal_uInt8 nSetBorders=0xFF)
Definition: ww8par6.cxx:1510
sal_Int16 nSp27
Definition: ww8par.hxx:201
bool get_flag(Type nBitField, Type nMask)
Definition: ww8par.hxx:492
void Read_IdctHint(sal_uInt16, const sal_uInt8 *, short nLen)
Definition: ww8par6.cxx:4516
void StoreMacroCmds()
Definition: ww8par.cxx:4697
void simpleAddTextToParagraph(const OUString &rAddString)
Definition: ww8par.cxx:3435
eF_ResT Read_F_InputVar(WW8FieldDesc *, OUString &rStr)
Definition: ww8par5.cxx:1363
sal_Int16 nLoMgn
Definition: ww8par.hxx:203
eF_ResT Read_F_Author(WW8FieldDesc *, OUString &)
Definition: ww8par5.cxx:1761
void Read_Bidi(sal_uInt16 nId, const sal_uInt8 *, short nLen)
Definition: ww8par6.cxx:3087
void SetHdFt(wwSection const &rSection, int nSect, const wwSection *pPrevious)
Definition: ww8par.cxx:2381
void MatchSdrItemsIntoFlySet(SdrObject const *pSdrObj, SfxItemSet &aFlySet, MSO_LineStyle eLineStyle, MSO_LineDashing eDashing, MSO_SPT eShapeType, tools::Rectangle &rInnerDist)
Definition: ww8graf.cxx:1663
SwFieldType * m_pNumFieldType
Definition: ww8par.hxx:1264
virtual SwFltStackEntry * SetAttr(const SwPosition &rPos, sal_uInt16 nAttrId, bool bTstEnd=true, tools::Long nHand=LONG_MAX, bool consumedByField=false) override
Definition: ww8par.cxx:1193
std::vector< sal_uInt8 > bytes
Definition: types.hxx:29
rtl_TextEncoding GetCharSetFromLanguage()
Definition: ww8par.cxx:2787
rtl_TextEncoding m_eCJKFontSrcCharSet
Definition: ww8par.hxx:228
rtl_TextEncoding GetCharSet() const
Definition: ww8par2.cxx:4545
void Read_BoolItem(sal_uInt16 nId, const sal_uInt8 *, short nLen)
Definition: ww8par6.cxx:4633
bool mbHasFootnote
Definition: ww8par.hxx:800
bool m_bParaAutoBefore
Definition: ww8par.hxx:260
void DeleteCtrlStack()
Definition: ww8par.hxx:1412
sal_uIntPtr sal_uLong
bool IsObjectLayoutInTableCell(const sal_uInt32 nLayoutInTableCell) const
Definition: ww8graf.cxx:2442
long Long
static bool ImportOleWMF(const tools::SvRef< SotStorage > &xSrc1, GDIMetaFile &rWMF, tools::Long &rX, tools::Long &rY)
Definition: ww8par4.cxx:304
sal_Int16 nSp28
Definition: ww8par.hxx:202
SwNodeIndex maPtNode
Definition: ww8par.hxx:545
void SetNCurrentColl(sal_uInt16 nColl)
Definition: ww8par.hxx:1895
bool m_bHasStyNumRule
Definition: ww8par.hxx:253
SwNumRule * GetNumRule(const SwDoc &rDoc, sal_uInt8 nNumType)
Definition: ww8par2.cxx:890
wwFrameNamer m_aGrfNameGenerator
Definition: ww8par.hxx:1186
sal_uInt8 mfType
Definition: ww8par.hxx:667
void Read_HdFtText(WW8_CP nStartCp, WW8_CP nLen, SwFrameFormat const *pHdFtFormat)
Definition: ww8par.cxx:2229
Base class of all fields.
Definition: fldbas.hxx:289
OUString maNameStr
Definition: ww8par.hxx:528
std::unique_ptr< SwWW8FltRefStack > m_xReffingStck
Definition: ww8par.hxx:1128
wwExtraneousParas m_aExtraneousParas
Definition: ww8par.hxx:1165
static void AdjustLRWrapForWordMargins(const SvxMSDffImportRec &rRecord, SvxLRSpaceItem &rLR)
Definition: ww8graf.cxx:1922
void MakeTagString(OUString &rStr, const OUString &rOrg)
Definition: ww8par5.cxx:1041
void ImportDopTypography(const WW8DopTypography &rTypo)
Definition: ww8par.cxx:1941
void ReadGlobalTemplateSettings(std::u16string_view sCreatedFrom, const css::uno::Reference< css::container::XNameContainer > &xPrjNameMap)
Definition: ww8par.cxx:4888
bool GetFontParams(sal_uInt16, FontFamily &, OUString &, FontPitch &, rtl_TextEncoding &)
Definition: ww8par6.cxx:3677
virtual SwReaderType GetReaderType() override
Definition: ww8par.cxx:6507
sal_uInt32 nPgWidth
Definition: ww8par.hxx:792
bool FloatingTableConversion(WW8PLCFx_Cp_FKP *pPap)
Definition: ww8par.cxx:2538
static sal_Int32 GetEscherLineMatch(MSO_LineStyle eStyle, MSO_SPT eShapeType, sal_Int32 &rThick)
Definition: ww8graf.cxx:1520
std::unique_ptr< FrameDeleteWatch > m_xFormatOfJustInsertedApo
Definition: ww8par.hxx:1208
Definition: doc.hxx:188
const OUString & GetTarFrame() const
Definition: ww8par.hxx:519
#define MAX_COL
Definition: ww8par.hxx:1016
WW8PLCFxSaveAll maPLCFxSave
Definition: ww8par.hxx:591
bool m_bWasTabCellEnd
Definition: ww8par.hxx:1327
std::unique_ptr< WW8FlyPara > m_xWFlyPara
Definition: ww8par.hxx:1249
constexpr sal_uInt8 MAXLEVEL
Definition: swtypes.hxx:90
void Read_Underline(sal_uInt16, const sal_uInt8 *, short nLen)
Definition: ww8par6.cxx:3500
std::shared_ptr< WW8Fib > m_xWwFib
Definition: ww8par.hxx:1227
bool StyleExists(unsigned int nColl) const
Definition: ww8par.hxx:1392
void Read_TextVerticalAdjustment(sal_uInt16, const sal_uInt8 *pData, short nLen)
Definition: ww8par6.cxx:4979
OUString msEntryMcr
Definition: ww8par.hxx:681
sal_uInt16 m_nFollow
Definition: ww8par.hxx:234
SwCharFormat * WW8aCFormat[nMaxLevel]
Definition: ww8par.hxx:185
bool HasTitlePage() const
Definition: ww8par.hxx:807
ManTypes meType
Definition: ww8par.hxx:974
std::unique_ptr< EditEngine > m_pDrawEditEngine
Definition: ww8par.hxx:1261
void SetToggleAttr(sal_uInt8 nId, bool bOn)
Definition: ww8par.hxx:389
void InsertFormula(WW8FormulaControl &rFormula)
Definition: ww8par3.cxx:2123
static void GetBorderDistance(const WW8_BRCVer9 *pbrc, tools::Rectangle &rInnerDist)
Definition: ww8par6.cxx:1570
sal_uInt8 mnWW8OutlineLevel
Definition: ww8par.hxx:244
std::unique_ptr< WW8TabDesc > m_xTableDesc
Definition: ww8par.hxx:1252
void Read_POutLvl(sal_uInt16, const sal_uInt8 *pData, short nLen)
Definition: ww8par6.cxx:2901
std::unique_ptr< SwPaM > m_pPosAfterTOC
Definition: ww8par.hxx:1377
SdrPage * m_pDrawPg
Definition: ww8par.hxx:1260
std::unique_ptr< WW8ListManager, o3tl::default_delete< WW8ListManager > > m_xLstManager
Definition: ww8par.hxx:1230
OUString msDefault
Definition: ww8par.hxx:676
bool CanUseRemoteLink(const OUString &rGrfName)
Definition: ww8par5.cxx:2373
sal_Int16 nUpMgn
Definition: ww8par.hxx:203
bool m_bNoLnNumYet
Definition: ww8par.hxx:1358
sal_uInt32 m_nIniFlags
Definition: ww8par.hxx:1277
SwPageDesc * mpPage
Definition: ww8par.hxx:789
sal_uInt32 GetTextAreaWidth() const
Definition: ww8par.hxx:812
bool IsBiDi() const
Definition: ww8par.hxx:810
SvxFrameDirection
rtl_TextEncoding GetCJKCharSet() const
Definition: ww8par2.cxx:4552
std::unique_ptr< SwMSDffManager > m_xMSDffManager
Definition: ww8par.hxx:1266
const SfxPoolItem * GetFormatAttr(sal_uInt16 nWhich)
Definition: ww8par6.cxx:2814
bool m_bInHyperlink
Definition: ww8par.hxx:1344
void Read_OLST(sal_uInt16, const sal_uInt8 *pData, short nLen)
Definition: ww8par2.cxx:860
void StopAnlToRestart(sal_uInt8 nType, bool bGoBack=true)
Definition: ww8par2.cxx:1051
bool mbIsDisabled
Definition: ww8par.hxx:943
Dialog to specify the properties of date form field.
static void MapWrapIntoFlyFormat(const SvxMSDffImportRec &rRecord, SwFrameFormat &rFlyFormat)
Definition: ww8graf.cxx:1990
std::optional< std::vector< OUString > > m_xAtnNames
Definition: ww8par.hxx:1268
sal_Int32 m_nIniFlyDy
Definition: ww8par.hxx:1291
WW8FlyPara * mpStyleApo
Definition: ww8par.hxx:987
void ProcessSprmTDelete(const sal_uInt8 *pParamsTDelete)
Definition: ww8par2.cxx:1534
sal_uInt16 m_n81BiDiFlags
Definition: ww8par.hxx:247
void MoveInsideFly(const SwFrameFormat *pFlyFormat)
Definition: ww8par6.cxx:2292
short mnDefaultBottom
Definition: ww8par.hxx:1025
std::shared_ptr< T > make_shared(Args &&...args)
WW8FormulaCheckBox & operator=(const WW8FormulaCheckBox &)=delete
o3tl::sorted_vector< const SwNode * > m_aTextNodesHavingLeftIndentSet
Definition: ww8par.hxx:1236
std::unique_ptr< WW8SmartTagData > m_pSmartTagData
Definition: ww8par.hxx:1270
sal_uInt32 GetPageWidth() const
Definition: ww8par.hxx:811
rtl_TextEncoding GetCurrentCJKCharSet()
Definition: ww8par.cxx:2849
bool ReadChars(WW8_CP &rPos, WW8_CP nNextAttr, tools::Long nTextEnd, tools::Long nCpOfs)
Return value: true for para end.
Definition: ww8par.cxx:3480
void CloseAttrEnds()
CloseAttrEnds to only read the attribute ends at the end of a text or a text area (Header...
Definition: ww8par.cxx:3989
void HandleLineNumbering(const wwSection &rSection)
Definition: ww8par6.cxx:774
void insert(SwTextNode *pTextNode)
Definition: ww8par.hxx:926
eF_ResT Read_F_Macro(WW8FieldDesc *, OUString &rStr)
Definition: ww8par5.cxx:2269
std::unique_ptr< sw::util::RedlineStack > mxOldRedlines
Definition: ww8par.hxx:597
wwSectionManager & operator=(const wwSectionManager &)=delete
SwWW8ImplReader & rReader
Definition: ww8par.hxx:367
#define OK
const WW8Fib & GetFib() const
Definition: ww8par.hxx:1892
bool JoinNode(SwPaM &rPam, bool bStealAttr=false)
Definition: ww8par6.cxx:2525
bool m_bRegardHindiDigits
Definition: ww8par.hxx:1282
SwNumRule * GetNumRule(size_t i)
Definition: ww8par3.cxx:1139
void SetCurrentSectionHasFootnote()
Definition: ww8par2.cxx:111
sal_Int32 dyaTop
Definition: ww8struc.hxx:1060
bool m_bPgSecBreak
Definition: ww8par.hxx:1318
WW8FormulaCheckBox(const WW8FormulaCheckBox &)=delete
void TabCellEnd()
Definition: ww8par2.cxx:3490
bool ConvertSubToGraphicPlacement()
Definition: ww8par6.cxx:3430
void Read(sal_uInt8 nSprm29, WW8PLCFx_Cp_FKP *pPap)
Definition: ww8par6.cxx:1697
void PopTableDesc()
Definition: ww8par2.cxx:3511
bool ReadChar(tools::Long nPosCp, tools::Long nCpOfs)
Definition: ww8par.cxx:3568
bool m_bListRelevantIndentSet
Definition: ww8par.hxx:255
WW8_SHD * pSHDs
Definition: ww8par.hxx:1041
sal_uInt8 fBiDi
Definition: ww8struc.hxx:1068
sal_uInt16 mhpsCheckBox
Definition: ww8par.hxx:670
bool IsRightToLeft()
Definition: ww8par6.cxx:4571
SwFrameFormat * ImportOle(const Graphic *=nullptr, const SfxItemSet *pFlySet=nullptr, const SfxItemSet *pGrfSet=nullptr, const tools::Rectangle &aVisArea=tools::Rectangle())
Definition: ww8par4.cxx:240
bool StartTable(WW8_CP nStartCp)
Definition: ww8par2.cxx:3370
eF_ResT Read_F_Shape(WW8FieldDesc *pF, OUString &rStr)
Definition: ww8par5.cxx:3475
sal_uInt16 m_nBase
Definition: ww8par.hxx:233
const OUString & GetName() const
Definition: ww8par.hxx:523
const SfxPoolItem * GetFormatAttr(const SwPosition &rPos, sal_uInt16 nWhich)
Definition: ww8par.cxx:1453
bool bExist[MAX_COL]
Definition: ww8par.hxx:1045
void ReadShd(const sal_uInt8 *pS)
Definition: ww8par2.cxx:1580
eF_ResT Read_F_Seq(WW8FieldDesc *, OUString &rStr)
Definition: ww8par5.cxx:1433
void ReadFull(sal_uInt8 nSprm29, SwWW8ImplReader *pIo)
Definition: ww8par6.cxx:1748
OUString GetMappedBookmark(std::u16string_view rOrigName)
Definition: ww8par5.cxx:1347
rtl_TextEncoding m_eHardCharSet
Definition: ww8par.hxx:1295
bool mbSymbol
Definition: ww8par.hxx:608
wwFrameNamer & operator=(wwFrameNamer const &)=delete
bool ImportFormulaControl(WW8FormulaControl &rBox, WW8_CP nStart, SwWw8ControlType nWhich)
Definition: ww8par3.cxx:2069
void Read_ANLevelDesc(sal_uInt16, const sal_uInt8 *pData, short nLen)
Definition: ww8par2.cxx:787
bool InLocalApo() const
Definition: ww8par.hxx:1561
rtl_TextEncoding m_eRTLFontSrcCharSet
Definition: ww8par.hxx:227
bool m_bHasSprm37
Definition: ww8par.hxx:984
SvxNumType
static LanguageType nLang
Definition: srtdlg.cxx:51
bool IsFixedHeightFooter() const
Definition: ww8par.hxx:819
const OUString & GetHlink() const
Definition: ww8par.hxx:517
void RegisterNumFormat(sal_uInt16 nCurrentLFO, sal_uInt8 nCurrentLevel)
Definition: ww8par3.cxx:1903
static void SetNumberingType(const wwSection &rNewSection, SwPageDesc &rPageDesc)
Definition: ww8par6.cxx:837
void GraphicDtor()
Definition: ww8graf.cxx:3207
void GraphicCtor()
Definition: ww8graf.cxx:3185
void SetSegmentToPageDesc(const wwSection &rSection, bool bIgnoreCols)
Definition: ww8par.cxx:4340
SdrObject * ReadEllipse(WW8_DPHEAD const *pHd, SfxAllItemSet &rSet)
Definition: ww8graf.cxx:367
SwTwips MoveOutsideFly(SwFrameFormat *pFlyFormat, const SwPosition &rPos, bool bTableJoin=true)
Definition: ww8par6.cxx:2307
static SvxNumType GetSvxNumTypeFromMSONFC(sal_uInt16 nMSONFC)
Definition: ww8par3.cxx:517
SwFlyFrameFormat * InsertOle(SdrOle2Obj &rObject, const SfxItemSet &rFlySet, const SfxItemSet *rGrfSet)
Definition: ww8par4.cxx:196
std::unique_ptr< sw::util::RedlineStack > m_xRedlineStack
Definition: ww8par.hxx:1113
WW8LSTInfo * GetLSTByListId(sal_uInt32 nIdLst) const
Definition: ww8par3.cxx:482
void Read_ParaContextualSpacing(sal_uInt16 nId, const sal_uInt8 *pData, short nLen)
Definition: ww8par6.cxx:4504
sal_uInt8 mfDropdownIndex
Definition: ww8par.hxx:664
virtual bool Import(const css::uno::Reference< css::lang::XMultiServiceFactory > &, css::uno::Reference< css::form::XFormComponent > &, css::awt::Size &) override
Definition: ww8par.hxx:728
SvxFrameDirection meDir
Definition: ww8par.hxx:790
void SetToggleBiDiAttr(sal_uInt8 nId, bool bOn)
Definition: ww8par.hxx:399
void Read_Border(sal_uInt16 nId, const sal_uInt8 *pData, short nLen)
Definition: ww8par6.cxx:5002
std::deque< FootnoteDescriptor > m_aFootnoteStack
Definition: ww8par.hxx:1153
static void SetLeftRight(wwSection &rSection)
Definition: ww8par6.cxx:475
void Read_LFOPosition(sal_uInt16 nId, const sal_uInt8 *pData, short nLen)
read and interpret the sprmPIlfo used to determine which list contains the paragraph.
Definition: ww8par3.cxx:1959
void Read_ParaAutoAfter(sal_uInt16, const sal_uInt8 *pData, short nLen)
Definition: ww8par6.cxx:4432
wwSprmParser maSprmParser
Definition: ww8par.hxx:167
sal_uInt8 mfUnknown
Definition: ww8par.hxx:663
sal_Int32 StandardColSeparation() const
Definition: ww8par.hxx:806
const SwNumRule * m_pPrevNumRule
Definition: ww8par.hxx:1210
wwSectionManager(SwWW8ImplReader &rReader)
Definition: ww8par.hxx:880
void emulateMSWordAddTextToParagraph(const OUString &rAddString)
Definition: ww8par.cxx:3279
sal_uInt16 sal_Unicode
void GetSmartTagInfo(SwFltRDFMark &rMark)
Definition: ww8par.cxx:6120
bool HasOwnHeaderFooter(sal_uInt8 nWhichItems, sal_uInt8 grpfIhdt, int nSect)
Definition: ww8par.cxx:2248
Stores RDF statements on a paragraph (key-value pairs where the subject is the paragraph).
Definition: fltshell.hxx:242
OUString msExitMcr
Definition: ww8par.hxx:682
sal_uInt16 GetWWStyleId() const
Definition: ww8par.hxx:328
void Read_Relief(sal_uInt16, const sal_uInt8 *pData, short nLen)
Definition: ww8par6.cxx:4733
SwMacroInfo & operator=(SwMacroInfo const &)=delete
bool m_bParaAutoAfter
Definition: ww8par.hxx:261
bool IsInlineEscherHack() const
Definition: ww8par.hxx:1693
short m_nDrawYOfs2
Definition: ww8par.hxx:1304
MSO_LineDashing
sal_uInt16 mnFieldId
Definition: ww8par.hxx:568
void Read_Kern(sal_uInt16, const sal_uInt8 *pData, short nLen)
Definition: ww8par6.cxx:4061
sal_uInt16 mnChecked
Definition: ww8par.hxx:671
MSO_SPT
ErrCode DecryptDRMPackage()
Definition: ww8par.cxx:6368
std::unique_ptr< SwWW8ReferencedFltEndStack > m_xReffedStck
Definition: ww8par.hxx:1120
std::unique_ptr< SfxItemSet > m_xScratchSet
Definition: ww8par.hxx:368
sal_uLong mnObjLocFc
Definition: ww8par.hxx:569
virtual SdrObject * ImportOLE(sal_uInt32 nOLEId, const Graphic &rGrf, const tools::Rectangle &rBoundRect, const tools::Rectangle &rVisArea, const int _nCalledByGroup) const override
Definition: ww8par.cxx:513
sal_Int32 m_nDropCap
Definition: ww8par.hxx:1367
std::shared_ptr< WW8FlyPara > m_xWWFly
Definition: ww8par.hxx:230
std::vector< SwWW8StyInf > m_vColl
Definition: ww8par.hxx:1243
void ProcessCurrentCollChange(WW8PLCFManResult &rRes, bool *pStartAttr, bool bCallProcessSpecial)
Definition: ww8par.cxx:3794
void SetRelativeJustify(bool bRel)
Definition: ww8par6.cxx:314
void Read_Shade(sal_uInt16, const sal_uInt8 *pData, short nLen)
Definition: ww8par6.cxx:4915
SwFormat * m_pStandardFormatColl
Definition: ww8par.hxx:1245
Knows which writer style a given word style should be imported as.
Definition: msfilter.hxx:199
sal_uInt8 nSp37
Definition: ww8par.hxx:205
sal_uInt32 yaPage
Definition: ww8struc.hxx:1055
OUString msSeed
Definition: ww8par.hxx:941
void Read_ParaAutoBefore(sal_uInt16, const sal_uInt8 *pData, short nLen)
Definition: ww8par6.cxx:4405
SwMSConvertControls(SfxObjectShell const *pDSh, SwPaM *pP)
Definition: wrtw8esh.cxx:3011
std::unique_ptr< SfxItemSet > WW8aISet[nMaxLevel]
Definition: ww8par.hxx:183
bool mbHasSpacing
Definition: ww8par.hxx:1026
bool m_bImportSkipped
Definition: ww8par.hxx:252
eF_ResT Read_F_DBNum(WW8FieldDesc *, OUString &)
Definition: ww8par5.cxx:2604
std::unique_ptr< SwPosition > m_pLastAnchorPos
Definition: ww8par.hxx:1381
WW8_BRCVer9_5 brc
Definition: ww8par.hxx:206
void Read_Obj(sal_uInt16, const sal_uInt8 *, short nLen)
Definition: ww8par6.cxx:2861
wwSectionNamer & operator=(const wwSectionNamer &)=delete
SvStream * m_pStrm
Definition: ww8par.hxx:1097
void DeleteAnchorStack()
Definition: ww8par.hxx:1421
const SwTextFormatColl * m_pDfltTextFormatColl
Definition: ww8par.hxx:1244
sw::util::ParaStyleMapper m_aParaStyleMapper
Definition: ww8par.hxx:1191
bool m_bWWBugNormal
Definition: ww8par.hxx:1342
WW8FormulaListBox(const WW8FormulaListBox &)=delete
SwSectionFormat * InsertSection(SwPaM const &rMyPaM, wwSection &rSection)
Definition: ww8par6.cxx:717
void Read_Justify(sal_uInt16, const sal_uInt8 *, short nLen)
Definition: ww8par6.cxx:4534
virtual bool HasGlossaries() const override
Definition: ww8par.cxx:6512
sal_uInt32 GetPageLeft() const
Definition: ww8par.hxx:815
void Read_Hyphenation(sal_uInt16, const sal_uInt8 *pData, short nLen)
Definition: ww8par6.cxx:5115
exports com.sun.star. drawing
cp_set m_aTOXEndCps
Definition: ww8par.hxx:1385
bool IsWW8BuiltInHeadingStyle() const
Definition: ww8par.hxx:333
bool mbInHyperlink
Definition: ww8par.hxx:612
void InsertTxbxText(SdrTextObj *pTextObj, Size const *pObjSiz, sal_uInt16 nTxBxS, sal_uInt16 nSequence, tools::Long nPosCp, SwFrameFormat const *pFlyFormat, bool bMakeSdrGrafObj, bool &rbEraseTextObj, bool *pbTestTxbxContainsText=nullptr, tools::Long *pnStartCp=nullptr, tools::Long *pnEndCp=nullptr, bool *pbContainsGraphics=nullptr, SvxMSDffImportRec const *pRecord=nullptr)
Definition: ww8graf.cxx:1016
sal_uInt32 nPgRight
Definition: ww8par.hxx:794
static bool GetPictGrafFromStream(Graphic &rGraphic, SvStream &rSrc)
Definition: ww8graf2.cxx:234
void SetBookmarkCode(const OUString &bookmarkCode)
Definition: ww8par5.cxx:751
void InsertTxbxStyAttrs(SfxItemSet &rS, sal_uInt16 nColl)
Definition: ww8graf.cxx:495
void ProcessSpecificSpacing(const sal_uInt8 *pParamsTInsert)
Definition: ww8par2.cxx:1498
eF_ResT Read_F_IncludeText(WW8FieldDesc *, OUString &rStr)
Definition: ww8par5.cxx:2482
const SwDoc & mrDoc
Definition: ww8par.hxx:959
short m_nDrawXOfs2
Definition: ww8par.hxx:1304
OUString msFormatting
Definition: ww8par.hxx:677
sal_uInt16 m_n81Flags
Definition: ww8par.hxx:246
::sw::mark::IFieldmark::parameter_map_t maParams
Definition: ww8par.hxx:564
WW8Reader()
Definition: ww8par.hxx:141
eF_ResT
Definition: ww8par.hxx:623
sal_uInt8 mfUnused
Definition: ww8par.hxx:668
void Read_TextColor(sal_uInt16, const sal_uInt8 *, short nLen)
Definition: ww8par6.cxx:3591
bool m_bLoadingTOXHyperlink
Definition: ww8par.hxx:1375
sal_uInt8 bkc
Definition: ww8struc.hxx:1009
bool operator==(const WW8FlyPara &rSrc) const
Definition: ww8par6.cxx:1674
std::map< OUString, OUString, SwWW8::ltstr > aFieldVarNames
Definition: ww8par.hxx:482
void ProcessSprmTDxaCol(const sal_uInt8 *pParamsTDxaCol)
Definition: ww8par2.cxx:1344
SwFltStackEntry * RefToVar(const SwField *pField, SwFltStackEntry &rEntry)
Definition: ww8par5.cxx:1324
static sal_uInt8 nTablePos
Definition: basesh.cxx:113
eF_ResT Read_F_PgRef(WW8FieldDesc *, OUString &rStr)
Definition: ww8par5.cxx:2172
SvStream & rSt
Definition: ww8par.hxx:171
bool StartApo(const ApoTestResults &rApo, const WW8_TablePos *pTabPos)
Definition: ww8par6.cxx:2435
void Read_FontKern(sal_uInt16, const sal_uInt8 *pData, short nLen)
Definition: ww8par6.cxx:4072
bool m_bDrawCpOValid
Definition: ww8par.hxx:1284
void DisableFallbackStream()
Definition: ww8par.cxx:562
tools::Long ReadTextAttr(WW8_CP &rTextPos, tools::Long nTextEnd, bool &rbStartLine, int nDepthGuard=0)
Definition: ww8par.cxx:3835
void Read_ScaleWidth(sal_uInt16, const sal_uInt8 *pData, short nLen)
Definition: ww8par6.cxx:4719
WW8_TCell * pTCs
Definition: ww8par.hxx:1038
bool IsNotProtected() const
Definition: ww8par.hxx:803
OUString maTarFrame
Definition: ww8par.hxx:529
SwWW8ImplReader(const SwWW8ImplReader &)=delete
bool m_bParaAutoAfter
Definition: ww8par.hxx:1364
Base class for various Writer styles.
Definition: format.hxx:46
#define SAL_N_ELEMENTS(arr)
sal_uInt16 GetCurrentColl() const
Definition: ww8par.hxx:1894
wwSectionManager(const wwSectionManager &)=delete
void Read_CFRMarkDel(sal_uInt16, const sal_uInt8 *pData, short nLen)
Definition: ww8par4.cxx:533
void Read_Symbol(sal_uInt16, const sal_uInt8 *pData, short nLen)
Definition: ww8par6.cxx:2934
void SetStylesList(sal_uInt16 nStyle, sal_uInt16 nCurrentLFO, sal_uInt8 nCurrentLevel)
Definition: ww8par3.cxx:1723
tools::Long MapBookmarkVariables(const WW8FieldDesc *pF, OUString &rOrigName, const OUString &rData)
Definition: ww8par5.cxx:1284
void Read_KeepParas(sal_uInt16, const sal_uInt8 *pData, short nLen)
Definition: ww8par6.cxx:5213
WW8_BRCVer9 brc[4]
Definition: ww8par.hxx:786
WW8_CP Read_F_Tag(WW8FieldDesc *pF)
Definition: ww8par5.cxx:1134
virtual bool Import(const css::uno::Reference< css::lang::XMultiServiceFactory > &rServiceFactory, css::uno::Reference< css::form::XFormComponent > &rFComp, css::awt::Size &rSz) override
Definition: ww8par3.cxx:2493
void ExportControl(WW8Export &rWrt, const SdrUnoObj &rFormObj)
Definition: wrtw8esh.cxx:3033
void Read_SubF_Ruby(msfilter::util::WW8ReadFieldParams &rReadParam)
Definition: ww8par5.cxx:2652
SwFrameFormat * Read_GrafLayer(tools::Long nGrafAnchorCp)
Definition: ww8graf.cxx:2504
bool mbStartApo
Definition: ww8par.hxx:982
sal_uInt16 m_nFieldNum
Definition: ww8par.hxx:1298
void Read_CharBorder(sal_uInt16 nId, const sal_uInt8 *pData, short nLen)
Definition: ww8par6.cxx:5076
void StopAllAnl(bool bGoBack=true)
Definition: ww8par2.cxx:1044
OUString m_sWWStyleName
Definition: ww8par.hxx:223
bool m_bFirstParaOfPage
Definition: ww8par.hxx:1362
sal_Int32 m_nIniFlyDx
Definition: ww8par.hxx:1290
eF_ResT Read_F_FormCheckBox(WW8FieldDesc *pF, OUString &rStr)
Definition: ww8par3.cxx:185
WW8FlyPara(bool bIsVer67, const WW8FlyPara *pSrc=nullptr)
Definition: ww8par6.cxx:1651
eF_ResT Read_F_DBField(WW8FieldDesc *, OUString &rStr)
Definition: ww8par5.cxx:2550
PaM is Point and Mark: a selection of the document model.
Definition: pam.hxx:136
void SetDirection()
Definition: ww8par6.cxx:166
SwPosition maTmpPos
Definition: ww8par.hxx:592
void PrependedInlineNode(const SwPosition &rPos, const SwNode &rNode)
Definition: ww8par2.cxx:2359
void SetAttributesAtGrfNode(const SvxMSDffImportRec &rRecord, const SwFrameFormat &rFlyFormat, WW8_FSPA const *pF)
Definition: ww8graf.cxx:2110
sal_uInt16 GetToggleAttrFlags() const
Definition: ww8par.hxx:397
std::unique_ptr< wwZOrderer > m_xWWZOrder
Definition: ww8par.hxx:1262
eF_ResT Read_F_TemplName(WW8FieldDesc *, OUString &)
Definition: ww8par5.cxx:1771
bool CurrentSectionIsProtected() const
Definition: ww8par2.cxx:136
void Read_CRevisionMark(RedlineType eType, const sal_uInt8 *pData, short nLen)
Definition: ww8par4.cxx:472
WW8_BRCVer9 WW8_BRCVer9_5[5]
Definition: ww8struc.hxx:354
sal_uInt8 fPgnRestart
Definition: ww8struc.hxx:1015
short ImportSprm(const sal_uInt8 *pPos, sal_Int32 nMemLen, sal_uInt16 nId=0)
Definition: ww8par6.cxx:6123
ApoTestResults TestApo(int nCellLevel, bool bTableRowEnd, const WW8_TablePos *pTabPos)
Definition: ww8par2.cxx:419
OUString msHelp
Definition: ww8par.hxx:679
void MatchEscherMirrorIntoFlySet(const SvxMSDffImportRec &rRecord, SfxItemSet &rFlySet)
Definition: ww8graf.cxx:3066
OUString tarFrame
Definition: ww8par.hxx:535
sal_Int32 GetPtContent() const
Definition: ww8par.hxx:551
eF_ResT Read_F_Symbol(WW8FieldDesc *, OUString &rStr)
Definition: ww8par5.cxx:1903
SEPr maSep
Definition: ww8par.hxx:785
sal_uInt16 TabRowSprm(int nLevel) const
Definition: ww8par.cxx:2510
SwWW8FltRefStack(SwDoc &rDo, sal_uLong nFieldFl)
Definition: ww8par.hxx:473
Style of a layout element.
Definition: frmfmt.hxx:58
OUString BookmarkToWriter(std::u16string_view rBookmark)
Definition: wrtw8nds.cxx:1225
void Swap(WW8FieldEntry &rOther) noexcept
Definition: ww8par5.cxx:727
static bool IsBorder(const WW8_BRCVer9 *pbrc, bool bChkBtwn=false)
Definition: ww8par6.cxx:1505
void CopyPageDescHdFt(const SwPageDesc *pOrgPageDesc, SwPageDesc *pNewPageDesc, sal_uInt8 nCode)
Definition: ww8par6.cxx:1270
void SetUniqueGraphName(SwFrameFormat *pFrameFormat, std::u16string_view rFixedPart)
Definition: ww8graf.cxx:163
bool TestSameApo(const ApoTestResults &rApo, const WW8_TablePos *pTabPos)
Definition: ww8par6.cxx:2748
void Read_UL(sal_uInt16 nId, const sal_uInt8 *, short nLen)
Definition: ww8par6.cxx:4460
SwFrameFormat * MungeTextIntoDrawBox(SvxMSDffImportRec &rRecord, tools::Long nGrafAnchorCp, SwFrameFormat *pRetFrameFormat)
Definition: ww8graf.cxx:2863
sal_uInt16 m_nCurrentColl
Definition: ww8par.hxx:1297
void SetOutlineStyles()
Definition: ww8par.cxx:5898
wwSectionManager m_aSectionManager
Definition: ww8par.hxx:1158
o3tl::sorted_vector< const SwNode * > m_aTextNodesHavingFirstLineOfstSet
Definition: ww8par.hxx:1235
bool HasWW8OutlineLevel() const
Definition: ww8par.hxx:311
short m_nCharFormat
Definition: ww8par.hxx:1301
SwDoc & m_rDoc
Definition: ww8par.hxx:1102
void EnableFallbackStream()
Definition: ww8par.cxx:572
bool m_bNoAttrImport
Definition: ww8par.hxx:1343
bool operator()(const OUString &r1, std::u16string_view r2) const
Definition: ww8par.hxx:439
void SetShapeId(sal_Int32 rShapeId)
Definition: ww8par.hxx:520
wwFrameNamer(bool bIsDisabled, const OUString &rSeed)
Definition: ww8par.hxx:950
among others for fields, that is, the same number of attr as positions, if Ctor-Param bNoEnd = false ...
Definition: ww8scan.hxx:220
std::unique_ptr< WW8ScannerBase > m_xSBase
Definition: ww8par.hxx:1231
void SetToggleAttrFlags(sal_uInt16 nFlags)
Definition: ww8par.cxx:590
class SAL_NO_VTABLE XPropertySet
std::unique_ptr< SfxItemSet > SetCurrentItemSet(std::unique_ptr< SfxItemSet > pItemSet)
Definition: ww8par.cxx:6681
void Read_Majority(sal_uInt16, const sal_uInt8 *, short)
Read_Majority is for Majority (103) and Majority50 (108)
Definition: ww8par.cxx:1172
std::map< short, OUString > m_aLinkStringMap
Definition: ww8par.hxx:1233
bool ReadText(WW8_CP nStartCp, WW8_CP nTextLen, ManTypes nType)
Definition: ww8par.cxx:4007
void DeleteStack(std::unique_ptr< SwFltControlStack > prStck)
Definition: ww8par.cxx:4327
bool TxbxChainContainsRealText(sal_uInt16 nTxBxS, tools::Long &rStartCp, tools::Long &rEndCp)
Definition: ww8graf.cxx:1220
void Read_StyleCode(sal_uInt16, const sal_uInt8 *pData, short nLen)
Special FastSave - Attributes.
Definition: ww8par.cxx:1150
bool GetTxbxTextSttEndCp(WW8_CP &rStartCp, WW8_CP &rEndCp, sal_uInt16 nTxBxS, sal_uInt16 nSequence)
Definition: ww8graf.cxx:799
eF_ResT Read_F_FileName(WW8FieldDesc *, OUString &rStr)
Definition: ww8par5.cxx:1848
bool IsWW8BuiltInDefaultStyle() const
Definition: ww8par.hxx:338
sal_uInt8 fUnlocked
Definition: ww8struc.hxx:1013
short nGapHalf
Definition: ww8par.hxx:1021
bool mbHasBorder
Definition: ww8par.hxx:615
sal_uInt8 mfToolTip
Definition: ww8par.hxx:665
tools::Long Read_Footnote(WW8PLCFManResult *pRes)
Definition: ww8par2.cxx:289
OUString msTitle
Definition: ww8par.hxx:675
SwFormat * m_pFormat
Definition: ww8par.hxx:229
void Read_HdFt(int nSect, const SwPageDesc *pPrev, const wwSection &rSection)
Definition: ww8par.cxx:2277
void ImportDop()
DOP.
Definition: ww8par.cxx:1784
SwFrameFormat * AddAutoAnchor(SwFrameFormat *pFormat)
Definition: ww8graf.cxx:2848
void Read_AmbiguousSPRM(sal_uInt16 nId, const sal_uInt8 *, short nLen)
Definition: ww8par6.cxx:3166
sal_Int16 NoCols() const
Definition: ww8par.hxx:805
tools::Long ImportExtSprm(WW8PLCFManResult *pRes)
Definition: ww8par6.cxx:5282
std::unique_ptr< OutlinerParaObject > ImportAsOutliner(OUString &rString, WW8_CP nStartCp, WW8_CP nEndCp, ManTypes eType)
Definition: ww8graf.cxx:963
void SetAnld(SwNumRule *pNumR, WW8_ANLD const *pAD, sal_uInt8 nSwLevel, bool bOutLine)
Definition: ww8par2.cxx:705
bool IsListOrDropcap() const
Definition: ww8par.hxx:1503
SdrObject * ReadRect(WW8_DPHEAD const *pHd, SfxAllItemSet &rSet)
Definition: ww8graf.cxx:344
bool ReadPlainChars(WW8_CP &rPos, sal_Int32 nEnd, sal_Int32 nCpOfs)
Return value: true for non special chars.
Definition: ww8par.cxx:3009
void Read_ANLevelNo(sal_uInt16, const sal_uInt8 *pData, short nLen)
Definition: ww8par2.cxx:743
void Read_WidowControl(sal_uInt16, const sal_uInt8 *pData, short nLen)
Definition: ww8par6.cxx:5138
sal_Unicode mcSymbol
Definition: ww8par.hxx:606
std::unique_ptr< SwMSConvertControls > m_xFormImpl
Definition: ww8par.hxx:1205
std::shared_ptr< SvxLRSpaceItem > maWordLR
Definition: ww8par.hxx:248
sal_uInt16 m_nLFOIndex
Definition: ww8par.hxx:235
static sal_uInt16 GetParagraphAutoSpace(bool fDontUseHTMLAutoSpacing)
Definition: ww8par6.cxx:4397
SwWW8Shade(Color nFore, Color nBack, sal_uInt16 nIndex)
Definition: ww8par.hxx:630
rtl_TextEncoding GetCurrentCharSet()
Definition: ww8par.cxx:2823
virtual ~SwMacroInfo() override
Definition: ww8par.cxx:6672
void StopTable()
Definition: ww8par2.cxx:3526
void SetNumOlst(SwNumRule *pNumR, WW8_OLST *pO, sal_uInt8 nSwLevel)
Definition: ww8par2.cxx:838
static void StripNegativeAfterIndent(SwFrameFormat const *pFlyFormat)
Definition: ww8par6.cxx:2584
std::unique_ptr< SwWW8FltAnchorStack > mxOldAnchorStck
Definition: ww8par.hxx:596
void Read_BoldUsw(sal_uInt16 nId, const sal_uInt8 *, short nLen)
Definition: ww8par6.cxx:2983
void RegisterNumFormatOnStyle(sal_uInt16 nStyle)
Definition: ww8par3.cxx:1755
rtl_TextEncoding m_eTextCharSet
Definition: ww8par.hxx:1293
virtual SdrObject * ProcessObj(SvStream &rSt, DffObjData &rObjData, SvxMSDffClientData &rData, tools::Rectangle &rTextRect, SdrObject *pObj) override
Definition: ww8par.cxx:602
std::unique_ptr< WW8TabDesc > mxTableDesc
Definition: ww8par.hxx:603
sal_uInt8 transCell(sal_uInt8 nWwCol) const
Definition: ww8par.hxx:1048
void NewAttr(const SfxPoolItem &rAttr, const bool bFirstLineOfStSet=false, const bool bLeftIndentSet=false)
Definition: ww8par6.cxx:2772
void AppendTextNode(SwPosition &rPos)
Definition: ww8par.cxx:2402
WW8TabBandDesc * pNextBand
Definition: ww8par.hxx:1020
virtual bool InsertControl(const css::uno::Reference< css::form::XFormComponent > &rFComp, const css::awt::Size &rSize, css::uno::Reference< css::drawing::XShape > *pShape, bool bFloatingCtrl) override
Definition: ww8par3.cxx:2535
sal_Int16 nLeMgn
Definition: ww8par.hxx:203
bool ForceFieldLanguage(SwField &rField, LanguageType nLang)
Definition: ww8par5.cxx:389
SwDoc & GetDoc() const
Definition: ww8par.hxx:1893
virtual bool Import(const css::uno::Reference< css::lang::XMultiServiceFactory > &rServiceFactory, css::uno::Reference< css::form::XFormComponent > &rFComp, css::awt::Size &rSz) override
Definition: ww8par3.cxx:2404
Handle requirements for table formatting in insert->file mode.
Definition: msfilter.hxx:276
bool m_bRtlGutter
Definition: ww8par.hxx:796
eF_ResT Read_F_Embedd(WW8FieldDesc *, OUString &rStr)
Definition: ww8par5.cxx:1976
eF_ResT Read_F_Ref(WW8FieldDesc *pF, OUString &)
Definition: ww8par5.cxx:2039
sal_Int32 mnShapeId
Definition: ww8par.hxx:526
wwSectionNamer(const SwDoc &rDoc, const OUString &rSeed)
Definition: ww8par.hxx:966
std::set< sal_uLong > m_aGrafPosSet
Definition: ww8par.hxx:1223
SwDocShell * m_pDocShell
Definition: ww8par.hxx:1081
eF_ResT Read_F_FormTextBox(WW8FieldDesc *pF, OUString &rStr)
Definition: ww8par3.cxx:92
void SetAnlvStrings(SwNumFormat &rNum, WW8_ANLV const &rAV, const sal_uInt8 *pText, size_t nStart, size_t nElements, bool bOutline)
Definition: ww8par2.cxx:588
sal_uInt8 dmOrientPage
Definition: ww8struc.hxx:1044
void FormulaRead(SwWw8ControlType nWhich, SvStream *pD)
Definition: ww8par3.cxx:2142
void Restore(SwWW8ImplReader *pRdr)
Definition: ww8par.cxx:2043
void ImportTox(int nFieldId, const OUString &aStr)
Definition: ww8par5.cxx:3650
std::set< WW8_CP > cp_set
Definition: ww8par.hxx:1076
SvNumFormatType
const SfxPoolItem * GetStackAttr(const SwPosition &rPos, sal_uInt16 nWhich)
Definition: ww8par.cxx:1498
bool mbStopApo
Definition: ww8par.hxx:983
tools::Long GetListFirstLineIndent(const SwNumFormat &rFormat)
Definition: ww8par.cxx:1218
eF_ResT Read_F_Tox(WW8FieldDesc *pF, OUString &rStr)
Definition: ww8par5.cxx:2957
sal_uInt16 nLastLFOPosition
Definition: ww8par.hxx:193
SwWW8FltAnchorStack & operator=(const SwWW8FltAnchorStack &)=delete
std::unique_ptr< WW8PostProcessAttrsInfo > m_pPostProcessAttrsInfo
Definition: ww8par.hxx:1225
void SetTarFrame(const OUString &rTarFrame)
Definition: ww8par.hxx:518
bool PageRestartNo() const
Definition: ww8par.hxx:809
std::unique_ptr< WW8Dop > m_xWDop
Definition: ww8par.hxx:1229
void Read_UsePgsuSettings(sal_uInt16, const sal_uInt8 *pData, short nLen)
Definition: ww8par6.cxx:5158
void UpdateFields()
Definition: ww8par5.cxx:497
std::stack< rtl_TextEncoding > m_aFontSrcCharSets
Definition: ww8par.hxx:1197
sal_uInt8 nSp29
Definition: ww8par.hxx:204
virtual void SetAttrInDoc(const SwPosition &rTmpPos, SwFltStackEntry &rEntry) override
Definition: ww8par.cxx:1309
sal_uInt16 GetToggleAttrFlags() const
Definition: ww8par.cxx:580
const OUString & GetBookmarkCode() const
Definition: ww8par.hxx:579
Marks a node in the document model.
Definition: ndindex.hxx:31
void Read_LR(sal_uInt16 nId, const sal_uInt8 *, short nLen)
Definition: ww8par6.cxx:4185
const SwNodeIndex & GetPtNode() const
Definition: ww8par.hxx:550
void Read_UnderlineColor(sal_uInt16, const sal_uInt8 *pData, short nLen)
Definition: ww8par6.cxx:3632
OUString msBookmarkName
Definition: ww8par.hxx:561
void Read_FontSize(sal_uInt16, const sal_uInt8 *, short nLen)
Definition: ww8par6.cxx:3921
short nOverrideValues[MAX_COL+1][4]
Definition: ww8par.hxx:1040
bool mbWasParaEnd
Definition: ww8par.hxx:614
const OUString & GetBookmarkName() const
Definition: ww8par.hxx:578
ManTypes
Definition: ww8scan.hxx:870
SwWW8StyInf * GetStyle(sal_uInt16 nColl) const
Definition: ww8par6.cxx:2976
std::vector< std::unique_ptr< WW8LSTInfo > > maLSTInfos
Definition: ww8par.hxx:172
void ProcessSpacing(const sal_uInt8 *pParamsTInsert)
Definition: ww8par2.cxx:1455
std::unique_ptr< WW8SwFlyPara > mpSFlyPara
Definition: ww8par.hxx:600
void SetBookmarkName(const OUString &bookmarkName)
Definition: ww8par5.cxx:741
::sw::mark::IFieldmark::parameter_map_t & getParameters()
Definition: ww8par.hxx:583
bool SearchTableEnd(WW8PLCFx_Cp_FKP *pPap) const
Seek to the end of the table with pPap, returns true on success.
Definition: ww8par2.cxx:380
const SwNumRule * GetOutlineNumrule() const
Definition: ww8par.hxx:321
void NewAttr(const SwPosition &rPos, const SfxPoolItem &rAttr)
Stack.
Definition: ww8par.cxx:1179
FontPitch
sal_uInt32 m_nFieldTagBad[3]
Definition: ww8par.hxx:1281
eF_ResT Read_F_FormListBox(WW8FieldDesc *pF, OUString &rStr)
Definition: ww8par3.cxx:244
virtual void SetAttrInDoc(const SwPosition &rTmpPos, SwFltStackEntry &rEntry) override
Definition: ww8par.cxx:1343
bool IsContinuous() const
Definition: ww8par.hxx:802
SwPaM * mpPreviousNumPaM
Definition: ww8par.hxx:601
sal_uInt16 StyleUsingLFO(sal_uInt16 nLFOIndex) const
Definition: ww8par2.cxx:3561
tools::Long Read_FactoidBook(WW8PLCFManResult *)
Definition: ww8par5.cxx:245
sal_uInt16 mnMaxLen
FFData.cch in the spec: maximum length, in characters, of the value of the textbox.
Definition: ww8par.hxx:674
std::unique_ptr< WW8Fonts > m_xFonts
Definition: ww8par.hxx:1228
std::vector< std::unique_ptr< WW8LFOInfo > > m_LFOInfos
Definition: ww8par.hxx:173
std::set< OUString, SwWW8::ltstr > aReferencedTOCBookmarks
Definition: ww8par.hxx:464
SvStream * pFallbackStream
Definition: ww8par.hxx:754
SwFlyFrameFormat * MakeGrafNotInContent(const WW8PicDesc &rPD, const Graphic *pGraph, const OUString &rFileName, const SfxItemSet &rGrfSet)
Definition: ww8graf2.cxx:348
tools::Long SwTwips
Definition: swtypes.hxx:50
SwWW8ImplReader & mrReader
Definition: ww8par.hxx:828
std::stack< rtl_TextEncoding > m_aFontSrcCJKCharSets
Definition: ww8par.hxx:1198
std::deque< bool > m_aApos
Definition: ww8par.hxx:1213
void Read_TextForeColor(sal_uInt16, const sal_uInt8 *pData, short nLen)
Definition: ww8par6.cxx:3612
void EndSpecial()
Definition: ww8par.cxx:2517
Knows which writer style a given word style should be imported as.
Definition: msfilter.hxx:142
bool ReadGrafStart(void *pData, short nDataSiz, WW8_DPHEAD const *pHd, SfxAllItemSet &rSet)
Definition: ww8graf.cxx:172
SwReaderType
Definition: shellio.hxx:189
void EndSprm(sal_uInt16 nId)
Definition: ww8par6.cxx:6113
std::stack< std::unique_ptr< WW8TabDesc > > m_aTableStack
Definition: ww8par.hxx:1254
std::vector< OUString > maListEntries
Definition: ww8par.hxx:683
void Read_CPropRMark(sal_uInt16, const sal_uInt8 *pData, short nLen)
Definition: ww8par4.cxx:539
static sal_Unicode TranslateToHindiNumbers(sal_Unicode)
Definition: ww8par.cxx:2984
void SetDocumentGrid(SwFrameFormat &rFormat, const wwSection &rSection)
Definition: ww8par6.cxx:214
bool IsFixedHeightHeader() const
Definition: ww8par.hxx:818
sal_uInt32 GetPageRight() const
Definition: ww8par2.cxx:150
tools::Long Read_AtnBook(WW8PLCFManResult *)
Definition: ww8par5.cxx:233
void RegisterNumFormatOnTextNode(sal_uInt16 nCurrentLFO, sal_uInt8 nCurrentLevel, const bool bSetAttr=true)
Definition: ww8par3.cxx:1794
WW8FormulaListBox & operator=(const WW8FormulaListBox &)=delete
WW8FormulaControl(const OUString &rN, SwWW8ImplReader &rRdr)
Definition: ww8par.hxx:656
WW8PostProcessAttrsInfo(WW8_CP nCpStart, WW8_CP nCpEnd, SwPaM &rPaM)
Definition: ww8par5.cxx:2363
sal_Int32 WW8_CP
Definition: ww8struc.hxx:153
int m_nEmbeddedTOXLevel
Definition: ww8par.hxx:1373
OUString m_sBaseURL
Definition: ww8par.hxx:1274
void Read_TabCellEnd(sal_uInt16, const sal_uInt8 *pData, short nLen)
Definition: ww8par2.cxx:3499
SwPaM * m_pPreviousNumPaM
Definition: ww8par.hxx:1209
static bool LangUsesHindiNumbers(LanguageType nLang)
Definition: ww8par.cxx:2953
SwTextNode * m_pPreviousNode
Definition: ww8par.hxx:1379
void SetToggleBiDiAttrFlags(sal_uInt16 nFlags)
Definition: ww8par.hxx:409
bool SetLowerSpacing(SwPaM &rMyPam, int nSpace)
Definition: ww8par.cxx:2500
const OUString & GetOrgWWName() const
Definition: ww8par.hxx:306
sw::util::InsertedTablesManager m_aInsertedTables
Definition: ww8par.hxx:1171
static void AdjustULWrapForWordMargins(const SvxMSDffImportRec &rRecord, SvxULSpaceItem &rUL)
Definition: ww8graf.cxx:1960
bool SetSpacing(SwPaM &rMyPam, int nSpace, bool bIsUpper)
Definition: ww8par.cxx:2474
void Read_CharHighlight(sal_uInt16, const sal_uInt8 *pData, short nLen)
Definition: ww8par6.cxx:4131
void Read_BreakBefore(sal_uInt16, const sal_uInt8 *pData, short nLen)
Definition: ww8par6.cxx:5221
std::vector< const SwCharFormat * > m_aRubyCharFormats
Definition: ww8par.hxx:1218
bool m_bCareFirstParaEndInToc
Definition: ww8par.hxx:1383
OUString ConvertFFileName(const OUString &rRaw)
translate FieldParameter names into the system character set and at the same time, double backslashes are converted into single ones
Definition: ww8par5.cxx:266
exports com.sun.star. beans
static bool SetCols(SwFrameFormat &rFormat, const wwSection &rSection, sal_uInt32 nNetWidth)
Definition: ww8par6.cxx:422
void ReadDocVars()
Definition: ww8par.cxx:4727
sal_uInt8 m_nListLevel
Definition: ww8par.hxx:236
bool m_bReadNoTable
Definition: ww8par.hxx:1317
bool m_bTxbxFlySection
Definition: ww8par.hxx:1321
short mnDefaultLeft
Definition: ww8par.hxx:1022
FontFamily
SdrObject * ReadTextBox(WW8_DPHEAD const *pHd, SfxAllItemSet &rSet)
Definition: ww8graf.cxx:1230
tools::Long Read_Field(WW8PLCFManResult *pRes)
Definition: ww8par5.cxx:760
void SetToggleBiDiAttrFlags(sal_uInt16 nFlags)
Definition: ww8par.cxx:596
exports com.sun.star. form
Position(const SwPosition &rPos)
Definition: ww8par.cxx:6653
std::unique_ptr< SwWW8FltControlStack > mxOldStck
Definition: ww8par.hxx:595
SwNodeIndex maStart
Definition: ww8par.hxx:787
bool IsRelativeJustify()
Definition: ww8par6.cxx:322
OUString GetFieldResult(WW8FieldDesc const *pF)
Definition: ww8par5.cxx:1194
WW8_CP m_nDrawCpO
Definition: ww8par.hxx:1285
wwExtraneousParas(wwExtraneousParas const &)=delete
SwTextNode is a paragraph in the document model.
Definition: ndtxt.hxx:79
WW8ListManager(SvStream &rSt_, SwWW8ImplReader &rReader_)
Definition: ww8par3.cxx:1149
void openFont(sal_uInt16 nFCode, sal_uInt16 nId)
Definition: ww8par6.cxx:3843
ErrCode OpenMainStream(tools::SvRef< SotStorageStream > &rRef, sal_uInt16 &rBuffSize)
Definition: ww8par.cxx:6318
SwWW8ImplReader & rReader
Definition: ww8par.hxx:753
ErrCode LoadDoc(WW8Glossary *pGloss=nullptr)
Definition: ww8par.cxx:6165
std::unique_ptr< WW8_OLST > m_xNumOlst
Definition: ww8par.hxx:1257
WW8ListManager & operator=(const WW8ListManager &)=delete
bool IsLandScape() const
Definition: ww8par.hxx:817
SwWW8Shade(bool bVer67, const WW8_SHD &rSHD)
Definition: ww8par6.cxx:4783
static void SetPage(SwPageDesc &rPageDesc, SwFrameFormat &rFormat, const wwSection &rSection, bool bIgnoreCols)
Definition: ww8par6.cxx:516
SwWW8FltControlStack(const SwWW8FltControlStack &)=delete
void ChkToggleBiDiAttr_(sal_uInt16 nOldStyle81Mask, sal_uInt16 nNewStyle81Mask)
Definition: ww8par6.cxx:3353
bool InEqualApo(int nLvl) const
Definition: ww8par.cxx:6641
bool mbHdFtFootnoteEdn
Definition: ww8par.hxx:609
void Read_ParaBackColor(sal_uInt16, const sal_uInt8 *pData, short nLen)
Definition: ww8par6.cxx:4937
bool bGrafApo
Definition: ww8par.hxx:208
wwExtraneousParas & operator=(wwExtraneousParas const &)=delete
OUString UniqueName()
Definition: ww8par5.cxx:2475
void ApplyTabPos(const WW8_TablePos *pTabPos)
Definition: ww8par6.cxx:1636
void ReadEmbeddedData(SvStream &rStrm, SwDocShell const *pDocShell, struct HyperLinksTable &hlStr)
Definition: ww8par.cxx:220
WW8FieldEntry & operator=(const WW8FieldEntry &rOther) noexcept
Definition: ww8par5.cxx:733
SvNumFormatType GetTimeDatePara(OUString const &rStr, sal_uInt32 &rFormat, LanguageType &rLang, int nWhichDefault, bool bHijri=false)
Definition: ww8par5.cxx:430
bool m_bFootnoteEdn
Definition: ww8par.hxx:1333
const SwNumRule * mpPrevNumRule
Definition: ww8par.hxx:602
SwSection * mpSection
Definition: ww8par.hxx:788
const WW8Fib & rFib
Definition: ww8par.hxx:170
bool IsOutlineNumbered() const
Definition: ww8par.hxx:316
bool m_bCurrentAND_fNumberAcross
Definition: ww8par.hxx:1356
void Read_TextAnim(sal_uInt16, const sal_uInt8 *pData, short nLen)
Definition: ww8par6.cxx:4760
sal_uInt16 GetToggleBiDiAttrFlags() const
Definition: ww8par.hxx:407
bool m_bImported
Definition: ww8par.hxx:250
virtual bool ShapeHasText(sal_uLong nShapeId, sal_uLong nFilePos) const override
When reading a single Box (which possibly is part of a group), we do not yet have enough information ...
Definition: ww8par.cxx:6623
void ChkToggleAttr_(sal_uInt16 nOldStyle81Mask, sal_uInt16 nNewStyle81Mask)
Definition: ww8par6.cxx:3337
bool mbTxbxFlySection
Definition: ww8par.hxx:610
bool SectionIsProtected(const wwSection &rSection) const
Definition: ww8par.cxx:2376
sal_uInt16 PageStartAt() const
Definition: ww8par.hxx:808
sal_Int32 dxaColumns
Definition: ww8struc.hxx:1072
virtual std::unique_ptr< SdrObjUserData > Clone(SdrObject *pObj) const override
Definition: ww8par.cxx:6676
eF_ResT Read_F_DBNext(WW8FieldDesc *, OUString &)
Definition: ww8par5.cxx:2591
unsigned char sal_uInt8
SdrObject * ImportOleBase(Graphic &rGraph, const Graphic *pGrf=nullptr, const SfxItemSet *pFlySet=nullptr, const tools::Rectangle &aVisArea=tools::Rectangle())
Definition: ww8par4.cxx:327
sal_Int16 ccolM1
Definition: ww8struc.hxx:1065
bool ParseTabPos(WW8_TablePos *aTabPos, WW8PLCFx_Cp_FKP *pPap)
Definition: ww8par6.cxx:5245
void SetToggleAttr(sal_uInt8 nAttrId, bool bOn)
Definition: ww8par6.cxx:3275
void Read_LineSpace(sal_uInt16, const sal_uInt8 *, short nLen)
Definition: ww8par6.cxx:4332
void InsertSegments()
Definition: ww8par.cxx:4481
sal_uInt16 End_Footnote()
Definition: ww8par2.cxx:170
exports com.sun.star. lang
static void PicRead(SvStream *pDataStream, WW8_PIC *pPic, bool bVer67)
Definition: ww8graf2.cxx:443
void SetToggleAttrFlags(sal_uInt16 nFlags)
Definition: ww8par.hxx:408
WW8ReaderSave(SwWW8ImplReader *pRdr, WW8_CP nStart=-1)
Footnotes and Endnotes.
Definition: ww8par.cxx:1985
sal_uInt32 GetPageHeight() const
Definition: ww8par.hxx:814
void Read_HdFtFootnoteText(const SwNodeIndex *pSttIdx, WW8_CP nStartCp, WW8_CP nLen, ManTypes nType)
Definition: ww8par.cxx:2085
wwSprmParser knows how to take a sequence of bytes and split it up into sprms and their arguments ...
Definition: ww8scan.hxx:113
sal_uInt16 CurrentSectionColCount() const
Definition: ww8par5.cxx:2920
RndStdIds ProcessEscherAlign(SvxMSDffImportRec &rRecord, WW8_FSPA &rFSPA, SfxItemSet &rFlySet)
Definition: ww8graf.cxx:2241
SwFormatPageDesc SetSwFormatPageDesc(mySegIter const &rIter, mySegIter const &rStart, bool bIgnoreCols)
Map a word section to a writer page descriptor.
Definition: ww8par.cxx:4442
bool IsVertical() const
Definition: ww8par6.cxx:202
bool operator()(const SwTextNode *r1, const SwTextNode *r2) const
Definition: ww8par.hxx:447
sal_uInt8 m_nSprm29
Definition: ww8par.hxx:986
Color aColor
Definition: ww8par.hxx:628
eF_ResT Read_F_OCX(WW8FieldDesc *, OUString &)
Definition: ww8par3.cxx:84
eF_ResT Read_F_Input(WW8FieldDesc *, OUString &rStr)
Definition: ww8par5.cxx:1157
iterator for Piece Table Exceptions of Fkps works on CPs (high-level)
Definition: ww8scan.hxx:633
short mnDefaultRight
Definition: ww8par.hxx:1024
eF_ResT Read_F_ANumber(WW8FieldDesc *, OUString &)
Definition: ww8par5.cxx:1419
static bool SetFlyBordersShadow(SfxItemSet &rFlySet, const WW8_BRCVer9 *pbrc, short *SizeArray)
Definition: ww8par6.cxx:1579
void PostProcessAttrs()
Definition: ww8par.cxx:2872
bool m_bHdFtFootnoteEdn
Definition: ww8par.hxx:1332
void SetOrgWWIdent(const OUString &rName, const sal_uInt16 nId)
Definition: ww8par.hxx:294
MSO_LineStyle
bool m_bIgnoreText
Definition: ww8par.hxx:1324
void InsertAttrsAsDrawingAttrs(WW8_CP nStartCp, WW8_CP nEndCp, ManTypes eType, bool bONLYnPicLocFc=false)
Definition: ww8graf.cxx:593
ErrCode CoreLoad(WW8Glossary const *pGloss)
Definition: ww8par.cxx:4938
bool ReadLVL(SwNumFormat &rNumFormat, std::unique_ptr< SfxItemSet > &rpItemSet, sal_uInt16 nLevelStyle, bool bSetStartNo, sal_uInt16 nLevel, ww::bytes &rParaSprms)
Definition: ww8par3.cxx:672
void ReadRevMarkAuthorStrTabl(SvStream &rStrm, sal_Int32 nTablePos, sal_Int32 nTableSiz, SwDoc &rDoc)
Definition: ww8par4.cxx:451
sal_Unicode m_cSymbol
Definition: ww8par.hxx:1306
bool IsInvalidOrToBeMergedTabCell() const
Definition: ww8par2.cxx:3542
FIB - the File Information Block.
Definition: ww8scan.hxx:1104
eF_ResT Read_F_DocInfo(WW8FieldDesc *pF, OUString &rStr)
Definition: ww8par5.cxx:1530
SdrObject * CreateContactObject(SwFrameFormat *pFlyFormat)
Definition: ww8graf.cxx:2211
static bool SetShadow(SvxShadowItem &rShadow, const short *pSizeArray, const WW8_BRCVer9 &aRightBrc)
Definition: ww8par6.cxx:1551
~WW8ListManager() COVERITY_NOEXCEPT_FALSE
Definition: ww8par3.cxx:1482
SwFlyFrameFormat * ImportReplaceableDrawables(SdrObject *&rpObject, SdrObject *&rpOurNewObject, SvxMSDffImportRec &rRecord, WW8_FSPA &rF, SfxItemSet &rFlySet)
Definition: ww8graf.cxx:3081
SdrObject * ReadGrafPrimitive(short &rLeft, SfxAllItemSet &rSet)
Definition: ww8graf.cxx:1376
std::shared_ptr< SwUnoCursor > mpCursor
Definition: ww8par.hxx:1103
void SetStyleIndent(SwWW8StyInf &rStyleInfo, const SwNumFormat &rFormat)
Definition: ww8par3.cxx:1704
auto FilterControlChars(OUString const &rString) -> OUString
Definition: ww8par.cxx:3415
constexpr TypedWhichId< SvxLRSpaceItem > RES_LR_SPACE(91)
OUString msMarkCode
Definition: ww8par.hxx:563
std::shared_ptr< SvStream > mDecodedStream
Definition: ww8par.hxx:136
void closeFont(sal_uInt16 nId)
Definition: ww8par6.cxx:3857
eF_ResT Read_F_Styleref(WW8FieldDesc *, OUString &rStr)
Reads a STYLEREF field.
Definition: ww8par5.cxx:1509
std::deque< bool > maOldApos
Definition: ww8par.hxx:593
void Read_CharShadow(sal_uInt16, const sal_uInt8 *pData, short nLen)
Definition: ww8par6.cxx:4083
bool bBorderLines
Definition: ww8par.hxx:207
void ChkToggleAttr(sal_uInt16 nOldStyle81Mask, sal_uInt16 nNewStyle81Mask)
Definition: ww8par.hxx:1666
bool m_bHasBrokenWW6List
Definition: ww8par.hxx:254
void Read_Emphasis(sal_uInt16, const sal_uInt8 *pData, short nLen)
Definition: ww8par6.cxx:4661
std::unique_ptr< WW8FlyPara > mpWFlyPara
Definition: ww8par.hxx:599
sal_uInt32 m_nIniFlags1
Definition: ww8par.hxx:1278
sal_Int32 mnPtContent
Definition: ww8par.hxx:546
void ResetCJKCharSetVars()
Definition: ww8par6.cxx:3836
void SetUseOn(wwSection &rSection)
Definition: ww8par.cxx:4390
WW8FormulaEditBox(const WW8FormulaEditBox &)=delete
static Color GetCol(sal_uInt8 nIco)
Definition: ww8par6.cxx:119
void SetShade(Color nFore, Color nBack, sal_uInt16 nIndex)
Definition: ww8par6.cxx:4804
wwSectionNamer(const wwSectionNamer &)=delete
SwFrameFormat * ImportGraf(SdrTextObj const *pTextObj=nullptr, SwFrameFormat const *pFlyFormat=nullptr)
Definition: ww8graf2.cxx:471
SwWW8FltRefStack & operator=(const SwWW8FltRefStack &)=delete
sal_uInt16 nToggleBiDiAttrFlags
Definition: ww8par.hxx:370
sal_Int16 nRiMgn
Definition: ww8par.hxx:203
eF_ResT Read_F_Hyperlink(WW8FieldDesc *, OUString &rStr)
Definition: ww8par5.cxx:3485
SwNumRule * CreateNextRule(bool bSimple)
Definition: ww8par3.cxx:1125
bool IsEmpty() const
Definition: ww8par6.cxx:1865
virtual ErrCode Read(SwDoc &, const OUString &rBaseURL, SwPaM &, const OUString &) override
Definition: ww8par.cxx:6428
std::unique_ptr< wwSprmParser > m_xSprmParser
Definition: ww8par.hxx:1181
const sal_Int32 & GetShapeId() const
Definition: ww8par.hxx:521
void Read_PicLoc(sal_uInt16, const sal_uInt8 *pData, short nLen)
Definition: ww8par6.cxx:2884
void Read_NoLineNumb(sal_uInt16 nId, const sal_uInt8 *pData, short nLen)
Definition: ww8par6.cxx:4153
bool m_bSkipImages
Definition: ww8par.hxx:1316
std::unique_ptr< WW8FlyPara > ConstructApo(const ApoTestResults &rApo, const WW8_TablePos *pTabPos)
Definition: ww8par6.cxx:2385
static void SetPageBorder(SwFrameFormat &rFormat, const wwSection &rSection)
Definition: ww8par6.cxx:557
void UseListIndent(SwWW8StyInf &rStyle, const SwNumFormat &rFormat)
Definition: ww8par3.cxx:1689
bool m_bCareLastParaEndInToc
Definition: ww8par.hxx:1384
void ProcessSprmTTableBorders(int nBrcVer, const sal_uInt8 *pParams, sal_uInt16 nParamsLen)
Definition: ww8par2.cxx:1308
sal_uInt32 GetPageRight() const
Definition: ww8par.hxx:816
bool IsDropCap() const
Definition: ww8par6.cxx:2406
bool IsFootnoteEdnBkmField(const SwFormatField &rFormatField, sal_uInt16 &rBkmNo)
Definition: ww8par.cxx:1529
OUString hLinkAddr
Definition: ww8par.hxx:534
const SwNumFormat * GetNumFormatFromStack(const SwPosition &rPos, const SwTextNode &rTextNode)
Definition: ww8par.cxx:1291
tools::Long m_nFilePos
Definition: ww8par.hxx:232
SwNumRule * GetStyRule()
Definition: ww8par2.cxx:724
SdrObject * ReadArc(WW8_DPHEAD const *pHd, SfxAllItemSet &rSet)
Definition: ww8graf.cxx:391
std::shared_ptr< WW8PLCFMan > m_xPlcxMan
Definition: ww8par.hxx:1232
sal_uInt16 GetToggleBiDiAttrFlags() const
Definition: ww8par.cxx:585
bool m_bHasSprm29
Definition: ww8par.hxx:985
void Read_TabRowEnd(sal_uInt16, const sal_uInt8 *pData, short nLen)
Definition: ww8par2.cxx:3505
sal_uInt32 GetPageWidth() const
Definition: ww8par2.cxx:155
bool WillHavePageDescHere(const SwNodeIndex &rIdx) const
Definition: ww8par5.cxx:2930
#define SAL_WARN(area, stream)
SdrObject * ReadLine(WW8_DPHEAD const *pHd, SfxAllItemSet &rSet)
Definition: ww8graf.cxx:309
sal_uInt8 nOverrideSpacing[MAX_COL+1]
Definition: ww8par.hxx:1039
std::unique_ptr< WW8SwFlyPara > m_xSFlyPara
Definition: ww8par.hxx:1250
wwFrameNamer(wwFrameNamer const &)=delete
void ResetCharSetVars()
Definition: ww8par6.cxx:3829
RndStdIds
sal_uLong m_nObjLocFc
Definition: ww8par.hxx:1288
short mnDefaultTop
Definition: ww8par.hxx:1023
static sal_uInt8 WW8OutlineLevelToOutlinelevel(const sal_uInt8 nWW8OutlineLevel)
Definition: ww8par.hxx:344
int mnFileSectionNo
Definition: ww8par.hxx:961
bool SetUpperSpacing(SwPaM &pMyPam, int nSpace)
Definition: ww8par.cxx:2505
bool mbPgSecBreak
Definition: ww8par.hxx:613
void ReadGrafLayer1(WW8PLCFspecial &rPF, tools::Long nGrafAnchorCp)
Definition: ww8graf.cxx:1433
void DeleteRefStacks()
Definition: ww8par.hxx:1416
wwSectionNamer m_aSectionNameGenerator
Definition: ww8par.hxx:1176
void ChkToggleBiDiAttr(sal_uInt16 nOldStyle81Mask, sal_uInt16 nNewStyle81Mask)
Definition: ww8par.hxx:1675
SdrModel * m_pDrawModel
Definition: ww8par.hxx:1259
bool HasStartStop() const
Definition: ww8par.hxx:991
RedlineType
bool m_bValid
Definition: ww8par.hxx:249
SvStream * m_pDataStream
Definition: ww8par.hxx:1099
const SprmReadInfo & GetSprmReadInfo(sal_uInt16 nId) const
Definition: ww8par6.cxx:6087
const SwFormat * GetStyleWithOrgWWName(std::u16string_view rName) const
Definition: ww8par2.cxx:3574
sal_uInt16 nUniqueList
Definition: ww8par.hxx:174
bool ReadOCXStream(tools::SvRef< SotStorage > const &rSrc1, css::uno::Reference< css::drawing::XShape > *pShapeRef, bool bFloatingCtrl=false)
Definition: wrtw8esh.cxx:3019
bool m_bWasParaEnd
Definition: ww8par.hxx:1346
void Read_Tab(sal_uInt16 nId, const sal_uInt8 *pData, short nLen)
Definition: ww8par.cxx:1624
SwFlyFrameFormat * ConvertDrawTextToFly(SdrObject *&rpObject, SdrObject *&rpOurNewObject, const SvxMSDffImportRec &rRecord, RndStdIds eAnchor, const WW8_FSPA &rF, SfxItemSet &rFlySet)
Definition: ww8graf.cxx:2958
std::shared_ptr< WW8PLCFMan > mxOldPlcxMan
Definition: ww8par.hxx:598
void Read_SubSuper(sal_uInt16, const sal_uInt8 *, short nLen)
Definition: ww8par6.cxx:3369
OUString msToolTip
Definition: ww8par.hxx:680
bool m_bColl
Definition: ww8par.hxx:251
sw::hack::Position maStartPos
Definition: ww8par.hxx:567
sal_uInt16 maDirections[MAX_COL+1]
Definition: ww8par.hxx:1029
sal_uInt8 m_nListLevel
Definition: ww8par.hxx:1313
sal_uInt32 nPgLeft
Definition: ww8par.hxx:793
SwFrameFormat * MakeGrafInContent(const WW8_PIC &rPic, const WW8PicDesc &rPD, const Graphic *pGraph, const OUString &rFileName, const SfxItemSet &rGrfSet)
Definition: ww8graf2.cxx:384
const SwPosition & GetStartPos() const
Definition: ww8par.hxx:620
sal_uLong m_nPicLocFc
Definition: ww8par.hxx:1287
bool HandlePageBreakChar()
Definition: ww8par.cxx:3528
short m_nDrawXOfs
Definition: ww8par.hxx:1303
bool ReadGrafFile(OUString &rFileName, std::unique_ptr< Graphic > &rpGraphic, const WW8_PIC &rPic, SvStream *pSt, sal_uLong nFilePos, bool *pDelIt)
Definition: ww8graf2.cxx:239
sal_uInt8 m_nSwNumLevel
Definition: ww8par.hxx:1310
virtual bool GetOLEStorageName(sal_uInt32 nOLEId, OUString &rStorageName, tools::SvRef< SotStorage > &rSrcStorage, css::uno::Reference< css::embed::XStorage > &rDestStorage) const override
Definition: ww8par.cxx:6533
static void ReplaceObj(const SdrObject &rReplaceTextObj, SdrObject &rSubObj)
Definition: ww8graf2.cxx:325
void Read_Special(sal_uInt16, const sal_uInt8 *, short nLen)
Definition: ww8par6.cxx:2850
short m_nDrawYOfs
Definition: ww8par.hxx:1303
std::unique_ptr< SwWW8FltAnchorStack > m_xAnchorStck
Definition: ww8par.hxx:1136
std::deque< WW8FieldEntry > m_aFieldStack
Definition: ww8par.hxx:1148
SwFormat * m_pCurrentColl
Definition: ww8par.hxx:1239
sal_uInt32 nPgGutter
Definition: ww8par.hxx:795
void Read_FontCode(sal_uInt16, const sal_uInt8 *, short nLen)
Definition: ww8par6.cxx:3869
SwWW8ReferencedFltEndStack(SwDoc &rDo, sal_uLong nFieldFl)
Definition: ww8par.hxx:457
bool mbIgnoreText
Definition: ww8par.hxx:607
OUString msNumberingNumRule
Definition: ww8par.hxx:998
SdrObject * ReadGroup(WW8_DPHEAD const *pHd, SfxAllItemSet &rSet)
Definition: ww8graf.cxx:1339
const T * GetFormatAttr(const SwPosition &rPos, TypedWhichId< T > nWhich)
Definition: ww8par.hxx:412
std::unique_ptr< SfxItemSet > m_xCurrentItemSet
Definition: ww8par.hxx:1241
WW8FormulaControl & operator=(WW8FormulaControl const &)=delete
void GetPageULData(const wwSection &rNewSection, wwULSpaceData &rData) const
Definition: ww8par6.cxx:581
rtl_TextEncoding GetCJKCharSetFromLanguage()
Definition: ww8par.cxx:2805
void JoinNode(const SwPosition &rPos, const SwNode &rNode)
Definition: ww8par6.cxx:2519
eF_ResT Read_F_CurPage(WW8FieldDesc *, OUString &)
Definition: ww8par5.cxx:1892
virtual void SetAttrInDoc(const SwPosition &rTmpPos, SwFltStackEntry &rEntry) override
Definition: ww8par.cxx:1552
eF_ResT Read_F_IncludePicture(WW8FieldDesc *, OUString &rStr)
Definition: ww8par5.cxx:2415
OUString msOutlineNumRule
Definition: ww8par.hxx:997
sal_Int32 GetPtContent() const
Definition: ww8par.hxx:576
void AddAnchor(const SwPosition &rPos, SwFrameFormat *pFormat)
Definition: ww8graf.cxx:3213
std::deque< wwSection > maSegments
Definition: ww8par.hxx:829
void Read_RTLJustify(sal_uInt16, const sal_uInt8 *, short nLen)
Definition: ww8par6.cxx:4589
void Read_BoldBiDiUsw(sal_uInt16 nId, const sal_uInt8 *, short nLen)
Definition: ww8par6.cxx:3180
std::map< sal_uInt16, std::size_t > m_aAuthorInfos
Redlining Authors, map word author key to writer author value.
Definition: ww8par.hxx:1273
sal_Int16 nSp26
Definition: ww8par.hxx:201
Color * pNewSHDs
Definition: ww8par.hxx:1042
eF_ResT Read_F_NoteReference(WW8FieldDesc *pF, OUString &rStr)
Definition: ww8par5.cxx:2122
void ProcessSprmTSetBRC(int nBrcVer, const sal_uInt8 *pParamsTSetBRC, sal_uInt16 nParamsLen)
Definition: ww8par2.cxx:1238
bool bVer67
Definition: ww8par.hxx:200
css::drawing::TextVerticalAdjust mnVerticalAdjustment
Definition: ww8par.hxx:798
sal_uInt8 mnBorders
Definition: ww8par.hxx:799
SwPaM * m_pPaM
Definition: ww8par.hxx:1104
void Read_ParaBiDi(sal_uInt16, const sal_uInt8 *pData, short nLen)
Definition: ww8par6.cxx:374
SwDoc & rDoc
Definition: ww8par.hxx:169
tools::Long Read_Book(WW8PLCFManResult *)
Definition: ww8par5.cxx:117
SvStream * m_pTableStream
Definition: ww8par.hxx:1098
bool SetTextFormatCollAndListLevel(const SwPaM &rRg, SwWW8StyInf &rStyleInfo)
Definition: ww8par3.cxx:1655
bool CurrentSectionIsVertical() const
Definition: ww8par2.cxx:127
bool mbFirstPara
Definition: ww8par.hxx:616
void Read_KeepLines(sal_uInt16, const sal_uInt8 *pData, short nLen)
Definition: ww8par6.cxx:5205
void NextAnlLine(const sal_uInt8 *pSprm13)
Definition: ww8par2.cxx:980
bool SetNewFontAttr(sal_uInt16 nFCode, bool bSetEnums, sal_uInt16 nWhich)
Definition: ww8par6.cxx:3747
WW8TabBandDesc & operator=(WW8TabBandDesc const &)=default
SwMSDffManager & operator=(const SwMSDffManager &)=delete
std::unique_ptr< ImportProgress > m_xProgress
Definition: ww8par.hxx:1203
const SwNumRule * m_pChosenWW8OutlineStyle
Definition: ww8par.hxx:1312
bool isValid_HdFt_CP(WW8_CP nHeaderCP) const
Definition: ww8par.cxx:2242
SwWW8ImplReader & mrRdr
Definition: ww8par.hxx:650
OUString maHlink
Definition: ww8par.hxx:527
void Read_DoubleLine_Rotate(sal_uInt16, const sal_uInt8 *pDATA, short nLen)
Definition: ww8par6.cxx:3555
void ProcessDirection(const sal_uInt8 *pParams)
Definition: ww8par2.cxx:1438
sal_uInt16 m_nWWStyleId
Definition: ww8par.hxx:224
sal_uInt16 m_nLFOPosition
Definition: ww8par.hxx:1299
void SetToggleBiDiAttr(sal_uInt8 nAttrId, bool bOn)
Definition: ww8par6.cxx:3250
void SetName(const OUString &rName)
Definition: ww8par.hxx:522
wwExtraneousParas(SwDoc &rDoc)
Definition: ww8par.hxx:924
eF_ResT Read_F_Equation(WW8FieldDesc *, OUString &)
Definition: ww8par5.cxx:2625
void Read_AlignFont(sal_uInt16, const sal_uInt8 *pData, short nLen)
Definition: ww8par6.cxx:5171
SwWW8ImplReader & operator=(const SwWW8ImplReader &)=delete
SwWW8ImplReader & rReader
Definition: ww8par.hxx:168
SwNumRule * GetNumRuleForActivation(sal_uInt16 nLFOPosition, const sal_uInt8 nLevel, std::vector< sal_uInt8 > &rParaSprms, SwTextNode *pNode=nullptr)
Definition: ww8par3.cxx:1538
const OUString & GetBaseURL() const
Definition: ww8par.hxx:1909
WW8FormulaControl(WW8FormulaControl const &)=delete
bool m_bParaAutoBefore
Definition: ww8par.hxx:1363
sal_uInt8 nTransCell[MAX_COL+2]
Definition: ww8par.hxx:1046
static void SetPageULSpaceItems(SwFrameFormat &rFormat, wwULSpaceData const &rData, const wwSection &rSection)
Definition: ww8par6.cxx:652
void SetNumRule(const OUString &rNumRule, sal_uInt8 nNumType)
Definition: ww8par2.cxx:898
SprmResult GrpprlHasSprm(sal_uInt16 nId, sal_uInt8 &rSprms, sal_uInt8 nLen)
Definition: ww8par3.cxx:461
css::awt::Size MiserableDropDownFormHack(const OUString &rString, css::uno::Reference< css::beans::XPropertySet > const &rPropSet)
Definition: ww8par3.cxx:2267
WW8FormulaEditBox & operator=(const WW8FormulaEditBox &)=delete
sal_Int16 m_nRelativeJustify
Definition: ww8par.hxx:262
bool bCantSplit90
Definition: ww8par.hxx:1037
short nWidth[MAX_COL+1]
Definition: ww8par.hxx:1031
void ReadNewShd(const sal_uInt8 *pS, bool bVer67, sal_uInt8 nStart)
Definition: ww8par2.cxx:1601
void Read_CharSet(sal_uInt16, const sal_uInt8 *pData, short nLen)
Definition: ww8par6.cxx:3982
eF_ResT Read_F_HTMLControl(WW8FieldDesc *pF, OUString &rStr)
Definition: ww8par3.cxx:317
Base class of the Writer document model elements.
Definition: node.hxx:80
bool m_bWasTabRowEnd
Definition: ww8par.hxx:1326
void ProcessSprmTInsert(const sal_uInt8 *pParamsTInsert)
Definition: ww8par2.cxx:1367
bool MiserableRTLGraphicsHack(SwTwips &rLeft, SwTwips nWidth, sal_Int16 eHoriOri, sal_Int16 eHoriRel)
Definition: ww8graf.cxx:2230