diff --git a/Source/Modules/ControllerModules/InputState.swift b/Source/Modules/ControllerModules/InputState.swift index 2034030a..a3d8ded7 100644 --- a/Source/Modules/ControllerModules/InputState.swift +++ b/Source/Modules/ControllerModules/InputState.swift @@ -194,8 +194,8 @@ class InputState { ) } - let exactBegin = composingBuffer.utf16CharIndex(from: markedRange.lowerBound) - let exactEnd = composingBuffer.utf16CharIndex(from: markedRange.upperBound) + let exactBegin = composingBuffer.charIndexLiteral(from: markedRange.lowerBound) + let exactEnd = composingBuffer.charIndexLiteral(from: markedRange.upperBound) let selectedReadings = readings[exactBegin.. Int { + public func charIndexLiteral(from utf16Index: Int) -> Int { var length = 0 for (i, character) in self.enumerated() { length += character.utf16.count @@ -56,12 +56,12 @@ extension String { } public func utf16NextPosition(for index: Int) -> Int { - let fixedIndex = min(utf16CharIndex(from: index) + 1, count) + let fixedIndex = min(charIndexLiteral(from: index) + 1, count) return self[.. Int { - let fixedIndex = max(utf16CharIndex(from: index) - 1, 0) + let fixedIndex = max(charIndexLiteral(from: index) - 1, 0) return self[..