diff --git a/src/common/statusbar/base_sbar.cpp b/src/common/statusbar/base_sbar.cpp index 9ea4a6d2607..0ee2f7701ae 100644 --- a/src/common/statusbar/base_sbar.cpp +++ b/src/common/statusbar/base_sbar.cpp @@ -754,7 +754,7 @@ void DStatusBarCore::DrawString(FFont* font, const FString& cstring, double x, d { if (ch == ' ') { - x += monospaced ? spacing : font->GetSpaceWidth() + spacing; + x += (monospaced ? spacing : font->GetSpaceWidth() + spacing) * scaleX; continue; } else if (ch == TEXTCOLOR_ESCAPE) @@ -774,7 +774,7 @@ void DStatusBarCore::DrawString(FFont* font, const FString& cstring, double x, d width += font->GetDefaultKerning(); if (!monospaced) //If we are monospaced lets use the offset - x += (c->GetDisplayLeftOffset() + 1); //ignore x offsets since we adapt to character size + x += c->GetDisplayLeftOffset() * scaleX + 1; //ignore x offsets since we adapt to character size double rx, ry, rw, rh; rx = x + drawOffset.X; @@ -825,12 +825,12 @@ void DStatusBarCore::DrawString(FFont* font, const FString& cstring, double x, d DTA_LegacyRenderStyle, ERenderStyle(style), TAG_DONE); + // Take text scale into account dx = monospaced - ? spacing - : width + spacing - (c->GetDisplayLeftOffset() + 1); + ? spacing * scaleX + : (double(width) + spacing - c->GetDisplayLeftOffset()) * scaleX - 1; - // Take text scale into account - x += dx * scaleX; + x += dx; } }