RESOLVED FIXED72984
ZWJ and ZWNJ should not be stripped away in the complex script path
https://bugs.webkit.org/show_bug.cgi?id=72984
Summary ZWJ and ZWNJ should not be stripped away in the complex script path
Jungshik Shin
Reported 2011-11-22 13:41:31 PST
In ComplexTextControllerLinux.cpp for Chrome on Linux, zero-width characters are normalized away (by being replaced with zerowidthSpace). In complex script, ZWJ and ZWNJ make both visual and symantic differences. So, we should not do that. Instead of treatAsZeroWidthSpace, we should use treatAsZeroWidthInComplexScript.
Attachments
another test case for zwj and zwnj (Devanagari) (39 bytes, text/plain)
2011-11-22 17:47 PST, Jungshik Shin
no flags
screenshot of Linux Chrome and Window Chrome rendering the previous attachment (11.57 KB, image/png)
2011-11-22 17:50 PST, Jungshik Shin
no flags
Jungshik Shin
Comment 1 2011-11-22 13:46:28 PST
Jungshik Shin
Comment 2 2011-11-22 17:47:12 PST
Created attachment 116301 [details] another test case for zwj and zwnj (Devanagari)
Jungshik Shin
Comment 3 2011-11-22 17:50:15 PST
Created attachment 116302 [details] screenshot of Linux Chrome and Window Chrome rendering the previous attachment Line 1 does not have either ZWJ or ZWNJ Line 2 has ZWNJ and line 3 has ZWJ. All 3 lines should be different, but on Linux CHrome, Line 2 and line 3 are identical becasuse ZWNJ/ZWJ are replaced by zero-width-space.
Jungshik Shin
Comment 4 2012-01-03 11:23:01 PST
In addition to the proposed Webkit change, harfbuzz-indic shaper need a 2-line patch. This is also tracked at http://crbug.com/45840
Jungshik Shin
Comment 5 2012-11-05 11:21:45 PST
This was fixed by moving to harfbuzz-ng. (bug 97281)
Note You need to log in before you can comment on or make changes to this bug.