Korean language and computers


The writing system of Korean, Hangul, is an alphabet organized into blocks of syllables; characters cannot just be written from left to right. Because of this, every possible syllable in Korean must either be rendered as syllable blocks by a font, or be encoded separately. Unicode uses the latter option. As an example, the syllable 하 consists of the characters ㅎ and ㅏ, but all of them are encoded separately.

Character encodings

In, a method known as ISO-2022-KR for a 7-bit encoding of Korean characters in email was described. Where 8 bits are allowed, the EUC-KR encoding is preferred. These two encodings combine US-ASCII with the Korean standard KS X 1001:1992. In North Korea, a separate character set called KPS 9566 is in use, which is rather similar to KS X 1001.
The international Unicode standard contains special characters for representing the Korean language in the native hangul phonetic system. There are two ways supported by Unicode. The way used by Microsoft Windows is to have every one of the 11,172 syllable combinations as a code and a pre-formed font character. The other way is to encode letters, and to let the software combine them into correct combinations, which is not supported in Windows. Of course the former way needs more font memory, but gives the possibility of getting better shapes, since it is complicated to create fully stylistically correct combinations which may be preferred when creating documents.
There is also the possibility of simply stacking a medial and then a final and/or a Middle Korean pitch mark, if needed on top of the initial, if the font has medial and final jamos with zero-width spacing that are inserted to the left of the cursor or caret, thus appearing in the right place below or to the right of the initial. If a syllable has a horizontal medial, the initial will probably appear further left in a complete syllable than is the case in pre-formed syllables due to the space that must be reserved for a vertical medial, giving an aesthetically poor appearance to what may be the only way to display Middle Korean hangul text without resorting to images, romanisation, replacement of obsolete jamo or non-standard encodings. However, most current fonts do not support this.
The Unicode standard also has attempted to create a unified CJK character set that can represent Chinese as well as the Japanese and Korean derivatives of this script through the Han unification process, which does not discriminate by language nor region for rendering Chinese characters, as long as the different typographic traditions have not resulted in major differences concerning what the character looks like see :Image:Xin-jiu-zixing.png for examples of characters whose appearance recently underwent only minor changes in Mainland China. Han unification has been met with some criticism.

Text input

On a Korean computer keyboard, the text is typically entered by simply pressing a key for the appropriate jamo; the operating system creates each composite character on the fly. Depending on the IME and keyboard layout, double consonants can be entered by holding the shift button. When all jamo making up a syllabic block have been entered, the user may initiate a conversion to hanja or other special characters using a keyboard shortcut or interface button; South Korean keyboards have a separate key for this. Subsequent semi-automated hanja conversion is supported to varying degrees in word processors.
When using a keyboard from another language, most operating systems require the user to type using an original Korean keyboard layout, the most common of which is 2-beolsik. This is in contrast to some other languages, like Japanese, where text can be entered using a Romanization system on non-native keyboards.
Not so most operating systems, like Linux, are allowing engine/hangul/hangul-keyboard='ro' , that results into a Romaja keyboard, where keying "seonggye" results into 성계.

Hanja

Apart from the conversion issues mentioned above, some Korean fonts do not include hanja to start with. At the same time, current word processors do not allow the user to specify which font to use as a fallback for any hanja that may occur in a text. In that case, each sequence of hanja must be manually formatted to appear in the desired font.

Special situations

Having text run in vertical lines is supported poorly or not at all by HTML and most word processors, although this is not an issue for modern Korean, as it is usually written horizontally. Until the second half of the 20th century, however, Korean was often written vertically. 15th century texts written in hangul had pitch marks to the left of syllables, which are included in Unicode, although most current fonts do not adequately support them, either.
See the section on [|character encodings] above for obsolete jamo.

Programs

Notable programs specifically designed for Korean language-related use include:
Hangul letters are detailed in several separate parts of the Unicode specification:
The precomposed hangul syllables in the Hangul Syllables block in Unicode are algorithmically defined, using the following formula:
For example, if one wants to find the code point of "" in Unicode:
Substituting these values to the formula above, one gets + 44032 = 54620. This means that the Unicode value of 한 is 54620 in decimal, 한 by the numeric character reference, and U+D55C in hexadecimal Unicode notation.

Hangul Compatibility Jamo block

Hangul Compatibility Jamo block is part of Unicode which has been allocated for compatibility with the KS X 1001 character set. It is usually used for representing some hangul jamo by itself, without distinguishing initial and final.

Hangul Jamo blocks

Hangul Jamo, Hangul Jamo Extended-A and Hangul Jamo Extended-B blocks contain initial jamo, medial jamo and final jamo, including obsolete jamo.

Hanyang Private Use Area code

ships with fonts from Hanyang Information and Communication. Their fonts map obsolete hangul characters to the Private Use Area of Unicode. Despite the use of the Private Use Area instead of dedicated codepoints, Hanyang’s mapping was as of 2007 the most popular way to represent obsolete hangul in South Korea.
Starting from Hangul 2010, Hancom deprecated Hanyang PUA code and chose to represent obsolete hangul characters using hangul jamo in Unicode.