summaryrefslogtreecommitdiff
path: root/writerfilter
diff options
context:
space:
mode:
authorMiklos Vajna <vmiklos@collabora.com>2022-03-21 10:20:34 +0100
committerMiklos Vajna <vmiklos@collabora.com>2022-03-31 08:24:51 +0200
commita9fea2d3d9385acc06487623a736e0bb2932f266 (patch)
treeb44fae54a87df2e60fc72ad88c0854f6c8b12ebc /writerfilter
parente2efa0f42c264ae7e6b90ad83360db425cde7d8c (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.cxx2
-rw-r--r--writerfilter/source/rtftok/rtfdispatchvalue.cxx23
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) << "'");