diff --git a/Tests/LibWeb/Ref/reference/images/svg-background-no-natural-size-ref.png b/Tests/LibWeb/Ref/reference/images/svg-background-no-natural-size-ref.png index 1cca4813f4..a56a367024 100644 Binary files a/Tests/LibWeb/Ref/reference/images/svg-background-no-natural-size-ref.png and b/Tests/LibWeb/Ref/reference/images/svg-background-no-natural-size-ref.png differ diff --git a/Tests/LibWeb/Ref/reference/images/svg-textPath-ref.png b/Tests/LibWeb/Ref/reference/images/svg-textPath-ref.png index b75ea07b43..3152ef8dfe 100644 Binary files a/Tests/LibWeb/Ref/reference/images/svg-textPath-ref.png and b/Tests/LibWeb/Ref/reference/images/svg-textPath-ref.png differ diff --git a/Userland/Libraries/LibGfx/Path.cpp b/Userland/Libraries/LibGfx/Path.cpp index a4fdac6319..b2e20c82ae 100644 --- a/Userland/Libraries/LibGfx/Path.cpp +++ b/Userland/Libraries/LibGfx/Path.cpp @@ -513,11 +513,15 @@ Path Path::stroke_to_fill(float thickness) const } } - // Note: This is the same as the tolerance from bezier curve splitting. - constexpr auto flatness = 0.5f; - auto pen_vertex_count = (thickness >= 2 * flatness) ? max( - static_cast(ceilf(AK::Pi / acosf(1 - (2 * flatness) / thickness))), 4) - : 4; + constexpr auto flatness = 0.15f; + auto pen_vertex_count = 4; + if (thickness > flatness) { + pen_vertex_count = max( + static_cast(ceilf(AK::Pi + / acosf(1 - (2 * flatness) / thickness))), + pen_vertex_count); + } + if (pen_vertex_count % 2 == 1) pen_vertex_count += 1;