summaryrefslogtreecommitdiff
path: root/vcl/unx/generic
diff options
context:
space:
mode:
authorKhaled Hosny <khaled@aliftype.com>2022-11-19 20:55:50 +0200
committerخالد حسني <khaled@aliftype.com>2022-11-20 19:45:38 +0100
commitf88e7632b745a9b18af36cd901399c40e8b7378f (patch)
tree1e4c20202bba4d2bdbaf81a92f781fe0eebc9caf /vcl/unx/generic
parente535da3b6d72c0aca312dcf1ca38a3fcc3532a38 (diff)
vcl: unify skew for artificial italic
Cairo, Skia, Core Text, and PDF all were using slightly different skew for artificial italic. On Windows, we don’t even apply the skew ourselves and let DirectWrite apply it. The value chosen here should be the same as the one applied by DirectWrite for consistency (measured manually, and confirmed against: https://source.winehq.org/git/wine.git/blob/5d1820c40bd93e6810f072a39745ee739ba99b81:/dlls/dwrite/freetype.c#l467) Change-Id: I3ab017b4cd7a3b4dba097cd302333a88e4c16350 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142980 Tested-by: Jenkins Reviewed-by: خالد حسني <khaled@aliftype.com>
Diffstat (limited to 'vcl/unx/generic')
-rw-r--r--vcl/unx/generic/gdi/cairotextrender.cxx2
-rw-r--r--vcl/unx/generic/glyphs/freetype_glyphcache.cxx4
2 files changed, 3 insertions, 3 deletions
diff --git a/vcl/unx/generic/gdi/cairotextrender.cxx b/vcl/unx/generic/gdi/cairotextrender.cxx
index 6f462b4e3377..81d3b532c12a 100644
--- a/vcl/unx/generic/gdi/cairotextrender.cxx
+++ b/vcl/unx/generic/gdi/cairotextrender.cxx
@@ -344,7 +344,7 @@ void CairoTextRender::DrawTextLayout(const GenericSalLayout& rLayout, const SalG
{
cairo_matrix_t shear;
cairo_matrix_init_identity(&shear);
- shear.xy = -shear.xx * 0x6000L / 0x10000L;
+ shear.xy = -shear.xx * ARTIFICIAL_ITALIC_SKEW;
cairo_matrix_multiply(&m, &shear, &m);
}
diff --git a/vcl/unx/generic/glyphs/freetype_glyphcache.cxx b/vcl/unx/generic/glyphs/freetype_glyphcache.cxx
index 4cc30ea3c21a..d4a50b0f0167 100644
--- a/vcl/unx/generic/glyphs/freetype_glyphcache.cxx
+++ b/vcl/unx/generic/glyphs/freetype_glyphcache.cxx
@@ -858,8 +858,8 @@ bool FreetypeFont::GetGlyphOutline(sal_GlyphId nId, basegfx::B2DPolyPolygon& rB2
if( mbArtItalic )
{
FT_Matrix aMatrix;
- aMatrix.xx = aMatrix.yy = 0x10000L;
- aMatrix.xy = 0x6000L;
+ aMatrix.xx = aMatrix.yy = ARTIFICIAL_ITALIC_MATRIX_XX;
+ aMatrix.xy = ARTIFICIAL_ITALIC_MATRIX_XY;
aMatrix.yx = 0;
FT_Glyph_Transform( pGlyphFT, &aMatrix, nullptr );
}