Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: cd84be1f3dd74350cf7c066e691ac78fc27b0fe7
https://github.com/WebKit/WebKit/commit/cd84be1f3dd74350cf7c066e691ac78fc27b0fe7
Author: Alan Baradlay <[email protected]>
Date: 2024-11-18 (Mon, 18 Nov 2024)
Changed paths:
A
LayoutTests/fast/text/thick-underline-and-small-font-size-expected-mismatch.html
A LayoutTests/fast/text/thick-underline-and-small-font-size.html
M Source/WebCore/rendering/TextDecorationPainter.cpp
Log Message:
-----------
Missing underline when skipping descenders with thick underline value
https://bugs.webkit.org/show_bug.cgi?id=283187
Reviewed by Antti Koivisto.
WebKit skips (not paint) underline on descenders when text-decoration-thickness
is set to 'auto'.
e.g.
__
| |
|__|
____ | ____
__|
WebKit paints 2 disjointed lines to make sure the glyph's descender would never
cross the underline.
The gap value between these 2 lines is computed by using the thickness of the
underline (see text-decoration-thickness),
where thicker underlines produce wider gaps (linear).
While this matches Firefox behavior, a relatively thick underline may produce a
large enough gap where we end up not painting any underline at all.
However Firefox also puts a cap on the gap value ensuring that some underline
is painted (though there are some extreme cases where no underline is painted)
Since we size our gap the same way as Firefox do, let's use a cap value similar
to theirs (i.e. relative to font size and use 5 as a magic value).
*
LayoutTests/fast/text/thick-underline-and-small-font-size-expected-mismatch.html:
Added.
* LayoutTests/fast/text/thick-underline-and-small-font-size.html: Added.
* Source/WebCore/rendering/TextDecorationPainter.cpp:
(WebCore::TextDecorationPainter::paintBackgroundDecorations):
Canonical link: https://commits.webkit.org/286722@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes