ZWJ is breaking next character

RESOLVED FIXED in mozilla30

Status

()

defect
RESOLVED FIXED
6 years ago
6 years ago

People

(Reporter: ebrahim, Assigned: jfkthame)

Tracking

30 Branch
mozilla30
Points:
---

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(4 attachments, 2 obsolete attachments)

Posted image Screenshot.png
User Agent: Mozilla/5.0 (Windows NT 6.2; WOW64; rv:30.0) Gecko/20100101 Firefox/30.0 (Beta/Release)
Build ID: 20140225040206

Steps to reproduce:

data:text/html;charset=utf8,‍یت


Actual results:

The result I see is "ی‌ت"


Expected results:

It should be like "یت", just like Chrome (see the attached screenshot)
See Also: → 619511
Huh, that's weird. I see the same problem on OS X; it's not specific to a particular platform or font.

It only seems to affect text at the beginning of the line:

data:text/html;charset=utf8,&zwj;یت &zwj;یت &zwj;یت<br>&zwj;یت &zwj;یت

This makes me wonder if it's somehow related to bidi processing; cc'ing smontagu.
Status: UNCONFIRMED → NEW
Ever confirmed: true
OS: Windows 8 → All
Hardware: x86_64 → All
This is a bit of an edge case: the issue here is caused by matchType not being set correctly in the case where we find a run-initial control char and hence use the default initial value from prevFont. We can fix this by initializing it correctly to kFontGroup, and thus avoiding a break in the glyph run.
Attachment #8384144 - Flags: review?(jdaggett)
Assignee: nobody → jfkthame
Status: NEW → ASSIGNED
Attachment #8384158 - Flags: review?(jdaggett)
Updated to handle the issue that b2g and some android versions have an Arabic font that doesn't explicitly support ZWJ - this was resulting in a font change, but we should avoid that in order to maintain expected shaping behavior. We don't need the ZWJ character to be present in the font, as harfbuzz handles it appropriately.
Attachment #8384258 - Flags: review?(jdaggett)
Attachment #8384144 - Attachment is obsolete: true
Attachment #8384144 - Flags: review?(jdaggett)
Attachment #8384158 - Attachment is obsolete: true
Attachment #8384158 - Flags: review?(jdaggett)
Fix up a couple of issues where existing tests were (inadvertently) depending on the absence of joiners in a font, resulting in glyph run boundaries and shaping interruption.
Attachment #8384261 - Flags: review?(jdaggett)
Attachment #8384258 - Flags: review?(jdaggett) → review+
Attachment #8384259 - Flags: review?(jdaggett) → review+
Attachment #8384261 - Flags: review?(jdaggett) → review+
You need to log in before you can comment on or make changes to this bug.