Java
Java SE
サポートされるロケールは、Java Platform Standard Edition(Java SE)の実装や機能分野によって異なります。
このページでは、オラクルのJava SE Development Kit 8(JDK)とJava SE Runtime Environment 8(JRE)でのロケール・サポートについて説明します。
JREとJDKのインストーラはユーザー・インタフェースの変換表で指定された言語にローカライズされています。インストーラはシステムのデフォルト・ロケール設定を使用して、インストール時に使用するサポート対象言語を決定します。システムのデフォルト・ロケールがインストーラによってサポートされていない場合、インストーラは英語で表示されます。
インストールされるのは、完全な国際バージョンのJREです。
java.utilパッケージとjava.textパッケージに含まれ、ロケールの影響を受ける動作は、ほとんどプラットフォームとは無関係にサポートされます。このため、ホストのオペレーティング・システムやローカライゼーションに関係なく、すべてのロケールが同時に同じ方法でサポートされます。プラットフォームに依存する唯一の機能は、ホスト・オペレーティング・システムのロケールとタイムゾーンに基づく初期のデフォルト・ロケールと初期のデフォルト・タイムゾーンの設定です。
オラクルのJDK 8とJRE 8は、次に示すすべてのロケールをサポートします。
|
言語 |
国 |
別形 |
文字 |
言語タグ |
注 |
|---|---|---|---|---|---|
|
アルバニア語(sq) |
アルバニア(AL) |
(Latn) |
sq-AL |
||
|
アラビア語(ar) |
アルジェリア(DZ) |
(Arab) |
ar-DZ |
||
|
アラビア語(ar) |
バーレーン(BH) |
(Arab) |
ar-BH |
||
|
アラビア語(ar) |
エジプト(EG) |
(Arab) |
ar-EG |
||
|
アラビア語(ar) |
イラク(IQ) |
(Arab) |
ar-IQ |
||
|
アラビア語(ar) |
ヨルダン(JO) |
(Arab) |
ar-JO |
||
|
アラビア語(ar) |
クウェート(KW) |
(Arab) |
ar-KW |
||
|
アラビア語(ar) |
レバノン(LB) |
(Arab) |
ar-LB |
||
|
アラビア語(ar) |
リビア(LY) |
(Arab) |
ar-LY |
||
|
アラビア語(ar) |
モロッコ(MA) |
(Arab) |
ar-MA |
||
|
アラビア語(ar) |
オマーン(OM) |
(Arab) |
ar-OM |
||
|
アラビア語(ar) |
カタール(QA) |
(Arab) |
ar-QA |
||
|
アラビア語(ar) |
サウジアラビア(SA) |
(Arab) |
ar-SA |
||
|
アラビア語(ar) |
スーダン(SD) |
(Arab) |
ar-SD |
||
|
アラビア語(ar) |
シリア(SY) |
(Arab) |
ar-SY |
||
|
アラビア語(ar) |
チュニジア(TN) |
(Arab) |
ar-TN |
||
|
アラビア語(ar) |
アラブ首長国連邦(AE) |
(Arab) |
ar-AE |
||
|
アラビア語(ar) |
イエメン(YE) |
(Arab) |
ar-YE |
||
|
ベラルーシ語(be) |
ベラルーシ(BY) |
(Cyrl) |
be-BY |
||
|
ブルガリア語(bg) |
ブルガリア(BG) |
(Cyrl) |
bg-BG |
||
|
カタロニア語(ca) |
スペイン(ES) |
(Latn) |
ca-ES |
||
|
中国語(zh) |
中国(CN) |
(Hans) |
zh-CN |
||
|
中国語(zh) |
シンガポール(SG) |
(Hans) |
zh-SG(*) |
||
|
中国語(zh) |
香港(HK) |
(Hant) |
zh-HK |
||
|
中国語(zh) |
台湾(TW) |
(Hant) |
zh-TW |
||
|
クロアチア語(hr) |
クロアチア(HR) |
(Latn) |
hr-HR |
||
|
チェコ語(cs) |
チェコ共和国(CZ) |
(Latn) |
cs-CZ |
||
|
デンマーク語(da) |
デンマーク(DK) |
(Latn) |
da-DK |
||
|
オランダ語(nl) |
ベルギー(BE) |
(Latn) |
nl-BE |
||
|
オランダ語(nl) |
オランダ(NL) |
(Latn) |
nl-NL |
||
|
英語(en) |
オーストラリア(AU) |
(Latn) |
en-AU |
||
|
英語(en) |
カナダ(CA) |
(Latn) |
en-CA |
||
|
英語(en) |
インド(IN) |
(Latn) |
en-IN |
||
|
英語(en) |
アイルランド(IE) |
(Latn) |
en-IE |
||
|
英語(en) |
マルタ(MT) |
(Latn) |
en-MT(*) |
||
|
英語(en) |
ニュージーランド(NZ) |
(Latn) |
en-NZ |
||
|
英語(en) |
フィリピン(PH) |
(Latn) |
en-PH(*) |
||
|
英語(en) |
シンガポール(SG) |
(Latn) |
en-SG(*) |
||
|
英語(en) |
南アフリカ(ZA) |
(Latn) |
en-ZA |
||
|
英語(en) |
イギリス(GB) |
(Latn) |
en-GB |
||
|
英語(en) |
アメリカ合衆国(US) |
(Latn) |
en-US |
||
|
エストニア語(et) |
エストニア(EE) |
(Latn) |
et-EE |
||
|
フィンランド語(fi) |
フィンランド(FI) |
(Latn) |
fi-FI |
||
|
フランス語(fr) |
ベルギー(BE) |
(Latn) |
fr-BE |
||
|
フランス語(fr) |
カナダ(CA) |
(Latn) |
fr-CA |
||
|
フランス語(fr) |
フランス(FR) |
(Latn) |
fr-FR |
||
|
フランス語(fr) |
ルクセンブルグ(LU) |
(Latn) |
fr-LU |
||
|
フランス語(fr) |
スイス(CH) |
(Latn) |
fr-CH |
||
|
ドイツ語(de) |
オーストリア(AT) |
(Latn) |
de-AT |
||
|
ドイツ語(de) |
ドイツ(DE) |
(Latn) |
de-DE |
||
|
ドイツ語(de) |
ルクセンブルグ(LU) |
(Latn) |
de-LU |
||
|
ドイツ語(de) |
スイス(CH) |
(Latn) |
de-CH |
||
|
ギリシャ語(el) |
キプロス(CY) |
(Grek) |
el-CY(*) |
||
|
ギリシャ語(el) |
ギリシャ(GR) |
(Grek) |
el-GR |
||
|
ヘブライ語(iw) |
イスラエル(IL) |
(Hebr) |
iw-IL |
||
|
ヒンディー語(hi) |
インド(IN) |
(Deva) |
hi-IN |
暗黙的にデバナガリ数体系を指定 |
|
|
ハンガリー語(hu) |
ハンガリー(HU) |
(Latn) |
hu-HU |
||
|
アイスランド語(is) |
アイスランド(IS) |
(Latn) |
is-IS |
||
|
インドネシア語(in) |
インドネシア(ID) |
(Latn) |
in-ID(*) |
||
|
アイルランド語(ga) |
アイルランド(IE) |
(Latn) |
ga-IE(*) |
||
|
イタリア語(it) |
イタリア(IT) |
(Latn) |
it-IT |
||
|
イタリア語(it) |
スイス(CH) |
(Latn) |
it-CH |
||
|
日本語(ja) |
日本(JP) |
(Jpan) |
ja-JP |
||
|
日本語(ja) |
日本(JP) |
* |
(Jpan) |
ja-JP-u-ca-japanese |
java.util.Calendarで明示的に和暦を指定 |
|
日本語(ja) |
日本(JP) |
JP |
(Jpan) |
ja-JP-x-lvariant-JP |
java.util.Calendarで明示的に和暦を指定(互換性のため) |
|
韓国語(ko) |
韓国(KR) |
(Kore) |
ko-KR |
||
|
ラトビア語(lv) |
ラトビア(LV) |
(Latn) |
lv-LV |
||
|
リトアニア語(lt) |
リトアニア(LT) |
(Latn) |
lt-LT |
||
|
マケドニア語(mk) |
マケドニア(MK) |
(Cyrl) |
mk-MK |
||
|
マレー語(ms) |
マレーシア(MY) |
(Latn) |
ms-MY(*) |
||
|
マルタ語(mt) |
マルタ(MT) |
(Latn) |
mt-MT(*) |
||
|
ノルウェー語(no) |
ノルウェー(NO) |
(Latn) |
no-NO |
"no"はノルウェー語 - ボークモールとして扱われます。 |
|
|
ノルウェー語 - ボークモール(nb) |
ノルウェー(NO) |
(Latn) |
nb-NO |
||
|
ノルウェー語 - ニーノシュク(nn) |
ノルウェー(NO) |
(Latn) |
nn-NO |
||
|
ノルウェー語(no) |
ノルウェー(NO) |
NY |
(Latn) |
no-NO-x-lvariant-NY |
"no"はノルウェー語 - ニーノシュクとして扱われます。(互換性のため) |
|
ポーランド語(pl) |
ポーランド(PL) |
(Latn) |
pl-PL |
||
|
ポルトガル語(pt) |
ブラジル(BR) |
(Latn) |
pt-BR(***) |
||
|
ポルトガル語(pt) |
ポルトガル(PT) |
(Latn) |
pt-PT(***) |
||
|
ルーマニア語(ro) |
ルーマニア(RO) |
(Latn) |
ro-RO |
||
|
ロシア語(ru) |
ロシア(RU) |
(Cyrl) |
ru-RU |
||
|
セルビア語(sr) |
ボスニア・ヘルツェゴビナ(BA) |
(Cyrl) |
sr-BA(*) |
||
|
セルビア語(sr) |
モンテネグロ(ME) |
(Cyrl) |
sr-ME(*) |
||
|
セルビア語(sr) |
セルビア(RS) |
(Cyrl) |
sr-RS(*) |
||
|
セルビア語(sr) |
ボスニア・ヘルツェゴビナ(BA) |
Latn |
sr-Latn-BA(**) |
||
|
セルビア語(sr) |
モンテネグロ(ME) |
Latn |
sr-Latn-ME(**) |
||
|
セルビア語(sr) |
セルビア(RS) |
Latn |
sr-Latn-RS(**) |
||
|
スロバキア語(sk) |
スロバキア(SK) |
(Latn) |
sk-SK |
||
|
スロベニア語(sl) |
スロベニア(SI) |
(Latn) |
sl-SI |
||
|
スペイン語(es) |
アルゼンチン(AR) |
(Latn) |
es-AR |
||
|
スペイン語(es) |
ボリビア(BO) |
(Latn) |
es-BO |
||
|
スペイン語(es) |
チリ(CL) |
(Latn) |
es-CL |
||
|
スペイン語(es) |
コロンビア(CO) |
(Latn) |
es-CO |
||
|
スペイン語(es) |
コスタリカ(CR) |
(Latn) |
es-CR |
||
|
スペイン語(es) |
ドミニカ共和国(DO) |
(Latn) |
es-DO |
||
|
スペイン語(es) |
エクアドル(EC) |
(Latn) |
es-EC |
||
|
スペイン語(es) |
エルサルバドル(SV) |
(Latn) |
es-SV |
||
|
スペイン語(es) |
グアテマラ(GT) |
(Latn) |
es-GT |
||
|
スペイン語(es) |
ホンジュラス(HN) |
(Latn) |
es-HN |
||
|
スペイン語(es) |
メキシコ(MX) |
(Latn) |
es-MX |
||
|
スペイン語(es) |
ニカラグア(NL) |
(Latn) |
es-NI |
||
|
スペイン語(es) |
パナマ(PA) |
(Latn) |
es-PA |
||
|
スペイン語(es) |
パラグアイ(PY) |
(Latn) |
es-PY |
||
|
スペイン語(es) |
ペルー(PE) |
(Latn) |
es-PE |
||
|
スペイン語(es) |
プエルトリコ(PR) |
(Latn) |
es-PR |
||
|
スペイン語(es) |
スペイン(ES) |
(Latn) |
es-ES |
||
|
スペイン語(es) |
アメリカ合衆国(US) |
(Latn) |
es-US(*) |
||
|
スペイン語(es) |
ウルグアイ(UY) |
(Latn) |
es-UY |
||
|
スペイン語(es) |
ベネズエラ(VE) |
(Latn) |
es-VE |
||
|
スウェーデン語(es) |
スウェーデン(SE) |
(Latn) |
sv-SE |
||
|
タイ語(th) |
タイ(TH) |
(Thai) |
th-TH |
java.util.Calendarでラテン語の数体系とタイの仏教カレンダーを暗黙的に指定 |
|
|
タイ語(th) |
タイ(TH) |
* |
(Thai) |
th-TH-u-ca-buddhist |
暗黙的にラテン語の数体系を指定。java.util.Calendarで明示的にタイの仏教カレンダーを指定 |
|
タイ語(th) |
タイ(TH) |
* |
(Thai) |
th-TH-u-ca-buddhist-nu-thai |
java.util.Calendarでタイ語の数体系とタイの仏教カレンダーを明示的に指定 |
|
タイ語(th) |
タイ(TH) |
TH |
(Thai) |
th-TH-x-lvariant-TH |
java.util.Calendarでタイ語の数体系とタイの仏教カレンダーを明示的に指定(互換性のため) |
|
トルコ語(tr) |
トルコ(TR) |
(Latn) |
tr-TR |
||
|
ウクライナ語(uk) |
ウクライナ(UA) |
(Cyrl) |
uk-UA |
||
|
ベトナム語(vi) |
ベトナム(VN) |
(Latn) |
vi-VN |
(*)これらのロケールに対するデータは、Unicode ConsortiumのCommon Locale Data Repositoryリリース1.4.1から"そのまま"で抽出されます。
(**)これらのロケールに対するデータは、Unicode ConsortiumのCommon Locale Data Repositoryリリース1.9から"そのまま"で抽出されます。
(***)これらのロケールに対するデータは、Unicode ConsortiumのCommon Locale Data Repositoryリリース21.0.1から"そのまま"で抽出されます。
暗黙的なデフォルト文字は括弧内に表示しています。これらはLocale.getScript() メソッドから返されません。
ロケールは、Locale.forLanguageTag(<Language Tag>)またはLocale(<Language>、<Country>(、<Variant>))で構成されます。ここで<Language Tag>は言語タグ列の値であり、<Language>はISO 639の値です。また、<Country>はISO 3166の値であり、<Variant>は別形列の値(空白でも*でもない場合)です。
別形列の値が*の場合、ロケールはLocale.forLanguageTag(<Language Tag>)のみで構成されます。
数体系は言語タグと数体系ID(th-TH-u-nu-thaiなど)を使用して指定できます。次に、数体系の指定に使用できる数体系IDを示します。Unicode Locale Data Markup Language(LDML)に定義されているアルゴリズムを使用した数体系はサポートされていません。
|
数体系ID |
数体系 |
ゼロの値 |
|---|---|---|
|
arab |
Arabic-Indic Digits |
\u0660 |
|
arabext |
Extended Arabic-Indic Digits |
\u06f0 |
|
bali |
Balinese Digits |
\u1b50 |
|
beng |
Bengali Digits |
\u09e6 |
|
cham |
Cham Digits |
\uaa50 |
|
Devanagari Digits |
\u0996 |
|
|
fullwide |
Full Width Digits |
\uff10 |
|
gujr |
Gujarati Digits |
\u0ae6 |
|
guru |
Gurmukhi Digits |
\u0a66 |
|
java |
Javanese Digits |
\ua9d0 |
|
kali |
Kayah Li Digits |
\ua900 |
|
khmr |
Khmer Digits |
\u17e0 |
|
knda |
Kannada Digits |
\u0ce0 |
|
lana |
Tai Tham Hora Digits |
\u1a80 |
|
lanatham |
Tai Tham Tham Digits |
\u1a90 |
|
laoo |
Lao Digits |
\u0ed0 |
|
latn |
Western Digits |
\u0030 |
|
lepc |
Lepcha Digits |
\u1c40 |
|
limb |
Limbu Digits |
\u1946 |
|
mlym |
Malayalam Digits |
\u0d66 |
|
mong |
Mongolian Digits |
\u1810 |
|
mtei |
Meetei Mayek Digits |
\uabf0 |
|
mymr |
Myanmar Digits |
\u1040 |
|
mymrshan |
Myanmar Shan Digits |
\u1090 |
|
nkoo |
N'Ko Digits |
\u07c0 |
|
olck |
Ol Chiki Digits |
\u1c50 |
|
orya |
Oriya Digits |
\u0b66 |
|
saur |
Saurashtra Digits |
\ua8d0 |
|
sund |
Sundanese Digits |
\u1bb0 |
|
talu |
Telugu Digits |
\u19d0 |
|
tamldec |
Tamil Digits |
\u0be6 |
|
telu |
Telugu Digits |
\u0c66 |
|
Thai Digits |
\u0e50 |
|
|
tibt |
Tibetan Digits |
\u0f20 |
|
vaii |
Vai Digits |
\ua620 |
オラクルのJDK 8とJRE 8がデフォルトで提供するロケール(ロケール・プロバイダ名が"JRE"のもの)以外に、その他のロケール・プロバイダが提供するロケールを使用できます。これらは、"java.locale.providers"システム・プロパティを使用して有効化できます。詳しくは、java.util.spi.LocaleServiceProviderクラスのクラス説明文を参照してください。オラクルのJDK 8とJRE 8には、次の2つのロケール・プロバイダが追加でバンドルされています。
CLDR:Unicode ConsortiumのCLDRリリース21.0.1に基づくCLDRロケール。BreakIteratorおよびCollatorデータは使用できません。
HOST:このプロバイダは基盤オペレーティング・システムを利用してデフォルト・ロケール(Locale.Category.FORMATやLocale.Category.DISPLAY)を有効化します。このプロバイダはWindowsプラットフォームとMac OS Xプラットフォームで使用できます。
指定されたロケール・プロバイダがいずれも要求されたロケールに対応しない場合、Locale.ROOTロケールにはデフォルトの"JRE"ロケール・プロバイダのリソースが使用されます。たとえば、"CLDR"のみが"java.locale.providers"システム・プロパティに指定されている場合、あたかもROOTロケールに対して要求が出されたかのようにCollatorは動作します。これは、"CLDR"ロケール・プロバイダがCollatorロケール・データを提供しないためです。"CLDR,JRE"と指定すると、"JRE"ロケール・プロバイダのCollator機能が補足されるだけでなく、"CLDR"ロケール・プロバイダのその他のロケール・データが"JRE"のロケール・データより優先されます。
Java Foundation Classes(JFC)(AWT、Swing、2D、Input Method Framework、ドラッグ・アンド・ドロップ)とJavaFXでは、書記体系のみがロケールの特徴を表しており、国や言語に固有の相違点はありません。JFCまたはJavaFXの書記体系のサポートは、ある程度ホスト・オペレーティング・システムに依存しており、複数言語の同時使用に対する完全サポートが常に提供されるとは限りません。
次の状況において、JFCまたはJavaFXが提供するすべての機能がこの書記体系に対して適切に機能する場合、この書記体系はJFCまたはJavaFXによってサポートされているとみなされます。
Windows Vista、7、または8上で実行され、WindowsシステムのUI言語がこの書記体系を使用した言語に設定されている場合
SolarisまたはLinux上で実行され、この書記体系と次の表でこの書記体系のエンコーディングとして示されたいずれかのエンコーディングを使用するロケールがホスト・オペレーティング・システムで指定されている場合
Mac OS X上で実行され、この書記体系と次の表でこの書記体系のエンコーディングとして示されたいずれかのエンコーディングを使用する言語が指定されている場合
オラクルのJDK 8とJRE 8は、次に示すすべての書記体系をサポートします。ピアAWTコンポーネントは一部の書記体系でのみサポートされています。最後の列を参照してください。
各種の機能領域について、詳しくは以下の項を参照してください。
|
書記体系 |
言語 |
Windowsエンコーディング |
Solarisエンコーディング |
Linuxエンコーディング |
Mac OS Xエンコーディング |
ピアAWTコンポーネント |
|---|---|---|---|---|---|---|
|
アラビア語 |
アラビア語 |
1256 |
8859-6、 UTF-8 |
UTF-8 |
UTF-8 |
サポート対象外 |
|
中国語(簡体字) |
中国語 |
936、 GB18030 |
gb2312、 UTF-8、 GBK、 gb18030 |
GB18030、 UTF-8 |
UTF-8 |
サポート対象 |
|
中国語(繁体字) |
中国語 |
950、 HKSCS |
cns11643、 UTF-8、 BIG5、 BIG5HK |
UTF-8 |
UTF-8 |
サポート対象 |
|
キリル語 |
ベラルーシ語、ロシア語など |
1251 |
8859-5、 KOI8-R、 ANSI1251、 UTF-8 |
UTF-8 |
UTF-8 |
サポート対象 |
|
デバナガリ |
ヒンディー語 |
UTF-8 |
UTF-8 |
サポート対象外 |
UTF-8 |
サポート対象外 |
|
ギリシャ語 |
ギリシャ語 |
1253 |
8859-7 |
サポート対象外 |
UTF-8 |
サポート対象 |
|
ヘブライ語 |
ヘブライ語 |
1255 |
8859-8 |
UTF-8 |
UTF-8 |
サポート対象外 |
|
日本語 |
日本語 |
932 |
eucJP(1)、 UTF-8、 PCK |
UTF-8 |
UTF-8 |
サポート対象 |
|
韓国語 |
韓国語 |
949 |
5601、 UTF-8 |
UTF-8 |
UTF-8 |
サポート対象 |
|
ラテン語 - バルト語の一部 |
ラトビア語、リトアニア語 |
1257 |
8859-13 |
サポート対象外 |
UTF-8 |
サポート対象 |
|
ラテン語 - 中央ヨーロッパ語の一部 |
チェコ語、ハンガリー語、ポーランド語など |
1250 |
8859-2、 UTF-8 |
サポート対象外 |
UTF-8 |
サポート対象 |
|
ラテン語 - マルタ語の一部 |
マルタ語 |
UTF-8 |
UTF-8 |
サポート対象外 |
UTF-8 |
サポート対象 |
|
ラテン語 - トルコ語の一部 |
トルコ語など |
1254 |
8859-9、 UTF-8 |
サポート対象外 |
UTF-8 |
サポート対象 |
|
ラテン語 - 西ヨーロッパ語の一部 |
英語、フランス語、ドイツ語、イタリア語、スペイン語、スウェーデン語など |
1252 |
8859-1、 8859-15、 UTF-8 |
ISO-8859-1、 UTF-8 |
UTF-8 |
サポート対象 |
|
タイ語 |
タイ語 |
874 |
TIS620.2533、 UTF-8 |
サポート対象外 |
UTF-8 |
サポート対象外 |
テキスト入力のサポートは、キーボード・レイアウトの解析と入力メソッドを使用したテキスト構成という2つの部分で構成されます。キーボード・レイアウトの解析に対して、JDKは完全にホスト・オペレーティング・システムに依存しています。入力メソッドを使用したテキスト構成では、JDKはホスト・オペレーティング・システムの入力メソッド・マネージャを使用したネイティブ入力メソッドに加えて、Javaプログラミング言語(JavaFX環境を除く)で開発された入力メソッドをサポートします。
Javaプログラミング言語に実装された入力メソッドでのロケール・サポートは、ホスト・オペレーティング・システムやそのローカライゼーションではなくインストールされた入力メソッドのみに依存します。ただし、Javaプログラミング言語内に実装された入力メソッドとピア・コンポーネントの使用に対するサポートは実装ごとに異なります。下記を参照してください。
キーボード・レイアウトとネイティブ入力メソッドのサポートはプラットフォームによって異なります。
Windows Vista、7、および8では、JREは任意のキーボード・レイアウトまたはIMMベースの入力メソッドの使用をサポートします。
Javaプログラミング言語内に実装された入力メソッドは、すべてのバージョンのWindowsで、JavaFXノードを除くすべてのコンポーネントでサポートされます。
JREは、特定のSolarisまたはLinuxロケールで使用できる任意のキーボード・レイアウトまたは入力メソッドの使用をサポートします。
Javaプログラミング言語内に実装された入力メソッドは軽量コンポーネント(Swing textコンポーネントなど)でサポートされますが、ピア・コンポーネント(AWT textコンポーネントなど)やJavaFXノードではサポートされません。
JREは任意の入力ソースの使用をサポートします。
Javaプログラミング言語内に実装された入力メソッドは軽量コンポーネント(Swing textコンポーネントなど)でサポートされますが、ピア・コンポーネント(AWT textコンポーネントなど)やJavaFXノードではサポートされません。
アプリケーションがフォントを選択するには次の2つの選択肢があります。
論理フォント名を使用する場合、少なくとも、ホスト・ロケールの書記体系とラテン語書記体系の西ヨーロッパ語の一部がサポートされます。
物理フォントを使用する場合、単純な書記体系と複雑な書記体系を区別する必要があります。単純な書記体系は文字と絵文字が1対1でマッピングされており、絵文字は基準線上に左から右へと連続的に配置されます。複雑な書記体系では、コンテキストに応じて同じ文字に異なる絵文字が使用されたり、合字が使用されたり、右から左に記述されたり、行レイアウトの途中で絵文字の順序が変更されたり、その他の絵文字配置ルール(特に記号の組合せ)が使用されたりする場合があります。
2Dのテキスト・レンダリング・システムは、単純な書記体系と上の表に記載した複雑な書記体系の任意の組合せをサポートします。これらの制約内で、サポートされる書記体系の範囲はフォントによって決まります。1つのTrueTypeフォントが、Unicodeキャラクタ・セット全体とUnicodeに基づく文字から絵文字へのマッピングを含む絵文字を提供する場合もあります。このようなフォントでは、2Dはすべての単純な書記体系に加えて、上の表に示した複雑な書記体系をサポートします。その他の複雑な書記体系はサポートされません。
フォント・レンダリング・ロケールに対するサポートは、プラットフォームにインストールされたフォントとネイティブ・プラットフォームの複雑なテキスト・レンダリング機能に大きく依存するため、正確なリストは提供できません。ただし、これは一般にJavaFXの機能がプラットフォーム自体の機能と同等であることを意味するため、最近のサポート対象デスクトップ・プラットフォームの場合は、機能は相当するJFCやSwingのテキスト・レンダリングと同等またはそれ以上になると考えられます。
アプリケーションに組み込まれたフォント以外に、すべてのFXフォントに対してフォールバック・フォントが暗黙的に自動追加されるため、どのFXフォントが使用中であっても、アプリケーションはもっとも幅広いロケール・サポートを利用できます。
論理フォント名を使用する場合、少なくとも、ホスト・オペレーティング・システムが持つロケールの書記体系のテキストがサポートされます。
物理フォントはピア・コンポーネントではサポートされていません。
印刷用APIには次の3種類があります。
AWTと2Dの印刷用APIを使用したテキスト・レンダリングは、画面上のテキスト・レンダリングと同程度の機能を持ちます。プラガブル・サービスの印刷用APIを使用したテキスト・レンダリングは使用する印刷サービスによって異なり、JREが提供するサービスは画面上のテキスト・レンダリングと同程度に機能します。
Windows Vistaや7、8では、Unicodeキャラクタ・セット全体を使用したテキストをアプリケーション間で送信できます。
SolarisおよびLinuxでは、ホスト・オペレーティング・システムが持つロケールの文字エンコーディングを使用したテキストをアプリケーション間で送信できます。
ホスト・オペレーティング・システムに関係なく、任意のテキストを送信する必要があるアプリケーションは、シリアライズを使用してこれを実現できます。DataFlavor.stringFlavorというフレーバーのみをサポートするTransferableを1つ作成します。このフレーバーはシリアライズされたString表現を表します。送信先でもstringFlavorがサポートされていることを確認します。送信が発生すると、AWTはStringの一方の端をシリアライズし、もう一方の端をデシリアライズします。これはネイティブ・プラットフォームのテキスト送信よりも大幅に低速ですが、ネイティブ送信が有効でない状況でも機能します。
JRE 8が提供するユーザー・インタフェース要素には、Swingダイアログや、ランタイム環境から標準出力と標準エラー・ストリームへ書き出されたメッセージ、JREが提供するツールによって生成されたメッセージが含まれます。これらの言語もJavaFXでサポートされています。これらのユーザー・インタフェース要素は次の言語にローカライズされています。
|
言語 |
ロケールID |
|---|---|
|
中国語(簡体字) |
zh_CN |
|
中国語(繁体字) |
zh_TW |
|
英語 |
en |
|
フランス語 |
fr |
|
ドイツ語 |
de |
|
イタリア語 |
it |
|
日本語 |
ja |
|
韓国語 |
ko |
|
ポルトガル語(ブラジル) |
pt_BR |
|
スペイン語 |
es |
|
スウェーデン語 |
sv |
JDK 8が提供するユーザー・インタフェース要素には、JREが提供する要素に加えて、JDKにのみ含まれるツールによって生成されるメッセージが含まれます。これらの言語もJavaFXでサポートされています。追加のユーザー・インタフェース要素は次の言語にローカライズされています。
|
言語 |
ロケールID |
|---|---|
|
中国語(簡体字) |
zh_CN |
|
英語 |
en |
|
日本語 |
ja |