JFP は、システム提供の日本語ロケールとして、日本語 EUC を扱う ja または ja_JP.EUC ロケール、PCK を扱う ja_JP.PCK ロケール、 UTF-8 を扱う Ja_JP.UTF-8 ロケールを提供します。また、日本語 Solaris 1.x システムとのネットワーク環境での共存のため 「japanese」というロケール名も ja と同等のロケールとして提供します。
「japanese」というロケール名は将来の Solaris リリースでは提供されません。「ja」という名前に変更することをお勧めします。
ロケールとは、特定の言語や文化、慣習のことです。日本語ロケールデータベースを作成すると、ロケールを切り替えるだけで、国際化されたシステムソフトウェアやアプリケーションを日本語環境に適応させることができます。
各日本語ロケールは、扱う文字コードが異なるだけで、ロケールとしての挙動は同じになるように定義されています。たとえば、ja または ja_JP.EUC ロケールで print という文字分類クラスに属する文字は、 ja_JP.PCK や ja_JP.UTF-8 ロケールでも同じ文字になります。ただし、PCK より日本語 EUC 、日本語 EUC よりUTF-8 の方が扱う文字が多いので、UTF-8 にしか存在しない文字の挙動は、ja_JP.UTF-8 ロケールにのみ定義されています。
特定の似かよった文字の集合 (クラスと呼びます) を作ることによって、プログラム上、そのクラスを意識するだけで (そのクラスにどの文字が含まれているかを意識することなく)、ロケールに依存しない国際化プログラミングが可能になります。日本語ロケールでは、以下のようなクラスが定義されています。
これらの文字分類クラスは、regex(5) をサポートしたコマンドであり、文字クラス表現の文字列としても wctype(3C) の文字クラスとしても使用可能です。なお、文字分類は LC_CTYPE カテゴリの値に影響を受けます。開発者として文字分類クラスを利用する場合は、『JFP 開発ガイド』を参照してください。
表 2-4 X/Open で規定された文字分類クラス名と日本語ロケールでの定義範囲
JIS X 0201 機能キャラクタ集合、ローマ文字用図形キャラクタ集合、片仮名用図形キャラクタ集合での XX/YY は XX 列 YY 行を意味します。 JIS X 0208、JIS X 0212 での XX/YY は XX 区 YY 点を意味します。
JIS X 0212 の文字に関しては、ja または ja_JP.EUC および ja_JP.UTF-8 ロケールのみ該当します。
ja_JP.UTF-8 ロケールでは、各クラスに、Unicode で定義された上記以外の文字も追加されています。
JIS X 0201 機能キャラクタ集合、ローマ文字用図形キャラクタ集合、片仮名用図形キャラクタ集合での XX/YY は XX 列 YY 行を意味します。 JIS X 0208、JIS X 0212 での XX/YY は XX 区 YY 点を意味します。
JIS X 0212 の文字に関しては、ja または ja_JP.EUC および ja_JP.UTF-8 ロケールのみ該当します。
日本語文字の照合順序は、文字コード値の順になります。ただし、ja_JP.PCK ロケールの場合、JIS X 0201 片仮名用図形キャラクタ集合は、JIS X 0201 ローマ文字用図形キャラクタ集合、抹消文字の次になるように修正されています。文字の照合順序は、LC_COLLATE カテゴリの値に影響を受けます。
JFP の提供する単語処理用共有オブジェクトは、単語処理用文字分類情報、詰め込み処理用単語分割・結合処理情報などをアプリケーションに提供します。これらの情報を利用するための API は今のところ公開されていません。
SunOS および JFP における日本語の日付と時刻の表示形式は、以下のとおりです。
表 2-6 日付と時刻の表示形式
SunOS /JFP での定義 |
|
---|---|
1月 |
|
2月 |
|
3月 |
|
4月 |
|
5月 |
|
6月 |
|
7月 |
|
8月 |
|
9月 |
|
10月 |
|
11月 |
|
12月 |
|
月の名前 (%B) |
1月 |
2月 |
|
3月 |
|
4月 |
|
5月 |
|
6月 |
|
7月 |
|
8月 |
|
9月 |
|
10月 |
|
11月 |
|
12月 |
|
(日) |
|
(月) |
|
(火) |
|
(水) |
|
(木) |
|
(金) |
|
(土) |
|
曜日の名前 (%A) |
日曜日 |
月曜日 |
|
火曜日 |
|
水曜日 |
|
木曜日 |
|
金曜日 |
|
土曜日 |
|
%H時%M分%S秒 |
|
%Y年%m月%d日 |
|
日付/時刻 (%c) |
%Y年%m月%d日 %a %H時%M分%S秒 |
午前 |
|
午後 |
|
午前/午後を伴う 12 時間表示形式(%r) |
%p%I時%M分%S秒 |
時刻の代替表示形式 (%EX) |
%H時%M分%S秒 |
日付の代替表示形式 (%Ex) |
%EY%m月%d日 |
日付および時刻の代替形式 (%Ec) |
%EY%m月%d日 %a %H時%M分%S秒 |
1927/01/01 - 1989/01/07 |
昭和%Ey年 |
1989/01/08 - 1989/12/31 |
平成元年 |
1990/01/01 - |
平成%Ey年 |
日付/時刻、長形式 (%C) |
%Y年%m月%d日 %a %H時%M分%S秒 %Z |