From e799b3de672062182ef827f48a6da2a0fbcd64a0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A5rten=20Nordheim?= Date: Tue, 13 Jun 2023 13:29:08 +0200 Subject: [PATCH] FontEngine[directwrite]: include leftBearing for boundingBox for glyphs It was always 0 Task-number: QTBUG-113679 Change-Id: I090036296ad2df99b986400863b1e57a5d6101fb Reviewed-by: Allan Sandfeld Jensen (cherry picked from commit 1fcbe0f6c24eff66add23bcc6212451a87d64c05) Reviewed-by: Qt Cherry-pick Bot --- src/gui/text/windows/qwindowsfontenginedirectwrite.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/gui/text/windows/qwindowsfontenginedirectwrite.cpp b/src/gui/text/windows/qwindowsfontenginedirectwrite.cpp index 14dd064c337..24417ac79e8 100644 --- a/src/gui/text/windows/qwindowsfontenginedirectwrite.cpp +++ b/src/gui/text/windows/qwindowsfontenginedirectwrite.cpp @@ -586,7 +586,9 @@ glyph_metrics_t QWindowsFontEngineDirectWrite::boundingBox(const QGlyphLayout &g for (int i = 0; i < glyphs.numGlyphs; ++i) w += glyphs.effectiveAdvance(i); - return glyph_metrics_t(0, -ascent(), w - lastRightBearing(glyphs), ascent() + descent(), w, 0); + const QFixed leftBearing = firstLeftBearing(glyphs); + return glyph_metrics_t(leftBearing, -ascent(), w - leftBearing - lastRightBearing(glyphs), + ascent() + descent(), w, 0); } glyph_metrics_t QWindowsFontEngineDirectWrite::boundingBox(glyph_t g)