Red Hat Bugzilla – Bug 211574
[hi/ml/si_LK] cursor naviation is wrong when using ZWJ (200d)
Last modified: 2013-07-02 20:40:44 EDT
Description of problem:
when 200d is used with Halant (hi - 094d, ml -0d4d, then moving cursor to left
character by half
Version-Release number of selected component (if applicable):
Everytime using ZWJ
Steps to Reproduce:
1. Open gedit and select keyboard hindi Inscript
2. type mo (type ZWJ) dY
3. move curor 2 times left
Cursor is blinking in between a character
Cursor should be at end of character
Screenshot is attaced
Created attachment 138943 [details]
ZWJ problem with character cutting from middle
I guess it needs to be add one more step between 2 and 3 like
2.5. move the cursor to the beginning of line
And also guessing the above combinations of characters has to be treated as two
So where is the boundary of those characters then?
BTW can you provide a testcase for Malayalam as well?
Step 2.5. can be added or without that also it can work.
these should treat as 4 characters (actually 3 characters and 1 halant)
position of cursor should be at end of 2nd character (DA) after moving cursor to
2 steps from Begining of line (Left).
I meant in the cursor movement perspective. if it should be treated as 4
characters, I don't see any issues then. the cursor position is at the end of
2nd character after pressing the right key 2 times from the beginning of line.
but 2nd character is transformed by ZWJ. and the cursor position is at the end
of line with more 2 times. so currently those is exactly treated as 4 characters.
Akira, can you write a patch for it?
Position should be like:
Sr. -------Key (english)-------Character------Word ----Cursor Position
0 ------- NONE ------- NONE ------- NONE ----NONE
1 ------- m ------- स ------- स ----1
2 ------- o------- द ------- सद ---- 2
3 ------- ZWJ ------- ------- सद---- 2
4 ------- d ------- ् --------सद्---- 2
5 ------- Y --------- भ ------------सद्भ----3
may my comment #3 confuse regarding 4 characters, it seems it should be like 3
Ok, understood. thanks for clarifying this. so I suppose the patch I wrote when
I saw this bug report should works though, can you then provide a testcase for
Created attachment 139205 [details]
(In reply to comment #8)
> Created an attachment (id=139205) 
> reference patch
So, is this the patch you recommend?
This request was evaluated by Red Hat Product Management for inclusion in a Red
Hat Enterprise Linux major release. Product Management has requested further
review of this request by Red Hat Engineering, for potential inclusion in a Red
Hat Enterprise Linux Major release. This request is not yet committed for
(In reply to comment #9)
> (In reply to comment #8)
> > Created an attachment (id=139205)  
> > reference patch
> So, is this the patch you recommend?
I've confirmed that patch working for Hindi. but need to test it for Malayalam.
I'm waiting for giving me a testcase for it. aalam?
Tagoh, I m sorry, but this problem is existing in all indic locale, where Halant
(VIRAMA) is used.
Sinhala need to confirm with LM, let you know tomorrow
Created attachment 139460 [details]
Ok, this patch should works. please provide the whole testcase.
Akira it is not working for me in above give example.
Does "not working" mean you still see the same behavior? on Pango applied the
above patch, it works for me as you mentioned at comment #6. Are you sure that
you were running on Pango with the above patch?
Or it's "not working" on anything else?
yes, I run rpm from your given link
yes, "not working" mean still see the same behavior
Hmm, actually I can see the different behavior between 1.14.6-3.el5 and my
testing package though. I need someone else to double-check this.
It may be unlikely but if you use x86_64 and just install my i386 testing
package, you won't see a difference. you have to rebuild srpm on your box and
install x86_64 binary for x86_64 box. or install gedit.i386.rpm if you are
testing on gedit say.
Created attachment 141641 [details]
I wrote a patch for the bugs of moving cursor about Cons+ZWJ(or ZWNJ),
Cons+ZWJ(or ZWNJ)+Cons, Cons+ZWJ(or ZWNJ)+halant, Cons+ZWJ(or
ZWNJ)+halant+Cons, Cons+halant+ZWJ(or ZWNJ), Cons+halant+ZWJ(or ZWNJ)+Cons.
This patch can fix bug213646 too.
I think it can fix all bugs about moving cursor about ZWJ and ZWNJ.
LingNing, any test rpm for this bug??
*** Bug 213646 has been marked as a duplicate of this bug. ***
Created attachment 142355 [details]
the srcRPM for testing
Can someone test and confirm that LingNing's patch works?
aalam, could you please test the patch?
Thank you very much!
Created attachment 142716 [details]
Created attachment 142717 [details]
Created attachment 142718 [details]
si_LK ZWJ Error
As I do not have setup for devel buildrpm to generate rpm from the srcrpm
attached, I found the same version pango-1.14.8-1.el5.i386.rpm in URL :
http://porkchop.redhat.com/brewroot/packages/pango/1.14.8/1.el5/i386, and tested
Please inform if this rpm is not same as your srcrpm, and if not the same, may I
please request you to attach the rpm of that srcrpm with this bug, thus i can
However the test result is...
Bug is not fixed, typing ZWJ - U200D is causing the cursor appearing middle of
the composed char for all 3 mentioned locales. Scrshots attached above for all 3
locales, above this comment.
The patch for this bug has not been in pango-1.14.8-1.el5.i386.rpm, it has not
been received, so the patch need you to test.
The patch was in the srcRPM which was attached, you can build this srcRPM, and
test the patch.
Thanks a lot!
Created attachment 142806 [details]
pango test RPM
Test RPM attached.
Tested the bug with test RPM attached. The bug has been fixed. Cursor nevigation
for all 12 Indic Locales are showing OK using this RPM.
Version of Test RPM installed : pango-1.14.8-1.i386.rpm
Behdad, did you read the comments?
Ah, I wish I had read the comment yesterday and included the patch in the release.
Committed upstream. Is this an exception? Do you want me to patch pango in rhel-5?
yes, please patch it in rhel-5, this bug is a blocker in rhel-5.
Retested the bug.
Cursor Nevigation is now OK with the latest package available mention below.
Component Version Tested :
Package is available in the tree :
So, resolving the bug for now.