diff options
author | Mark Hung <marklh9@gmail.com> | 2015-08-18 20:17:05 +0800 |
---|---|---|
committer | Miklos Vajna <vmiklos@collabora.co.uk> | 2015-09-28 09:38:24 +0000 |
commit | ea91af84c13f37caf97cd3823a1593d46957a6db (patch) | |
tree | 721d7920f560711b76045eb80afed33ebfd85f58 | |
parent | ce75966ae16381353fe75f9df2f56d03b8861cd5 (diff) |
tdf#83252 - Wrong punctuation direction after Chinese characters in
vertical layout.
Change-Id: I6391e665db205545f0d660e3de826755c954f286
Reviewed-on: https://gerrit.libreoffice.org/17836
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
Reviewed-on: https://gerrit.libreoffice.org/18879
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
Tested-by: Miklos Vajna <vmiklos@collabora.co.uk>
-rw-r--r-- | vcl/source/gdi/sallayout.cxx | 2 | ||||
-rw-r--r-- | vcl/unx/generic/gdi/cairotextrender.cxx | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/vcl/source/gdi/sallayout.cxx b/vcl/source/gdi/sallayout.cxx index cdf7cb88f7a6..69d162ffd76b 100644 --- a/vcl/source/gdi/sallayout.cxx +++ b/vcl/source/gdi/sallayout.cxx @@ -200,7 +200,7 @@ int GetVerticalFlags( sal_UCS4 nChar ) are GF_NONE also, but already handled in the outer if condition */ if((nChar >= 0x3008 && nChar <= 0x301C && nChar != 0x3012) - || (nChar == 0xFF3B || nChar == 0xFF3D) + || (nChar == 0xFF3B || nChar == 0xFF3D || nChar==0xFF08 || nChar==0xFF09) || (nChar >= 0xFF5B && nChar <= 0xFF9F) // halfwidth forms || (nChar == 0xFFE3) ) return GF_NONE; // not rotated diff --git a/vcl/unx/generic/gdi/cairotextrender.cxx b/vcl/unx/generic/gdi/cairotextrender.cxx index a3248b72a395..2e3aa90688d9 100644 --- a/vcl/unx/generic/gdi/cairotextrender.cxx +++ b/vcl/unx/generic/gdi/cairotextrender.cxx @@ -248,7 +248,7 @@ void CairoTextRender::DrawServerFontLayout( const ServerFontLayout& rLayout ) { int nGlyphRotation = *aI; - std::vector<int>::const_iterator aNext = std::find_if(aI+1, aEnd, hasRotation); + std::vector<int>::const_iterator aNext = nGlyphRotation?(aI+1):std::find_if(aI+1, aEnd, hasRotation); size_t nStartIndex = std::distance(aStart, aI); size_t nLen = std::distance(aI, aNext); |