Hangul, the Korean alphabet

I'm writer of compositional character set; Korean, a member of CJKV the well-known i18n(internationalization) keyword. This is unfamiliar field for western developers so they repeatedly produce unsatisfactory codes for some features in Korean characters. Following is an arrangement of mails I used to send such developers to explain what is the problem, why it happens, and how to deal with that.

Compositional Feature

Auto completion

In this locale, input manager hold key sequences in preedit status, and put the composited result into input field on commit event.

Consequently, auto completion makes trouble if not carefully designed. So to say, with saf[cursor], auto completion put safari unexpectedly, while I'm trying to compose e for safety or similar. Google Chrome, for example, break the preedit status while the location bar restructured for keyword search.

It is necessary to check preedit status if you want to implement such functionalities.


As compositional one, there are two Unicode normalization forms; NFC and NFD. The former is located in U+AC00 and is used in almost every environments including Windows and Linux. The latter is located in U+1100 and is used in only Mac environments.

When it comes to matter of length, there is a huge difference. NFD is much longer (about three times) than NFC, so often exceed filename length limit.


more to come