diff options
Diffstat (limited to 'writerfilter/source/dmapper')
-rw-r--r-- | writerfilter/source/dmapper/DomainMapper.cxx | 5 | ||||
-rw-r--r-- | writerfilter/source/dmapper/DomainMapper_Impl.cxx | 6 | ||||
-rw-r--r-- | writerfilter/source/dmapper/DomainMapper_Impl.hxx | 2 |
3 files changed, 13 insertions, 0 deletions
diff --git a/writerfilter/source/dmapper/DomainMapper.cxx b/writerfilter/source/dmapper/DomainMapper.cxx index ae81ad54ef70..06ea11cf4834 100644 --- a/writerfilter/source/dmapper/DomainMapper.cxx +++ b/writerfilter/source/dmapper/DomainMapper.cxx @@ -3859,6 +3859,11 @@ void DomainMapper::lcl_utext(const sal_uInt8 * data_, size_t len) m_pImpl->m_bHasFtnSep = true; return; } + else if (len == 1 && sText[0] == '\t' && m_pImpl->m_bIgnoreNextTab) + { + m_pImpl->m_bIgnoreNextTab = false; + return; + } try { diff --git a/writerfilter/source/dmapper/DomainMapper_Impl.cxx b/writerfilter/source/dmapper/DomainMapper_Impl.cxx index 3181c9f42657..6b9562b0d6ac 100644 --- a/writerfilter/source/dmapper/DomainMapper_Impl.cxx +++ b/writerfilter/source/dmapper/DomainMapper_Impl.cxx @@ -177,6 +177,7 @@ DomainMapper_Impl::DomainMapper_Impl( m_nTableDepth(0), m_bHasFtnSep(false), m_bIgnoreNextPara(false), + m_bIgnoreNextTab(false), m_bFrameBtLr(false) { @@ -1531,6 +1532,11 @@ void DomainMapper_Impl::PushFootOrEndnote( bool bIsFootnote ) // Redlines for the footnote anchor CheckRedline( xFootnote->getAnchor( ) ); + + // Word has a leading tab on footnotes, but we don't implement space + // between the footnote number and text using a tab, so just ignore + // that for now. + m_bIgnoreNextTab = true; } catch( const uno::Exception& e ) { diff --git a/writerfilter/source/dmapper/DomainMapper_Impl.hxx b/writerfilter/source/dmapper/DomainMapper_Impl.hxx index 130ee1ab6a28..1ebf0674bc7c 100644 --- a/writerfilter/source/dmapper/DomainMapper_Impl.hxx +++ b/writerfilter/source/dmapper/DomainMapper_Impl.hxx @@ -725,6 +725,8 @@ public: /// If the next newline should be ignored, used by the special footnote separator paragraph. bool m_bIgnoreNextPara; + /// If the next tab should be ignored, used for footnotes. + bool m_bIgnoreNextTab; bool m_bFrameBtLr; ///< Bottom to top, left to right text frame direction is requested for the current text frame. /// Pending floating tables: they may be converted to text frames at the section end. std::vector<FloatingTableInfo> m_aPendingFloatingTables; |