Fix is valid pinyin method
This commit is contained in:
parent
e1dbdb37eb
commit
7c0820fc36
@ -15,7 +15,9 @@ data class Syllable(
|
|||||||
private val zhuyinToneMarkRegex = """[ˊˇˋ˙]""".toRegex()
|
private val zhuyinToneMarkRegex = """[ˊˇˋ˙]""".toRegex()
|
||||||
|
|
||||||
fun isValidPinyinWithToneNumberSyllable(pinyinSyllable: String) =
|
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 {
|
fun fromPinyinWithToneNumber(pinyinWithToneNumber: String): Syllable {
|
||||||
val pinyinWithoutNumber = pinyinWithToneNumber.substring(0, pinyinWithToneNumber.lastIndex)
|
val pinyinWithoutNumber = pinyinWithToneNumber.substring(0, pinyinWithToneNumber.lastIndex)
|
||||||
@ -45,7 +47,7 @@ data class Syllable(
|
|||||||
return Syllable(
|
return Syllable(
|
||||||
zhuyinToPinyin[zhuyinWithoutToneMark]!!,
|
zhuyinToPinyin[zhuyinWithoutToneMark]!!,
|
||||||
Tone.fromZhuyinToneMarkOrNull(zhuyin.last()) ?: Tone.fromZhuyinToneMarkOrNull(zhuyin.first())
|
Tone.fromZhuyinToneMarkOrNull(zhuyin.last()) ?: Tone.fromZhuyinToneMarkOrNull(zhuyin.first())
|
||||||
?: Tone.FIRST
|
?: Tone.FIRST
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user