| Summary: | Mac OS extended character support does not remove initial character. | ||||||
|---|---|---|---|---|---|---|---|
| Product: | [ECD] Orion | Reporter: | Mike Wilson <Mike_Wilson> | ||||
| Component: | Editor | Assignee: | 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: |
|
||||||
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 |
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.