Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 73f34fa7cc49b1726dfa22801d36470588e7f430
https://github.com/WebKit/WebKit/commit/73f34fa7cc49b1726dfa22801d36470588e7f430
Author: Alan Baradlay <[email protected]>
Date: 2026-04-23 (Thu, 23 Apr 2026)
Changed paths:
M LayoutTests/TestExpectations
M Source/WebCore/platform/graphics/FontCascade.cpp
M Source/WebCore/rendering/TextDecorationPainter.cpp
Log Message:
-----------
Fix
imported/w3c/web-platform-tests/css/css-text-decor/text-decoration-skip-ink-vertical-001.html
-002.html
https://bugs.webkit.org/show_bug.cgi?id=313150
Reviewed by Antti Koivisto.
text-decoration-skip-ink (the feature that makes underlines skip around
the parts of glyphs they would cross) was completely disabled for vertical
writing modes. The code had an explicit guard that turned it off.
It turns out this guard was unnecessary for non-upright text.
In vertical writing modes, we rotate the entire coordinate system
(via a CTM rotation in TextBoxPainter::paint()) so that text flows
"horizontally"
in the rotated space. The underline is also "horizontal" in this space.
Since the glyph paths and the underline are both in the same rotated
coordinate system, the existing intersection math works as-is.
* LayoutTests/TestExpectations:
* Source/WebCore/platform/graphics/FontCascade.cpp:
(WebCore::GlyphToPathTranslator::path):
* Source/WebCore/rendering/TextDecorationPainter.cpp:
(WebCore::TextDecorationPainter::paintBackgroundDecorations):
Canonical link: https://commits.webkit.org/311884@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications