Fix Korean transliteration

This commit is contained in:
Elara 2021-10-04 20:06:08 -07:00
parent 12c5e924a2
commit a3281a7e15
1 changed files with 38 additions and 20 deletions

View File

@ -294,10 +294,14 @@ func translitSpecialProvisions(previousEnding rune, nextInitial rune) (string, b
switch previousEnding { switch previousEnding {
case 0x11A8: case 0x11A8:
return "ngn", true // ㄱ return "ngn", true // ㄱ
case 0x11AE: // ㄷ case 0x11AE:
case 0x11BA: // ㅅ fallthrough // ㄷ
case 0x11BD: // ㅈ case 0x11BA:
case 0x11BE: // ㅊ fallthrough // ㅅ
case 0x11BD:
fallthrough // ㅈ
case 0x11BE:
fallthrough // ㅊ
case 0x11C0: // ㅌ case 0x11C0: // ㅌ
return "nn", true return "nn", true
case 0x11AF: case 0x11AF:
@ -309,17 +313,24 @@ func translitSpecialProvisions(previousEnding rune, nextInitial rune) (string, b
} }
case 0x1105: // ㄹ case 0x1105: // ㄹ
switch previousEnding { switch previousEnding {
case 0x11A8: // ㄱ case 0x11A8:
case 0x11AB: // ㄴ fallthrough // ㄱ
case 0x11AB:
fallthrough // ㄴ
case 0x11AF: // ㄹ case 0x11AF: // ㄹ
return "ll", true return "ll", true
case 0x11AE: // ㄷ case 0x11AE:
case 0x11BA: // ㅅ fallthrough // ㄷ
case 0x11BD: // ㅈ case 0x11BA:
case 0x11BE: // ㅊ fallthrough // ㅅ
case 0x11BD:
fallthrough // ㅈ
case 0x11BE:
fallthrough // ㅊ
case 0x11C0: // ㅌ case 0x11C0: // ㅌ
return "nn", true return "nn", true
case 0x11B7: // ㅁ case 0x11B7:
fallthrough // ㅁ
case 0x11B8: // ㅂ case 0x11B8: // ㅂ
return "mn", true return "mn", true
case 0x11BC: case 0x11BC:
@ -331,10 +342,14 @@ func translitSpecialProvisions(previousEnding rune, nextInitial rune) (string, b
switch previousEnding { switch previousEnding {
case 0x11A8: case 0x11A8:
return "ngm", true // ㄱ return "ngm", true // ㄱ
case 0x11AE: // ㄷ case 0x11AE:
case 0x11BA: // ㅅ fallthrough // ㄷ
case 0x11BD: // ㅈ case 0x11BA:
case 0x11BE: // ㅊ fallthrough // ㅅ
case 0x11BD:
fallthrough // ㅈ
case 0x11BE:
fallthrough // ㅊ
case 0x11C0: // ㅌ case 0x11C0: // ㅌ
return "nm", true return "nm", true
case 0x11B8: case 0x11B8:
@ -372,10 +387,14 @@ func translitSpecialProvisions(previousEnding rune, nextInitial rune) (string, b
} }
case 0x1110: // ㅌ case 0x1110: // ㅌ
switch previousEnding { switch previousEnding {
case 0x11AE: // ㄷ case 0x11AE:
case 0x11BA: // ㅅ fallthrough // ㄷ
case 0x11BD: // ㅈ case 0x11BA:
case 0x11BE: // ㅊ fallthrough // ㅅ
case 0x11BD:
fallthrough // ㅈ
case 0x11BE:
fallthrough // ㅊ
case 0x11C0: // ㅌ case 0x11C0: // ㅌ
return "t-t", true return "t-t", true
default: default:
@ -391,7 +410,6 @@ func translitSpecialProvisions(previousEnding rune, nextInitial rune) (string, b
default: default:
return "", false return "", false
} }
return "", false
} }
// Decompose a syllable into several jamo. Does nothing if that isn't possible. // Decompose a syllable into several jamo. Does nothing if that isn't possible.