Merge pull request #121 from ensan-hcl/feat/support_extended_roman2kana_key_maps

feat: 「xn→ん」「ca→か」などを追加
This commit is contained in:
Miwa
2024-08-23 00:36:27 +09:00
committed by GitHub
2 changed files with 8 additions and 3 deletions

View File

@ -394,7 +394,6 @@ extension ComposingText {
return false
}
// MARK: API
static func isLeftSideValid(first firstElement: InputElement, of originalElements: [InputElement], from leftIndex: Int) -> Bool {
// leftIndex`el`
//
@ -425,7 +424,7 @@ extension ComposingText {
return true
}
let last_2 = originalElements[0 ..< leftIndex].suffix(2)
if ["zl", "zk", "zj", "zh"].contains(last_2.reduce(into: "") {$0.append($1.character)}) {
if ["zl", "zk", "zj", "zh", "xn"].contains(last_2.reduce(into: "") {$0.append($1.character)}) {
return true
}
let n_suffix = originalElements[0 ..< leftIndex].suffix(while: {$0.inputStyle == .roman2kana && $0.character == "n"})
@ -510,7 +509,7 @@ extension ComposingText {
if let lastElement = convertTargetElements.last, lastElement.inputStyle == .roman2kana, rightIndex < originalElements.endIndex {
let nextFirstElement = originalElements[rightIndex]
if !lastElement.string.hasSuffix("n") && lastElement.string.last == nextFirstElement.character {
if !lastElement.string.hasSuffix("n") && lastElement.string.last == nextFirstElement.character && CharacterUtils.isRomanLetter(nextFirstElement.character) {
//
convertTargetElements[convertTargetElements.endIndex - 1].string.removeLast()
convertTargetElements.append(ConvertTargetElement(string: [""], inputStyle: .direct))

View File

@ -28,28 +28,33 @@ enum Roman2Kana {
"xo": "",
"lo": "",
"ka": "",
"ca": "",
"ga": "",
"xka": "",
"lka": "",
"ki": "",
"gi": "",
"ku": "",
"cu": "",
"gu": "",
"ke": "",
"ge": "",
"xke": "",
"lke": "",
"ko": "",
"co": "",
"go": "",
"sa": "",
"za": "",
"si": "",
"ci": "",
"shi": "",
"zi": "",
"ji": "",
"su": "",
"zu": "",
"se": "",
"ce": "",
"ze": "",
"so": "",
"zo": "",
@ -268,6 +273,7 @@ enum Roman2Kana {
"whu": "",
"whe": "うぇ",
"who": "うぉ",
"xn": "",
"zh": "",
"zj": "",
"zk": "",