Java SE 7 における国際化の拡張機能

Java SE 7 の国際化の拡張機能には、次のものがあります。

Unicode 6.0.0 の新しいスクリプトと文字

Java SE 7 リリースの初期バージョンでは、Unicode 5.1.0 のサポートが追加されました。Java SE 7 リリースの最終バージョンでは、Unicode 6.0.0 がサポートされています。Unicode 6.0.0 は、Unicode 標準のメジャーバージョンであり、2000 を超える文字や、プロパティーとデータのファイルが追加でサポートされています。

Java チュートリアルには、Unicode について説明する新しいセクションがあります。

ISO 4217 通貨コードの拡張サポート

通貨は、ISO 4217 コードで識別されます。これらのコードは外部機関によって管理され、Java SE プラットフォームとは関係なくリリースされています。Java SE 7 以降は、JDK の新しいリリースを必要とせずに、新しい通貨に対応できます。

デフォルトの通貨を実行時に置き換えるには、<JAVA_HOME>/lib/currency.properties という名前のプロパティーファイルを作成します。このファイルには、ISO 3166 国番号と ISO 4217 通貨データからなるキーと値のペアが格納されます。値の部分は、コンマで区切られた ISO 4217 の 3 つの通貨の値 (英字コード、数値コード、およびマイナー単位) で構成されます。シャープ記号 (#) で始まる行は、コメント行として扱われます。たとえば、

# Sample currency property for Japan
JP=JPZ,999,0

この機能の新しい API には、次のメソッドが含まれています。これらはすべて Currency クラスにあります。

カテゴリロケールサポート

デフォルトロケールは、次の 2 種類の用途に対して別々に設定できます。フォーマット設定はリソースをフォーマットするために使用され、表示設定はメニューやダイアログで使用されます。新しい getDefault(Locale.Category) メソッドは、Locale.Category パラメータを取ります。このメソッドに FORMAT 列挙を渡すと、リソースをフォーマットするためのデフォルトロケールが返されます。同様に、DISPLAY 列挙を渡すと、UI で使用されるデフォルトロケールが返されます。setDefault(Locale.Category, Locale) メソッドは、指定されたカテゴリのロケールを設定するために使用されます。引数なしの getDefault メソッドでは、DISPLAY のデフォルト値が返されます。

Microsoft Windows では、これらのデフォルト値は Windows コントロールパネルの「標準と形式」および「表示言語」の設定に従って初期化されます。

ロケールクラスが BCP47 と UTR35 をサポート

Locale クラスは、BCP 47 (IETF BCP 47「Tags for Identifying Languages」) と相互に交換できる識別子を実装するように更新され、ロケールデータ交換用の LDML (UTS#35「Unicode Locale Data Markup Language」) の BCP 47 互換拡張をサポートしています。

このリリースでは、Locale クラスに次のネストされたクラスが追加されました。

Locale クラスに次のメソッドが追加されました。

LOCALE クラスに次の定数が追加されました。

詳細は、Java チュートリアルのレッスン「Creating a Locale」および「BCP 47 Extensions」を参照してください。

新しい NumericShaper メソッド

NumericShaper クラスは、Latin-1 (ヨーロッパ言語) の数字をほかの Unicode 10 進数に変換するために使用します。Java SE 7 リリースでは、独自の 10 進数を持つスクリプトの Unicode の範囲を表す NumericShaper.Range 列挙が追加されました。Java SE 7 リリースには、この NumericShaper.Range 列挙を使用する次のメソッドが追加されています。

詳細は、Java チュートリアルのレッスン「Converting Latin Digits to Other Unicode Digits」を参照してください。

正規表現 API での Unicode 6.0 サポート

正規表現のパターンマッチング機能が、Unicode 6.0 をサポートするように拡張されました。\u または \x エスケープシーケンスを使用して Unicode コードポイントを照合できます。

詳細は、Java チュートリアルの「Unicode Support」ページを参照してください。


Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.