summaryrefslogtreecommitdiff
path: root/sw/source/filter/ww8/rtfattributeoutput.cxx
diff options
context:
space:
mode:
authorMiklos Vajna <vmiklos@collabora.com>2019-08-23 08:34:29 +0200
committerMiklos Vajna <vmiklos@collabora.com>2019-08-23 09:18:50 +0200
commit1aed241deb816b2a6b9f3f97978443939f61d076 (patch)
tree37df75437b6069294d0a503c26d3af6d8cab9a2c /sw/source/filter/ww8/rtfattributeoutput.cxx
parent9d5b9bf881606e83a051cc192d08c4690f98a8ba (diff)
RTF filter: handle tbrl section text direction
Makes no sense to support btlr, Word can't handle it. (UI is disabled.) Change-Id: I036a1e98e8b1ac07e688eedf45b4a2c21c4a8859 Reviewed-on: https://gerrit.libreoffice.org/77986 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
Diffstat (limited to 'sw/source/filter/ww8/rtfattributeoutput.cxx')
-rw-r--r--sw/source/filter/ww8/rtfattributeoutput.cxx33
1 files changed, 21 insertions, 12 deletions
diff --git a/sw/source/filter/ww8/rtfattributeoutput.cxx b/sw/source/filter/ww8/rtfattributeoutput.cxx
index a073df08cb18..d8afcc351867 100644
--- a/sw/source/filter/ww8/rtfattributeoutput.cxx
+++ b/sw/source/filter/ww8/rtfattributeoutput.cxx
@@ -3524,9 +3524,25 @@ void RtfAttributeOutput::FormatLineNumbering(const SwFormatLineNumber& rNumberin
void RtfAttributeOutput::FormatFrameDirection(const SvxFrameDirectionItem& rDirection)
{
+ SvxFrameDirection nDir = rDirection.GetValue();
+ if (nDir == SvxFrameDirection::Environment)
+ nDir = GetExport().GetDefaultFrameDirection();
+
+ if (m_rExport.m_bOutPageDescs)
+ {
+ if (nDir == SvxFrameDirection::Vertical_RL_TB)
+ {
+ m_aSectionBreaks.append(OOO_STRING_SVTOOLS_RTF_STEXTFLOW);
+ m_aSectionBreaks.append(static_cast<sal_Int32>(1));
+ if (!m_bBufferSectionBreaks)
+ m_rExport.Strm().WriteCharPtr(m_aSectionBreaks.makeStringAndClear().getStr());
+ }
+ return;
+ }
+
if (m_rExport.GetRTFFlySyntax())
{
- if (rDirection.GetValue() == SvxFrameDirection::Vertical_RL_TB)
+ if (nDir == SvxFrameDirection::Vertical_RL_TB)
{
// Top to bottom non-ASCII font
m_aFlyProperties.push_back(std::make_pair<OString, OString>("txflTextFlow", "3"));
@@ -3539,17 +3555,10 @@ void RtfAttributeOutput::FormatFrameDirection(const SvxFrameDirectionItem& rDire
return;
}
- if (!m_rExport.m_bOutPageDescs)
- {
- SvxFrameDirection nDir = rDirection.GetValue();
- if (nDir == SvxFrameDirection::Environment)
- nDir = GetExport().GetDefaultFrameDirection();
-
- if (nDir == SvxFrameDirection::Horizontal_RL_TB)
- m_aStyles.append(OOO_STRING_SVTOOLS_RTF_RTLPAR);
- else
- m_aStyles.append(OOO_STRING_SVTOOLS_RTF_LTRPAR);
- }
+ if (nDir == SvxFrameDirection::Horizontal_RL_TB)
+ m_aStyles.append(OOO_STRING_SVTOOLS_RTF_RTLPAR);
+ else
+ m_aStyles.append(OOO_STRING_SVTOOLS_RTF_LTRPAR);
}
void RtfAttributeOutput::ParaGrabBag(const SfxGrabBagItem& rItem)