Created attachment 182087
Screencast of cursor movement with my patches applied
Here is the current status:
1. Ligatures are detected and the width of the glyph is evenly distributed over the number of grapheme clusters that make up the ligature. This works nicely for “real” ligatures, but a bit awkward for Linux Libertine G’s text replacement disguised as ligatures. But we can’t distinguish between the two, and we want this behavior for most ligatures.
2. If the font has OpenType ligature caret information, we will use it for more fine grained caret placement inside the ligature.
Created attachment 182087
Screencast of cursor movement with my patches applied
Here is the current status:
1. Ligatures are detected and the width of the glyph is evenly distributed over the number of grapheme clusters that make up the ligature. This works nicely for “real” ligatures, but a bit awkward for Linux Libertine G’s text replacement disguised as ligatures. But we can’t distinguish between the two, and we want this behavior for most ligatures.
2. If the font has OpenType ligature caret information, we will use it for more fine grained caret placement inside the ligature.