Bug 157283 - Incorrect cursor navigation & deletion for composite glyphs in indic languages
Incorrect cursor navigation & deletion for composite glyphs in indic languages
Product: Fedora
Classification: Fedora
Component: gtkhtml3 (Show other bugs)
All Linux
medium Severity medium
: ---
: ---
Assigned To: Matthew Barnes
: i18n, Patch
Depends On: 129212
Blocks: FC4Update
  Show dependency treegraph
Reported: 2005-05-10 01:55 EDT by Leon Ho
Modified: 2007-11-30 17:11 EST (History)
6 users (show)

See Also:
Fixed In Version: evolution-2.7.3-2
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2006-07-21 08:09:36 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)
text file containing characters from all 9 CJKI locales (113 bytes, text/plain)
2005-05-24 03:40 EDT, Lawrence Lim
no flags Details
proposed patch for gtkhtml-3.6.2 (13.56 KB, patch)
2005-05-27 08:36 EDT, Akira TAGOH
no flags Details | Diff
proposed patch for gtkhtml-3.6.2 (13.56 KB, patch)
2005-05-30 04:57 EDT, Akira TAGOH
no flags Details | Diff

External Trackers
Tracker ID Priority Status Summary Last Updated
GNOME Desktop 262907 None None None Never

  None (edit)
Description Leon Ho 2005-05-10 01:55:19 EDT
+++ 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 02:21:33 EDT
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 15:09:11 EDT
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 19:15:22 EDT
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 02:06:43 EDT
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 03:37:46 EDT
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 03:40:05 EDT
Created attachment 114764 [details]
text file containing characters from all 9 CJKI locales
Comment 8 Dave Malcolm 2005-05-26 01:22:23 EDT
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 02:11:28 EDT
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 02:14:12 EDT
Moving from FC4Blocker to FC4Update
Comment 11 Akira TAGOH 2005-05-27 08:36:48 EDT
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 04:57:46 EDT
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 05:03:12 EDT
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 10:07:35 EDT
Navigation is ok, but Deletion is not yet ok

Tested Version:
Comment 16 Mayank Jain 2006-06-20 02:21:14 EDT
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 09:39:14 EDT
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.