I see in the change log for V2 build 677:
Implement LigatureCaretByPos in GDEF table. Add ‘caret_XX’ anchors to the ligature glyphs
I would love some documentation on this. What are the ‘XX’ supposed to denote? Are these indices, like caret_1, and caret_2 for anchors in an f_f_i?
The anchor names just need to be different. So the XX can be anything.
It can it happen that the caret position can jump back? Than I would need to change it to sort the positions by name instead of position.
I’ve asked around here, and we can’t think of a case where we might want the caret to move opposite the script direction. If one wanted to do that, I suppose you would have to assume the caret positions were listed in the order in which you want the care to jump. As I read the OT spec, I don’t see anything about sort order of the caret array. So yet another ambiguity in the spec has been discovered. In light of all this, I think your implementation looks perfectly fine for our expected uses. Thanks!