diff --git a/Source/Modules/ControllerModules/InputState.swift b/Source/Modules/ControllerModules/InputState.swift index e76d3608..bff3f72e 100644 --- a/Source/Modules/ControllerModules/InputState.swift +++ b/Source/Modules/ControllerModules/InputState.swift @@ -171,6 +171,8 @@ public enum InputState { return converted } + public var committingBufferConverted: String { composingBufferConverted } + init(composingBuffer: String, cursorIndex: Int, reading: String = "", nodeValuesArray: [String] = []) { self.composingBuffer = composingBuffer self.reading = reading @@ -230,6 +232,17 @@ public enum InputState { var textToCommit: String = "" var tooltip: String = "" + override public var committingBufferConverted: String { + let committingBuffer = nodeValuesArray.joined() + let converted = IME.kanjiConversionIfRequired(committingBuffer) + if converted.utf16.count != composingBuffer.utf16.count + || converted.count != composingBuffer.count + { + return composingBuffer + } + return converted + } + override init(composingBuffer: String, cursorIndex: Int, reading: String = "", nodeValuesArray: [String] = []) { super.init( composingBuffer: composingBuffer, cursorIndex: cursorIndex, reading: reading, nodeValuesArray: nodeValuesArray