RESOLVED FIXED 49295
REGRESSION (r71566): r71566 breaks bidi-control-chars-treated-as-ZWS.html
https://bugs.webkit.org/show_bug.cgi?id=49295
Summary REGRESSION (r71566): r71566 breaks bidi-control-chars-treated-as-ZWS.html
Xiaomei Ji
Reported 2010-11-09 18:16:02 PST
r71566 breaks bidi-control-chars-treated-as-ZWS.html (in ATSUI handling). "è" is displayed as empty square. I disabled the test temporarily while investigation.
Attachments
Use the correct offset between indices in m_characters and indices in the text passed to ATSUI (3.43 KB, patch)
2010-11-09 22:04 PST, mitz
hyatt: review+
Revert unnecessary changes to ComplexTextControllerATSUI (12.56 KB, patch)
2010-11-10 17:06 PST, mitz
darin: review+
mitz
Comment 1 2010-11-09 21:29:47 PST
The problem appears to be that the indices reported in m_atsuiIndices no longer correspond to the original string.
mitz
Comment 2 2010-11-09 22:04:32 PST
Created attachment 73457 [details] Use the correct offset between indices in m_characters and indices in the text passed to ATSUI
Xiaomei Ji
Comment 3 2010-11-09 22:34:02 PST
Hi Dan, Thanks very much for solving the problem! Appreciated! I tried this afternoon and noticed that at some point, the m_atsuIndices[0] is 0, which points to \x202d; but m_atsuIndices[1] is 2, which points to \x0300. So, in ComplexTextController::adjustGlyphsAndAdvances(), 'ch' points to \x202d and 'nextch' points to \x0300. I guess that is the reason it printed as empty square. But I could not figure out why m_atsuIndices is assigned wrongly at ComplexTextControllerATSUI.cpp:Line 80. Now, I understand. Since I already disabled the test in mac-leopard/Skipped, maybe you could enable that in the patch? Thanks! Xiaomei
Dave Hyatt
Comment 4 2010-11-10 10:37:52 PST
Comment on attachment 73457 [details] Use the correct offset between indices in m_characters and indices in the text passed to ATSUI r=me
mitz
Comment 5 2010-11-10 12:55:56 PST
WebKit Review Bot
Comment 6 2010-11-10 13:39:21 PST
http://trac.webkit.org/changeset/71763 might have broken Leopard Intel Release (Tests) The following tests are not passing: fast/text/international/bidi-control-chars-treated-as-ZWS.html fast/text/international/bidi-neutral-run.html
mitz
Comment 7 2010-11-10 13:44:43 PST
(In reply to comment #6) > http://trac.webkit.org/changeset/71763 might have broken Leopard Intel Release (Tests) > The following tests are not passing: > fast/text/international/bidi-control-chars-treated-as-ZWS.html Looks like the change had no effect here. > fast/text/international/bidi-neutral-run.html This had incorrect results checked in in r71706.
Xiaomei Ji
Comment 8 2010-11-10 14:25:26 PST
(In reply to comment #7) > (In reply to comment #6) > > http://trac.webkit.org/changeset/71763 might have broken Leopard Intel Release (Tests) > > The following tests are not passing: > > fast/text/international/bidi-control-chars-treated-as-ZWS.html > > Looks like the change had no effect here. I applied the change locally and run layout test and pixel test this morning. And it passed. Do not know why the width of ""\x{202D}e\x{300}"" increased here. > > > fast/text/international/bidi-neutral-run.html > > This had incorrect results checked in in r71706. why is it wrong?
mitz
Comment 9 2010-11-10 14:26:58 PST
(In reply to comment #8) > (In reply to comment #7) > > (In reply to comment #6) > > > http://trac.webkit.org/changeset/71763 might have broken Leopard Intel Release (Tests) > > > The following tests are not passing: > > > fast/text/international/bidi-control-chars-treated-as-ZWS.html > > > > Looks like the change had no effect here. > > I applied the change locally and run layout test and pixel test this morning. And it passed. > Do not know why the width of ""\x{202D}e\x{300}"" increased here. > > > > > > fast/text/international/bidi-neutral-run.html > > > > This had incorrect results checked in in r71706. > > why is it wrong? If you look at the rendering before and after your change you can see that in some lines some characters (such parentheses) are missing, as a result of the index mismatch.
mitz
Comment 10 2010-11-10 14:29:46 PST
Keeping open since the fix was incomplete.
mitz
Comment 11 2010-11-10 14:54:06 PST
Looking at this some more, I think the reasons that control characters were elided no longer apply, since ComplexTextController omits the resulting glyphs if necessary, so really none of the changes were necessary.
mitz
Comment 12 2010-11-10 17:06:36 PST
Created attachment 73559 [details] Revert unnecessary changes to ComplexTextControllerATSUI
mitz
Comment 13 2010-11-10 17:11:55 PST
Note You need to log in before you can comment on or make changes to this bug.