previous next contents
OSF

Sandra Martin is the I18N expert at OSF.

OSF/1 uses the XPG messaging system for all user commands. OSF/1 R1.0 supports ISO 8859-1 and SJIS and has the following features: 8-bit clean; ANSI C, XPG3 and POSIX.1 compliant; User commands are messagized and internationalized; Commands and libraries include Shift-JIS support; tty driver handles 8-bit or Shift-JIS data correctly; SSDO.

OSF/1 R1.1 includes significantly more i18n functionality than R1.0. The two most important features are 1) support for up-to-four-byte EUC encodings, and 2) the commands and libraries now use the wchar_t interfaces defined in XPG4 (X/Open Portability Guide, Release 4).

OSF/1 R1.1 supports the I18N interfaces and functionality as defined in POSIX 1003.2 (Draft 11.2), and ANSI/ISO C.

A concentrated effort has NOT been made to internationalize commands that require additional licenses (e.g., troff in Documenter's Workbench) or are software development tools (e.g., cc or make).

Although the largest part of our i18n work in OSF/1.1 is in the libraries and commands, OSF also has revised the tty subsystem. We are providing a STREAMS-based tty subsystem that can handle EUC, Shift-JIS, and 8-bit encodings.

R1.0 is dual object.

R1.1 is mostly SSSO. However, those utilities whose performance suffers from support of bigger locales may optionally compile with _SBCS.

_SBCS - Single Byte Code Set.

R1.1 supports all of the following codesets (which are supersets of ASCII): ASCII, ISO 8859/1..n, EUC varieties (up to four-bytes-per-character), Shift-JIS varieties, Proprietary sets like pc850, ROMAN8, etc. Moreover, the assumption is made that any byte in the range 0x00-0x3f is considered to be an ASCII character. Therefore, all bytes of multiple byte characters must be in the range 0x40-0xff.

R1.1 explicitly does not support ISO 10646/Unicode, ISO 6937, stateful encodings, and EBCDIC code pages.

OSF believes R1.1 can handle ISO 10646 as a process code as long as the input data does not include combining characters. However, we have done no testing to confirm that 10646 works as a process code.

R1.1 supports the following locales: da_DK (Danish), de_CH (German, Switzerland), de_DE (German, Germany), el_GR (Greek), en_GB (English, U.K.), en_US (English, USA), es_ES (Spanish), fi_FI (Finnish), fr_BE (French, Belgium), fr_CA (French, Canada), fr_CH (French, Switzerland), fr_FR (French, France), is_IS (Icelandic), it_IT (Italian), ja_JP (Japanese), ko_KR (Korean), nl_BE (Dutch, Belgium), nl_NL (Dutch, The Netherlands), no_NO (Norwegian), pt_PT (Portuguese), sv_SE (Swedish), tr_TR (Turkish), zh_TW (Chinese, Taiwan).

R1.1 also includes these charmaps: AJEC.cm (Advanced Japanese EUC Code including the new JIS X0212 characters), eucKR.cm (Korean EUC including characters in KSC5601), eucTW.cm (Taiwanese EUC including characters in CNS 11643), ISO8859-1.cm, ISO8859-7.cm, ISO8859-9.cm, SJIS.cm (Japanese Shift-JIS).

R1.1 supports localedef.

OSF/Motif 1.2 is based on X11R5.

OSF/Motif 1.2 includes an internationalized text widget, which supports the concept of locales as defined by ANSI C and for drawing locale-encoded multibyte and wide character strings.

In addition, Motif 1.2 supports the R5 concept of FontSets. R4 could only use one font when drawing a given string, but some languages/locales require a mixture of fonts. For example, Japanese strings often include a mixture of ASCII characters, phonetic kana, and ideographic Kanji, and this requires three fonts. FontSets make it possible for R5 and Motif 1.2 to draw such a mixture.

OSF/Motif 1.2 Compound Strings are enhanced to handle locale-encoded strings. FontLists include font sets, and functionality has been added to load the necessary fonts to support the current locale when creating FontLists.

OSF/Motif 1.2 incorporates the Input Method (IM) support from X11R5. This allows vendors to provide IMs for European languages and for those that use ideographic writing systems. These IM's can be used from the Motif 1.2 text widget.

Release 1.0 of DCE has mixed I18N support. Some modules handle single-byte code sets only, while others handle some multi-byte encodings. Some modules use a messaging system, and so have program messages separated from the code, while other modules still have messages hard-coded into the program logic.

DCE R1.1 will use the standard internationalized interfaces defined in ISO C, POSIX.1, POSIX.2, and XPG4 for setting the locale, processing user-visible messages, string manipulation (including support for multibyte characters), character classification, collation, date/time formatting, and numeric/monetary formatting.

OSF has been concentrating its resources on providing internationalization as opposed to localization. Therefore, we presently ship only limited localization modules. In OSF/1 R1.1, we ship a variety of European and Asian locale definition files and charmaps. Other pieces of localization in OSF/1 are generally provided as examples to our licensees of how to supply certain functionality. For example, we will ship some sample JIS-to-EUC and EUC-to-SJIS converter modules with our STREAMS-based tty subsystem. Our licensees can examine those modules to determine how to write additional converters they might need.

Currently, OSF does not provide translated documentation. However, there is a pilot localization project underway that will result in multiple translations of the OSF/1 User's Guide and a Japanese version of the OSF/1 Command Reference. In addition, Prentice-Hall, which publishes some OSF books, has produced Japanese translations of Motif R1.1 books, and has French, German, and Italian version of the same books underway.

OSF is looking into providing more localization modules.


previous next contents