New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 675478 link

Starred by 5 users

Issue metadata

Status: Duplicate
Merged: issue 693687
Owner: ----
Closed: Apr 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Android , Windows , Chrome , Mac
Pri: 1
Type: Bug-Regression



Sign in to add a comment

Editing of text that contains a pulli (Tamil: புள்ளி, puḷḷi, character ் mentioned at http://graphemica.com/0BCD) results in the consonant+pulli combination of characters being interpreted as a part of the subsequent character.

Reported by shankark...@gmail.com, Dec 18 2016

Issue description

UserAgent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36

Example URL:
https://www.facebook.com/

Steps to reproduce the problem:
1. Open Facebook (as an example)
2. Type அச்சம் using a Tamil keyboard driver.
3. From the end of the word, move the cursor to the left. The cursor position would change behind ம்.
4. Move to the left again.

What is the expected behavior?
The cursor should move behind ச.

What went wrong?
The cursor moves behind ச், one more character away than it is supposed to go

Does it occur on multiple sites: Yes

Is it a problem with a plugin? No 

Did this work before? N/A 

Does this work in other browsers? Yes

Chrome version: 52.0.2743.116  Channel: stable
OS Version: Linux Mint 18
Flash Version: Shockwave Flash 24.0 r0

The root cause may be related to the other issue about editing content, filed as https://bugs.chromium.org/p/chromium/issues/detail?id=675477 .
 
**The cursor should move behind ச.**
Should have been The caret should move behind ச.

Comment 2 by mrn...@gmail.com, Dec 18 2016

Same issue happens in 

Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36

Comment 3 by tkent@chromium.org, Dec 18 2016

Components: -Blink Blink>Editing

Comment 4 by ajha@chromium.org, Dec 18 2016

Labels: M-55 prestable-55.0.2883.87 OS-Windows

Comment 5 by ajha@chromium.org, Dec 19 2016

Cc: yosin@chromium.org ajha@chromium.org
Labels: -Type-Bug -Pri-2 -M-55 -prestable-55.0.2883.87 M-57 hasbisect OS-Mac Pri-1 Type-Bug-Regression
Owner: nona@chromium.org
Status: Assigned (was: Unconfirmed)
Able to reproduce the issue on the latest canary(57.0.2956.0) of Mac OS 10.12.2 as well.

Regressed in M-51.

Last good build: 51.0.2702.0
First bad build: 51.0.2703.0

Changelog:
==========
https://chromium.googlesource.com/chromium/src/+log/93a08a4b973b9cca6f7f3d182d9a13102755da2b..c8047e8e3db7bb1878da59f18446b15b123f1edf

Suspecting: https://codereview.chromium.org/1853033002.

nona@: Could you please take a look at this.

Note: Getting We dont have enough builds to bisect when trying hasbisect-per-revision bisect for win(32 bit).


Comment 6 by yosin@chromium.org, Apr 26 2017

Cc: nona@chromium.org
Labels: OS-Android OS-Chrome
Owner: ----
Status: Available (was: Assigned)
Minimal repro: <textarea>&#x0B9A;&#x0BCD;&#x0B9A;</textarea>
Press ArrowRight at left edge
Expect: caret before U+0B9A
Actual: caret at right edge

Suspicious is below code in IsGraphemeBreak().

 // Cluster Indic syllables together.
 if (IsIndicSyllabicCategoryVirama(prev_code_point) &&
     u_getIntPropertyValue(next_code_point, UCHAR_GENERAL_CATEGORY) ==
         U_OTHER_LETTER)
   return false;

Comment 7 by nona@chromium.org, Apr 26 2017

If my understanding is correct, to fix this issue completely, need to shape the virama sequence and see the result.

Currently, the grapheme cluster is calculated only from code points but in virama case
we need to shape the code point and see the result whether it is came from single glyph (ligatured) or two or more glyph.

See variant glyph forms in this article.
https://www.w3.org/2002/Talks/09-ri-indic/indic-paper.html

I think this requires huge changes in Blink, so if Chrome used to breaks grapheme cluster inside the virama sequence, it would be good to revert the behavior as the old one. Note that, in that case, if the font has a ligature for virama sequence, the caret will be placed middle of the character.

Comment 8 by nona@chromium.org, Apr 26 2017

Mergedinto: 693687
Status: Duplicate (was: Available)

Sign in to add a comment