diff options
author | Miklos Vajna <vmiklos@collabora.com> | 2022-03-21 10:20:34 +0100 |
---|---|---|
committer | Miklos Vajna <vmiklos@collabora.com> | 2022-03-31 08:24:51 +0200 |
commit | a9fea2d3d9385acc06487623a736e0bb2932f266 (patch) | |
tree | b44fae54a87df2e60fc72ad88c0854f6c8b12ebc /writerfilter | |
parent | e2efa0f42c264ae7e6b90ad83360db425cde7d8c (diff) |
sw clearing breaks: add RTF filter
Map between SwLineBreakClear and \lbr<N>.
(cherry picked from commit 3afe4f66f7266ede9922ce0682db38c9369349b7)
Conflicts:
sw/qa/extras/rtfexport/rtfexport4.cxx
Change-Id: Ibed94ad74157a08787212a34176590a1dc4d5547
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132293
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Diffstat (limited to 'writerfilter')
-rw-r--r-- | writerfilter/source/rtftok/rtfdispatchsymbol.cxx | 2 | ||||
-rw-r--r-- | writerfilter/source/rtftok/rtfdispatchvalue.cxx | 23 |
2 files changed, 24 insertions, 1 deletions
diff --git a/writerfilter/source/rtftok/rtfdispatchsymbol.cxx b/writerfilter/source/rtftok/rtfdispatchsymbol.cxx index df02f36fc18a..9167c5479317 100644 --- a/writerfilter/source/rtftok/rtfdispatchsymbol.cxx +++ b/writerfilter/source/rtftok/rtfdispatchsymbol.cxx @@ -35,7 +35,7 @@ RTFError RTFDocumentImpl::dispatchSymbol(RTFKeyword nKeyword) if (RTFKeyword::LINE == nKeyword) { // very special handling since text() will eat lone '\n' - singleChar('\n'); + singleChar('\n', /*bRunProps=*/true); return RTFError::OK; } // Trivial symbols diff --git a/writerfilter/source/rtftok/rtfdispatchvalue.cxx b/writerfilter/source/rtftok/rtfdispatchvalue.cxx index d78f087d76e3..b3c04bb0f1f1 100644 --- a/writerfilter/source/rtftok/rtfdispatchvalue.cxx +++ b/writerfilter/source/rtftok/rtfdispatchvalue.cxx @@ -1769,6 +1769,29 @@ RTFError RTFDocumentImpl::dispatchValue(RTFKeyword nKeyword, int nParam) } } break; + case RTFKeyword::LBR: + { + Id nId = 0; + switch (nParam) + { + case 1: + nId = NS_ooxml::LN_Value_ST_BrClear_left; + break; + case 2: + nId = NS_ooxml::LN_Value_ST_BrClear_right; + break; + case 3: + nId = NS_ooxml::LN_Value_ST_BrClear_all; + break; + } + + if (nId > 0) + { + m_aStates.top().getCharacterAttributes().set(NS_ooxml::LN_CT_Br_clear, + new RTFValue(nId)); + } + } + break; default: { SAL_INFO("writerfilter", "TODO handle value '" << keywordToString(nKeyword) << "'"); |