Tekkon // 1.3.1 update.

This commit is contained in:
ShikiSuen 2022-12-15 11:02:48 +08:00
parent f9c79d06b4
commit d9e7033f90
3 changed files with 21 additions and 31 deletions

View File

@ -55,7 +55,7 @@ extension Tekkon {
switch isHanyuPinyin { switch isHanyuPinyin {
case false: // case false: //
let valReturnZhuyin = value.replacingOccurrences(of: " ", with: "") let valReturnZhuyin = value.replacingOccurrences(of: " ", with: "")
return isTextBookStyle ? cnvZhuyinChainToTextbookReading(targetJoined: valReturnZhuyin) : valReturnZhuyin return isTextBookStyle ? cnvPhonaToTextbookReading(target: valReturnZhuyin) : valReturnZhuyin
case true: // case true: //
let valReturnPinyin = Tekkon.cnvPhonaToHanyuPinyin(targetJoined: value) let valReturnPinyin = Tekkon.cnvPhonaToHanyuPinyin(targetJoined: value)
return isTextBookStyle ? Tekkon.cnvHanyuPinyinToTextbookStyle(targetJoined: valReturnPinyin) : valReturnPinyin return isTextBookStyle ? Tekkon.cnvHanyuPinyinToTextbookStyle(targetJoined: valReturnPinyin) : valReturnPinyin

View File

@ -13,7 +13,7 @@ extension Tekkon {
/// ///
/// - Parameters: /// - Parameters:
/// - target: String /// - targetJoined: String
public static func cnvPhonaToHanyuPinyin(targetJoined: String) -> String { public static func cnvPhonaToHanyuPinyin(targetJoined: String) -> String {
var targetConverted = targetJoined var targetConverted = targetJoined
for pair in arrPhonaToHanyuPinyin { for pair in arrPhonaToHanyuPinyin {
@ -35,42 +35,32 @@ extension Tekkon {
/// ///
/// - Parameters: /// - Parameters:
/// - target: /// - target:
/// - newSeparator: /// - Returns:
/// - Returns: public static func cnvPhonaToTextbookReading(target: String) -> String {
public static func cnvZhuyinChainToTextbookReading(targetJoined: String, newSeparator: String = "-") -> String { var newString = target
var arrReturn: [String] = [] if String(target.reversed()[0]) == "˙" {
for neta in targetJoined.split(separator: "-") { newString = String(target.dropLast())
var newString = String(neta) newString.insert("˙", at: newString.startIndex)
if String(neta.reversed()[0]) == "˙" {
newString = String(neta.dropLast())
newString.insert("˙", at: newString.startIndex)
}
arrReturn.append(newString)
} }
return arrReturn.joined(separator: newSeparator) return newString
} }
/// 調1 /// 調1
/// - Parameters: /// - Parameters:
/// - target: /// - target:
/// - newSeparator: /// - Returns:
/// - Returns: public static func restoreToneOneInPhona(
public static func restoreToneOneInZhuyinKey(targetJoined: String, newSeparator: String = "-") -> String { target: String
var arrReturn: [String] = [] ) -> String {
for neta in targetJoined.split(separator: "-") { var newNeta = target
var newNeta = String(neta) if !"ˊˇˋ˙".contains(String(target.reversed()[0])), !target.contains("_") { newNeta += "1" }
if !"ˊˇˋ˙".contains(String(neta.reversed()[0])), !neta.contains("_") { return newNeta
newNeta += "1"
}
arrReturn.append(newNeta)
}
return arrReturn.joined(separator: newSeparator)
} }
/// ///
/// - Parameters: /// - Parameters:
/// - target: 12345 調 /// - targetJoined: 12345 調
/// - newToneOne: /// - newToneOne:
/// - Returns: /// - Returns:
public static func cnvHanyuPinyinToPhona(targetJoined: String, newToneOne: String = "") -> String { public static func cnvHanyuPinyinToPhona(targetJoined: String, newToneOne: String = "") -> String {

View File

@ -167,8 +167,8 @@ final class TekkonTestsBasic: XCTestCase {
XCTAssertEqual(composer.getComposition(), "ㄩㄝ") XCTAssertEqual(composer.getComposition(), "ㄩㄝ")
// Testing tool functions // Testing tool functions
XCTAssertEqual(Tekkon.restoreToneOneInZhuyinKey(targetJoined: "ㄉㄧㄠ"), "ㄉㄧㄠ1") XCTAssertEqual(Tekkon.restoreToneOneInPhona(target: "ㄉㄧㄠ"), "ㄉㄧㄠ1")
XCTAssertEqual(Tekkon.cnvZhuyinChainToTextbookReading(targetJoined: "ㄊㄧㄥ-ㄓㄜ˙"), "ㄊㄧㄥ-˙ㄓㄜ") XCTAssertEqual(Tekkon.cnvPhonaToTextbookReading(target: "ㄓㄜ˙"), "˙ㄓㄜ")
XCTAssertEqual(Tekkon.cnvHanyuPinyinToPhona(targetJoined: "bian4-le5-tian1"), "ㄅㄧㄢˋ-ㄌㄜ˙-ㄊㄧㄢ") XCTAssertEqual(Tekkon.cnvHanyuPinyinToPhona(targetJoined: "bian4-le5-tian1"), "ㄅㄧㄢˋ-ㄌㄜ˙-ㄊㄧㄢ")
// //
XCTAssertEqual(Tekkon.cnvHanyuPinyinToPhona(targetJoined: "ㄅㄧㄢˋ-˙ㄌㄜ-ㄊㄧㄢ"), "ㄅㄧㄢˋ-˙ㄌㄜ-ㄊㄧㄢ") XCTAssertEqual(Tekkon.cnvHanyuPinyinToPhona(targetJoined: "ㄅㄧㄢˋ-˙ㄌㄜ-ㄊㄧㄢ"), "ㄅㄧㄢˋ-˙ㄌㄜ-ㄊㄧㄢ")