Apache OpenOffice (AOO) Bugzilla – Issue 115003
Cursor behaviour with Graphite fonts
Last modified: 2017-05-20 11:17:56 UTC
Steps to reproduce the problem: 1- Install Linux Libertine G font from here: http://numbertext.org/linux/ 2- Open a Writer document and type the following text Some text \prime Some text fi more text 3- Modify the paragraph style to use the Linux Libertine G font with "tex mode" enabled (on the font name box type: Linux Libertine G:texm=1) "\prime" will change into ' and fi will be replaced with proper typographical ligature. 4- Put the cursor on the end of the paragraph and use the cursor arrows to go to the left one character at a time. Actual result: While the cursor behaviour is OK on the fi ligature (and this is an improvement respect OOo 3.2.x), when you arrive to the "prime" the cursor will jump to the right, possible going to the position where the text \prime should be if "tex mode" were not enabled. This behaviour is confusing because the cursor jump to a text position, but if you press "back space" the text deleted is the one "hidden" by the Graphite replacement, not the one where cursor is shown. Problem is also present on DEV300m89
@HDU: reproduced in m8 (I guess no regression since m5 and the integration of graphite04). Missing or half supported feature?
Created attachment 72844 [details] reviving the nice tradition of providing a bugdoc
The problem is that for text in non-CTL scripts WriterEngine and EditEngine do not use enough context. Their assumptions about latin text became obsolete with advanced typography. @od: I suggest to get the cursor positions of the whole line (or same-font portions) at once by using OutputDevice::GetCaretPositions(). Trying to calculate these positions by using obsolete assumptions about cursor movements in latin text is bound to fail when any advanced typographic features come into play.
Reset assigne to the default "issues@openoffice.apache.org".