From a949d4ef8f1366e216df88915377516f47d4120c Mon Sep 17 00:00:00 2001 From: Eskil Abrahamsen Blomfeldt Date: Tue, 4 Sep 2012 16:18:45 +0200 Subject: Fix rounding error when drawing scaled text on OS X This especially affected the print preview dialog, where certain characters would be grossly mispositioned. Task-number: QTBUG-27131 Change-Id: I385474a6f609a8f4291988206c7e63a0747673dd Reviewed-by: Jiang Jiang --- .../fontdatabases/mac/qfontengine_coretext.mm | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'src') diff --git a/src/platformsupport/fontdatabases/mac/qfontengine_coretext.mm b/src/platformsupport/fontdatabases/mac/qfontengine_coretext.mm index 92eaebb7b9..6003ccbd82 100644 --- a/src/platformsupport/fontdatabases/mac/qfontengine_coretext.mm +++ b/src/platformsupport/fontdatabases/mac/qfontengine_coretext.mm @@ -440,12 +440,12 @@ QImage QCoreTextFontEngine::imageForGlyph(glyph_t glyph, QFixed subPixelPosition glyph_metrics_t br = boundingBox(glyph); if (m.isScaling()) { - QFixed hscale = QFixed::fromReal(m.m11()); - QFixed vscale = QFixed::fromReal(m.m22()); - br.width *= hscale; - br.height *= vscale; - br.x *= hscale; - br.y *= vscale; + qreal hscale = m.m11(); + qreal vscale = m.m22(); + br.width = QFixed::fromReal(br.width.toReal() * hscale); + br.height = QFixed::fromReal(br.height.toReal() * vscale); + br.x = QFixed::fromReal(br.x.toReal() * hscale); + br.y = QFixed::fromReal(br.y.toReal() * vscale); } QImage im(qRound(br.width)+2, qRound(br.height)+2, QImage::Format_RGB32); -- cgit v1.2.3