国際化対応言語環境の利用ガイド

コードセットの独立性のサポート

EUC は Extended UNIX Code の省略形です。 Solaris 9 オペレーティング環境は、日本の PC-Kanji (Shift_JIS)、台湾の Big5、中華人民共和国の GBK のような非 EUC エンコーディングをサポートしています。 コンピュータ市場の大半では EUC 以外のコードセットサポートが要求されるため、Solaris 9 では EUC と非 EUC コードセットのサポートを可能にする強固なフレームワークを提供します。このサポートを CSI と呼びます。

CSI の目標は、Solaris オペレーティング環境のライブラリやコマンドから、特定のコードセットやエンコーディング方法への依存性を除去することです。CSI アーキテクチャにより、Solaris 環境において UNIX ファイルシステムに安全なエンコーディングをサポートできます。CSI は UTF-8、PC-Kanji、Big5 など、多くの非 EUC コードセットをサポートします。

CSI のアプローチ

CSI により、アプリケーションおよびプラットフォームソフトウェア開発者は、UTF-8 など、エンコーディングからコードを独立させたり、ソースコードを変更せずに新しいエンコーディングを採用することができます。このアーキテクチャのアプローチは、JavaTM の国際化とも異なります。Java のアプリケーションは UTF-16 に依存する必要があります。

既存の多くの国際化アプリケーション (たとえば Motif など) は、基礎となるシステムから自動的に CSI のサポートを継承します。これらのアプリケーションは、変更しなくても新しいロケールで動作します。

CSI は本来どのコードセットにも依存しませんが、Solaris 9 環境ではファイルコードのエンコーディング (コードセット) には、次のような前提条件があります。

CSI 対応のコマンド

この項では、Solaris 9 環境で使用できる CSI 対応のコマンドを示します。各コマンドのマニュアルページには、コマンドが CSI 対応かどうかを示す属性部分があります。

特に断りがない限り、これらのコマンドは /usr/bin ディレクトリに格納されています。

Solaris 9 の CSI 対応のライブラリ

libc (/usr/lib/libc.so) のほとんどすべての関数は CSI に対応しています。しかし、libc の以下の関数は EUC 依存の関数であるため、CSI に対応していません。

Solaris 9 製品の libgen (/usr/ccs/lib/libgen.a) と libcurses (/usr/ccs/lib/libcurses.a) は国際化されていますが、 CSI に対応していません。