From 752087032ee7fa177a8c3eb7bdd9478c15074048 Mon Sep 17 00:00:00 2001 From: David Tardon Date: Thu, 19 Jan 2012 14:30:17 +0100 Subject: [PATCH] fix artificial italic rendering --- vcl/unx/generic/gdi/salgdi3.cxx | 11 ++++++++--- 1 files changed, 8 insertions(+), 3 deletions(-) diff --git a/vcl/unx/generic/gdi/salgdi3.cxx b/vcl/unx/generic/gdi/salgdi3.cxx index e27cb43..71831c3 100644 --- a/vcl/unx/generic/gdi/salgdi3.cxx +++ b/vcl/unx/generic/gdi/salgdi3.cxx @@ -414,12 +414,17 @@ 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())); + 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_matrix_scale(&m, nWidth, nHeight); if (nGlyphRotation) -- 1.7.7.5