Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 422183

Summary: Mac OS extended character support does not remove initial character.
Product: [ECD] Orion Reporter: Mike Wilson <Mike_Wilson>
Component: EditorAssignee: Silenio Quarti <Silenio_Quarti>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: P3 CC: Silenio_Quarti
Version: unspecified   
Target Milestone: 5.0 M1   
Hardware: PC   
OS: Mac OS X   
Whiteboard:
Attachments:
Description Flags
image showing the accented "e" popup. none

Description Mike Wilson CLA 2013-11-20 14:52:34 EST
Created attachment 237598 [details]
image showing the accented "e" popup.

On Mac OS, when entering text, holding down some of the keys on the keyboard will popup an extended menu of accented characters. For example, holding down the "e" key will cause the menu shown in the screenshot to appear.

Hitting one of the numbered choices in this menu, is supposed to cause the character above the number to *replace* the original character in the text. So, for example, holding down "e" until the menu appears, and then hitting "2" will cause the "e" to be replaced with "é".

In the Orion editor, instead of replacing the original character, the accented character is simply pasted after it in the text, requiring you to go back and manually delete the original.
Comment 1 Silenio Quarti CLA 2013-11-21 10:13:34 EST
Fixed by detecting the change in the DOM and diffing the contents of the text model and the text in the DOM on the affected line. Same code that run for Android with the SwiftKey keyboard.

Also, fixed the bad behavior (growing line height) while dictating text with enhanced mode on (Mac 10.9).  This problem only happened when dictation was done in a blank line. The browser is inserting a BR element at the beginning of the line for every character typed. The BR elements are inserted because the new text is added just before a zero width non-joiner character.  We add this character at the end of every line to keep the line height constant.  I stopped using the ZWNJ character in favor of the zero-width space (ZWSP) character. Finally, this problem also happened while typing Chinese as well.

Fixed

http://git.eclipse.org/c/orion/org.eclipse.orion.client.git/commit/?id=89922b7082abfcccd01e8954ea6a632f246f352d