summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Hung <marklh9@gmail.com>2015-08-18 20:17:05 +0800
committerCaolán McNamara <caolanm@redhat.com>2015-08-18 13:57:17 +0000
commit8ead1423f10dee87967cbbbb5fabb2f26046bbb8 (patch)
treee92b6e706b7be7efe2c3d18041192fb21691fe57
parentc4fe12406040b3395d3964406073027bd4006243 (diff)
tdf#832525 - 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>
-rw-r--r--vcl/source/gdi/sallayout.cxx2
-rw-r--r--vcl/unx/generic/gdi/cairotextrender.cxx2
2 files changed, 2 insertions, 2 deletions
diff --git a/vcl/source/gdi/sallayout.cxx b/vcl/source/gdi/sallayout.cxx
index 2e1461f83152..3fcf3c62b21b 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 ebef272cc370..0f9fafc93df4 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);