diff --git a/Common/Gfx/CanvasGDIP.cpp b/Common/Gfx/CanvasGDIP.cpp index 48f2c149..a64ecce8 100644 --- a/Common/Gfx/CanvasGDIP.cpp +++ b/Common/Gfx/CanvasGDIP.cpp @@ -181,7 +181,7 @@ bool CanvasGDIP::MeasureTextLinesW(const WCHAR* str, UINT strLen, const TextForm stringFormat.SetTrimming(Gdiplus::StringTrimmingNone); const INT stringFormatFlags = stringFormat.GetFormatFlags(); - stringFormat.SetFormatFlags(Gdiplus::StringFormatFlagsNoClip); + stringFormat.SetFormatFlags(Gdiplus::StringFormatFlagsMeasureTrailingSpaces | Gdiplus::StringFormatFlagsNoClip); INT linesFilled = 0; const Gdiplus::Status status = m_Graphics->MeasureString( diff --git a/Common/Gfx/TextFormatGDIP.cpp b/Common/Gfx/TextFormatGDIP.cpp index ecb0edb8..e8adce0c 100644 --- a/Common/Gfx/TextFormatGDIP.cpp +++ b/Common/Gfx/TextFormatGDIP.cpp @@ -101,12 +101,13 @@ void TextFormatGDIP::SetTrimming(bool trim) if (trim) { m_StringFormat.SetTrimming(Gdiplus::StringTrimmingEllipsisCharacter); - m_StringFormat.SetFormatFlags(0x0); + m_StringFormat.SetFormatFlags(Gdiplus::StringFormatFlagsMeasureTrailingSpaces); } else { m_StringFormat.SetTrimming(Gdiplus::StringTrimmingNone); - m_StringFormat.SetFormatFlags(Gdiplus::StringFormatFlagsNoClip | Gdiplus::StringFormatFlagsNoWrap); + m_StringFormat.SetFormatFlags(Gdiplus::StringFormatFlagsMeasureTrailingSpaces | + Gdiplus::StringFormatFlagsNoClip | Gdiplus::StringFormatFlagsNoWrap); } }