diff options
author | galbarnissan <gal.bar.nissan@cloudon.com> | 2014-12-03 11:55:31 +0200 |
---|---|---|
committer | Norbert Thiebaud <nthiebaud@gmail.com> | 2014-12-03 13:09:17 +0000 |
commit | 00fda95ae461120d515d7cbdcadf8834b6ff12fe (patch) | |
tree | bb5020932614789248a105655469b388fe1230a4 | |
parent | 9629322f73411ac23e6242da76d8dedb66e6dab2 (diff) |
fdo#85806: Hebrew and Arabic is not working on MAC
Change-Id: Id4476a041eb539d0b9c1227070289d34a939c6f6
Reviewed-on: https://gerrit.libreoffice.org/13288
Reviewed-by: Norbert Thiebaud <nthiebaud@gmail.com>
Tested-by: Norbert Thiebaud <nthiebaud@gmail.com>
-rw-r--r-- | vcl/quartz/ctlayout.cxx | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/vcl/quartz/ctlayout.cxx b/vcl/quartz/ctlayout.cxx index 759b3f5339b5..5803976b05b8 100644 --- a/vcl/quartz/ctlayout.cxx +++ b/vcl/quartz/ctlayout.cxx @@ -217,7 +217,7 @@ void CTLayout::AdjustLayout( ImplLayoutArgs& rArgs ) DeviceCoordinate nPixelWidth = 0; - if(rArgs.mpDXArray) + if(rArgs.mpDXArray && !(rArgs.mnFlags & SAL_LAYOUT_BIDI_RTL) ) { nPixelWidth = rArgs.mpDXArray[ mnCharCount - 1 ]; if( nPixelWidth <= 0) @@ -231,18 +231,18 @@ void CTLayout::AdjustLayout( ImplLayoutArgs& rArgs ) mfTrailingSpaceWidth = nFullPixelWidth - nPixelWidth; if( nPixelWidth <= 0) return; - // in RTL-layouts trailing spaces are leftmost - // TODO: use BiDi-algorithm to thoroughly check this assumption - if( rArgs.mnFlags & SAL_LAYOUT_BIDI_RTL) - { - mfBaseAdv = mfTrailingSpaceWidth; - } } mfCachedWidth = nPixelWidth; } else { nPixelWidth = rArgs.mnLayoutWidth; + + if( nPixelWidth <= 0 && rArgs.mnFlags & SAL_LAYOUT_BIDI_RTL) + { + nPixelWidth = GetTextWidth(); + } + if( nPixelWidth <= 0) return; |