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

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

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

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

CSI のアプローチ

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

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

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

CSI 対応のコマンド

この節では、最新の Solaris 環境で使用できる CSI 対応のコマンドを示します。各コマンドのマニュアルページでは、属性の節で、そのコマンドが CSI 対応かどうかを説明しています。

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

CSI 対応のライブラリ

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

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