InputState // +committingBufferConverted.

This commit is contained in:
ShikiSuen 2022-08-24 12:39:24 +08:00
parent 24275ac182
commit f786fc5e67
1 changed files with 13 additions and 0 deletions

View File

@ -171,6 +171,8 @@ public enum InputState {
return converted return converted
} }
public var committingBufferConverted: String { composingBufferConverted }
init(composingBuffer: String, cursorIndex: Int, reading: String = "", nodeValuesArray: [String] = []) { init(composingBuffer: String, cursorIndex: Int, reading: String = "", nodeValuesArray: [String] = []) {
self.composingBuffer = composingBuffer self.composingBuffer = composingBuffer
self.reading = reading self.reading = reading
@ -230,6 +232,17 @@ public enum InputState {
var textToCommit: String = "" var textToCommit: String = ""
var tooltip: 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] = []) { override init(composingBuffer: String, cursorIndex: Int, reading: String = "", nodeValuesArray: [String] = []) {
super.init( super.init(
composingBuffer: composingBuffer, cursorIndex: cursorIndex, reading: reading, nodeValuesArray: nodeValuesArray composingBuffer: composingBuffer, cursorIndex: cursorIndex, reading: reading, nodeValuesArray: nodeValuesArray