text-decoration-skip-ink produces ugly result for cyrillic
Categories
(Core :: Layout: Text and Fonts, enhancement, P5)
Tracking
()
People
(Reporter: sandfox, Unassigned)
Details
Attachments
(2 files)
User Agent: Mozilla/5.0 (X11; Fedora; Linux x86_64; rv:70.0) Gecko/20100101 Firefox/70.0
Steps to reproduce:
Browse any page with underlined cyrillic text
Actual results:
Cyrillic letter 'д' is underlined like on skip-actual
Expected results:
Cyrillic letter д is underlined something like on skip-expected
Reporter | ||
Comment 1•5 years ago
|
||
Hi Anton
I tried on a Russian website for example https://ru.wiktionary.org/wiki/д
when i hover over the text on the green square at the bottom of the page see the same result. Te result is the same for many other browsers not only Firefox.
Can you share the specific link where you see this?
Regards
Pablo
Reporter | ||
Comment 3•5 years ago
|
||
Hi Pablo,
The current behavior when д is not underlined at all, because it has descenders on both sides, is problematic and lowers readability of the underlined cyrillic. Yes, Chrome has the same problem
Comment 4•5 years ago
|
||
AFAIK, this is consistent across all current browsers that do skip-ink rendering. It occurs because the underlying Skia function used to implement the skipping returns (at most) a single pair of "intercepts" for each glyph, indicating the left-most and right-most places where the line intersects the glyph outline. So in the case of a glyph like д that has two descenders, these positions correspond to the left edge of the left descender and the right edge of the right one, and the whole glyph is skipped.
Improving this behavior, therefore, would be dependent on an extension to the Skia getTextIntercepts APIs to allow multiple pairs of intercepts for a single glyph (or some other implementation approach); it's not something that can readily be changed within the current architecture.
Updated•2 years ago
|
Description
•