summaryrefslogtreecommitdiffstats
path: root/starmath/source/document.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'starmath/source/document.cxx')
-rw-r--r--starmath/source/document.cxx10
1 files changed, 6 insertions, 4 deletions
diff --git a/starmath/source/document.cxx b/starmath/source/document.cxx
index ff28f448cb..2c5399ba1c 100644
--- a/starmath/source/document.cxx
+++ b/starmath/source/document.cxx
@@ -263,10 +263,10 @@ void SmDocShell::ArrangeFormula()
const SmFormat &rFormat = GetFormat();
mpTree->Prepare(rFormat, *this, 0);
- pOutDev->Push(vcl::PushFlags::TEXTLAYOUTMODE | vcl::PushFlags::TEXTLANGUAGE |
- vcl::PushFlags::RTLENABLED);
+ pOutDev->Push(vcl::PushFlags::TEXTLAYOUTMODE | vcl::PushFlags::TEXTLANGUAGE);
// We want the device to always be LTR, we handle RTL formulas ourselves.
+ bool bOldRTL = pOutDev->IsRTLEnabled();
pOutDev->EnableRTL(false);
// For RTL formulas, we want the brackets to be mirrored.
@@ -279,6 +279,7 @@ void SmDocShell::ArrangeFormula()
mpTree->Arrange(*pOutDev, rFormat);
+ pOutDev->EnableRTL(bOldRTL);
pOutDev->Pop();
SetFormulaArranged(true);
@@ -353,10 +354,10 @@ void SmDocShell::DrawFormula(OutputDevice &rDev, Point &rPosition, bool bDrawSel
bRestoreDrawMode = true;
}
- rDev.Push(vcl::PushFlags::TEXTLAYOUTMODE | vcl::PushFlags::TEXTLANGUAGE |
- vcl::PushFlags::RTLENABLED);
+ rDev.Push(vcl::PushFlags::TEXTLAYOUTMODE | vcl::PushFlags::TEXTLANGUAGE);
// We want the device to always be LTR, we handle RTL formulas ourselves.
+ bool bOldRTL = rDev.IsRTLEnabled();
if (rDev.GetOutDevType() == OUTDEV_WINDOW)
rDev.EnableRTL(bRTL);
else
@@ -385,6 +386,7 @@ void SmDocShell::DrawFormula(OutputDevice &rDev, Point &rPosition, bool bDrawSel
//Drawing using visitor
SmDrawingVisitor(rDev, aPosition, mpTree.get(), GetFormat());
+ rDev.EnableRTL(bOldRTL);
rDev.Pop();
if (bRestoreDrawMode)