Note: This is a beta release of Red Hat Bugzilla 5.0. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Also email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback here.
Bug 157283 - Incorrect cursor navigation & deletion for composite glyphs in indic languages
Summary: Incorrect cursor navigation & deletion for composite glyphs in indic languages
Alias: None
Product: Fedora
Classification: Fedora
Component: gtkhtml3
Version: rawhide
Hardware: All
OS: Linux
Target Milestone: ---
Assignee: Matthew Barnes
QA Contact:
Depends On:
Blocks: FC4Update
TreeView+ depends on / blocked
Reported: 2005-05-10 05:55 UTC by Leon Ho
Modified: 2007-11-30 22:11 UTC (History)
6 users (show)

Fixed In Version: evolution-2.7.3-2
Doc Type: Bug Fix
Doc Text:
Clone Of:
Last Closed: 2006-07-21 12:09:36 UTC

Attachments (Terms of Use)
text file containing characters from all 9 CJKI locales (deleted)
2005-05-24 07:40 UTC, Lawrence Lim
no flags Details
proposed patch for gtkhtml-3.6.2 (deleted)
2005-05-27 12:36 UTC, Akira TAGOH
no flags Details | Diff
proposed patch for gtkhtml-3.6.2 (deleted)
2005-05-30 08:57 UTC, Akira TAGOH
no flags Details | Diff

System ID Priority Status Summary Last Updated
GNOME Bugzilla 262907 None None None Never

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):

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 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:

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?


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 :


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

Note You need to log in before you can comment on or make changes to this bug.