From 7c51dd201842c23e7805d24d9b7fdc2b803e31e1 Mon Sep 17 00:00:00 2001 From: Marvin Elsen Date: Fri, 20 Sep 2024 13:23:01 +0200 Subject: [PATCH] Fix is valid pinyin method --- build.gradle.kts | 2 +- .../com/marvinelsen/chinese/transliteration/Syllable.kt | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index af2c3e7..2dc74ee 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -5,7 +5,7 @@ plugins { } group = "com.marvinelsen" -version = "1.0-SNAPSHOT" +version = "1.1-SNAPSHOT" repositories { mavenCentral() diff --git a/src/main/kotlin/com/marvinelsen/chinese/transliteration/Syllable.kt b/src/main/kotlin/com/marvinelsen/chinese/transliteration/Syllable.kt index ce31655..8f18061 100644 --- a/src/main/kotlin/com/marvinelsen/chinese/transliteration/Syllable.kt +++ b/src/main/kotlin/com/marvinelsen/chinese/transliteration/Syllable.kt @@ -15,7 +15,9 @@ data class Syllable( private val zhuyinToneMarkRegex = """[ˊˇˋ˙]""".toRegex() fun isValidPinyinWithToneNumberSyllable(pinyinSyllable: String) = - pinyinSyllable.last().isDigit() && pinyinSyllable.last().digitToInt() in 1..5 && pinyinSyllable.lowercase() in pinyinToZhuyin + pinyinSyllable.last().isDigit() && pinyinSyllable.last().digitToInt() in 1..5 && pinyinSyllable + .substring(0, pinyinSyllable.lastIndex) + .lowercase() in pinyinToZhuyin fun fromPinyinWithToneNumber(pinyinWithToneNumber: String): Syllable { val pinyinWithoutNumber = pinyinWithToneNumber.substring(0, pinyinWithToneNumber.lastIndex) @@ -45,7 +47,7 @@ data class Syllable( return Syllable( zhuyinToPinyin[zhuyinWithoutToneMark]!!, Tone.fromZhuyinToneMarkOrNull(zhuyin.last()) ?: Tone.fromZhuyinToneMarkOrNull(zhuyin.first()) - ?: Tone.FIRST + ?: Tone.FIRST ) }