[Libreoffice-commits] .: Branch 'libreoffice-3-5' - qadevOOo/testdocs vcl/unx

Eike Rathke erack at kemper.freedesktop.org
Mon Jan 23 06:07:32 PST 2012


 qadevOOo/testdocs/vertical-testcase.odt |binary
 vcl/unx/generic/gdi/salgdi3.cxx         |   11 ++++++++---
 2 files changed, 8 insertions(+), 3 deletions(-)

New commits:
commit 95372ec15484a74c8956cda869c55138dc318daf
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Mon Jan 23 12:15:44 2012 +0000

    Resolves: fdo#44856 skew artificial fonts before glyph or layout rotation
    (cherry picked from commit 8f23e9813daae808aa2a81250b5e414dc57a3394)
    
    Signed-off-by: Eike Rathke <erack at redhat.com>

diff --git a/qadevOOo/testdocs/vertical-testcase.odt b/qadevOOo/testdocs/vertical-testcase.odt
index cd279c8..de564f8 100644
Binary files a/qadevOOo/testdocs/vertical-testcase.odt and b/qadevOOo/testdocs/vertical-testcase.odt differ
diff --git a/vcl/unx/generic/gdi/salgdi3.cxx b/vcl/unx/generic/gdi/salgdi3.cxx
index 2e40bb9..c8418ba 100644
--- a/vcl/unx/generic/gdi/salgdi3.cxx
+++ b/vcl/unx/generic/gdi/salgdi3.cxx
@@ -415,9 +415,6 @@ void X11SalGraphics::DrawServerFontLayout( const ServerFontLayout& rLayout )
 
         cairo_matrix_init_identity(&m);
 
-        if (rFont.NeedsArtificialItalic())
-            m.xy = -m.xx * 0x6000L / 0x10000L;
-
         if (rLayout.GetOrientation())
             cairo_matrix_rotate(&m, toRadian(rLayout.GetOrientation()));
 
@@ -464,6 +461,14 @@ void X11SalGraphics::DrawServerFontLayout( const ServerFontLayout& rLayout )
             cairo_matrix_translate(&m, xdiff, ydiff);
         }
 
+        if (rFont.NeedsArtificialItalic())
+        {
+            cairo_matrix_t shear;
+            cairo_matrix_init_identity(&shear);
+            shear.xy = -shear.xx * 0x6000L / 0x10000L;
+            cairo_matrix_multiply(&m, &shear, &m);
+        }
+
         cairo_set_font_matrix(cr, &m);
         cairo_show_glyphs(cr, &cairo_glyphs[nStartIndex], nLen);
 


More information about the Libreoffice-commits mailing list