The Korean Solaris Operating System is the internationalization and the Korean localization of the Solaris Operating System and the Common Desktop Environment (CDE) window system.
This chapter describes the new features and the language support that are available in the Korean Solaris Operating System.
The Korean input methods, based on SunIM I/F (Sun Internet Intranet Input Method Interface), are available in the current Solaris release with new features and many enhancements.
Two new keyboard layouts are supported with the current Solaris Korean language engine.
3 Beol Sik 390
3 Beol Sik final
An auxiliary window is included that enables you to do the following tasks:
Adjust the behavior of input methods by changing the input method options.
Input characters from virtual keyboards.
Access all the symbols that are contained in a current character set with a single mouse click.
Use the online help menu to find answers to questions about the auxiliary window.
Support is available for the features that enables you to do the following tasks:
Enable or disable the option to automatically commit individual character.
Use different options to convert characters and words from Hangul to Hanja.
Choose from several keyboard layouts including 2 Beol Sik, 3 Beol Sik 390, and 3 Beol Sik final.
Switch between half-width and full-width modes.
Unicode 3.2 support. The ko_KR.UTF-8 (ko.UTF-8) locale has been updated to support the new 3.2 version of the Unicode Standard. The new version introduces an additional 1,016 new characters and contains various normative and informative changes.
Unicode 3.2 also defines the following UTF-8 byte sequences as invalid.
0xED as the first byte.
0xA0 to 0xBF as the second byte.
These sequences exclude the surrogate code points between U+D800 and U+DFFF. To comply with the new definition, all Korean UTF-8 iconv modules have been enhanced to detect the newly defined invalid UTF-8 byte sequences.
In the current Solaris release, the mp printing utility replaces the xetops and the xutops utilities.
The xetops and xutops printing utilities are no longer supported in the Korean Solaris Operating System. The utilities were formerly used to convert Korean text files to PostScript. The conversion enabled the printing of Korean characters to PostScript printers with no resident Asian fonts. The xetops utility was used in the ko_KR.EUC locale. The xutops utility was used in the ko_KR.UTF-8 locale.
The mp printing utility was first released with the Solaris 9 Operating System.
The Solaris Operating System builds inherent internationalization features into every localized product. Localization facilities support the ANSI C recommendations for internationalization and localization that define the locale and related categories.
A locale contains a language with culturally specific information and conventions for a particular global region. Each process in the Solaris Operating System has the following set of locale attributes:
Locale settings, which provide the locale and setlocale commands you use to list and set attributes before you start a process from the command line.
For example, the Korean locales and the English/ASCII locale both have a category that defines the display of time and date according to the cultural format, as well as the actual Korean or English/ASCII characters for time and date.
Code sets, which support coding conventions for the KS X 1001 and KS X 1005-1 character sets. These code sets enable you to input, display, and print Korean text in file names, system messages, and terminal (TTY), email, and data file content.
htt input method server, which handles Korean input for the Korean Solaris Operating System. The htt server receives your keyboard input and converts it to Korean characters that are used in Korean Solaris applications.
In December 1995, the Korean government announced a standard Korean code set, KS X 1005–1, which is based on ISO 10646-1/Unicode 2.0.
The ISO-10646 character set uses two universal character sets:
UCS-2. Universal Character Set (two-byte form)
UCS-4. Universal Character Set (four-byte form)
The ISO-10646 character set cannot be used directly on IBM PC-based operating systems. For example, the kernel and many other modules of the Korean Solaris Operating System interpret certain byte values as control instructions, such as a null character (0x00) in any string. The ISO-10646 character set can be encoded with any bit combinations in the first or subsequent bytes. The ISO-10646 characters cannot be freely transmitted through the Solaris system with these limitations.
In order to establish a migration path, the ISO-10646 character set defines the UCS Transformation Format (UTF), which encodes the ISO-10646 characters without using C0 controls (0x00..0x1F), C1 controls (0x80..0x9F), space (0x20), and DEL (0x7F).
The ko_KR.UTF-8 locale supports KS X 1005–1, the Korean standard code set. The locale supports the characters of the previous KS X 1005 code set, all of the 11,172 Korean characters, and the extended ASCII code set. Until the Universal UTF/UCS becomes available, the ko_KR.UTF-8 locale supports ISO-10646 code subset that is related to the Korean characters and fonts . The ISO-10646 standard covers all characters in the world. With the input methods and fonts provided in this release, you can enter, display, and print characters of any language.
In the ko_KR.EUC locale, the EUC scheme is used to encode KS X 1001. The ko_KR.UTF-8 locale supports the KS X 1005–1/Unicode 3.2 code set, which is a superset of KS X 1001. These two locales look the same to the end user, but the internal character encoding is different.
The Korean Solaris Operating System provides simultaneous support for the locales in the following table. The locales look the same to the end user, but the internal character encoding is different.
Table 1–1 Korean Locales
Locale |
Description |
---|---|
ko_KR.EUC (ko) |
Korean EUC (KS X) |
ko_KR.UTF-8 (ko.UTF-8) |
Korean UTF-8 (Unicode 3.2) |
The following table lists the supported code sets for each Korean locale.
Table 1–2 Korean Code sets
Locale |
code set |
---|---|
ko_KR.EUC (ko) |
KS X 1001 |
ko_KR.UTF-8 (ko.UTF-8) |
KS X 1005–1/Unicode 3.2 |
The Korean Solaris Operating System provides input methods and fonts for all characters covered the ISO-10646 standard. These methods and fonts enable you to enter, display, and print any character in any language.
The following features are supported by the Korean input methods that are available for the ko_KR.EUC (ko) and the ko_KR.UTF-8 (ko.UTF-8) locales:
Hangul 2 Beol Sik keyboard support
Hangul 3 Beol Sik 390 keyboard support
Hangul 3 Beol Sik final keyboard support
Hangul-Hanja conversion
Special character input
Character input using hexadecimal code
For a complete list of scalable and bitmap fonts supported for the ko_KR.EUC (ko) and the ko_KR.UTF-8 (ko.UTF-8) locales, see Chapter 10, Fonts.
You can use Hangul or standard Sun keyboards to enter Korean text.
In the Korean Solaris Operating System, you can use the following general and specific categories as defined by ANSI C for the Korean and English locales:
General LC_ALL setting that invokes all of the categories for locale-related aspects of the environment.
Specific settings for particular aspects of the environment, which include:
LC_CTYPE
LC_TIME
LC_NUMERIC
LC_MONETARY
LC_COLLATE
LC_MESSAGES
For example, the Korean and the English/ASCII locales have the LC_TIME category that defines the display of the time and date according to the cultural format, as well as the actual Korean or English/ASCII characters used in the display.
Aspects of a locale-sensitive operation can be modified by using a locale modifier. The output of the locale command is:
system % locale LANG=ko_KR.EUC LC_CTYPE="ko_KR.EUC" LC_NUMERIC="ko_KR.EUC" LC_TIME="ko_KR.EUC" LC_COLLATE="ko_KR.EUC" LC_MONETARY="ko_KR.EUC" LC_MESSAGES="ko_KR.EUC" LC_ALL=ko_KR.EUC |
system % cat data_file |
If you sort the data_file, the sort result is:
system % sort data_file |
In this case, the text is sorted on the code point value of each character defined in the current locale, ko (ko_KR.EUC). This might not be the desired result.
The Solaris operating environment provides a locale modifier. You can modify the behavior of sort by changing the current locale from ko to ko_KR.EUC@dict as shown:
system % env LANG=ko_KR.EUC@dict sort data_file |