After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 262907 - Incorrect cursor navigation & deletion for composite glyphs in indic languages
Incorrect cursor navigation & deletion for composite glyphs in indic languages
Status: RESOLVED FIXED
Product: GtkHtml
Classification: Other
Component: Editing
unspecified
Other All
: High normal
: ---
Assigned To: gtkhtml-maintainers
Evolution QA team
Depends on:
Blocks:
 
 
Reported: 2004-08-12 04:15 UTC by Jatin Nansi
Modified: 2007-08-24 15:05 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
This file contains the test string (16 bytes, text/plain)
2004-08-12 04:17 UTC, Jatin Nansi
  Details
proposed patch (13.56 KB, patch)
2005-05-27 12:38 UTC, Akira TAGOH
committed Details | Review

Description Jatin Nansi 2004-08-12 04:15:26 UTC
Please fill in this template when reporting a bug, unless you know what you
are doing.
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 number of selected component:
3.1.16


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 Information:
Deleting this composite glyph takes 5 delete keypresses, whereas a
single delete keypress works in gedit.
Comment 1 Jatin Nansi 2004-08-12 04:17:35 UTC
Created attachment 44066 [details]
This file contains the test string
Comment 2 Subodh Soni 2005-05-27 09:37:33 UTC
Can you please try to recreate the problem on the following versions of gtkhtml:
gtkhtml2-3.6.2.0.200505251324-0.snap.novell.0.1
libgtkhtml-2.6.1-2.1

I don't see the problem while navigating the glyph in the test case you have
attached. It takes just 1 key-press to navigate from LtoR OR from RtoL in the
composer window. 

But yes, deleting this glyph by going to the end of line and pressing Backspace
takes 5 keypresses to delete it completely. So some problem is still existing
here that needs fixing.
Comment 3 Akira TAGOH 2005-05-27 11:28:49 UTC
That's no problem because "backspace" works for removing each vowel but "delete"
should remove a composed character by one keypress. also current gtkhtml (I just
looked at CVS) doesn't refer a backspace_deletes_character Pango attribute at
all. it's required to determine which character should be removed by backspace.
so current one looks like it *just* works.
Comment 4 Akira TAGOH 2005-05-27 12:38:15 UTC
Created attachment 46945 [details] [review]
proposed patch
Comment 5 Dave Malcolm 2005-07-27 17:51:34 UTC
I've applied that patch (attachment 46945 [details] [review]) to Fedora Core gtkhtml3-3.7.5-4;
should be available in tomorrow's Rawhide
Comment 6 André Klapper 2006-01-21 18:25:34 UTC
adding I18N keyword. any news on this, dave? still needed?
Comment 7 André Klapper 2006-02-09 22:16:34 UTC
dmalcolm: is this still missing?

targetting at least to 2.5 - we have a patch here.
could break the API. :-/
Comment 8 A S Alam 2006-05-18 12:56:31 UTC
Navigation is ok, but Deletion is not yet ok
Comment 9 Poornima 2006-07-31 08:22:00 UTC
Moving it to 'New' based on comment #8.
Comment 10 Kjartan Maraas 2006-12-03 17:03:39 UTC
Patch never hit CVS at least.
Comment 11 Kjartan Maraas 2007-01-25 15:22:31 UTC
Fedora is still shipping this patch so it can't be *that* broken :-) Can we get it commited?
Comment 12 Matthew Barnes 2007-08-24 15:05:17 UTC
Seems to work okay as far as I can tell.  "Okay" meaning the same as other GNOME applications.  Delete removes the entire glyph, backspace removes each vowel (5 in the test case in comment #1), cursor navigation moves over the entire glyph.

I don't see any API breakage.  The header files modified by this patch do not get installed.

A ChangeLog entry would've been nice.  I had to fudge a description in a few places.

Committed to trunk (revision 8543).