When applying an "obliquen" transformation with Freetype, this applies a 12 degree horizontal shear on the control points of the glyph you have loaded. However, any other transformation we set on the glyph will be applied when loading it. So if you have e.g. a rotation on the glyph as well, then this will be applied first and the rotated glyph would be obliquened instead, now along the wrong arbitrary axis in the rotated coordinate system. To fix this, we detect the case where a transform is applied and multiply in the obliquen in advance. It means we have to duplicate some code from FT_GlyphSlot_Oblique() which might get out of sync (if the slant angle changes in a newer version for instance). We limit this to the cases that are currently broken so that we avoid messing with any working use cases. [ChangeLog][Text] Fixed an issue where artificially obliquened text would look incorrect when other transformations were also applied and the Freetype backend was in use. Pick-to: 6.5 Fixes: QTBUG-97436 Change-Id: I61c5d007e9ea9be2beb283a8b8abbed7723bab38 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> (cherry picked from commit db8230715aa115dc2da5177bb1824fb40c5f2569) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
…
…
Description
Languages
C++
84.3%
HTML
4.9%
C
3.9%
CMake
3.6%
Objective-C++
2%
Other
0.8%