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 <[email protected]> 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 <[email protected]> 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);
_______________________________________________ Libreoffice-commits mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
