Closed
Bug 1426827
Opened 6 years ago
Closed 6 years ago
An emoji sequence (e.g. base emoji + fitzpatrick modifier) may be split into 2 halves in separate lines
Categories
(Core :: Layout: Text and Fonts, defect, P3)
Core
Layout: Text and Fonts
Tracking
()
VERIFIED
FIXED
mozilla63
Tracking | Status | |
---|---|---|
firefox63 | --- | verified |
People
(Reporter: Fanolian+BMO, Assigned: jfkthame)
References
()
Details
(Keywords: reproducible, testcase)
Attachments
(3 files)
User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:59.0) Gecko/20100101 Firefox/59.0 Build ID: 20171221220104 Steps to reproduce: 1. Open the attached reduced testcase. (Or visit the original page: https://ol.mingpao.com/php/showbiz3.php?nodeid=1513917011660&subcate=latest&issue=20171222) 2. Observe the emoji at the end of the paragraph. Actual results: The emoji is split into halves and displayed on separate lines. Note: If I delete Emoji Modifier Fitzpatrick Type-1-2 from the emoji, it will display as a whole on a new line.
Assignee | ||
Comment 2•6 years ago
|
||
Yes, I can reproduce this on macOS as well, by slightly adjusting the line width in the testcase. I guess the problem arises because in general, the line-break code allows a break between emoji characters; but it doesn't recognize that the fitzpatrick modifiers should always remain attached to the preceding character. This, combined with the fact that a line-break is _not_ allowed before the following punctuation character, results in breaking the line before the modifier. :( A somewhat related issue is that text selection and caret movement doesn't treat the emoji+modifier combination as a single unit: it can be selected in two separate parts. Presumably for some of the complex family emoji sequences, etc., the issue would be even worse.
Status: UNCONFIRMED → NEW
Ever confirmed: true
Summary: An emoji may be split into 2 halves in separate lines → An emoji sequence (e.g. base emoji + fitzpatrick modifier) may be split into 2 halves in separate lines
Comment 3•6 years ago
|
||
Also the same issue on Linux (tested with "Apple Color Emoji"), interestingly if you check the source code it's rendered properly.
Assignee | ||
Updated•6 years ago
|
Priority: -- → P3
Comment 4•6 years ago
|
||
This is also an issue on Android v61.0 See https://twitter.com/edent/status/1016960926178840577
FYI, the testcase is currently affected by bug 1463161.
Assignee | ||
Comment 6•6 years ago
|
||
Similar to the tag characters in bug 1477010, I think we should treat these as cluster-extenders to force them to stay attached to their base glyph.
Attachment #8994447 -
Flags: review?(m_kato)
Assignee | ||
Updated•6 years ago
|
Assignee: nobody → jfkthame
Status: NEW → ASSIGNED
Updated•6 years ago
|
Attachment #8994447 -
Flags: review?(m_kato) → review+
Pushed by jkew@mozilla.com: https://hg.mozilla.org/integration/mozilla-inbound/rev/a1ef0307687c Treat Fitzpatrick skin-tone modifiers as cluster extenders when building textruns. r=m_kato
Comment 8•6 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/a1ef0307687c
Status: ASSIGNED → RESOLVED
Closed: 6 years ago
status-firefox63:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla63
I can verify the bug is fixed in 2018-07-26 Nightly. Thanks.
Status: RESOLVED → VERIFIED
Comment 10•6 years ago
|
||
Updating the tracking flag as per comment 9.
You need to log in
before you can comment on or make changes to this bug.
Description
•