From 84ec2860602573fce7002d7f7b97d8481275e317 Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Thu, 3 Oct 2019 16:05:32 +0200 Subject: [PATCH] LibHTML: Forgot to account for -1 glyph spacing in text layout Font::width(string) will subtract one Font::glyph_spacing() from the result, since we don't put any spacing after the last glyph. This was messing up text layout here, since we assumed each glyph width also included the glyph spacing. --- Libraries/LibHTML/Layout/LayoutText.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/Libraries/LibHTML/Layout/LayoutText.cpp b/Libraries/LibHTML/Layout/LayoutText.cpp index 8850df4891..fc7f5d7289 100644 --- a/Libraries/LibHTML/Layout/LayoutText.cpp +++ b/Libraries/LibHTML/Layout/LayoutText.cpp @@ -198,7 +198,6 @@ void LayoutText::split_into_lines(LayoutBlock& container) for_each_word([&](const Utf8View& view, int start, int length) { words.append({ Utf8View(view), start, length }); - }); for (int i = 0; i < words.size(); ++i) { @@ -210,7 +209,7 @@ void LayoutText::split_into_lines(LayoutBlock& container) if (is_whitespace) word_width = space_width; else - word_width = m_font->width(word.view); + word_width = m_font->width(word.view) + m_font->glyph_spacing(); if (word_width > available_width) { line_boxes.append(LineBox());