GNOME Bugzilla – Bug 309166
incorrect cusor movement and delete for indic charcters in evolution calendar
Last modified: 2013-09-13 00:49:19 UTC
Description of problem: While inputting indic languages in the evolution calendar, 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). Steps to Reproduce: 1.in g-t, LANG=pa_IN.UTF-8 evolution 2.select Calendar 3.click on any of the time slot 4.press a, backspace 5.ctrl-space 6.ugkg 7.move cursor from the right to left using the arrow keys Actual results: takes two keypress to move across one composed character and two Delete keys to remove one composed character Expected results: the cursor movement and Delete should be similar to Gtk+, one key press to move across a single composed character and one key press (Delete) to remove a composed character.
Created attachment 70200 [details] [review] Patch for the bug patch for the bug
This is what basically what the patch does... - Get a list of PangoLogAttrs for the text associated with text widget - Move forward/backward as necessary (as per key press) - If new position has log_attr.is_cursor_position set, its the right position to display the cursor, hence return its position. Else, goto previous step.
Created attachment 70203 [details] [review] Updated patch Updated patch for more robust error handling & code abstraction. Moved duplicate code into a function.
Upstream bug... https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=161885
Oops, downstream that is!
Created attachment 70368 [details] [review] patch with corrected bugs from previous patch.
Harish, can you please change the component to evolution from eds? Thanks, Makuchaku
done.
Thanks :)
For patch in Comment 6 - Click a time slot input 'ugkg' by Punjabi Inscript, then click 'Backspace',it takes ONE Backspace key to remove one composed character. (not same as gedit)
Created attachment 78673 [details] [review] Latest patch, delete problem fixed.
Problem reproduced and solution verified. Red Hat shipped the patch in RHEL5, which means our QA team has also tested it. That's good enough for me. Committed to trunk (revision 34083).