sw/source/filter/ww8/ww8scan.cxx | 135 ++++++ sw/source/filter/ww8/ww8scan.hxx | 804 +++++++++++++++++++-------------------- 2 files changed, 526 insertions(+), 413 deletions(-)
New commits: commit b30b82b72317919af839ce55afa492ffc7405043 Author: Stephan Bergmann <sberg...@redhat.com> AuthorDate: Tue Dec 18 21:58:42 2018 +0100 Commit: Stephan Bergmann <sberg...@redhat.com> CommitDate: Wed Dec 19 13:10:15 2018 +0100 -Werror=class-memaccess (trunk towards GCC 9) ..."‘void* memset(void*, int, size_t)’ clearing an object of non-trivial type"; instead adding default member initializers to the members of WW8Fib and WW8Dop, where all ctors called memset. Unfortunately, C++17 doesn't yet allow default initializers for bit-field members, so those still need to be covered by per-ctor initializer lists for now. Change-Id: I0f4b5130d92abed2f808084813ff1089d390c809 Reviewed-on: https://gerrit.libreoffice.org/65376 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sberg...@redhat.com> diff --git a/sw/source/filter/ww8/ww8scan.cxx b/sw/source/filter/ww8/ww8scan.cxx index b497c6dbbfd9..5df59ec42ccd 100644 --- a/sw/source/filter/ww8/ww8scan.cxx +++ b/sw/source/filter/ww8/ww8scan.cxx @@ -5765,10 +5765,15 @@ ww::WordVersion WW8Fib::GetFIBVersion() const return eVer; } -WW8Fib::WW8Fib(SvStream& rSt, sal_uInt8 nWantedVersion, sal_uInt32 nOffset) - : m_nFibError( 0 ) +WW8Fib::WW8Fib(SvStream& rSt, sal_uInt8 nWantedVersion, sal_uInt32 nOffset): + m_fDot(false), m_fGlsy(false), m_fComplex(false), m_fHasPic(false), m_cQuickSaves(0), + m_fEncrypted(false), m_fWhichTableStm(false), m_fReadOnlyRecommended(false), + m_fWriteReservation(false), m_fExtChar(false), m_fFarEast(false), m_fObfuscated(false), + m_fMac(false), m_fEmptySpecial(false), m_fLoadOverridePage(false), m_fFuturesavedUndo(false), + m_fWord97Saved(false), m_fWord2000Saved(false) + // in C++20 with P06831R1 "Default member initializers for bit-fields (revision 1)", the + // above bit-field member initializations can be moved to the class definition { - memset(this, 0, sizeof(*this)); sal_uInt8 aBits1; sal_uInt8 aBits2; sal_uInt8 aVer8Bits1; // only used starting with WinWord 8 @@ -6187,9 +6192,15 @@ WW8Fib::WW8Fib(SvStream& rSt, sal_uInt8 nWantedVersion, sal_uInt32 nOffset) } } -WW8Fib::WW8Fib(sal_uInt8 nVer, bool bDot) +WW8Fib::WW8Fib(sal_uInt8 nVer, bool bDot): + m_fDot(false), m_fGlsy(false), m_fComplex(false), m_fHasPic(false), m_cQuickSaves(0), + m_fEncrypted(false), m_fWhichTableStm(false), m_fReadOnlyRecommended(false), + m_fWriteReservation(false), m_fExtChar(false), m_fFarEast(false), m_fObfuscated(false), + m_fMac(false), m_fEmptySpecial(false), m_fLoadOverridePage(false), m_fFuturesavedUndo(false), + m_fWord97Saved(false), m_fWord2000Saved(false) + // in C++20 with P06831R1 "Default member initializers for bit-fields (revision 1)", the + // above bit-field member initializations can be moved to the class definition { - memset(this, 0, sizeof(*this)); m_nVersion = nVer; if (8 == nVer) { @@ -7508,9 +7519,61 @@ void WW8PLCF_HdFt::UpdateIndex( sal_uInt8 grpfIhdt ) nIdxOffset++; } -WW8Dop::WW8Dop(SvStream& rSt, sal_Int16 nFib, sal_Int32 nPos, sal_uInt32 nSize) +WW8Dop::WW8Dop(SvStream& rSt, sal_Int16 nFib, sal_Int32 nPos, sal_uInt32 nSize): + fFacingPages(false), fWidowControl(false), fPMHMainDoc(false), grfSuppression(0), fpc(0), + grpfIhdt(0), rncFootnote(0), nFootnote(0), fOutlineDirtySave(false), fOnlyMacPics(false), + fOnlyWinPics(false), fLabelDoc(false), fHyphCapitals(false), fAutoHyphen(false), + fFormNoFields(false), fLinkStyles(false), fRevMarking(false), fBackup(false), + fExactCWords(false), fPagHidden(false), fPagResults(false), fLockAtn(false), + fMirrorMargins(false), fReadOnlyRecommended(false), fDfltTrueType(false), + fPagSuppressTopSpacing(false), fProtEnabled(false), fDispFormFieldSel(false), fRMView(false), + fRMPrint(false), fWriteReservation(false), fLockRev(false), fEmbedFonts(false), + copts_fNoTabForInd(false), copts_fNoSpaceRaiseLower(false), copts_fSupressSpbfAfterPgBrk(false), + copts_fWrapTrailSpaces(false), copts_fMapPrintTextColor(false), copts_fNoColumnBalance(false), + copts_fConvMailMergeEsc(false), copts_fSupressTopSpacing(false), + copts_fOrigWordTableRules(false), copts_fTransparentMetafiles(false), + copts_fShowBreaksInFrames(false), copts_fSwapBordersFacingPgs(false), copts_fExpShRtn(false), + rncEdn(0), nEdn(0), epc(0), fPrintFormData(false), fSaveFormData(false), fShadeFormData(false), + fWCFootnoteEdn(false), wvkSaved(0), wScaleSaved(0), zkSaved(0), fRotateFontW6(false), + iGutterPos(false), fNoTabForInd(false), fNoSpaceRaiseLower(false), + fSupressSpbfAfterPageBreak(false), fWrapTrailSpaces(false), fMapPrintTextColor(false), + fNoColumnBalance(false), fConvMailMergeEsc(false), fSupressTopSpacing(false), + fOrigWordTableRules(false), fTransparentMetafiles(false), fShowBreaksInFrames(false), + fSwapBordersFacingPgs(false), fCompatibilityOptions_Unknown1_13(false), fExpShRtn(false), + fCompatibilityOptions_Unknown1_15(false), fCompatibilityOptions_Unknown1_16(false), + fSuppressTopSpacingMac5(false), fTruncDxaExpand(false), fPrintBodyBeforeHdr(false), + fNoLeading(false), fCompatibilityOptions_Unknown1_21(false), fMWSmallCaps(false), + fCompatibilityOptions_Unknown1_23(false), fCompatibilityOptions_Unknown1_24(false), + fCompatibilityOptions_Unknown1_25(false), fCompatibilityOptions_Unknown1_26(false), + fCompatibilityOptions_Unknown1_27(false), fCompatibilityOptions_Unknown1_28(false), + fCompatibilityOptions_Unknown1_29(false), fCompatibilityOptions_Unknown1_30(false), + fCompatibilityOptions_Unknown1_31(false), fUsePrinterMetrics(false), lvl(0), fHtmlDoc(false), + fSnapBorder(false), fIncludeHeader(false), fIncludeFooter(false), fForcePageSizePag(false), + fMinFontSizePag(false), fHaveVersions(false), fAutoVersion(false), + fCompatibilityOptions_Unknown2_1(false), fCompatibilityOptions_Unknown2_2(false), + fDontUseHTMLAutoSpacing(false), fCompatibilityOptions_Unknown2_4(false), + fCompatibilityOptions_Unknown2_5(false), fCompatibilityOptions_Unknown2_6(false), + fCompatibilityOptions_Unknown2_7(false), fCompatibilityOptions_Unknown2_8(false), + fCompatibilityOptions_Unknown2_9(false), fCompatibilityOptions_Unknown2_10(false), + fCompatibilityOptions_Unknown2_11(false), fCompatibilityOptions_Unknown2_12(false), + fCompatibilityOptions_Unknown2_13(false), fCompatibilityOptions_Unknown2_14(false), + fCompatibilityOptions_Unknown2_15(false), fCompatibilityOptions_Unknown2_16(false), + fCompatibilityOptions_Unknown2_17(false), fCompatibilityOptions_Unknown2_18(false), + fCompatibilityOptions_Unknown2_19(false), fCompatibilityOptions_Unknown2_20(false), + fCompatibilityOptions_Unknown2_21(false), fCompatibilityOptions_Unknown2_22(false), + fCompatibilityOptions_Unknown2_23(false), fCompatibilityOptions_Unknown2_24(false), + fCompatibilityOptions_Unknown2_25(false), fCompatibilityOptions_Unknown2_26(false), + fCompatibilityOptions_Unknown2_27(false), fCompatibilityOptions_Unknown2_28(false), + fCompatibilityOptions_Unknown2_29(false), fCompatibilityOptions_Unknown2_30(false), + fCompatibilityOptions_Unknown2_31(false), fCompatibilityOptions_Unknown2_32(false), + fUnknown3(0), fUseBackGroundInAllmodes(false), fDoNotEmbedSystemFont(false), fWordCompat(false), + fLiveRecover(false), fEmbedFactoids(false), fFactoidXML(false), fFactoidAllDone(false), + fFolioPrint(false), fReverseFolio(false), iTextLineEnding(0), fHideFcc(false), + fAcetateShowMarkup(false), fAcetateShowAtn(false), fAcetateShowInsDel(false), + fAcetateShowProps(false) + // in C++20 with P06831R1 "Default member initializers for bit-fields (revision 1)", the + // above bit-field member initializations can be moved to the class definition { - memset(this, 0, sizeof(WW8Dop)); fDontUseHTMLAutoSpacing = true; //default fAcetateShowAtn = true; //default const sal_uInt32 nMaxDopSize = 0x268; @@ -7725,11 +7788,61 @@ WW8Dop::WW8Dop(SvStream& rSt, sal_Int16 nFib, sal_Int32 nPos, sal_uInt32 nSize) } } -WW8Dop::WW8Dop() +WW8Dop::WW8Dop(): + fFacingPages(false), fWidowControl(false), fPMHMainDoc(false), grfSuppression(0), fpc(0), + grpfIhdt(0), rncFootnote(0), nFootnote(0), fOutlineDirtySave(false), fOnlyMacPics(false), + fOnlyWinPics(false), fLabelDoc(false), fHyphCapitals(false), fAutoHyphen(false), + fFormNoFields(false), fLinkStyles(false), fRevMarking(false), fBackup(false), + fExactCWords(false), fPagHidden(false), fPagResults(false), fLockAtn(false), + fMirrorMargins(false), fReadOnlyRecommended(false), fDfltTrueType(false), + fPagSuppressTopSpacing(false), fProtEnabled(false), fDispFormFieldSel(false), fRMView(false), + fRMPrint(false), fWriteReservation(false), fLockRev(false), fEmbedFonts(false), + copts_fNoTabForInd(false), copts_fNoSpaceRaiseLower(false), copts_fSupressSpbfAfterPgBrk(false), + copts_fWrapTrailSpaces(false), copts_fMapPrintTextColor(false), copts_fNoColumnBalance(false), + copts_fConvMailMergeEsc(false), copts_fSupressTopSpacing(false), + copts_fOrigWordTableRules(false), copts_fTransparentMetafiles(false), + copts_fShowBreaksInFrames(false), copts_fSwapBordersFacingPgs(false), copts_fExpShRtn(false), + rncEdn(0), nEdn(0), epc(0), fPrintFormData(false), fSaveFormData(false), fShadeFormData(false), + fWCFootnoteEdn(false), wvkSaved(0), wScaleSaved(0), zkSaved(0), fRotateFontW6(false), + iGutterPos(false), fNoTabForInd(false), fNoSpaceRaiseLower(false), + fSupressSpbfAfterPageBreak(false), fWrapTrailSpaces(false), fMapPrintTextColor(false), + fNoColumnBalance(false), fConvMailMergeEsc(false), fSupressTopSpacing(false), + fOrigWordTableRules(false), fTransparentMetafiles(false), fShowBreaksInFrames(false), + fSwapBordersFacingPgs(false), fCompatibilityOptions_Unknown1_13(false), fExpShRtn(false), + fCompatibilityOptions_Unknown1_15(false), fCompatibilityOptions_Unknown1_16(false), + fSuppressTopSpacingMac5(false), fTruncDxaExpand(false), fPrintBodyBeforeHdr(false), + fNoLeading(false), fCompatibilityOptions_Unknown1_21(false), fMWSmallCaps(false), + fCompatibilityOptions_Unknown1_23(false), fCompatibilityOptions_Unknown1_24(false), + fCompatibilityOptions_Unknown1_25(false), fCompatibilityOptions_Unknown1_26(false), + fCompatibilityOptions_Unknown1_27(false), fCompatibilityOptions_Unknown1_28(false), + fCompatibilityOptions_Unknown1_29(false), fCompatibilityOptions_Unknown1_30(false), + fCompatibilityOptions_Unknown1_31(false), fUsePrinterMetrics(false), lvl(0), fHtmlDoc(false), + fSnapBorder(false), fIncludeHeader(false), fIncludeFooter(false), fForcePageSizePag(false), + fMinFontSizePag(false), fHaveVersions(false), fAutoVersion(false), + fCompatibilityOptions_Unknown2_1(false), fCompatibilityOptions_Unknown2_2(false), + fDontUseHTMLAutoSpacing(false), fCompatibilityOptions_Unknown2_4(false), + fCompatibilityOptions_Unknown2_5(false), fCompatibilityOptions_Unknown2_6(false), + fCompatibilityOptions_Unknown2_7(false), fCompatibilityOptions_Unknown2_8(false), + fCompatibilityOptions_Unknown2_9(false), fCompatibilityOptions_Unknown2_10(false), + fCompatibilityOptions_Unknown2_11(false), fCompatibilityOptions_Unknown2_12(false), + fCompatibilityOptions_Unknown2_13(false), fCompatibilityOptions_Unknown2_14(false), + fCompatibilityOptions_Unknown2_15(false), fCompatibilityOptions_Unknown2_16(false), + fCompatibilityOptions_Unknown2_17(false), fCompatibilityOptions_Unknown2_18(false), + fCompatibilityOptions_Unknown2_19(false), fCompatibilityOptions_Unknown2_20(false), + fCompatibilityOptions_Unknown2_21(false), fCompatibilityOptions_Unknown2_22(false), + fCompatibilityOptions_Unknown2_23(false), fCompatibilityOptions_Unknown2_24(false), + fCompatibilityOptions_Unknown2_25(false), fCompatibilityOptions_Unknown2_26(false), + fCompatibilityOptions_Unknown2_27(false), fCompatibilityOptions_Unknown2_28(false), + fCompatibilityOptions_Unknown2_29(false), fCompatibilityOptions_Unknown2_30(false), + fCompatibilityOptions_Unknown2_31(false), fCompatibilityOptions_Unknown2_32(false), + fUnknown3(0), fUseBackGroundInAllmodes(false), fDoNotEmbedSystemFont(false), fWordCompat(false), + fLiveRecover(false), fEmbedFactoids(false), fFactoidXML(false), fFactoidAllDone(false), + fFolioPrint(false), fReverseFolio(false), iTextLineEnding(0), fHideFcc(false), + fAcetateShowMarkup(false), fAcetateShowAtn(false), fAcetateShowInsDel(false), + fAcetateShowProps(false) + // in C++20 with P06831R1 "Default member initializers for bit-fields (revision 1)", the + // above bit-field member initializations can be moved to the class definition { - // first set everything to a default of 0 - memset(this, 0, sizeof(WW8Dop)); - fWidowControl = true; fpc = 1; nFootnote = 1; diff --git a/sw/source/filter/ww8/ww8scan.hxx b/sw/source/filter/ww8/ww8scan.hxx index 63ba044d87ff..9a9dd905cabd 100644 --- a/sw/source/filter/ww8/ww8scan.hxx +++ b/sw/source/filter/ww8/ww8scan.hxx @@ -1106,7 +1106,7 @@ public: class WW8Fib { private: - sal_Unicode m_nNumDecimalSep; + sal_Unicode m_nNumDecimalSep = u'\0'; public: /** @@ -1117,7 +1117,7 @@ public: 7 == "only WinWord 95" 8 == "WinWord 97 or newer" */ - sal_uInt8 m_nVersion; + sal_uInt8 m_nVersion = 0; /* error status */ @@ -1127,7 +1127,7 @@ public: (corresponds only approximately to the real structure of the Winword-FIB) */ - sal_uInt16 m_wIdent; // 0x0 int magic number + sal_uInt16 m_wIdent = 0; // 0x0 int magic number /* File Information Block (FIB) values: WinWord 1.0 = 33 @@ -1141,20 +1141,20 @@ public: Word 2003 = 268 Word 2007 = 274 */ - sal_uInt16 m_nFib; // 0x2 FIB version written - sal_uInt16 m_nProduct; // 0x4 product version written by + sal_uInt16 m_nFib = 0; // 0x2 FIB version written + sal_uInt16 m_nProduct = 0; // 0x4 product version written by LanguageType m_lid; // 0x6 language stamp---localized version; - WW8_PN m_pnNext; // 0x8 - - bool m_fDot :1; // 0xa 0001 - bool m_fGlsy :1; - bool m_fComplex :1; // 0004 when 1, file is in complex, fast-saved format. - bool m_fHasPic :1; // 0008 file contains 1 or more pictures - sal_uInt16 m_cQuickSaves :4; // 00F0 count of times file was quicksaved - bool m_fEncrypted :1; //0100 1 if file is encrypted, 0 if not - bool m_fWhichTableStm :1; //0200 When 0, this fib refers to the table stream - bool m_fReadOnlyRecommended :1; - bool m_fWriteReservation :1; + WW8_PN m_pnNext = 0; // 0x8 + + bool m_fDot :1 /*= false*/; // 0xa 0001 + bool m_fGlsy :1 /*= false*/; + bool m_fComplex :1 /*= false*/; // 0004 when 1, file is in complex, fast-saved format. + bool m_fHasPic :1 /*= false*/; // 0008 file contains 1 or more pictures + sal_uInt16 m_cQuickSaves :4 /*= 0*/; // 00F0 count of times file was quicksaved + bool m_fEncrypted :1 /*= false*/; //0100 1 if file is encrypted, 0 if not + bool m_fWhichTableStm :1 /*= false*/; //0200 When 0, this fib refers to the table stream + bool m_fReadOnlyRecommended :1 /*= false*/; + bool m_fWriteReservation :1 /*= false*/; // named "0Table", when 1, this fib refers to the // table stream named "1Table". Normally, a file // will have only one table stream, but under unusual @@ -1162,375 +1162,375 @@ public: // both names. In that case, this flag must be used // to decide which table stream is valid. - bool m_fExtChar :1; // 1000 =1, when using extended character set in file - bool m_fFarEast :1; // 4000 =1, probably, when far-East language variants of Word is used to create a file #i90932# + bool m_fExtChar :1 /*= false*/; // 1000 =1, when using extended character set in file + bool m_fFarEast :1 /*= false*/; // 4000 =1, probably, when far-East language variants of Word is used to create a file #i90932# - bool m_fObfuscated :1; // 8000=1. specifies whether the document is obfuscated using XOR obfuscation. otherwise this bit MUST be ignored. + bool m_fObfuscated :1 /*= false*/; // 8000=1. specifies whether the document is obfuscated using XOR obfuscation. otherwise this bit MUST be ignored. - sal_uInt16 m_nFibBack; // 0xc - sal_uInt16 m_nHash; // 0xe file encrypted hash - sal_uInt16 m_nKey; // 0x10 file encrypted key - sal_uInt8 m_envr; // 0x12 environment in which file was created + sal_uInt16 m_nFibBack = 0; // 0xc + sal_uInt16 m_nHash = 0; // 0xe file encrypted hash + sal_uInt16 m_nKey = 0; // 0x10 file encrypted key + sal_uInt8 m_envr = 0; // 0x12 environment in which file was created // 0 created by Win Word / 1 created by Mac Word - bool m_fMac :1; // 0x13 when 1, this file was last saved in the Mac environment - bool m_fEmptySpecial :1; - bool m_fLoadOverridePage :1; - bool m_fFuturesavedUndo :1; - bool m_fWord97Saved :1; - bool m_fWord2000Saved :1; + bool m_fMac :1 /*= false*/; // 0x13 when 1, this file was last saved in the Mac environment + bool m_fEmptySpecial :1 /*= false*/; + bool m_fLoadOverridePage :1 /*= false*/; + bool m_fFuturesavedUndo :1 /*= false*/; + bool m_fWord97Saved :1 /*= false*/; + bool m_fWord2000Saved :1 /*= false*/; sal_uInt8 :2; - sal_uInt16 m_chse; // 0x14 default extended character set id for text in document stream. (overridden by chp.chse) + sal_uInt16 m_chse = 0; // 0x14 default extended character set id for text in document stream. (overridden by chp.chse) // 0 = ANSI / 256 Macintosh character set. - sal_uInt16 m_chseTables; // 0x16 default extended character set id for text in + sal_uInt16 m_chseTables = 0; // 0x16 default extended character set id for text in // internal data structures: 0 = ANSI, 256 = Macintosh - WW8_FC m_fcMin; // 0x18 file offset of first character of text - WW8_FC m_fcMac; // 0x1c file offset of last character of text + 1 + WW8_FC m_fcMin = 0; // 0x18 file offset of first character of text + WW8_FC m_fcMac = 0; // 0x1c file offset of last character of text + 1 // start of WW8 section - sal_uInt16 m_csw; // Count of fields in the array of "shorts" + sal_uInt16 m_csw = 0; // Count of fields in the array of "shorts" // marker: "rgsw" Beginning of the array of shorts - sal_uInt16 m_wMagicCreated; // unique number Identifying the File's creator + sal_uInt16 m_wMagicCreated = 0; // unique number Identifying the File's creator // 0x6A62 is the creator ID for Word and is reserved. // Other creators should choose a different value. - sal_uInt16 m_wMagicRevised; // identifies the File's last modifier - sal_uInt16 m_wMagicCreatedPrivate; // private data - sal_uInt16 m_wMagicRevisedPrivate; // private data + sal_uInt16 m_wMagicRevised = 0; // identifies the File's last modifier + sal_uInt16 m_wMagicCreatedPrivate = 0; // private data + sal_uInt16 m_wMagicRevisedPrivate = 0; // private data LanguageType m_lidFE; // Language id if document was written by Far East version // of Word (i.e. FIB.fFarEast is on) - sal_uInt16 m_clw; // Number of fields in the array of longs + sal_uInt16 m_clw = 0; // Number of fields in the array of longs // end of WW8 section // Marker: "rglw" Beginning of the array of longs - WW8_FC m_cbMac; // 0x20 file offset of last byte written to file + 1. + WW8_FC m_cbMac = 0; // 0x20 file offset of last byte written to file + 1. // WW8_FC u4[4]; // 0x24 - WW8_CP m_ccpText; // 0x34 length of main document text stream - WW8_CP m_ccpFootnote; // 0x38 length of footnote subdocument text stream - WW8_CP m_ccpHdr; // 0x3c length of header subdocument text stream - WW8_CP m_ccpMcr; // 0x40 length of macro subdocument text stream - WW8_CP m_ccpAtn; // 0x44 length of annotation subdocument text stream - WW8_CP m_ccpEdn; // 0x48 length of endnote subdocument text stream - WW8_CP m_ccpTxbx; // 0x4c length of textbox subdocument text stream - WW8_CP m_ccpHdrTxbx; // 0x50 length of header textbox subdocument text stream + WW8_CP m_ccpText = 0; // 0x34 length of main document text stream + WW8_CP m_ccpFootnote = 0; // 0x38 length of footnote subdocument text stream + WW8_CP m_ccpHdr = 0; // 0x3c length of header subdocument text stream + WW8_CP m_ccpMcr = 0; // 0x40 length of macro subdocument text stream + WW8_CP m_ccpAtn = 0; // 0x44 length of annotation subdocument text stream + WW8_CP m_ccpEdn = 0; // 0x48 length of endnote subdocument text stream + WW8_CP m_ccpTxbx = 0; // 0x4c length of textbox subdocument text stream + WW8_CP m_ccpHdrTxbx = 0; // 0x50 length of header textbox subdocument text stream // start of WW8 section - sal_Int32 m_pnFbpChpFirst; // when there was insufficient memory for Word to expand + sal_Int32 m_pnFbpChpFirst = 0; // when there was insufficient memory for Word to expand // the PLCFbte at save time, the PLCFbte is written // to the file in a linked list of 512-byte pieces // starting with this pn. - sal_Int32 m_pnFbpPapFirst; // when there was insufficient memory for Word to expand + sal_Int32 m_pnFbpPapFirst = 0; // when there was insufficient memory for Word to expand // the PLCFbte at save time, the PLCFbte is written to // the file in a linked list of 512-byte pieces // starting with this pn - sal_Int32 m_pnFbpLvcFirst; // when there was insufficient memory for Word to expand + sal_Int32 m_pnFbpLvcFirst = 0; // when there was insufficient memory for Word to expand // the PLCFbte at save time, the PLCFbte is written to // the file in a linked list of 512-byte pieces // starting with this pn - sal_Int32 m_pnLvcFirst; // the page number of the lowest numbered page in the + sal_Int32 m_pnLvcFirst = 0; // the page number of the lowest numbered page in the // document that records LVC FKP information - sal_Int32 m_cpnBteLvc; // count of LVC FKPs recorded in file. In non-complex + sal_Int32 m_cpnBteLvc = 0; // count of LVC FKPs recorded in file. In non-complex // files if the number of entries in the PLCFbtePapx is // less than this, the PLCFbtePapx is incomplete. - sal_Int32 m_fcIslandFirst; // ? - sal_Int32 m_fcIslandLim; // ? - sal_uInt16 m_cfclcb; // Number of fields in the array of FC/LCB pairs. + sal_Int32 m_fcIslandFirst = 0; // ? + sal_Int32 m_fcIslandLim = 0; // ? + sal_uInt16 m_cfclcb = 0; // Number of fields in the array of FC/LCB pairs. // end of WW8 section // Marker: "rgfclcb" Beginning of array of FC/LCB pairs. - WW8_FC m_fcStshfOrig; // file offset of original allocation for STSH in table + WW8_FC m_fcStshfOrig = 0; // file offset of original allocation for STSH in table // stream. During fast save Word will attempt to reuse // this allocation if STSH is small enough to fit. - sal_Int32 m_lcbStshfOrig; // 0x5c count of bytes of original STSH allocation - WW8_FC m_fcStshf; // 0x60 file offset of STSH in file. - sal_Int32 m_lcbStshf; // 0x64 count of bytes of current STSH allocation - WW8_FC m_fcPlcffndRef; // 0x68 file offset of footnote reference PLCF. - sal_Int32 m_lcbPlcffndRef; // 0x6c count of bytes of footnote reference PLCF + sal_Int32 m_lcbStshfOrig = 0; // 0x5c count of bytes of original STSH allocation + WW8_FC m_fcStshf = 0; // 0x60 file offset of STSH in file. + sal_Int32 m_lcbStshf = 0; // 0x64 count of bytes of current STSH allocation + WW8_FC m_fcPlcffndRef = 0; // 0x68 file offset of footnote reference PLCF. + sal_Int32 m_lcbPlcffndRef = 0; // 0x6c count of bytes of footnote reference PLCF // == 0 if no footnotes defined in document. - WW8_FC m_fcPlcffndText; // 0x70 file offset of footnote text PLCF. - sal_Int32 m_lcbPlcffndText; // 0x74 count of bytes of footnote text PLCF. + WW8_FC m_fcPlcffndText = 0; // 0x70 file offset of footnote text PLCF. + sal_Int32 m_lcbPlcffndText = 0; // 0x74 count of bytes of footnote text PLCF. // == 0 if no footnotes defined in document - WW8_FC m_fcPlcfandRef; // 0x78 file offset of annotation reference PLCF. - sal_Int32 m_lcbPlcfandRef; // 0x7c count of bytes of annotation reference PLCF. + WW8_FC m_fcPlcfandRef = 0; // 0x78 file offset of annotation reference PLCF. + sal_Int32 m_lcbPlcfandRef = 0; // 0x7c count of bytes of annotation reference PLCF. - WW8_FC m_fcPlcfandText; // 0x80 file offset of annotation text PLCF. - sal_Int32 m_lcbPlcfandText; // 0x84 count of bytes of the annotation text PLCF + WW8_FC m_fcPlcfandText = 0; // 0x80 file offset of annotation text PLCF. + sal_Int32 m_lcbPlcfandText = 0; // 0x84 count of bytes of the annotation text PLCF - WW8_FC m_fcPlcfsed; // 8x88 file offset of section descriptor PLCF. - sal_Int32 m_lcbPlcfsed; // 0x8c count of bytes of section descriptor PLCF. + WW8_FC m_fcPlcfsed = 0; // 8x88 file offset of section descriptor PLCF. + sal_Int32 m_lcbPlcfsed = 0; // 0x8c count of bytes of section descriptor PLCF. - WW8_FC m_fcPlcfpad; // 0x90 file offset of paragraph descriptor PLCF - sal_Int32 m_lcbPlcfpad; // 0x94 count of bytes of paragraph descriptor PLCF. + WW8_FC m_fcPlcfpad = 0; // 0x90 file offset of paragraph descriptor PLCF + sal_Int32 m_lcbPlcfpad = 0; // 0x94 count of bytes of paragraph descriptor PLCF. // ==0 if file was never viewed in Outline view. // Should not be written by third party creators - WW8_FC m_fcPlcfphe; // 0x98 file offset of PLCF of paragraph heights. - sal_Int32 m_lcbPlcfphe; // 0x9c count of bytes of paragraph height PLCF. + WW8_FC m_fcPlcfphe = 0; // 0x98 file offset of PLCF of paragraph heights. + sal_Int32 m_lcbPlcfphe = 0; // 0x9c count of bytes of paragraph height PLCF. // ==0 when file is non-complex. - WW8_FC m_fcSttbfglsy; // 0xa0 file offset of glossary string table. - sal_Int32 m_lcbSttbfglsy; // 0xa4 count of bytes of glossary string table. + WW8_FC m_fcSttbfglsy = 0; // 0xa0 file offset of glossary string table. + sal_Int32 m_lcbSttbfglsy = 0; // 0xa4 count of bytes of glossary string table. // == 0 for non-glossary documents. // !=0 for glossary documents. - WW8_FC m_fcPlcfglsy; // 0xa8 file offset of glossary PLCF. - sal_Int32 m_lcbPlcfglsy; // 0xac count of bytes of glossary PLCF. + WW8_FC m_fcPlcfglsy = 0; // 0xa8 file offset of glossary PLCF. + sal_Int32 m_lcbPlcfglsy = 0; // 0xac count of bytes of glossary PLCF. // == 0 for non-glossary documents. // !=0 for glossary documents. - WW8_FC m_fcPlcfhdd; // 0xb0 byte offset of header PLCF. - sal_Int32 m_lcbPlcfhdd; // 0xb4 count of bytes of header PLCF. + WW8_FC m_fcPlcfhdd = 0; // 0xb0 byte offset of header PLCF. + sal_Int32 m_lcbPlcfhdd = 0; // 0xb4 count of bytes of header PLCF. // == 0 if document contains no headers - WW8_FC m_fcPlcfbteChpx; // 0xb8 file offset of character property bin table.PLCF. - sal_Int32 m_lcbPlcfbteChpx;// 0xbc count of bytes of character property bin table PLCF. + WW8_FC m_fcPlcfbteChpx = 0; // 0xb8 file offset of character property bin table.PLCF. + sal_Int32 m_lcbPlcfbteChpx = 0;// 0xbc count of bytes of character property bin table PLCF. - WW8_FC m_fcPlcfbtePapx; // 0xc0 file offset of paragraph property bin table.PLCF. - sal_Int32 m_lcbPlcfbtePapx;// 0xc4 count of bytes of paragraph property bin table PLCF. + WW8_FC m_fcPlcfbtePapx = 0; // 0xc0 file offset of paragraph property bin table.PLCF. + sal_Int32 m_lcbPlcfbtePapx = 0;// 0xc4 count of bytes of paragraph property bin table PLCF. - WW8_FC m_fcPlcfsea; // 0xc8 file offset of PLCF reserved for private use. The SEA is 6 bytes long. - sal_Int32 m_lcbPlcfsea; // 0xcc count of bytes of private use PLCF. + WW8_FC m_fcPlcfsea = 0; // 0xc8 file offset of PLCF reserved for private use. The SEA is 6 bytes long. + sal_Int32 m_lcbPlcfsea = 0; // 0xcc count of bytes of private use PLCF. - WW8_FC m_fcSttbfffn; // 0xd0 file offset of font information STTBF. See the FFN file structure definition. - sal_Int32 m_lcbSttbfffn; // 0xd4 count of bytes in sttbfffn. + WW8_FC m_fcSttbfffn = 0; // 0xd0 file offset of font information STTBF. See the FFN file structure definition. + sal_Int32 m_lcbSttbfffn = 0; // 0xd4 count of bytes in sttbfffn. - WW8_FC m_fcPlcffldMom; // 0xd8 offset in doc stream to the PLCF of field positions in the main document. - sal_Int32 m_lcbPlcffldMom; // 0xdc + WW8_FC m_fcPlcffldMom = 0; // 0xd8 offset in doc stream to the PLCF of field positions in the main document. + sal_Int32 m_lcbPlcffldMom = 0; // 0xdc - WW8_FC m_fcPlcffldHdr; // 0xe0 offset in doc stream to the PLCF of field positions in the header subdocument. - sal_Int32 m_lcbPlcffldHdr; // 0xe4 + WW8_FC m_fcPlcffldHdr = 0; // 0xe0 offset in doc stream to the PLCF of field positions in the header subdocument. + sal_Int32 m_lcbPlcffldHdr = 0; // 0xe4 - WW8_FC m_fcPlcffldFootnote; // 0xe8 offset in doc stream to the PLCF of field positions in the footnote subdocument. - sal_Int32 m_lcbPlcffldFootnote; // 0xec + WW8_FC m_fcPlcffldFootnote = 0; // 0xe8 offset in doc stream to the PLCF of field positions in the footnote subdocument. + sal_Int32 m_lcbPlcffldFootnote = 0; // 0xec - WW8_FC m_fcPlcffldAtn; // 0xf0 offset in doc stream to the PLCF of field positions in the annotation subdocument. - sal_Int32 m_lcbPlcffldAtn; // 0xf4 + WW8_FC m_fcPlcffldAtn = 0; // 0xf0 offset in doc stream to the PLCF of field positions in the annotation subdocument. + sal_Int32 m_lcbPlcffldAtn = 0; // 0xf4 - WW8_FC m_fcPlcffldMcr; // 0xf8 offset in doc stream to the PLCF of field positions in the macro subdocument. - sal_Int32 m_lcbPlcffldMcr; // 9xfc + WW8_FC m_fcPlcffldMcr = 0; // 0xf8 offset in doc stream to the PLCF of field positions in the macro subdocument. + sal_Int32 m_lcbPlcffldMcr = 0; // 9xfc - WW8_FC m_fcSttbfbkmk; // 0x100 offset in document stream of the STTBF that records bookmark names in the main document - sal_Int32 m_lcbSttbfbkmk; // 0x104 + WW8_FC m_fcSttbfbkmk = 0; // 0x100 offset in document stream of the STTBF that records bookmark names in the main document + sal_Int32 m_lcbSttbfbkmk = 0; // 0x104 - WW8_FC m_fcPlcfbkf; // 0x108 offset in document stream of the PLCF that records the beginning CP offsets of bookmarks in the main document. See BKF - sal_Int32 m_lcbPlcfbkf; // 0x10c + WW8_FC m_fcPlcfbkf = 0; // 0x108 offset in document stream of the PLCF that records the beginning CP offsets of bookmarks in the main document. See BKF + sal_Int32 m_lcbPlcfbkf = 0; // 0x10c - WW8_FC m_fcPlcfbkl; // 0x110 offset in document stream of the PLCF that records the ending CP offsets of bookmarks recorded in the main document. See the BKL structure definition. - sal_Int32 m_lcbPlcfbkl; // 0x114 sal_Int32 + WW8_FC m_fcPlcfbkl = 0; // 0x110 offset in document stream of the PLCF that records the ending CP offsets of bookmarks recorded in the main document. See the BKL structure definition. + sal_Int32 m_lcbPlcfbkl = 0; // 0x114 sal_Int32 - WW8_FC m_fcCmds; // 0x118 FC - sal_uInt32 m_lcbCmds; // 0x11c + WW8_FC m_fcCmds = 0; // 0x118 FC + sal_uInt32 m_lcbCmds = 0; // 0x11c - WW8_FC m_fcPlcfmcr; // 0x120 FC - sal_Int32 m_lcbPlcfmcr; // 0x124 + WW8_FC m_fcPlcfmcr = 0; // 0x120 FC + sal_Int32 m_lcbPlcfmcr = 0; // 0x124 - WW8_FC m_fcSttbfmcr; // 0x128 FC - sal_Int32 m_lcbSttbfmcr; // 0x12c + WW8_FC m_fcSttbfmcr = 0; // 0x128 FC + sal_Int32 m_lcbSttbfmcr = 0; // 0x12c - WW8_FC m_fcPrDrvr; // 0x130 file offset of the printer driver information (names of drivers, port etc...) - sal_Int32 m_lcbPrDrvr; // 0x134 count of bytes of the printer driver information (names of drivers, port etc...) + WW8_FC m_fcPrDrvr = 0; // 0x130 file offset of the printer driver information (names of drivers, port etc...) + sal_Int32 m_lcbPrDrvr = 0; // 0x134 count of bytes of the printer driver information (names of drivers, port etc...) - WW8_FC m_fcPrEnvPort; // 0x138 file offset of the print environment in portrait mode. - sal_Int32 m_lcbPrEnvPort; // 0x13c count of bytes of the print environment in portrait mode. + WW8_FC m_fcPrEnvPort = 0; // 0x138 file offset of the print environment in portrait mode. + sal_Int32 m_lcbPrEnvPort = 0; // 0x13c count of bytes of the print environment in portrait mode. - WW8_FC m_fcPrEnvLand; // 0x140 file offset of the print environment in landscape mode. - sal_Int32 m_lcbPrEnvLand; // 0x144 count of bytes of the print environment in landscape mode. + WW8_FC m_fcPrEnvLand = 0; // 0x140 file offset of the print environment in landscape mode. + sal_Int32 m_lcbPrEnvLand = 0; // 0x144 count of bytes of the print environment in landscape mode. - WW8_FC m_fcWss; // 0x148 file offset of Window Save State data structure. See WSS. - sal_Int32 m_lcbWss; // 0x14c count of bytes of WSS. ==0 if unable to store the window state. + WW8_FC m_fcWss = 0; // 0x148 file offset of Window Save State data structure. See WSS. + sal_Int32 m_lcbWss = 0; // 0x14c count of bytes of WSS. ==0 if unable to store the window state. - WW8_FC m_fcDop; // 0x150 file offset of document property data structure. - sal_uInt32 m_lcbDop; // 0x154 count of bytes of document properties. + WW8_FC m_fcDop = 0; // 0x150 file offset of document property data structure. + sal_uInt32 m_lcbDop = 0; // 0x154 count of bytes of document properties. // cbDOP is 84 when nFib < 103 - WW8_FC m_fcSttbfAssoc; // 0x158 offset to STTBF of associated strings. See STTBFASSOC. - sal_Int32 m_lcbSttbfAssoc; // 0x15C + WW8_FC m_fcSttbfAssoc = 0; // 0x158 offset to STTBF of associated strings. See STTBFASSOC. + sal_Int32 m_lcbSttbfAssoc = 0; // 0x15C - WW8_FC m_fcClx; // 0x160 file offset of beginning of information for complex files. - sal_Int32 m_lcbClx; // 0x164 count of bytes of complex file information. 0 if file is non-complex. + WW8_FC m_fcClx = 0; // 0x160 file offset of beginning of information for complex files. + sal_Int32 m_lcbClx = 0; // 0x164 count of bytes of complex file information. 0 if file is non-complex. - WW8_FC m_fcPlcfpgdFootnote; // 0x168 file offset of page descriptor PLCF for footnote subdocument. - sal_Int32 m_lcbPlcfpgdFootnote; // 0x16C count of bytes of page descriptor PLCF for footnote subdocument. + WW8_FC m_fcPlcfpgdFootnote = 0; // 0x168 file offset of page descriptor PLCF for footnote subdocument. + sal_Int32 m_lcbPlcfpgdFootnote = 0; // 0x16C count of bytes of page descriptor PLCF for footnote subdocument. // ==0 if document has not been paginated. The length of the PGD is 8 bytes. - WW8_FC m_fcAutosaveSource; // 0x170 file offset of the name of the original file. - sal_Int32 m_lcbAutosaveSource; // 0x174 count of bytes of the name of the original file. + WW8_FC m_fcAutosaveSource = 0; // 0x170 file offset of the name of the original file. + sal_Int32 m_lcbAutosaveSource = 0; // 0x174 count of bytes of the name of the original file. - WW8_FC m_fcGrpStAtnOwners; // 0x178 group of strings recording the names of the owners of annotations - sal_Int32 m_lcbGrpStAtnOwners; // 0x17C count of bytes of the group of strings + WW8_FC m_fcGrpStAtnOwners = 0; // 0x178 group of strings recording the names of the owners of annotations + sal_Int32 m_lcbGrpStAtnOwners = 0; // 0x17C count of bytes of the group of strings - WW8_FC m_fcSttbfAtnbkmk; // 0x180 file offset of the sttbf that records names of bookmarks in the annotation subdocument - sal_Int32 m_lcbSttbfAtnbkmk; // 0x184 length in bytes of the sttbf that records names of bookmarks in the annotation subdocument + WW8_FC m_fcSttbfAtnbkmk = 0; // 0x180 file offset of the sttbf that records names of bookmarks in the annotation subdocument + sal_Int32 m_lcbSttbfAtnbkmk = 0; // 0x184 length in bytes of the sttbf that records names of bookmarks in the annotation subdocument // end of WW67 section - WW8_FC m_fcPlcfdoaMom; // 0x192 file offset of the FDOA (drawn object) PLCF for main document. + WW8_FC m_fcPlcfdoaMom = 0; // 0x192 file offset of the FDOA (drawn object) PLCF for main document. // ==0 if document has no drawn objects. The length of the FDOA is 6 bytes. // unused starting from Ver8 - sal_Int32 m_lcbPlcfdoaMom; // 0x196 length in bytes of the FDOA PLCF of the main document + sal_Int32 m_lcbPlcfdoaMom = 0; // 0x196 length in bytes of the FDOA PLCF of the main document // unused starting from Ver8 - WW8_FC m_fcPlcfdoaHdr; // 0x19A file offset of the FDOA (drawn object) PLCF for the header document. + WW8_FC m_fcPlcfdoaHdr = 0; // 0x19A file offset of the FDOA (drawn object) PLCF for the header document. // ==0 if document has no drawn objects. The length of the FDOA is 6 bytes. // unused starting from Ver8 - sal_Int32 m_lcbPlcfdoaHdr; // 0x19E length in bytes of the FDOA PLCF of the header document + sal_Int32 m_lcbPlcfdoaHdr = 0; // 0x19E length in bytes of the FDOA PLCF of the header document // unused starting from Ver8 - WW8_FC m_fcPlcfspaMom; // offset in table stream of the FSPA PLCF for main document. + WW8_FC m_fcPlcfspaMom = 0; // offset in table stream of the FSPA PLCF for main document. // == 0 if document has no office art objects // was empty reserve in Ver67 - sal_Int32 m_lcbPlcfspaMom; // length in bytes of the FSPA PLCF of the main document + sal_Int32 m_lcbPlcfspaMom = 0; // length in bytes of the FSPA PLCF of the main document // was empty reserve in Ver67 - WW8_FC m_fcPlcfspaHdr; // offset in table stream of the FSPA PLCF for header document. + WW8_FC m_fcPlcfspaHdr = 0; // offset in table stream of the FSPA PLCF for header document. // == 0 if document has no office art objects // was empty reserve in Ver67 - sal_Int32 m_lcbPlcfspaHdr; // length in bytes of the FSPA PLCF of the header document + sal_Int32 m_lcbPlcfspaHdr = 0; // length in bytes of the FSPA PLCF of the header document // was empty reserve in Ver67 - WW8_FC m_fcPlcfAtnbkf; // 0x1B2 file offset of BKF (bookmark first) PLCF of the annotation subdocument - sal_Int32 m_lcbPlcfAtnbkf; // 0x1B6 length in bytes of BKF (bookmark first) PLCF of the annotation subdocument + WW8_FC m_fcPlcfAtnbkf = 0; // 0x1B2 file offset of BKF (bookmark first) PLCF of the annotation subdocument + sal_Int32 m_lcbPlcfAtnbkf = 0; // 0x1B6 length in bytes of BKF (bookmark first) PLCF of the annotation subdocument - WW8_FC m_fcPlcfAtnbkl; // 0x1BA file offset of BKL (bookmark last) PLCF of the annotation subdocument - sal_Int32 m_lcbPlcfAtnbkl; // 0x1BE length in bytes of BKL (bookmark first) PLCF of the annotation subdocument + WW8_FC m_fcPlcfAtnbkl = 0; // 0x1BA file offset of BKL (bookmark last) PLCF of the annotation subdocument + sal_Int32 m_lcbPlcfAtnbkl = 0; // 0x1BE length in bytes of BKL (bookmark first) PLCF of the annotation subdocument - WW8_FC m_fcPms; // 0x1C2 file offset of PMS (Print Merge State) information block - sal_Int32 m_lcbPMS; // 0x1C6 length in bytes of PMS + WW8_FC m_fcPms = 0; // 0x1C2 file offset of PMS (Print Merge State) information block + sal_Int32 m_lcbPMS = 0; // 0x1C6 length in bytes of PMS - WW8_FC m_fcFormFieldSttbf; // 0x1CA file offset of form field Sttbf which contains strings used in form field dropdown controls - sal_Int32 m_lcbFormFieldSttbf; // 0x1CE length in bytes of form field Sttbf + WW8_FC m_fcFormFieldSttbf = 0; // 0x1CA file offset of form field Sttbf which contains strings used in form field dropdown controls + sal_Int32 m_lcbFormFieldSttbf = 0; // 0x1CE length in bytes of form field Sttbf - WW8_FC m_fcPlcfendRef; // 0x1D2 file offset of PLCFendRef which points to endnote references in the main document stream - sal_Int32 m_lcbPlcfendRef; // 0x1D6 + WW8_FC m_fcPlcfendRef = 0; // 0x1D2 file offset of PLCFendRef which points to endnote references in the main document stream + sal_Int32 m_lcbPlcfendRef = 0; // 0x1D6 - WW8_FC m_fcPlcfendText; // 0x1DA file offset of PLCFendRef which points to endnote text in the endnote document + WW8_FC m_fcPlcfendText = 0; // 0x1DA file offset of PLCFendRef which points to endnote text in the endnote document // stream which corresponds with the PLCFendRef - sal_Int32 m_lcbPlcfendText; // 0x1DE + sal_Int32 m_lcbPlcfendText = 0; // 0x1DE - WW8_FC m_fcPlcffldEdn; // 0x1E2 offset to PLCF of field positions in the endnote subdoc - sal_Int32 m_lcbPlcffldEdn; // 0x1E6 + WW8_FC m_fcPlcffldEdn = 0; // 0x1E2 offset to PLCF of field positions in the endnote subdoc + sal_Int32 m_lcbPlcffldEdn = 0; // 0x1E6 - WW8_FC m_fcPlcfpgdEdn; // 0x1EA offset to PLCF of page boundaries in the endnote subdoc. - sal_Int32 m_lcbPlcfpgdEdn; // 0x1EE + WW8_FC m_fcPlcfpgdEdn = 0; // 0x1EA offset to PLCF of page boundaries in the endnote subdoc. + sal_Int32 m_lcbPlcfpgdEdn = 0; // 0x1EE - WW8_FC m_fcDggInfo; // offset in table stream of the office art object table data. + WW8_FC m_fcDggInfo = 0; // offset in table stream of the office art object table data. // The format of office art object table data is found in a separate document. // was empty reserve in Ver67 - sal_Int32 m_lcbDggInfo; // length in bytes of the office art object table data + sal_Int32 m_lcbDggInfo = 0; // length in bytes of the office art object table data // was empty reserve in Ver67 - WW8_FC m_fcSttbfRMark; // 0x1fa offset to STTBF that records the author abbreviations... - sal_Int32 m_lcbSttbfRMark; // 0x1fe - WW8_FC m_fcSttbfCaption; // 0x202 offset to STTBF that records caption titles... - sal_Int32 m_lcbSttbfCaption; // 0x206 - WW8_FC m_fcSttbAutoCaption; // offset in table stream to the STTBF that records the object names and + WW8_FC m_fcSttbfRMark = 0; // 0x1fa offset to STTBF that records the author abbreviations... + sal_Int32 m_lcbSttbfRMark = 0; // 0x1fe + WW8_FC m_fcSttbfCaption = 0; // 0x202 offset to STTBF that records caption titles... + sal_Int32 m_lcbSttbfCaption = 0; // 0x206 + WW8_FC m_fcSttbAutoCaption = 0; // offset in table stream to the STTBF that records the object names and // indices into the caption STTBF for objects which get auto captions. - sal_Int32 m_lcbSttbAutoCaption; // 0x20e + sal_Int32 m_lcbSttbAutoCaption = 0; // 0x20e - WW8_FC m_fcPlcfwkb; // 0x212 offset to PLCF that describes the boundaries of contributing documents... - sal_Int32 m_lcbPlcfwkb; // 0x216 + WW8_FC m_fcPlcfwkb = 0; // 0x212 offset to PLCF that describes the boundaries of contributing documents... + sal_Int32 m_lcbPlcfwkb = 0; // 0x216 - WW8_FC m_fcPlcfspl; // offset in table stream of PLCF (of SPLS structures) that records spell check state + WW8_FC m_fcPlcfspl = 0; // offset in table stream of PLCF (of SPLS structures) that records spell check state // was empty reserve in Ver67 - sal_Int32 m_lcbPlcfspl; // was empty reserve in Ver67 - - WW8_FC m_fcPlcftxbxText; // 0x222 ...PLCF of beginning CP in the text box subdoc - sal_Int32 m_lcbPlcftxbxText; // 0x226 - WW8_FC m_fcPlcffldTxbx; // 0x22a ...PLCF of field boundaries recorded in the textbox subdoc. - sal_Int32 m_lcbPlcffldTxbx; // 0x22e - WW8_FC m_fcPlcfHdrtxbxText;// 0x232 ...PLCF of beginning CP in the header text box subdoc - sal_Int32 m_lcbPlcfHdrtxbxText;// 0x236 - WW8_FC m_fcPlcffldHdrTxbx;// 0x23a ...PLCF of field boundaries recorded in the header textbox subdoc. - sal_Int32 m_lcbPlcffldHdrTxbx;// 0x23e - WW8_FC m_fcStwUser; - sal_uInt32 m_lcbStwUser; - WW8_FC m_fcSttbttmbd; - sal_uInt32 m_lcbSttbttmbd; - - WW8_FC m_fcSttbFnm; // 0x02da offset in the table stream of masters subdocument names - sal_Int32 m_lcbSttbFnm; // 0x02de length + sal_Int32 m_lcbPlcfspl = 0; // was empty reserve in Ver67 + + WW8_FC m_fcPlcftxbxText = 0; // 0x222 ...PLCF of beginning CP in the text box subdoc + sal_Int32 m_lcbPlcftxbxText = 0; // 0x226 + WW8_FC m_fcPlcffldTxbx = 0; // 0x22a ...PLCF of field boundaries recorded in the textbox subdoc. + sal_Int32 m_lcbPlcffldTxbx = 0; // 0x22e + WW8_FC m_fcPlcfHdrtxbxText = 0;// 0x232 ...PLCF of beginning CP in the header text box subdoc + sal_Int32 m_lcbPlcfHdrtxbxText = 0;// 0x236 + WW8_FC m_fcPlcffldHdrTxbx = 0;// 0x23a ...PLCF of field boundaries recorded in the header textbox subdoc. + sal_Int32 m_lcbPlcffldHdrTxbx = 0;// 0x23e + WW8_FC m_fcStwUser = 0; + sal_uInt32 m_lcbStwUser = 0; + WW8_FC m_fcSttbttmbd = 0; + sal_uInt32 m_lcbSttbttmbd = 0; + + WW8_FC m_fcSttbFnm = 0; // 0x02da offset in the table stream of masters subdocument names + sal_Int32 m_lcbSttbFnm = 0; // 0x02de length /* special list handling for WW8 */ - WW8_FC m_fcPlcfLst; // 0x02e2 offset in the table stream of list format information. - sal_Int32 m_lcbPlcfLst; // 0x02e6 length - WW8_FC m_fcPlfLfo; // 0x02ea offset in the table stream of list format override information. - sal_Int32 m_lcbPlfLfo; // 0x02ee length + WW8_FC m_fcPlcfLst = 0; // 0x02e2 offset in the table stream of list format information. + sal_Int32 m_lcbPlcfLst = 0; // 0x02e6 length + WW8_FC m_fcPlfLfo = 0; // 0x02ea offset in the table stream of list format override information. + sal_Int32 m_lcbPlfLfo = 0; // 0x02ee length /* special Break handling for text-box-stories in WW8 */ - WW8_FC m_fcPlcftxbxBkd; // 0x02f2 PLCF for TextBox-Break-descriptors in the Maintext - sal_Int32 m_lcbPlcftxbxBkd; // 0x02f6 - WW8_FC m_fcPlcfHdrtxbxBkd;// 0x02fa PLCF for TextBox-Break-descriptors in the Header-/Footer- area - sal_Int32 m_lcbPlcfHdrtxbxBkd;// 0x02fe + WW8_FC m_fcPlcftxbxBkd = 0; // 0x02f2 PLCF for TextBox-Break-descriptors in the Maintext + sal_Int32 m_lcbPlcftxbxBkd = 0; // 0x02f6 + WW8_FC m_fcPlcfHdrtxbxBkd = 0;// 0x02fa PLCF for TextBox-Break-descriptors in the Header-/Footer- area + sal_Int32 m_lcbPlcfHdrtxbxBkd = 0;// 0x02fe // 0x302 - 372 == ignore /* ListNames (skip to here!) */ - WW8_FC m_fcSttbListNames;// 0x0372 PLCF for Listname Table - sal_Int32 m_lcbSttbListNames;// 0x0376 + WW8_FC m_fcSttbListNames = 0;// 0x0372 PLCF for Listname Table + sal_Int32 m_lcbSttbListNames = 0;// 0x0376 - WW8_FC m_fcPlcfTch; - sal_Int32 m_lcbPlcfTch; + WW8_FC m_fcPlcfTch = 0; + sal_Int32 m_lcbPlcfTch = 0; // 0x38A - 41A == ignore - WW8_FC m_fcAtrdExtra; - sal_uInt32 m_lcbAtrdExtra; + WW8_FC m_fcAtrdExtra = 0; + sal_uInt32 m_lcbAtrdExtra = 0; // 0x422 - 0x429 == ignore /// 0x42a smart-tag bookmark string table offset. - WW8_FC m_fcSttbfBkmkFactoid; + WW8_FC m_fcSttbfBkmkFactoid = 0; /// 0x42e smart-tag bookmark string table length. - sal_uInt32 m_lcbSttbfBkmkFactoid; + sal_uInt32 m_lcbSttbfBkmkFactoid = 0; /// 0x432 smart-tag bookmark starts offset. - WW8_FC m_fcPlcfBkfFactoid; + WW8_FC m_fcPlcfBkfFactoid = 0; /// 0x436 smart-tag bookmark ends length. - sal_uInt32 m_lcbPlcfBkfFactoid; + sal_uInt32 m_lcbPlcfBkfFactoid = 0; // 0x43a - 0x441 == ignore /// 0x442 smart-tag bookmark ends offset. - WW8_FC m_fcPlcfBklFactoid; + WW8_FC m_fcPlcfBklFactoid = 0; /// 0x446 smart-tag bookmark ends length. - sal_uInt32 m_lcbPlcfBklFactoid; + sal_uInt32 m_lcbPlcfBklFactoid = 0; /// 0x44a smart tag data offset. - WW8_FC m_fcFactoidData; + WW8_FC m_fcFactoidData = 0; /// 0x44e smart tag data length. - sal_uInt32 m_lcbFactoidData; + sal_uInt32 m_lcbFactoidData = 0; // 0x452 - 0x4b9 == ignore /// 0x4ba Plcffactoid offset. - WW8_FC m_fcPlcffactoid; + WW8_FC m_fcPlcffactoid = 0; /// 0x4be Plcffactoid offset. - sal_uInt32 m_lcbPlcffactoid; + sal_uInt32 m_lcbPlcffactoid = 0; // 0x4bf - 0x4d4 == ignore - WW8_FC m_fcHplxsdr; //bizarrely, word xp seems to require this set to shows dates from AtrdExtra - sal_uInt32 m_lcbHplxsdr; + WW8_FC m_fcHplxsdr = 0; //bizarrely, word xp seems to require this set to shows dates from AtrdExtra + sal_uInt32 m_lcbHplxsdr = 0; /* general variables that were used for Ver67 and Ver8, even though they had different sizes in the corresponding files: */ - sal_Int32 m_pnChpFirst; - sal_Int32 m_pnPapFirst; - sal_Int32 m_cpnBteChp; - sal_Int32 m_cpnBtePap; + sal_Int32 m_pnChpFirst = 0; + sal_Int32 m_pnPapFirst = 0; + sal_Int32 m_cpnBteChp = 0; + sal_Int32 m_cpnBtePap = 0; /* The actual nFib, moved here because some readers assumed they couldn't read any format with nFib > some constant */ - sal_uInt16 m_nFib_actual; // 0x05bc #i56856# + sal_uInt16 m_nFib_actual = 0; // 0x05bc #i56856# WW8Fib(SvStream& rStrm, sal_uInt8 nWantedVersion,sal_uInt32 nOffset=0); explicit WW8Fib(sal_uInt8 nVersion, bool bDot = false); @@ -1611,227 +1611,227 @@ public: Corresponds only roughly to the actual structure of the Winword DOP, the winword FIB version matters to what exists. */ - bool fFacingPages : 1; // 1 when facing pages should be printed + bool fFacingPages : 1 /*= false*/; // 1 when facing pages should be printed - bool fWidowControl : 1; //a: orig 97 docs say + bool fWidowControl : 1 /*= false*/; //a: orig 97 docs say // 1 when widow control is in effect. 0 when widow control disabled. //b: MS-DOC: Word Binary File Format (.doc) Structure Specification 2008 says // B - unused1 (1 bit): Undefined and MUST be ignored. - bool fPMHMainDoc : 1; // 1 when doc is a main doc for Print Merge Helper, 0 when not; default=0 - sal_uInt16 grfSuppression : 2; // 0 Default line suppression storage; 0= form letter line suppression; 1= no line suppression; default=0 - sal_uInt16 fpc : 2; // 1 footnote position code: 0 as endnotes, 1 at bottom of page, 2 immediately beneath text + bool fPMHMainDoc : 1 /*= false*/; // 1 when doc is a main doc for Print Merge Helper, 0 when not; default=0 + sal_uInt16 grfSuppression : 2 /*= 0*/; // 0 Default line suppression storage; 0= form letter line suppression; 1= no line suppression; default=0 + sal_uInt16 fpc : 2 /*= 0*/; // 1 footnote position code: 0 as endnotes, 1 at bottom of page, 2 immediately beneath text sal_uInt16 : 1; // 0 unused - sal_uInt16 grpfIhdt : 8; // 0 specification of document headers and footers. See explanation under Headers and Footers topic. + sal_uInt16 grpfIhdt : 8 /*= 0*/; // 0 specification of document headers and footers. See explanation under Headers and Footers topic. - sal_uInt16 rncFootnote : 2; // 0 restart index for footnotes, 0 don't restart note numbering, 1 section, 2 page - sal_uInt16 nFootnote : 14; // 1 initial footnote number for document - bool fOutlineDirtySave : 1; // when 1, indicates that information in the hPLCFpad should be refreshed since outline has been dirtied + sal_uInt16 rncFootnote : 2 /*= 0*/; // 0 restart index for footnotes, 0 don't restart note numbering, 1 section, 2 page + sal_uInt16 nFootnote : 14 /*= 0*/; // 1 initial footnote number for document + bool fOutlineDirtySave : 1 /*= false*/; // when 1, indicates that information in the hPLCFpad should be refreshed since outline has been dirtied sal_uInt16 : 7; // reserved - bool fOnlyMacPics : 1; // when 1, Word believes all pictures recorded in the document were created on a Macintosh - bool fOnlyWinPics : 1; // when 1, Word believes all pictures recorded in the document were created in Windows - bool fLabelDoc : 1; // when 1, document was created as a print merge labels document - bool fHyphCapitals : 1; // when 1, Word is allowed to hyphenate words that are capitalized. When 0, capitalized may not be hyphenated - bool fAutoHyphen : 1; // when 1, Word will hyphenate newly typed text as a background task - bool fFormNoFields : 1; - bool fLinkStyles : 1; // when 1, Word will merge styles from its template - bool fRevMarking : 1; // when 1, Word will mark revisions as the document is edited - bool fBackup : 1; // always make backup when document saved when 1. - bool fExactCWords : 1; - bool fPagHidden : 1; - bool fPagResults : 1; - bool fLockAtn : 1; // when 1, annotations are locked for editing - bool fMirrorMargins : 1; // swap margins on left/right pages when 1. - bool fReadOnlyRecommended : 1;// user has recommended that this doc be opened read-only when 1 - bool fDfltTrueType : 1; // when 1, use TrueType fonts by default (flag obeyed only when doc was created by WinWord 2.x) - bool fPagSuppressTopSpacing : 1;//when 1, file created with SUPPRESSTOPSPACING=YES in win.ini. (flag obeyed only when doc was created by WinWord 2.x). - bool fProtEnabled : 1; // when 1, document is protected from edit operations - bool fDispFormFieldSel : 1;// when 1, restrict selections to occur only within form fields - bool fRMView : 1; // when 1, show revision markings on screen - bool fRMPrint : 1; // when 1, print revision marks when document is printed - bool fWriteReservation : 1; - bool fLockRev : 1; // when 1, the current revision marking state is locked - bool fEmbedFonts : 1; // when 1, document contains embedded True Type fonts + bool fOnlyMacPics : 1 /*= false*/; // when 1, Word believes all pictures recorded in the document were created on a Macintosh + bool fOnlyWinPics : 1 /*= false*/; // when 1, Word believes all pictures recorded in the document were created in Windows + bool fLabelDoc : 1 /*= false*/; // when 1, document was created as a print merge labels document + bool fHyphCapitals : 1 /*= false*/; // when 1, Word is allowed to hyphenate words that are capitalized. When 0, capitalized may not be hyphenated + bool fAutoHyphen : 1 /*= false*/; // when 1, Word will hyphenate newly typed text as a background task + bool fFormNoFields : 1 /*= false*/; + bool fLinkStyles : 1 /*= false*/; // when 1, Word will merge styles from its template + bool fRevMarking : 1 /*= false*/; // when 1, Word will mark revisions as the document is edited + bool fBackup : 1 /*= false*/; // always make backup when document saved when 1. + bool fExactCWords : 1 /*= false*/; + bool fPagHidden : 1 /*= false*/; + bool fPagResults : 1 /*= false*/; + bool fLockAtn : 1 /*= false*/; // when 1, annotations are locked for editing + bool fMirrorMargins : 1 /*= false*/; // swap margins on left/right pages when 1. + bool fReadOnlyRecommended : 1 /*= false*/;// user has recommended that this doc be opened read-only when 1 + bool fDfltTrueType : 1 /*= false*/; // when 1, use TrueType fonts by default (flag obeyed only when doc was created by WinWord 2.x) + bool fPagSuppressTopSpacing : 1 /*= false*/;//when 1, file created with SUPPRESSTOPSPACING=YES in win.ini. (flag obeyed only when doc was created by WinWord 2.x). + bool fProtEnabled : 1 /*= false*/; // when 1, document is protected from edit operations + bool fDispFormFieldSel : 1 /*= false*/;// when 1, restrict selections to occur only within form fields + bool fRMView : 1 /*= false*/; // when 1, show revision markings on screen + bool fRMPrint : 1 /*= false*/; // when 1, print revision marks when document is printed + bool fWriteReservation : 1 /*= false*/; + bool fLockRev : 1 /*= false*/; // when 1, the current revision marking state is locked + bool fEmbedFonts : 1 /*= false*/; // when 1, document contains embedded True Type fonts // compatibility options - bool copts_fNoTabForInd : 1; // when 1, don't add automatic tab stops for hanging indent - bool copts_fNoSpaceRaiseLower : 1; // when 1, don't add extra space for raised or lowered characters - bool copts_fSupressSpbfAfterPgBrk : 1; // when 1, suppress the paragraph Space Before and Space After options after a page break - bool copts_fWrapTrailSpaces : 1; // when 1, wrap trailing spaces at the end of a line to the next line - bool copts_fMapPrintTextColor : 1; // when 1, print colors as black on non-color printers - bool copts_fNoColumnBalance : 1; // when 1, don't balance columns for Continuous Section starts - bool copts_fConvMailMergeEsc : 1; - bool copts_fSupressTopSpacing : 1; // when 1, suppress extra line spacing at top of page - bool copts_fOrigWordTableRules : 1; // when 1, combine table borders like Word 5.x for the Macintosh - bool copts_fTransparentMetafiles : 1; // when 1, don't blank area between metafile pictures - bool copts_fShowBreaksInFrames : 1; // when 1, show hard page or column breaks in frames - bool copts_fSwapBordersFacingPgs : 1; // when 1, swap left and right pages on odd facing pages - bool copts_fExpShRtn : 1; // when 1, expand character spaces on the line ending SHIFT+RETURN // #i56856# - - sal_Int16 dxaTab; // 720 twips - default tab width - sal_uInt16 wSpare; - sal_uInt16 dxaHotZ; // width of hyphenation hot zone measured in twips - sal_uInt16 cConsecHypLim; // number of lines allowed to have consecutive hyphens - sal_uInt16 wSpare2; // reserved - sal_Int32 dttmCreated; // DTTM date and time document was created - sal_Int32 dttmRevised; // DTTM date and time document was last revised - sal_Int32 dttmLastPrint; // DTTM date and time document was last printed - sal_Int16 nRevision; // number of times document has been revised since its creation - sal_Int32 tmEdited; // time document was last edited - sal_Int32 cWords; // count of words tallied by last Word Count execution - sal_Int32 cCh; // count of characters tallied by last Word Count execution - sal_Int16 cPg; // count of pages tallied by last Word Count execution - sal_Int32 cParas; // count of paragraphs tallied by last Word Count execution - sal_uInt16 rncEdn : 2; // restart endnote number code: 0 don't restart endnote numbering, 1 section, 2 page - sal_uInt16 nEdn : 14; // beginning endnote number - sal_uInt16 epc : 2; // endnote position code: 0 at end of section, 3 at end of document - - bool fPrintFormData : 1; // only print data inside of form fields - bool fSaveFormData : 1; // only save document data that is inside of a form field. - bool fShadeFormData : 1; // shade form fields + bool copts_fNoTabForInd : 1 /*= false*/; // when 1, don't add automatic tab stops for hanging indent + bool copts_fNoSpaceRaiseLower : 1 /*= false*/; // when 1, don't add extra space for raised or lowered characters + bool copts_fSupressSpbfAfterPgBrk : 1 /*= false*/; // when 1, suppress the paragraph Space Before and Space After options after a page break + bool copts_fWrapTrailSpaces : 1 /*= false*/; // when 1, wrap trailing spaces at the end of a line to the next line + bool copts_fMapPrintTextColor : 1 /*= false*/; // when 1, print colors as black on non-color printers + bool copts_fNoColumnBalance : 1 /*= false*/; // when 1, don't balance columns for Continuous Section starts + bool copts_fConvMailMergeEsc : 1 /*= false*/; + bool copts_fSupressTopSpacing : 1 /*= false*/; // when 1, suppress extra line spacing at top of page + bool copts_fOrigWordTableRules : 1 /*= false*/; // when 1, combine table borders like Word 5.x for the Macintosh + bool copts_fTransparentMetafiles : 1 /*= false*/; // when 1, don't blank area between metafile pictures + bool copts_fShowBreaksInFrames : 1 /*= false*/; // when 1, show hard page or column breaks in frames + bool copts_fSwapBordersFacingPgs : 1 /*= false*/; // when 1, swap left and right pages on odd facing pages + bool copts_fExpShRtn : 1 /*= false*/; // when 1, expand character spaces on the line ending SHIFT+RETURN // #i56856# + + sal_Int16 dxaTab = 0; // 720 twips - default tab width + sal_uInt16 wSpare = 0; + sal_uInt16 dxaHotZ = 0; // width of hyphenation hot zone measured in twips + sal_uInt16 cConsecHypLim = 0; // number of lines allowed to have consecutive hyphens + sal_uInt16 wSpare2 = 0; // reserved + sal_Int32 dttmCreated = 0; // DTTM date and time document was created + sal_Int32 dttmRevised = 0; // DTTM date and time document was last revised + sal_Int32 dttmLastPrint = 0; // DTTM date and time document was last printed + sal_Int16 nRevision = 0; // number of times document has been revised since its creation + sal_Int32 tmEdited = 0; // time document was last edited + sal_Int32 cWords = 0; // count of words tallied by last Word Count execution + sal_Int32 cCh = 0; // count of characters tallied by last Word Count execution + sal_Int16 cPg = 0; // count of pages tallied by last Word Count execution + sal_Int32 cParas = 0; // count of paragraphs tallied by last Word Count execution + sal_uInt16 rncEdn : 2 /*= 0*/; // restart endnote number code: 0 don't restart endnote numbering, 1 section, 2 page + sal_uInt16 nEdn : 14 /*= 0*/; // beginning endnote number + sal_uInt16 epc : 2 /*= 0*/; // endnote position code: 0 at end of section, 3 at end of document + + bool fPrintFormData : 1 /*= false*/; // only print data inside of form fields + bool fSaveFormData : 1 /*= false*/; // only save document data that is inside of a form field. + bool fShadeFormData : 1 /*= false*/; // shade form fields sal_uInt16 : 2; // reserved - bool fWCFootnoteEdn : 1; // when 1, include footnotes and endnotes in word count - sal_Int32 cLines; // count of lines tallied by last Word Count operation - sal_Int32 cWordsFootnoteEnd; // count of words in footnotes and endnotes tallied by last Word Count operation - sal_Int32 cChFootnoteEdn; // count of characters in footnotes and endnotes tallied by last Word Count operation - sal_Int16 cPgFootnoteEdn; // count of pages in footnotes and endnotes tallied by last Word Count operation - sal_Int32 cParasFootnoteEdn; // count of paragraphs in footnotes and endnotes tallied by last Word Count operation - sal_Int32 cLinesFootnoteEdn; // count of paragraphs in footnotes and endnotes tallied by last Word Count operation - sal_Int32 lKeyProtDoc; // document protection password key, only valid if dop.fProtEnabled, dop.fLockAtn or dop.fLockRev are 1. - sal_uInt16 wvkSaved : 3; // document view kind: 0 Normal view, 1 Outline view, 2 Page View - sal_uInt16 wScaleSaved : 9; ///< Specifies the zoom percentage that was in use when the document was saved. - sal_uInt16 zkSaved : 2; // document zoom type: 0 percent, 1 whole/entire page, 2 page width, 3 text width/optimal - bool fRotateFontW6 : 1; - bool iGutterPos : 1 ; + bool fWCFootnoteEdn : 1 /*= false*/; // when 1, include footnotes and endnotes in word count + sal_Int32 cLines = 0; // count of lines tallied by last Word Count operation + sal_Int32 cWordsFootnoteEnd = 0; // count of words in footnotes and endnotes tallied by last Word Count operation + sal_Int32 cChFootnoteEdn = 0; // count of characters in footnotes and endnotes tallied by last Word Count operation + sal_Int16 cPgFootnoteEdn = 0; // count of pages in footnotes and endnotes tallied by last Word Count operation + sal_Int32 cParasFootnoteEdn = 0; // count of paragraphs in footnotes and endnotes tallied by last Word Count operation + sal_Int32 cLinesFootnoteEdn = 0; // count of paragraphs in footnotes and endnotes tallied by last Word Count operation + sal_Int32 lKeyProtDoc = 0; // document protection password key, only valid if dop.fProtEnabled, dop.fLockAtn or dop.fLockRev are 1. + sal_uInt16 wvkSaved : 3 /*= 0*/; // document view kind: 0 Normal view, 1 Outline view, 2 Page View + sal_uInt16 wScaleSaved : 9 /*= 0*/; ///< Specifies the zoom percentage that was in use when the document was saved. + sal_uInt16 zkSaved : 2 /*= 0*/; // document zoom type: 0 percent, 1 whole/entire page, 2 page width, 3 text width/optimal + bool fRotateFontW6 : 1 /*= false*/; + bool iGutterPos : 1 /*= false*/; // this should be the end for nFib < 103, otherwise the file is broken! /* for nFib >= 103 it continues: */ - bool fNoTabForInd : 1; // see above in compatibility options - bool fNoSpaceRaiseLower : 1; // see above - bool fSupressSpbfAfterPageBreak : 1; // see above - bool fWrapTrailSpaces : 1; // see above - bool fMapPrintTextColor : 1; // see above - bool fNoColumnBalance : 1; // see above - bool fConvMailMergeEsc : 1; // see above - bool fSupressTopSpacing : 1; // see above - bool fOrigWordTableRules : 1; // see above - bool fTransparentMetafiles : 1; // see above - bool fShowBreaksInFrames : 1; // see above - bool fSwapBordersFacingPgs : 1; // see above - bool fCompatibilityOptions_Unknown1_13 : 1; // #i78591# - bool fExpShRtn : 1; // #i78591# and #i56856# - bool fCompatibilityOptions_Unknown1_15 : 1; // #i78591# - bool fCompatibilityOptions_Unknown1_16 : 1; // #i78591# - bool fSuppressTopSpacingMac5 : 1; // Suppress extra line spacing at top + bool fNoTabForInd : 1 /*= false*/; // see above in compatibility options + bool fNoSpaceRaiseLower : 1 /*= false*/; // see above + bool fSupressSpbfAfterPageBreak : 1 /*= false*/; // see above + bool fWrapTrailSpaces : 1 /*= false*/; // see above + bool fMapPrintTextColor : 1 /*= false*/; // see above + bool fNoColumnBalance : 1 /*= false*/; // see above + bool fConvMailMergeEsc : 1 /*= false*/; // see above + bool fSupressTopSpacing : 1 /*= false*/; // see above + bool fOrigWordTableRules : 1 /*= false*/; // see above + bool fTransparentMetafiles : 1 /*= false*/; // see above + bool fShowBreaksInFrames : 1 /*= false*/; // see above + bool fSwapBordersFacingPgs : 1 /*= false*/; // see above + bool fCompatibilityOptions_Unknown1_13 : 1 /*= false*/; // #i78591# + bool fExpShRtn : 1 /*= false*/; // #i78591# and #i56856# + bool fCompatibilityOptions_Unknown1_15 : 1 /*= false*/; // #i78591# + bool fCompatibilityOptions_Unknown1_16 : 1 /*= false*/; // #i78591# + bool fSuppressTopSpacingMac5 : 1 /*= false*/; // Suppress extra line spacing at top // of page like MacWord 5.x - bool fTruncDxaExpand : 1; // Expand/Condense by whole number of points - bool fPrintBodyBeforeHdr : 1; // Print body text before header/footer - bool fNoLeading : 1; // Don't add extra spacebetween rows of text - bool fCompatibilityOptions_Unknown1_21 : 1; // #i78591# - bool fMWSmallCaps : 1; // Use larger small caps like MacWord 5.x - bool fCompatibilityOptions_Unknown1_23 : 1; // #i78591# - bool fCompatibilityOptions_Unknown1_24 : 1; // #i78591# - bool fCompatibilityOptions_Unknown1_25 : 1; // #i78591# - bool fCompatibilityOptions_Unknown1_26 : 1; // #i78591# - bool fCompatibilityOptions_Unknown1_27 : 1; // #i78591# - bool fCompatibilityOptions_Unknown1_28 : 1; // #i78591# - bool fCompatibilityOptions_Unknown1_29 : 1; // #i78591# - bool fCompatibilityOptions_Unknown1_30 : 1; // #i78591# - bool fCompatibilityOptions_Unknown1_31 : 1; // #i78591# - bool fUsePrinterMetrics : 1; //The magic option + bool fTruncDxaExpand : 1 /*= false*/; // Expand/Condense by whole number of points + bool fPrintBodyBeforeHdr : 1 /*= false*/; // Print body text before header/footer + bool fNoLeading : 1 /*= false*/; // Don't add extra spacebetween rows of text + bool fCompatibilityOptions_Unknown1_21 : 1 /*= false*/; // #i78591# + bool fMWSmallCaps : 1 /*= false*/; // Use larger small caps like MacWord 5.x + bool fCompatibilityOptions_Unknown1_23 : 1 /*= false*/; // #i78591# + bool fCompatibilityOptions_Unknown1_24 : 1 /*= false*/; // #i78591# + bool fCompatibilityOptions_Unknown1_25 : 1 /*= false*/; // #i78591# + bool fCompatibilityOptions_Unknown1_26 : 1 /*= false*/; // #i78591# + bool fCompatibilityOptions_Unknown1_27 : 1 /*= false*/; // #i78591# + bool fCompatibilityOptions_Unknown1_28 : 1 /*= false*/; // #i78591# + bool fCompatibilityOptions_Unknown1_29 : 1 /*= false*/; // #i78591# + bool fCompatibilityOptions_Unknown1_30 : 1 /*= false*/; // #i78591# + bool fCompatibilityOptions_Unknown1_31 : 1 /*= false*/; // #i78591# + bool fUsePrinterMetrics : 1 /*= false*/; //The magic option // this should be the end for nFib <= 105, otherwise the file is broken! /* for nFib > 105 it continues: */ - sal_Int16 adt; // Autoformat Document Type: + sal_Int16 adt = 0; // Autoformat Document Type: // 0 for normal. // 1 for letter, and // 2 for email. - WW8DopTypography doptypography; // see WW8STRUC.HXX - WW8_DOGRID dogrid; // see WW8STRUC.HXX + WW8DopTypography doptypography = {}; // see WW8STRUC.HXX + WW8_DOGRID dogrid = {}; // see WW8STRUC.HXX sal_uInt16 : 1; // reserved - sal_uInt16 lvl : 4; // Which outline levels are showing in outline view + sal_uInt16 lvl : 4 /*= 0*/; // Which outline levels are showing in outline view sal_uInt16 : 4; // reserved - bool fHtmlDoc : 1; // This file is based upon an HTML file + bool fHtmlDoc : 1 /*= false*/; // This file is based upon an HTML file sal_uInt16 : 1; // reserved - bool fSnapBorder : 1; // Snap table and page borders to page border - bool fIncludeHeader : 1; // Place header inside page border - bool fIncludeFooter : 1; // Place footer inside page border - bool fForcePageSizePag : 1; // Are we in online view - bool fMinFontSizePag : 1; // Are we auto-promoting fonts to >= hpsZoonFontPag? - bool fHaveVersions : 1; // versioning is turned on - bool fAutoVersion : 1; // autoversioning is enabled + bool fSnapBorder : 1 /*= false*/; // Snap table and page borders to page border + bool fIncludeHeader : 1 /*= false*/; // Place header inside page border + bool fIncludeFooter : 1 /*= false*/; // Place footer inside page border + bool fForcePageSizePag : 1 /*= false*/; // Are we in online view + bool fMinFontSizePag : 1 /*= false*/; // Are we auto-promoting fonts to >= hpsZoonFontPag? + bool fHaveVersions : 1 /*= false*/; // versioning is turned on + bool fAutoVersion : 1 /*= false*/; // autoversioning is enabled sal_uInt16 : 14; // reserved // Skip 12 Bytes here: ASUMI - sal_Int32 cChWS; - sal_Int32 cChWSFootnoteEdn; - sal_Int32 grfDocEvents; + sal_Int32 cChWS = 0; + sal_Int32 cChWSFootnoteEdn = 0; + sal_Int32 grfDocEvents = 0; // Skip 4+30+8 Bytes here - sal_Int32 cDBC; - sal_Int32 cDBCFootnoteEdn; + sal_Int32 cDBC = 0; + sal_Int32 cDBCFootnoteEdn = 0; // Skip 4 Bytes here - sal_Int16 nfcFootnoteRef; - sal_Int16 nfcEdnRef; - sal_Int16 hpsZoonFontPag; - sal_Int16 dywDispPag; - - bool fCompatibilityOptions_Unknown2_1 : 1; // #i78591# - bool fCompatibilityOptions_Unknown2_2 : 1; // #i78591# - bool fDontUseHTMLAutoSpacing : 1; - bool fCompatibilityOptions_Unknown2_4 : 1; // #i78591# - bool fCompatibilityOptions_Unknown2_5 : 1; // #i78591# - bool fCompatibilityOptions_Unknown2_6 : 1; // #i78591# - bool fCompatibilityOptions_Unknown2_7 : 1; // #i78591# - bool fCompatibilityOptions_Unknown2_8 : 1; // #i78591# - bool fCompatibilityOptions_Unknown2_9 : 1; // #i78591# - bool fCompatibilityOptions_Unknown2_10 : 1; // #i78591# - bool fCompatibilityOptions_Unknown2_11 : 1; // #i78591# - bool fCompatibilityOptions_Unknown2_12 : 1; // #i78591# - bool fCompatibilityOptions_Unknown2_13 : 1; // #i78591# - bool fCompatibilityOptions_Unknown2_14 : 1; // #i78591# - bool fCompatibilityOptions_Unknown2_15 : 1; // #i78591# - bool fCompatibilityOptions_Unknown2_16 : 1; // #i78591# - bool fCompatibilityOptions_Unknown2_17 : 1; // #i78591# - bool fCompatibilityOptions_Unknown2_18 : 1; // #i78591# - bool fCompatibilityOptions_Unknown2_19 : 1; // #i78591# - bool fCompatibilityOptions_Unknown2_20 : 1; // #i78591# - bool fCompatibilityOptions_Unknown2_21 : 1; // #i78591# - bool fCompatibilityOptions_Unknown2_22 : 1; // #i78591# - bool fCompatibilityOptions_Unknown2_23 : 1; // #i78591# - bool fCompatibilityOptions_Unknown2_24 : 1; // #i78591# - bool fCompatibilityOptions_Unknown2_25 : 1; // #i78591# - bool fCompatibilityOptions_Unknown2_26 : 1; // #i78591# - bool fCompatibilityOptions_Unknown2_27 : 1; // #i78591# - bool fCompatibilityOptions_Unknown2_28 : 1; // #i78591# - bool fCompatibilityOptions_Unknown2_29 : 1; // #i78591# - bool fCompatibilityOptions_Unknown2_30 : 1; // #i78591# - bool fCompatibilityOptions_Unknown2_31 : 1; // #i78591# - bool fCompatibilityOptions_Unknown2_32 : 1; // #i78591# - - sal_uInt16 fUnknown3 : 15; - bool fUseBackGroundInAllmodes : 1; - - bool fDoNotEmbedSystemFont : 1; - bool fWordCompat : 1; - bool fLiveRecover : 1; - bool fEmbedFactoids : 1; - bool fFactoidXML : 1; - bool fFactoidAllDone : 1; - bool fFolioPrint : 1; - bool fReverseFolio : 1; - sal_uInt16 iTextLineEnding : 3; - bool fHideFcc : 1; - bool fAcetateShowMarkup : 1; - bool fAcetateShowAtn : 1; - bool fAcetateShowInsDel : 1; - bool fAcetateShowProps : 1; - - bool bUseThaiLineBreakingRules; + sal_Int16 nfcFootnoteRef = 0; + sal_Int16 nfcEdnRef = 0; + sal_Int16 hpsZoonFontPag = 0; + sal_Int16 dywDispPag = 0; + + bool fCompatibilityOptions_Unknown2_1 : 1 /*= false*/; // #i78591# + bool fCompatibilityOptions_Unknown2_2 : 1 /*= false*/; // #i78591# + bool fDontUseHTMLAutoSpacing : 1 /*= false*/; + bool fCompatibilityOptions_Unknown2_4 : 1 /*= false*/; // #i78591# + bool fCompatibilityOptions_Unknown2_5 : 1 /*= false*/; // #i78591# + bool fCompatibilityOptions_Unknown2_6 : 1 /*= false*/; // #i78591# + bool fCompatibilityOptions_Unknown2_7 : 1 /*= false*/; // #i78591# + bool fCompatibilityOptions_Unknown2_8 : 1 /*= false*/; // #i78591# + bool fCompatibilityOptions_Unknown2_9 : 1 /*= false*/; // #i78591# + bool fCompatibilityOptions_Unknown2_10 : 1 /*= false*/; // #i78591# + bool fCompatibilityOptions_Unknown2_11 : 1 /*= false*/; // #i78591# + bool fCompatibilityOptions_Unknown2_12 : 1 /*= false*/; // #i78591# + bool fCompatibilityOptions_Unknown2_13 : 1 /*= false*/; // #i78591# + bool fCompatibilityOptions_Unknown2_14 : 1 /*= false*/; // #i78591# + bool fCompatibilityOptions_Unknown2_15 : 1 /*= false*/; // #i78591# + bool fCompatibilityOptions_Unknown2_16 : 1 /*= false*/; // #i78591# + bool fCompatibilityOptions_Unknown2_17 : 1 /*= false*/; // #i78591# + bool fCompatibilityOptions_Unknown2_18 : 1 /*= false*/; // #i78591# + bool fCompatibilityOptions_Unknown2_19 : 1 /*= false*/; // #i78591# + bool fCompatibilityOptions_Unknown2_20 : 1 /*= false*/; // #i78591# + bool fCompatibilityOptions_Unknown2_21 : 1 /*= false*/; // #i78591# + bool fCompatibilityOptions_Unknown2_22 : 1 /*= false*/; // #i78591# + bool fCompatibilityOptions_Unknown2_23 : 1 /*= false*/; // #i78591# + bool fCompatibilityOptions_Unknown2_24 : 1 /*= false*/; // #i78591# + bool fCompatibilityOptions_Unknown2_25 : 1 /*= false*/; // #i78591# + bool fCompatibilityOptions_Unknown2_26 : 1 /*= false*/; // #i78591# + bool fCompatibilityOptions_Unknown2_27 : 1 /*= false*/; // #i78591# + bool fCompatibilityOptions_Unknown2_28 : 1 /*= false*/; // #i78591# + bool fCompatibilityOptions_Unknown2_29 : 1 /*= false*/; // #i78591# + bool fCompatibilityOptions_Unknown2_30 : 1 /*= false*/; // #i78591# + bool fCompatibilityOptions_Unknown2_31 : 1 /*= false*/; // #i78591# + bool fCompatibilityOptions_Unknown2_32 : 1 /*= false*/; // #i78591# + + sal_uInt16 fUnknown3 : 15 /*= 0*/; + bool fUseBackGroundInAllmodes : 1 /*= false*/; + + bool fDoNotEmbedSystemFont : 1 /*= false*/; + bool fWordCompat : 1 /*= false*/; + bool fLiveRecover : 1 /*= false*/; + bool fEmbedFactoids : 1 /*= false*/; + bool fFactoidXML : 1 /*= false*/; + bool fFactoidAllDone : 1 /*= false*/; + bool fFolioPrint : 1 /*= false*/; + bool fReverseFolio : 1 /*= false*/; + sal_uInt16 iTextLineEnding : 3 /*= 0*/; + bool fHideFcc : 1 /*= false*/; + bool fAcetateShowMarkup : 1 /*= false*/; + bool fAcetateShowAtn : 1 /*= false*/; + bool fAcetateShowInsDel : 1 /*= false*/; + bool fAcetateShowProps : 1 /*= false*/; + + bool bUseThaiLineBreakingRules = false; /* Constructor for importing, needs to know the version of word used */ WW8Dop(SvStream& rSt, sal_Int16 nFib, sal_Int32 nPos, sal_uInt32 nSize); _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits