Bug 157283

Summary: Incorrect cursor navigation & deletion for composite glyphs in indic languages
Product: [Fedora] Fedora Reporter: Leon Ho <llch>
Component: gtkhtml3Assignee: Matthew Barnes <mbarnes>
Status: CLOSED CURRENTRELEASE QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: aalam, dmalcolm, eng-i18n-bugs, llim, majain, otaylor
Target Milestone: ---Keywords: i18n, Patch
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: evolution-2.7.3-2 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2006-07-21 12:09:36 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 129212    
Bug Blocks: 158504    
Attachments:
Description Flags
text file containing characters from all 9 CJKI locales
none
proposed patch for gtkhtml-3.6.2
none
proposed patch for gtkhtml-3.6.2 none

Description Leon Ho 2005-05-10 05:55:19 UTC
+++ This bug was initially created as a clone of Bug #129212 +++

Description of problem:
While inputting indic languages in the evolution mail composer,
composite glyphs and ligatures are considered as independent glyphs
during cursor navigation. For example, while moving the cursor left to
right on a single glyph composed from 4 unicode characters, the cursor
has to be moved 4 times, instead of once. Similarly, deletion happens
one unicode character at a time, instead of deleting the full glyph.
This behaviour is inconsistent with the rest of the gnome desktop
(compare to gedit).

Version-Release number of selected component (if applicable):
3.1.16-3

How reproducible:
every time

Steps to Reproduce:
1. Start evolution, compose new message.
2. Open the test file attached to this bug, in gedit, copy & paste
content into the composer.
3. Navigate LTR on the composite character in gedit and in composer.

  
Actual results:
A single right arrow keypress is sufficient in gedit, whereas it takes
5 keypresses to navigate this string in composer.


Expected results:
it should take a single keypress to navigate this glyph


Additional info:
Deleting this composite glyph takes 5 delete keypresses, whereas a
single delete keypress works in gedit.

Comment 2 Lawrence Lim 2005-05-10 06:21:33 UTC
Tested with evolution-2.2.2-3 and gtkhtml3-3.6.2-1. The cursoring position is
ok, ie, takes only one keypress to move acorss one character. However, for
delete key, it is not working properly. Instead of deleting the compose
character in one keypress, it removes the characters which makes up the composed
character one at a time.


Comment 3 Dave Malcolm 2005-05-10 19:09:11 UTC
Re comment #2: was this with an unpatched gtkhtml3, or did you apply the patch
referred to in comment #1?

Comment 4 Lawrence Lim 2005-05-10 23:15:22 UTC
Re comment #3: it was tested with gtkhtml3 from latest dist-fc4 without the
patch from comment #1.

Comment 5 Akira TAGOH 2005-05-11 06:06:43 UTC
upstream has different implementation in the latest version of gtkhtml3, which
hasn't supported backspace_deletes_character attribute. FYI.

Comment 6 Lawrence Lim 2005-05-24 07:37:46 UTC
Tested evolution-2.2.2-5 with gtkhtml3-3.6.2-1 from dist FC4, cursoring for CJKI
is good. However, removing a character using the Delete key, it is still not
possible for bn_IN, gu_IN, hi_IN, pa_IN and ta_IN.

Please find attached a text file with all 9 locales characters.

Comment 7 Lawrence Lim 2005-05-24 07:40:05 UTC
Created attachment 114764 [details]
text file containing characters from all 9 CJKI locales

Comment 8 Dave Malcolm 2005-05-26 05:22:23 UTC
So am I right in thinking:
(i) that the patch in attachment #110708 [details] is incompatible with the upstream
gtkhtml3 in FC4?
(ii) that the current behaviour in the FC4 package is that cursor movement
works, and it is the "delete" behaviour left to be fixed?

I'm running out of time here; can this be moved from the FC4 blocker list to be
fixed in an update?  Or do you have a patch for this?






Comment 9 Akira TAGOH 2005-05-26 06:11:28 UTC
Yes and Yes - it looks like the behavior is reversed. so current deletion isn't
the right way anyway because it *just* works for backspace, but not delete. it
needs to be modified according to backspace_deletes_character attribute.

I'm now working on this. but I yet have no patch to submit now. and it's too
late to include for FC4. so it should be moved to FC4Update IMO.

Comment 10 Dave Malcolm 2005-05-26 06:14:12 UTC
Moving from FC4Blocker to FC4Update

Comment 11 Akira TAGOH 2005-05-27 12:36:48 UTC
Created attachment 114909 [details]
proposed patch for gtkhtml-3.6.2

backported a patch and modified and fix minor issues on that.

Comment 12 Akira TAGOH 2005-05-30 08:57:46 UTC
Created attachment 114965 [details]
proposed patch for gtkhtml-3.6.2

previous patch was actually old one. attaching the latest

Comment 13 Lawrence Lim 2005-05-30 09:03:12 UTC
Tested with gtkhtml3 test package containing the patch from Comment #12 and
evolution-2.2.2-7, confirm the bug has been fixed.

Comment 15 A S Alam 2006-05-18 14:07:35 UTC
Navigation is ok, but Deletion is not yet ok


Tested Version:
evolution-data-server-1.7.1-2
evolution-webcal-2.4.1-3.2
evolution-2.7.1-1
evolution-data-server-devel-1.7.1-2

Comment 16 Mayank Jain 2006-06-20 06:21:14 UTC
IMO, backspace should delete one char at a time, but delete key should delete
full unicode in one go.
Aalam, delete key seems to be working fine. Can you please recheck?

Thanks,
Mayank

Comment 17 Satyabrata Maitra 2006-06-20 13:39:14 UTC
Test Result : PASS, Backspace is deleting one character at a time and Delete is
deleting one glyph at a time. Both Backspace and Delete working properly.
Nevigation and Deletion is okay. Tested with Packages  and versions :

evolution-2.7.3-2
evolution-data-server-1.7.3-2
evolution-sharp-0.11.1-1
evolution-webcal-2.7.1-4
gtkhtml2-2.6.3-1.2.1
gtkhtml3-3.11.2-1

Tested on O.S. : Fedora Core Release 5.89 (Rawhide) i386.