CCBridge // Add repeat symbols during JIS conversion.

This commit is contained in:
ShikiSuen 2022-08-27 16:30:05 +08:00
parent 254934b219
commit c67b9a3d2a
1 changed files with 16 additions and 1 deletions

View File

@ -11,6 +11,19 @@ import Foundation
public enum ChineseConverter { public enum ChineseConverter {
public static let shared = HotenkaChineseConverter(plistDir: mgrLangModel.getBundleDataPath("convdict")) public static let shared = HotenkaChineseConverter(plistDir: mgrLangModel.getBundleDataPath("convdict"))
// JIS
private static func processKanjiRepeatSymbol(target: inout String) {
guard !target.isEmpty else { return }
var arr = target.charComponents
for (i, char) in arr.enumerated() {
if i == 0 { continue }
if char == target.charComponents[i - 1] {
arr[i] = ""
}
}
target = arr.joined()
}
/// ///
private static let currencyNumeralDictTable: [String: (String, String, String, String)] = [ private static let currencyNumeralDictTable: [String: (String, String, String, String)] = [
"": ("", "", "", ""), "": ("", "", "", ""), "": ("", "", "", ""), "": ("", "", "", ""), "": ("", "", "", ""), "": ("", "", "", ""),
@ -75,6 +88,8 @@ public enum ChineseConverter {
public static func cnvTradToJIS(_ strObj: String) -> String { public static func cnvTradToJIS(_ strObj: String) -> String {
// //
let strObj = cnvTradToKangXi(strObj) let strObj = cnvTradToKangXi(strObj)
return shared.convert(strObj, to: .zhHansJP) var result = shared.convert(strObj, to: .zhHansJP)
processKanjiRepeatSymbol(target: &result)
return result
} }
} }