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 하 (ha) consists of the characters ㅎ (h) and ㅏ (a), but all of them are encoded separately.
In RFC 1557, 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 (ISO 646) with the Korean standard KS X 1001:1992 (previously named KS C 5601:1987). 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 (jamos), 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 (sequence of) medial(s) (jungseong) – and then a (sequence of) final(s) (jongseong) and/or a Middle Korean pitch mark, if needed – on top of the (sequence of) initial(s) (choseong), 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 (ㅗ, ㅛ, ㅜ, ㅠ or ㅡ), 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 (Hanzi) as well as the Japanese (Kanji) and Korean (Hanja) 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.
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(du)-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 성계. In this configuration, ㄲ is obtained by "gg", and not by shift-g. This allows keying "jasanGun" to obtain 자산군 instead of keying "jasangun" that would provide 자상운.
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.
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.
Notable programs specifically designed for Korean language-related use include:
- Language recognition
- Input method editors
- Tan'gun (단군; Pyongyang Information Center, North Korea) – Allows the use of hangul on English editions of Windows.
- Nalgaeset Hangul Input Method Editor (날개셋 한글 입력기); Kim Yongmook, South Korea) – A hangul input method which is especially made for the 3(se)-beolsik keyboard layout (only works on Microsoft Windows).
- Nabi (나비), ami (아미; South Korea) – Allows to type hangul on Linux.
- m17n – Allows to use revised romanization for hangul input on Unix.
- SCIM and iBus – Allows one to type hangul and hanja on POSIX-style operating systems including Linux and BSD.
- Word processors – All programs listed below include domestic hangul fonts, non-hangul fonts and a hangul-hanja conversion utility.
- Hangul (Haansoft, South Korea)
- Ch'angdŏk (창덕; PIC, North Korea) – This popular program exists in an MS-DOS version developed in April 1990  and a Windows version developed in 1996. It includes a peculiar personality cult feature by which pressing Ctrl+I or Ctrl+J produces titles exalting Kim Il-sung and Kim Jong-il, respectively.
Hangul in Unicode
Hangul letters are detailed in several separate parts of the Unicode specification:
- Hangul Syllables (AC00–D7A3)
- Hangul Jamo (1100–11FF)
- Hangul Compatibility Jamo (3130–318F)
- Hangul Jamo Extended-A (A960–A97F)
- Hangul Jamo Extended-B (D7B0–D7FF)
Hangul Syllables block
The precomposed hangul syllables in the Hangul Syllables block in Unicode are algorithmically defined, using the following formula:
- [(initial) × 588 + (medial) × 28 + (final)] + 44032
- Initial consonants
- Medial vowels
- Final consonants
For example, if one wants to find the code point of "한" in Unicode:
- The value of initial consonant ㅎ is 18.
- The value of medial vowel ㅏ is 0.
- The value of final consonant ㄴ is 4.
Substituting these values to the formula above, one gets [(18 × 588) + (0 × 28) + 4] + 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
Hangul (word processor) 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[update] 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.
- Japanese language and computers
- Vietnamese language and computers
- List of CJK fonts
- Yale Romanization of Korean
- Revised Romanization
- New Korean Orthography
- "KS X 1001:1992" (PDF).
- 김치관 (December 2, 2000). 문답으로 보는 북한 정보화의 현주소. Tongilnews.com (in Korean). Retrieved December 3, 2006.
- 김효석 (December 2, 2000). "<국회자료집> 북한 S/W 현황과 시연자료". Tongilnews.com (in Korean). Retrieved December 3, 2006.
- Yonhap (January 7, 1998). 북한의 컴퓨터산업 어디까지 왔나. Tongilnews.com (in Korean). Retrieved December 3, 2006.[dead link]
- "북한용어사전: 평양정보센터(PIC)" (in Korean). Archived from the original on September 28, 2007. Retrieved December 3, 2006.
- Online Korean Virtual Keyboard
- InputKing Online Input System, an online tool for typing Korean
- "Jamo in Unicode" (PDF). (186 KB)
- "Hangul syllables" (PDF). (3.86 MB)
- Hoffmann, Frank. "Korean Studies: Unicode Converter". koreanstudies.com., an online tool for converting Korean text into various coding formats and vice versa