From 81534104fbbb843256e72be8dc261c5e17cc01ca Mon Sep 17 00:00:00 2001 From: ed Date: Tue, 6 Jul 2021 15:10:18 +0100 Subject: [PATCH] DirectWrite: Don't include trailing whitespace when calculating text layout in CustomDirectWriteTextRenderer::DrawGlyphRun() --- .../native/juce_win32_DirectWriteTypeLayout.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/modules/juce_graphics/native/juce_win32_DirectWriteTypeLayout.cpp b/modules/juce_graphics/native/juce_win32_DirectWriteTypeLayout.cpp index d32c5cc1f5..437a47b53a 100644 --- a/modules/juce_graphics/native/juce_win32_DirectWriteTypeLayout.cpp +++ b/modules/juce_graphics/native/juce_win32_DirectWriteTypeLayout.cpp @@ -90,6 +90,11 @@ namespace DirectWriteTypeLayout DWRITE_GLYPH_RUN const* glyphRun, DWRITE_GLYPH_RUN_DESCRIPTION const* runDescription, IUnknown* clientDrawingEffect) noexcept override { + const String runString (runDescription->string, runDescription->stringLength); + + if (! runString.containsNonWhitespaceChars()) + return S_OK; + auto layout = static_cast (clientDrawingContext); if (! (baselineOriginY >= -1.0e10f && baselineOriginY <= 1.0e10f))