skip-ink is incorrect for sideways (e.g. Latin) text in vertical writing modes after an upright (e.g. CJK) run
Categories
(Core :: Layout: Text and Fonts, defect, P3)
Tracking
()
Tracking | Status | |
---|---|---|
firefox70 | --- | fixed |
People
(Reporter: jfkthame, Assigned: jfkthame)
References
Details
Attachments
(1 file)
(deleted),
text/x-phabricator-request
|
Details |
We don't yet implement skip-ink for upright-oriented text in vertical writing modes, because of lack of underlying Skia support (this is bug 1572294).
However, where a run of upright text is followed by some sideways-oriented text, the ink-skipping is also broken for the sideways text.
Testcase:
data:text/html;charset=utf-8,<u style="writing-mode: vertical-rl;
text-underline-offset: -.2em;">skipping %E4%BD%A0%E5%A5%BD skipping
The underline does not skip correctly under the second occurrence of "skipping". (There are gaps, but they're placed too early, because the advance of the Chinese text is not taken into account.)
Assignee | ||
Comment 1•5 years ago
|
||
This happens because at https://searchfox.org/mozilla-central/rev/5912f376ab6a17afcba2b7654586013158ed64b5/layout/painting/nsCSSRendering.cpp#4102-4107, we skip any glyph runs with vertical-upright orientation when putting glyphs into the Skia text blob, but this means that for any subsequent non-upright glyph runs, textPos
will not be correct. We need to update textPos
to include the advance of the upright run so that following glyphs will be properly positioned for intercept computation.
Assignee | ||
Comment 2•5 years ago
|
||
Updated•5 years ago
|
Comment 4•5 years ago
|
||
bugherder |
Description
•