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