Issue 126726

Summary: No Cursor Placement before New Tai Lue Vowels & Tones
Product: Internationalization Reporter: nrs <nrsi.cheuk>
Component: codeAssignee: AOO issues mailing list <issues>
Status: UNCONFIRMED --- QA Contact:
Severity: Major    
Priority: P2 CC: mechtilde, nrsi.cheuk
Version: 4.1.2   
Target Milestone: ---   
Hardware: PC   
OS: All   
See Also: https://bugs.documentfoundation.org/show_bug.cgi?id=96034
Issue Type: DEFECT Latest Confirmation in: ---
Developer Difficulty: ---
Attachments:
Description Flags
test file for Writer
none
test file for Impress
none
test file for Calc none

Description nrs 2015-12-09 10:16:39 UTC
Created attachment 85198 [details]
test file for Writer

Whether in Writer, Calc, or Impress, it is not possible to place cursor before any New Tai Lue vowel (U+19B0..U+19C0) or tone letter (U+19C8..U+19C9) via arrow keys or mouse clicks.  The cursor will only fall after the last consecutive vowel/tone or before the char *preceding* the sequence.  Furthermore, when the cursor is before the preceding char, pressing <Del> will delete *both that char & all following vowel/tone letters*.  The only workaround is to use <Alt> + arrow keys to go between the chars, but this is not even possible in Calc.  This means some shared module of AOO fails to implement the correct character properties of New Tai Lue vowels & tones, thinking they are combining chars.  According to Unicode 8.0, released on 2015-06-17, all these are assigned a general category of 'Lo' (Letter, other) & not 'Mc' (Mark, combining).  See http://unicode.org/versions/Unicode8.0.0/ Sections A, F, & M for the latest encoding model of the New Tai Lue script.  See also http://www.unicode.org/Public/8.0.0/ucd/UnicodeData.txt for the actual character properties in the UCD.

This problem is attested in the following builds & OS:
- AOO 4.1.2 on 32-bit English Windows Vista Business SP2
- AOO 4.1.2 on 32-bit English Windows 7 Professional SP1
- AOO 4.1.2 in VirtualBox (32-bit English Windows XP Professional SP3) on 32-bit English Windows Vista Business SP2

(NB: Windows 7 has bugs in its own New Tai Lue renderer that combine with the above cursor placement defect in AOO, making it difficult to see the defect in isolation.  It would be best to conduct the following on other OS first before getting to Windows 7.)

Steps to reproduce bug:
1. download & install Nokyung font from https://github.com/silnrsi/font-nokyung/releases/download/v1.3/silnrsi-font-nokyung-13.zip
2. unzip attached zip archive
3. open test-cursor.odt
4. on line 1, move cursor between chars 2-9 via arrow keys or mouse click *
5. on line 3, move cursor between chars 1-4 via arrow keys or mouse click *
6. on line 4, move cursor between chars 1-4 via arrow keys or mouse click *
7. on line 7, move cursor between chars 2 & 3 via arrow keys or mouse click *
8. on line 8, move cursor between chars 2 & 3 via arrow keys or mouse click *
9. on last line, move cursor between chars 3 & 4 via arrow keys or mouse click *
  * expected result for steps 4-9: cursor placed between chars in concern
  * actual result: cursor CANNOT be placed between those chars -- BUG!!!
10. repeat steps 4-9 by using <Alt> + arrow keys: cursor placed between chars
11. on line 1, place cursor before char 2 & press <Del> **
12. on line 3, place cursor before char 1 & press <Del> **
13. on line 4, place cursor before char 1 & press <Del> **
14. on line 7, place cursor before char 2 & press <Del> **
15. on line 8, place cursor before char 2 & press <Del> **
16. on last line, place cursor before char 3 & press <Del> **
  ** expected result for steps 11-16: char after cursor deleted
  ** actual result: char after cursor + *all consecutive vowels & tones* deleted -- BUG!!!
17. repeat steps 3-16 with test-cursor.odp: same results
18. repeat steps 3-16 with test-cursor.ods, equating line no. to row no.:
    - same results save step 10, which only makes column wider/narrower;
    - cursor still cannot be placed between chars in concern

Pls. implement the aforementioned chars as full chars, not combining chars, & fix this defect ASAP.  Thanks!
Comment 1 nrs 2015-12-09 10:18:45 UTC
Created attachment 85199 [details]
test file for Impress
Comment 2 nrs 2015-12-09 10:19:07 UTC
Created attachment 85200 [details]
test file for Calc
Comment 3 nrs 2015-12-09 17:38:48 UTC
This problem is also attested on the following builds & OS:
- AOO 4.1.2 on 64-bit English Windows 7 Ultimate SP1
- AOO 4.1.2 in VirtualBox (Ubuntu 14.04.3 LTS 64-bit) on 64-bit English Windows 7 Ultimate SP1
Comment 4 orcmid 2015-12-09 19:57:15 UTC
[Changed configurations to Windows, all.]  Tests with Windows 8 and 10 are also needed.  Tests on Macintosh and Linux are needed before we can conclude the issue applies to other platforms.
Comment 5 orcmid 2015-12-09 20:17:01 UTC
(In reply to orcmid from comment #4)
> [Changed configurations to Windows, all.]  Tests with Windows 8 and 10 are
> also needed.  Tests on Macintosh and Linux are needed before we can conclude
> the issue applies to other platforms.
I notice that there has been an Ubuntu test with LibreOffice, but not here.

I notice the comment about Unicode 8.0 seems to figure in this.  Since Unicode 8.0 was only released on 2015-06-07, the management of migration will be an interesting problem.  

[It is somewhat disconcerting that the ODF 1.2 specification, issued on 2011-09-29, is based on Unicode 5.2.  I am not aware of any updates/errata at either OASIS or ISO.  It would be a very useful deviation if there was a way among ODF-supporting implementations to coordinate synchronized migration of Unicode handling.  This may require some dependency on Unicode support in the underlying platform though.]
Comment 6 nrs 2015-12-10 03:05:17 UTC
@orcmid: As per comment 3, we already tested on Ubuntu 14.04.3 via VirtualBox.  (The case in LO was tested on Ubuntu 15.10, also via VirtualBox.)  Doesn't this suffice to conclude that the issue is cross-platform?
Comment 7 nrs 2016-01-07 09:01:39 UTC
Also attested on the following build & OS:
- AOO 4.1.2 on 32-bit Ubuntu 15.10 (in VirtualBox 5.0.10 on 32-bit English Windows Vista Business SP2)

This clearly indicates defect exists in AOO on both Windows & Linux.  Changed platform to All.  Pls. kindly confirm & fix the defect asap.  Thanks!
Comment 8 Mechtilde 2018-12-19 09:53:04 UTC
change component to code. This is no translation issue.