Overview
This chapter describes the enhancement of the National Language Support feature - Codepage, Locale and Unicode. This enhancement is for supporting SBCS, DBCS, and multi-lingual WIN32 application programs on Open32. It applies to all languages releases of OS/2, except for Arabic and Hebrew. These bi-directional languages' support is an item for future enhancement.
Traditional DOS, Windows, OS/2 have provided National Language Support feature within the framework of the codepage architecture. The codepage architecture allows the user or an application program to select a character set from one or more available character sets. However, this framework only determines the mapping from the code point to the graphic symbol. It does not determine language or culture related characteristics.
So, DOS, Windows, OS/2 application programmers have faced the problem that they cannot develop such a common, world-wide program that can process two or more languages or cultures. Meanwhile, in the world of Unix, the locale architecture has been utilized to provide National Language Support feature and succeeded to enable language/culture sensitive (aware) application programs.
The locale architecture enables application programs to retrieve language/culture dependent information and also to process data according to the selected locale. Microsoft adopted the locale architecture as a key feature for National Language Support in Windows NT and then in Windows 95.
Unicode was developed by Unicode consortium and ISO. It is a 16 bit implementation of UCS (Universal Coded Character Set). It makes it possible to handle all characters of multiple languages with a single, uniformed character set. And, since it is encoded in fixed length (16 bit), it makes easy to handle Asian, large character set, which are encoded in variable length (8 bit and 16 bit, mixed) in the traditional, multi-byte codepage architecture. Moreover, if Unicode be used as an interchange character set, it would be possible to unify the character set of data that are sent on the network. Microsoft adopted this Unicode character set in Windows NT and then in Windows 95, on latter of which, Unicode supported is limited to several APIs.
And now, it is time for OS/2 to support the locale and the Unicode. OS/2 now supports these key features in the ULS (Universal Language Support) architecture. Using the ULS APIs, OS/2 application programmers can write language/culture sensitive (aware) programs at C language level. Open32 NLS Extension extensively utilizes this ULS feature to support Windows 95's locale and Unicode feature for Open32 application programs.