Le 04/05/2014 22:14, Vincent van Ravesteijn a écrit :
The first thing I notice is that painting of some 'simple' ligatures seems to be broken in master as well as in LyX 2.0.7. I really think this worked before. Your branch fixes this issue.
Good.
Next, the position of the cursor seems to be computed by cutting the string in two parts.
Yes, definitely.
Because of this, the width of the character before the cursor is computed as its width in the unconnected form. This can be seen in the following:
What would be the right solution? I do not really know what to do. Does unicode give me hints I could use?
Here the cursor is positioned too far to the left : str-metrics:Master: and here, the cursor actually moves right, when moving logically to the left: pos:3 pos:4
Could you send to me a short file containing examples?
When selecting the first character, I see two things: 1) the connection between characters is lost (in master this is not the case) 2) the first character actually moves to the right on selection (while you would expect that the rest of the word moves to the left because the first character became wider on selection)
Since selection has its own color, the string is split in two. This breaks all ligatures. I plan (unless there is a strong resistance from people who love bicolor selections) to remove support for Color_selectiontext and avoid breaking drawing at cursor. This will avoid the "dancing text" effect with plain old latin text.
But of course, this will not solve anything wrt cursor position. We need a strategy, and I do not have one.
JMarc