diff options
author | Miklos Vajna <vmiklos@collabora.co.uk> | 2015-12-14 10:25:38 +0100 |
---|---|---|
committer | Miklos Vajna <vmiklos@collabora.co.uk> | 2015-12-14 10:45:11 +0100 |
commit | f1f92d92ed7467d71db7d94d6e4aa40f65e8ddfc (patch) | |
tree | 3f8c0fb2007e7fbb77ccac307eb90cb4871c5acb /sw/source | |
parent | e1fa0eab7d73bd1bd57f8f47821430bb6b68af99 (diff) |
DOC export: write SttbfBkmkFactoid structure
This contains the name of the bookmarks, except that factoid bookmarks
don't really have names...
Change-Id: I0fe3b983edf206d51e4d1cf4a66919fce0167738
Diffstat (limited to 'sw/source')
-rw-r--r-- | sw/source/filter/ww8/wrtww8.cxx | 17 | ||||
-rw-r--r-- | sw/source/filter/ww8/ww8scan.cxx | 4 | ||||
-rw-r--r-- | sw/source/filter/ww8/ww8scan.hxx | 6 |
3 files changed, 25 insertions, 2 deletions
diff --git a/sw/source/filter/ww8/wrtww8.cxx b/sw/source/filter/ww8/wrtww8.cxx index 73d6e1726e1e..c145fd655f39 100644 --- a/sw/source/filter/ww8/wrtww8.cxx +++ b/sw/source/filter/ww8/wrtww8.cxx @@ -351,6 +351,23 @@ void WW8_WrtFactoids::Write(WW8Export& rExport) SvStream& rStream = *rExport.pTableStrm; + rExport.pFib->fcSttbfBkmkFactoid = rStream.Tell(); + // Write SttbfBkmkFactoid. + rStream.WriteUInt16(0xffff); // fExtend + rStream.WriteUInt16(m_aStartCPs.size()); // cData + rStream.WriteUInt16(0); // cbExtra + rStream.WriteUInt16(6); // cchData + + // Write FACTOIDINFO. + for (size_t i = 0; i < m_aStartCPs.size(); ++i) + { + rStream.WriteUInt32(i); // dwId + rStream.WriteUInt16(0); // fSubEntry + rStream.WriteUInt16(0); // fto + rStream.WriteUInt32(0); // pfpb + } + rExport.pFib->lcbSttbfBkmkFactoid = rStream.Tell() - rExport.pFib->fcSttbfBkmkFactoid; + rExport.pFib->fcPlcfBkfFactoid = rStream.Tell(); for (const WW8_CP& rCP : m_aStartCPs) rStream.WriteInt32(rCP); diff --git a/sw/source/filter/ww8/ww8scan.cxx b/sw/source/filter/ww8/ww8scan.cxx index 5de5ae67843e..326ae804ed58 100644 --- a/sw/source/filter/ww8/ww8scan.cxx +++ b/sw/source/filter/ww8/ww8scan.cxx @@ -6244,7 +6244,9 @@ bool WW8Fib::Write(SvStream& rStrm) SvtMiscOptions aMiscOptions; if (aMiscOptions.IsExperimentalMode()) { - pData += 0x432 - 0x422; + pData += 0x42a - 0x422; + Set_UInt32(pData, fcSttbfBkmkFactoid); + Set_UInt32(pData, lcbSttbfBkmkFactoid); Set_UInt32(pData, fcPlcfBkfFactoid); Set_UInt32(pData, lcbPlcfBkfFactoid); diff --git a/sw/source/filter/ww8/ww8scan.hxx b/sw/source/filter/ww8/ww8scan.hxx index bae3b43d2dac..0b18076c745a 100644 --- a/sw/source/filter/ww8/ww8scan.hxx +++ b/sw/source/filter/ww8/ww8scan.hxx @@ -1452,8 +1452,12 @@ public: WW8_FC fcAtrdExtra; sal_uInt32 lcbAtrdExtra; - // 0x422 - 0x431 == ignore + // 0x422 - 0x429 == ignore + /// 0x42a smart-tag bookmark string table offset. + WW8_FC fcSttbfBkmkFactoid; + /// 0x42e smart-tag bookmark string table length. + sal_uInt32 lcbSttbfBkmkFactoid; /// 0x432 smart-tag bookmark starts offset. WW8_FC fcPlcfBkfFactoid; /// 0x436 smart-tag bookmark ends length. |