[Libreoffice-commits] core.git: Branch 'libreoffice-5-0' - vcl/source vcl/unx

Mark Hung marklh9 at gmail.com
Mon Sep 28 02:38:43 PDT 2015


 vcl/source/gdi/sallayout.cxx            |    2 +-
 vcl/unx/generic/gdi/cairotextrender.cxx |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

New commits:
commit ea91af84c13f37caf97cd3823a1593d46957a6db
Author: Mark Hung <marklh9 at gmail.com>
Date:   Tue Aug 18 20:17:05 2015 +0800

    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 at redhat.com>
    Tested-by: Caolán McNamara <caolanm at redhat.com>
    Reviewed-on: https://gerrit.libreoffice.org/18879
    Reviewed-by: Miklos Vajna <vmiklos at collabora.co.uk>
    Tested-by: Miklos Vajna <vmiklos at collabora.co.uk>

diff --git a/vcl/source/gdi/sallayout.cxx b/vcl/source/gdi/sallayout.cxx
index cdf7cb88..69d162f 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 a3248b7..2e3aa90 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);


More information about the Libreoffice-commits mailing list