LMCoreEX // Auto-parse pinyin key to phonabet key.

This commit is contained in:
ShikiSuen 2022-07-17 23:53:07 +08:00
parent 5b4ca64505
commit 91eff4deb7
1 changed files with 18 additions and 1 deletions

View File

@ -91,7 +91,8 @@ extension vChewing {
let neta = strData[$0].split(separator: " ")
if neta.count >= 2, String(neta[0]).first != "#" {
if !neta[0].isEmpty, !neta[1].isEmpty {
let theKey = shouldReverse ? String(neta[1]) : String(neta[0])
var theKey = shouldReverse ? String(neta[1]) : String(neta[0])
theKey.cnvPinyinToPhonabet()
let theValue = $0
rangeMap[theKey, default: []].append(theValue)
}
@ -191,3 +192,19 @@ extension String {
}
}
}
// MARK: -
extension String {
fileprivate mutating func cnvPinyinToPhonabet() {
if contains("_") { return }
for key in Tekkon.mapHanyuPinyin.keys {
guard let value = Tekkon.mapHanyuPinyin[key] else { continue }
self = replacingOccurrences(of: key, with: value)
}
for key in Tekkon.mapArayuruPinyinIntonation.keys {
guard let value = Tekkon.mapArayuruPinyinIntonation[key] else { continue }
self = replacingOccurrences(of: key, with: value)
}
}
}