SheenFigure
SheenFigure copied to clipboard
Retreiving caret edges from SFAlbum
Even though SFAlbum provides mapping from code unit to glyph index, caret positions need to be calculated manually. The process is very complex as the caret should not stop at some code units such as surrogates, or the caret adjustments should be identified in cases of character/glyph clusters. There can be ligatures whose effective caret positions should be obtained from Ligature Caret List Table.
Since caret handling is very fundamental need of text editing, having it implemented in SFAlbum would be very helpful. The logic can be borrowed from loadCharExtents method in Tehreer-Android project.