CCBridge // Add cassetteConvert().

This commit is contained in:
ShikiSuen 2022-10-17 14:45:43 +08:00
parent 8b8ebbf14f
commit 8e03fb2469
1 changed files with 19 additions and 0 deletions

View File

@ -84,6 +84,23 @@ public enum ChineseConverter {
}
}
///
/// - Parameter string:
public static func cassetteConvert(_ string: inout String) {
// 0 1 2 3
switch PrefMgr.shared.forceCassetteChineseConversion {
case 1:
switch IMEApp.currentInputMode {
case .imeModeCHS: string = shared.convert(string, to: .zhHansCN)
case .imeModeCHT: string = shared.convert(string, to: .zhHantTW)
case .imeModeNULL: break
}
case 2: if IMEApp.currentInputMode == .imeModeCHS { string = shared.convert(string, to: .zhHansCN) }
case 3: if IMEApp.currentInputMode == .imeModeCHT { string = shared.convert(string, to: .zhHantTW) }
default: return
}
}
public static func cnvTradToKangXi(_ strObj: String) -> String {
shared.convert(strObj, to: .zhHantKX)
}
@ -97,6 +114,8 @@ public enum ChineseConverter {
}
static func kanjiConversionIfRequired(_ text: String) -> String {
var text = text
if PrefMgr.shared.cassetteEnabled { cassetteConvert(&text) }
guard IMEApp.currentInputMode == .imeModeCHT else { return text }
switch (PrefMgr.shared.chineseConversionEnabled, PrefMgr.shared.shiftJISShinjitaiOutputEnabled) {
case (false, true): return ChineseConverter.cnvTradToJIS(text)