From 89093f50cd0b25f9789fc7023fee116a839fd3aa Mon Sep 17 00:00:00 2001 From: Zolnai Tamás Date: Wed, 18 Sep 2013 13:21:53 +0200 Subject: Fix RTL character border Change-Id: I9cad3f7689e5badafb7fe2cd3f707e3f226c9725 --- sw/source/core/text/inftxt.cxx | 33 ++++++++++++++++++++------------- 1 file changed, 20 insertions(+), 13 deletions(-) (limited to 'sw') diff --git a/sw/source/core/text/inftxt.cxx b/sw/source/core/text/inftxt.cxx index cf8e58213ea9..41d569bf5c41 100644 --- a/sw/source/core/text/inftxt.cxx +++ b/sw/source/core/text/inftxt.cxx @@ -642,20 +642,27 @@ void SwTxtPaintInfo::_DrawText( const OUString &rText, const SwLinePortion &rPor if( !static_cast(rPor).GetJoinBorderWithPrev() ) { const sal_uInt16 nLeftBorderSpace = m_pFnt->GetLeftBorderSpace(); - switch( m_pFnt->GetOrientation(GetTxtFrm()->IsVertical()) ) + if ( GetTxtFrm()->IsRightToLeft() ) { - case 0 : - aFontPos.X() += nLeftBorderSpace; - break; - case 900 : - aFontPos.Y() -= nLeftBorderSpace; - break; - case 1800 : - aFontPos.X() -= nLeftBorderSpace; - break; - case 2700 : - aFontPos.Y() += nLeftBorderSpace; - break; + aFontPos.X() -= nLeftBorderSpace; + } + else + { + switch( m_pFnt->GetOrientation(GetTxtFrm()->IsVertical()) ) + { + case 0 : + aFontPos.X() += nLeftBorderSpace; + break; + case 900 : + aFontPos.Y() -= nLeftBorderSpace; + break; + case 1800 : + aFontPos.X() -= nLeftBorderSpace; + break; + case 2700 : + aFontPos.Y() += nLeftBorderSpace; + break; + } } } -- cgit