From f260afedb15b9c326229733d1dc62956a4b066e7 Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Mon, 3 Oct 2022 01:16:07 +0200 Subject: LibWeb: Don't add half-leading twice to inline block boxes Inline-level blocks already have the half-leading applied internally, so by adding it twice, we were offsetting their baseline by the half-leading of the line. This fixes an issue where inline-blocks were vertically offset from the line they're supposed to sit on. --- Userland/Libraries/LibWeb/Layout/LineBuilder.cpp | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) (limited to 'Userland/Libraries/LibWeb/Layout') diff --git a/Userland/Libraries/LibWeb/Layout/LineBuilder.cpp b/Userland/Libraries/LibWeb/Layout/LineBuilder.cpp index f1eab830f8..90326aeec8 100644 --- a/Userland/Libraries/LibWeb/Layout/LineBuilder.cpp +++ b/Userland/Libraries/LibWeb/Layout/LineBuilder.cpp @@ -214,14 +214,12 @@ void LineBuilder::update_last_line() float fragment_baseline = 0; if (fragment.layout_node().is_text_node()) { - fragment_baseline = font_metrics.ascent; + fragment_baseline = font_metrics.ascent + half_leading; } else { auto const& box = verify_cast(fragment.layout_node()); fragment_baseline = box_baseline(m_layout_state, box); } - fragment_baseline += half_leading; - // Remember the baseline used for this fragment. This will be used when painting the fragment. fragment.set_baseline(fragment_baseline); -- cgit v1.2.3