Solaris オペレーティングシステム、ネットワーク、ファイルシステムに関するバグの情報および注意事項について説明します。
Solaris 以外のオペレーティングシステムとの互換性の向上を図るため、Solaris 8 より、ISO のロケール命名規則に準拠したコードセット名を含んだ ja_JP.eucJP が、日本語 EUC ロケールとして新しく追加されました。Solaris 8 では、ja_JP.eucJP ロケールは ja ロケールと同等のロケールとして定義されていますが、将来のリリースで定義内容が変更される可能性があります。日本語 EUC ロケールとしては、従来からサポートされている ja ロケールを使用することをお勧めします。
ja_JP.eucJP ロケールでは、次の機能のサポートが提供されません。
libjapanese.a
libjapanese.a は将来のリリースでもサポートの予定はありません。
SUNWale パッケージの mailx、talk などで使用するアジア各国対象のコマンド
PCFS での PC 漢字コード (以降 PCK と記述します) ファイル名
ja_JP.PCK ロケールと ja_JP.UTF-8 ロケールでは、次の機能がサポートされていません。
libjapanese.a
libjapanese.a は将来のリリースでもサポートの予定はありません。
SUNWale パッケージの mailx、talk などで使用するアジア各国対象のコマンド
PCFS での PC 漢字コード (以降 PCK とする) ファイル名
PCFS での PCK ファイル名は ja ロケールでもサポートされていません。
C コンパイラ、cpp、UIL コンパイラなどで使用する文字、文字列、リテラル
また、次の機能が ja_JP.UTF-8 ロケールでサポートされていません。
kanji コマンド
/usr/xpg4/bin と /usr/bin の両方に存在するコマンドは、ja_JP.PCK ロケールおよび ja_JP.UTF-8 ロケールでは /usr/bin のコマンドがサポートされません。したがって、/usr/bin よりも前に /usr/xpg4/bin のパスを加えてください。
ja_JP.PCK ロケールでは PCK を直接扱うことができますが、DOS のテキストファイルと UNIX のテキストファイルの違いは残ります。たとえば、DOS からテキストファイルを PCFS でマウントして持ってくる場合は dos2unix -ascii、DOS へ持っていく場合は unix2dos -ascii がそれぞれ必要になります。詳細は、 pcfs(7)、dos2unix(1)、unix2dos(1) の各マニュアルページを参照してください。
日本語環境を正しく動作させるためには、環境変数 LANG が ja (日本語 EUC)、 ja_JP.PCK (PC 漢字コード、シフト JIS コード)、または ja_JP.UTF-8 (UTF-8) に設定されている必要があります。また、端末ドライバに日本語文字を正しく透過させ、日本語文字幅に応じた処理が正しく行われるようにするためには、端末が認識する文字コードに従って setterm で設定する必要があります。
これらの設定を C シェルのコマンド行で行う場合は、次のように入力してください。
ja ロケールで使用する場合
% setenv LANG ja % setterm -x JapanEUC |
ja_JP.PCK ロケールで使用する場合
% setenv LANG ja_JP.PCK % setterm -x PCK |
ja_JP.UTF-8 ロケールで使用する場合
% setenv LANG ja_JP.UTF-8 % setterm -x UTF-8 |
システムインストール時にシステムのデフォルトロケールを日本語に指定したシステムでは、デフォルトで LANG が ja、ja_JP.PCK、または ja_JP.UTF-8 に設定されています。このため、環境変数 LANG の設定は不要になります。
デフォルトロケールを変更したい場合は、/usr/default/init ファイル中の LANG 環境変数を変更して、システムを再起動してください。詳細は『JFP ユーザーズガイド』を参照してください。
日本語 UTF-8 ロケールは、日本語の文字情報は「UI-OSF 日本語環境実装規約 Version 1.1」を、日本語以外の文字情報は Unicode Consortium の UNICODE 3.0 CHARACTER DATABASE をもとに作成されています。日本語の文字情報は、UI-OSF の実装規約をもとにしているため、他の UNIX ベンダーとの互換性はありますが、Solaris の ja ロケールおよび ja_JP.PCK ロケールとはいくつかの点で異なります。以下に、日本語文字処理に影響する相違点を説明します。
LC_CTYPE
ascii | paren | jisx0201 |
gaiji | jhankana | jspace |
jalpha | jspecial | jgreek |
jrussian | junit | jsci |
jgen | jpunct |
ja ロケールおよび ja_JP.PCK ロケールでも使用するアプリケーションでは、これらの文字クラスは使用しないようにしてください。
LC_COLLATE
JIS X 0208 の方が JIS X 0212 より先になります。日本語以外の文字は日本語の後にコード順で並びます。
LC_TIME
以下の日付および時刻の表示形式が変わります。( ) 内は strftime(3C) および date(1) で有効な書式です。
abday (%a)
日 と ( ) が入らない。
mon (%B)
1月 と 1 の前に <space> が入らない。
d_t_fmt (%c)
%Y年%m月%d日 %H時%M分%S秒 と abday (%a) が入らない。
era_d_t_fmt (%Ec)
%EY%m月%d日 %H時%M分%S秒 と abday (%a) が入らない。
alt_digit (%Od などのロケール固有の代替数値記号を使うもの)
代替数値記号は使用しない。
libjapanese とそれに関連したヘッダーファイルは、Solaris 7 から、「全体ディストリビューション」ソフトウェアグループでのみインストールされる SUNWjlibj というパッケージに移動しました。この中には、libjapanese ソース互換パッケージも含まれていますので、既存の libjapanese ユーザーはこれを用いて移行を進めてください。将来のリリースでは libjapanese.a およびこれに関連したヘッダーファイルは削除される予定です。libjapanese ソース互換パッケージの使用法については、/usr/share/src/libjapanese/README を参照してください。
jisconv インタフェースには、次の制限事項があります。
jisconv(3X) で提供される 1 文字変換用のプログラミングインタフェース (関数名が c で始まるもの) は範囲チェックを行いません。
日本語 EUC との変換を行うプログラミングインタフェースでは、JIS X 0212-1990 (補助漢字) をサポートしていません。
PCK との変換を行うプログラミングインタフェースでは、『TOG 日本ベンダ協議会推奨 日本語 EUC・シフト JIS 間コード変換仕様』に基づく変換をサポートしていません。
7 ビット JIS との変換を行うプログラミングインタフェースは、更新番号を含むエスケープシーケンスに対応していません。
これらの機能を利用する場合は、iconv(3) プログラミングインタフェースを使用してください。
ワイド文字の内部表現に依存した処理を行うことは避けてください。ja ロケールでは、従来の内部表現が維持されています。
ネットワークを通して日本語 EUC、PCK または UTF-8 間の文字変換を行う機能はありません (メールを除く)。そのため、明示的にユーザー側で変換できない限り、日本語 EUC、PCK、UTF-8 テキストの混在環境では、クライアント・サーバー型のアプリケーションなどは正しく動作しません。
ファイル名が日本語の場合、lp の引数のファイル名としては、プリンタサーバーのデフォルトロケールのコードセットのみ使用可能です。たとえば、プリンタサーバーの /etc/default/init の LANG の設定値が、LANG=ja となっている場合は、日本語 EUC のファイル名は正しく印刷できますが、それ以外は印刷できません。この場合は、
% cat <日本語.txt> | lp -y PCK |
などを実行し (ファイルの中身も PCK の場合)、lp に直接日本語ファイル名を渡さないようにすることによって回避してください。なお、ファイルの中身のコードセットに関しては、-y オプションを指定してプリンタサーバーのサポートするコードセットに変換することが可能です。
デフォルトでは、ASCII フォントである Courier が使用されます。JIS X 0201 ローマ文字用図形キャラクタ集合に切り替えたいときは、以下のように -f オプションで指定してください。
Ryumin-Light:
% jpostprint -f Ryumin-Light.Hankaku |
GothicBBB-Medium:
% jpostprint -f GothicBBB-Medium.Hankaku+GothicBBB-Medium |
マニュアルページや、nroff、troff などで清書された日本語ファイルを /usr/xpg4/bin/more で表示させると、一部の文字が欠けるなど、きれいに表示されないことがあります。
回避方法 : ja (japanese) ロケールの場合は /usr/bin/more を、ja_JP.PCK ロケールおよび ja_JP.UTF-8 ロケールの場合は /usr/bin/pg を環境変数 PAGER として明示的に指定して、表示させてください。