widget: use reliable text direction checks, not heuristics

This commit switches the way in which the editor and helper functions check
for RTL text from a heuristic to using the actual text direction.

Signed-off-by: Chris Waldon <christopher.waldon.dev@gmail.com>
This commit is contained in:
Chris Waldon
2022-10-17 08:56:24 -04:00
committed by Elias Naur
parent bebc73db37
commit b46c0f5907
2 changed files with 1 additions and 8 deletions
+1 -5
View File
@@ -68,13 +68,9 @@ func clipLine(lines []text.Line, alignment text.Alignment, width int, clip image
}
func subLayout(line text.Line, start, end combinedPos) text.Layout {
if start.lineCol.X == line.Layout.Runes.Count {
return text.Layout{}
}
startCluster := clusterIndexFor(line, start.lineCol.X, start.clusterIndex)
endCluster := clusterIndexFor(line, end.lineCol.X, end.clusterIndex)
if startCluster > endCluster {
if line.Layout.Direction.Progression() == system.TowardOrigin {
startCluster, endCluster = endCluster, startCluster
}
return line.Layout.Slice(startCluster, endCluster)