ITADN

Unexpected behaviour with typing in Korean

#563Opencoin723 创建于 2026-06-03
C
coin723commented
Hello. I'm a user of a-Shell which is an app featured by SwiftTerm. I reported a problem related to how SwiftTerm deals with Korean input to the maintainer of a-Shell, and they suggested that I should do so here also. (https://github.com/holzschu/a-shell/issues/912#issuecomment-4611600265) So here are my explanations about the issue, which is as posted in a-Shell's Issues board. I wish this could help the contributors to find out the solution for this. Let me take an example of a general greeting, "안녕하세요?". In order to type in this sentence, the characters consisting it have to be inputted with this order: [ㅇ, ㅏ, ㄴ], [ㄴ, ㅕ, ㅇ], [ㅎ, ㅏ], [ㅅ, ㅔ], [ㅇ, ㅛ], ?. Here, the characters grouped by a pair of square brackets form each complete character in the sentence. In current version of a-Shell, such input results in "안녕요?", which is not expected. This is probably due to misinterpretation about how Korean words are typed at the internal level. As it can be seen, a synthesised character can be made of 2 or 3 characters. (There are other cases of 4 characters, but that's not the point here.) But in the app, every complete character is assumed to be made of 3 characters. So as I type ㅎ, ㅏ, ㅅ, ㅔ, ㅇ, ㅛ in sequence, the engine combine ㅎ, ㅏ, ㅅ to form '핫'. Up to this point, such behaviour is normal. However, the correct way to deal with the next input 'ㅔ', it have to be combined with former 'ㅅ' to form '세', leaving the earlier input as '하'. It is because 'ㅔ' is a vowel. I'm not an expert of either linguistics or software engineering, the explanation may be somewhat insufficient, awkward, and vague. Despite of it, I hope this could offer you some useful information.
4 条评论