第 4 章 en_US.UTF-8 ロケールのサポートの概要
en_US.UTF-8 ロケールのサポートの概要
en_US.UTF-8 ロケールは、コードセットとして UTF-8 を使用することによって複数のスクリプト処理をサポートする、Solaris 7 製品の中で基本となる Unicode ロケールです。
注 -
UTF-8 はファイルシステムに依存しない Universal Character Set Transformation Format of Unicode の略称で、ISO/IEC 10646-1 です。1992 年に X/Open の XoJIG が定め、1996 年に ISO および IEC が ISO/IEC 10646-1:1993 に対する Amendment 2 として承認しました。
このロケールは、Unicode 2.1 と、ISO/IEC 10646-1:1993 および Amendment 1 から 5 で定義されている、すべての文字の処理をサポートしています。しかし、フォントリソースに制限があり、すべてのコードポイント値を使用するユーザーはほとんどいないため、en_US.UTF-8 ロケールでは、以下の文字セットの文字グリフのみ表示されます。
-
ISO 8859-1 (Latin-1)
-
ISO 8859-2 (Latin-2)
-
ISO 8859-4 (Latin-4)
-
ISO 8859-5 (Latin/Cyrillic)
-
ISO 8859-6 (Arabic)
-
ISO 8859-7 (Latin/Greek)
-
ISO 8859-8 (Hebrew)
-
ISO 8859-9 (Latin-5)
-
BIG5 (Traditional Chinese)
-
GB 2312-1980 (Simplified Chinese)
-
JIS X0201-1976, JIS X0208-1983 (Japanese)
-
KS C 5601-1992 Annex 3 (Korean)
-
ISO 8859-8 (Hebrew)
-
ISO 8859-11 TIS 620.7573 (Thai)
上記のように、Solaris 7 ではサポートする文字セットが大幅に増えたため、以下のスクリプトもサポートされるようになりました。
-
西、東、北の各ヨーロッパ言語
-
ギリシャ語
-
トルコ語
-
トルコ語
-
中国語 (簡体字)
-
中国語 (繁体字)
-
日本語
-
韓国語
-
アラビア語
-
ヘブライ語
-
タイ語
このロケールは主に開発者用なので、Solaris 7 製品の開発者システムサポートに含まれています。したがって、システムにこのロケールをインストールするには、Solaris 7 製品をインストールするときに開発者システムサポートを選択してください。
en_US.UTF-8 ロケールのサポートは、Solaris の 32 ビット版と 64 ビット版で完全に同じです。
注 -
Motif および Solaris CDE のデスクトップアプリケーションとライブラリは、en_US.UTF-8 ロケールをサポートしています。OpenWindows、XView、および OPENLOOK の DeskSet アプリケーションとライブラリでは en_US.UTF-8 ロケールをサポートしていません。
システム環境
ロケールの環境変数
en_US.UTF-8 ロケール環境を使用するには、まずロケールを選択します。システムに en_US.UTF-8 がインストールされていることを確認してください。
en_US.UTF-8 ロケール環境の使用方法
-
TTY 環境で、まず環境変数 LANG を en_US.UTF-8 に設定してこのロケールを選択します。C シェルの例を以下に示します。
system% setenv LANG en_US.UTF-8
|
-
他のカテゴリが設定されていない (または、en_US.UTF-8 に設定されている) ことを確認します。これは、ロケールを設定する際、環境変数 LANG の優先順位が、 LC_ALL、LC_COLLATE、LC_CTYPE、LC_MESSAGES、LC_NUMERIC、 LC_MONETARY、LC_TIME などの他の環境変数に比べて低いからです。環境変数の階層についての詳細は、setlocale(3C) のマニュアルページを参照してください。
-
さまざまなカテゴリの現在のロケール設定を調べるには、locale(1) ユーティリティを使用します。
system% locale
LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_ALL=
|
また、CDE ログイン画面の「オプション」->「言語」メニューで en_US.UTF-8 を選択することにより、en_US.UTF-8 環境を起動することもできます。
TTY 環境の設定
端末や dtterm(1) などの端末エミュレータで正しいテキスト編集を行うには、ユーザーは特定のロケール固有の STREAMS モジュールをストリームにプッシュしなければなりません。
STREAMS モジュールの詳細および一般的なストリームについては、『STREAM Programming Guide』を参照してください。
表 4-1 に、端末環境で en_US.UTF-8 ロケールによりサポートされる STREAMS モジュールを示します。
表 4-1
en_US.UTF-8 によりサポートされる 32 ビット STREAMS モジュール
|
32 ビット STREAMS モジュール
|
説明
|
|
/usr/kernel/strmod/eucu8
|
テール側 UTF-8 STREAMS モジュール
|
|
/usr/kernel/strmod/u8euc
|
ヘッド側 UTF-8 STREAMS モジュール
|
|
/usr/kernel/strmod/u8lat1
|
UTF-8 と ISO 8859-1 (西ヨーロッパ) のコード変換 STREAMS モジュール
|
|
/usr/kernel/strmod/u8lat2
|
UTF-8 と ISO 8859-2 (東ヨーロッパ) のコード変換 STREAMS モジュール
|
|
/usr/kernel/strmod/u8koi8
|
UTF-8 と KOI8-R (Cyrillic) のコード変換 STREAMS モジュール
|
表 4-2 に、en_US.UTF-8 ロケールによりサポートされる 64 ビット STREAMS モジュールを示します。
表 4-2
en_US.UTF-8 によりサポートされる 64 ビット STREAMS モジュール
|
64 ビット STREAMS モジュール
|
説明
|
|
/usr/kernel/strmod/sparcv9/eucu8
|
テール側 UTF-8 STREAMS モジュール
|
|
/usr/kernel/strmod/sparcv9/u8euc
|
ヘッド側 UTF-8 STREAMS モジュール
|
|
/usr/kernel/strmod/sparcv9/u8lat1
|
UTF-8 と ISO 8859-1 (西ヨーロッパ) のコード変換 STREAMS モジュール
|
|
/usr/kernel/strmod/sparcv9/u8lat2
|
UTF-8 と ISO 8859-2 (東ヨーロッパ) のコード変換 STREAMS モジュール
|
|
/usr/kernel/strmod/sparcv9/u8koi8
|
UTF-8 と KOI8-R (Cyrillic) のコード変換 STREAMS モジュール
|
STREAMS モジュールのカーネルへのロード
STREAMS モジュールをカーネルにロードするには、まずルートになります。
system% su
Password:
system#
|
次のように isainfo(1) ユーティリティを使用して、Solaris システムが 32 ビットと 64 ビットのどちらであるかを判断します。
system# isainfo -v
64-bit sparcv9 applications
32-bit sparc applications
system#
|
この情報が返された場合は、実行されているのは 64 ビットの Solaris システムです。実行されているのは 32 ビットの Solaris システムである場合は、次のように表示されます。
system# isainfo -v
32-bit sparc applications
system#
|
modinfo(1M) を使用して、システムにすでに STREAMS モジュールがロードされていないかを確認します。
system# modinfo | grep eucu8modulename
|
eucu8 などの STREAMS モジュールがすでにインストールされている場合は、出力は次のようになります。
system# modinfo | grep eucu8
89 ff798000 4b13 18 1 eucu8 (eucu8 module)
system#
|
モジュールがすでにロードされている場合は、ロードする必要はありません。ただし、モジュールがロードされていない場合は、次のように modload(1M) を使用します。
system# modload /usr/kernel/strmod/eucu8modulename
|
32 ビットの eucu8 STREMAS モジュールがカーネルにロードされ、ストリームにプッシュすることができます。64 ビットの Solaris 製品を実行している場合は、次のように modload(1M) を使用します。
system# modload /usr/kernel/strmod/sparcv9/eucu8
|
STREMAS モジュールがカーネルにロードされ、ストリームにプッシュすることができます。
モジュールをカーネルからアンロードするには、次のように modunload(1M) を使用します。この例では、eucu8 モジュールがアンロードされます。
system# modinfo | grep eucu8
89 ff798000 4b13 18 1 eucu8 (eucu8 module)
system# modunload -i 89
|
UTF-8 文字の入出力が可能な dtterm および端末
UTF-8 コードセットの入出力をサポートする dtterm(1) および任意の端末は、以下の STREAMS 構成である必要があります。
head <-> ttcompat <-> u8euc <-> ldterm <-> eucu8 <-> pseudo-TTY
|
この例では、u8euc および eucu8 が en_US.UTF-8 ロケールによりサポートされるモジュールです。1 つ前の節で説明した方法で、あらかじめ STREAMS モジュールをカーネルにロードしておきます。
上記の STREAMS の構成を設定するには、次のように strchg(1) を使用します。
system% cat > /tmp/mystreams
ttcompat
u8euc
ldterm
eucu8
ptem
^D
system% strchg -f /tmp/mystreams
|
strchg(1) を使用するには、ルートであるか、デバイスの所有者でなければなりません。STREAMS の現在の構成を確認するには、次のように strconf(1) を使用します。
system% strconf
ttcompat
u8euc
ldterm
eucu8
ptem
pts
system%
|
元の構成に戻すには、次のように再度 STREAMS の構成を設定します。
system% cat > /tmp/orgstreams
ttcompat
ldterm
ptem
^D
system% strchg -f/tmp/orgstreams
|
Latin-1、Latin-2、KOI8-R の端末サポート
Latin-1 (ISO 8859-1)、Latin-2 (ISO 8859-2)、または KOI8-R だけをサポートする端末の場合、STREAMS は次のように構成されている必要があります。
head <-> ttcompat <-> u8euc <-> ldterm <-> eucu8 <-> u8lat1 <-> TTY
|
注 -
これは Latin-1 をサポートする端末用の構成です。Latin-2 端末の場合は、STREAMS モジュール u8lat1 を u8lat2 に置き換えます。KOI8-R 端末の場合は、このモジュールを u8koi8 に置き換えます。
上記の STREAMS の構成を設定するには、次のように strchg(1) を使用します。
system% cat > tmp/mystreams
ttcompat
u8euc
ldterm
eucu8
u8lat1
ptem
^D
system% strchg -f /tmp/mystreams
|
strchg(1) を使用する場合、ルートかデバイスの所有者であることを確認します。現在の構成を確認するには、次のように strconf(1) を使用します。
system% strconf
ttcompat
u8euc
ldterm
eucu8
u8lat1
ptem
pts
system%
|
元の構成に戻すには、次のように STREAMS の構成を設定します。
system% cat > /tmp/orgstreams
ttcompat
ldterm
ptem
^D
system% strchg -f /tmp/orgstreams
|
端末オプションの設定
TTY 上での UTF-8 テキスト編集動作を設定するには、まず、次のように stty(1) を使用して端末オプションを設定してください。
system% /bin/stty cs8 -istrip defeucw
|
注 -
/usr/ucb/stty はまだ国際化されていないので、代わりに /bin/stty を使用します。
次のように、stty(1) に -a オプションを指定して、現在の設定を照会することもできます。
‾/.cshrc への設定の保存
必要な STREAMS モジュールがカーネルにロードされたら、以下の行を .cshrc ファイル (C シェルの場合) に保存すると便利です。
setenv LANG en_US.UTF-8
if ($?USER != 0 && $?prompt != 0) then
cat >! /tmp/mystreams$$ << _EOF
ttcompat
u8euc
ldtterm
eucu8
ptem
_EOF
/bin/strchg -f /tmp/mystream$$
/bin/rm -f /tmp/mystream$$
/bin/stty cs8 -istrip defeucw
endif
|
.cshrc ファイルに上記の行があると、毎回すべてのコマンドを入力せずに済みます。2 つめの _EOF は行の先頭になければなりません。mystreams という名前のファイルを作成し、C シェルを起動するたびに作成するのではなく、.cshrc ファイルで mystreams を参照することもできます。
コード変換
en_US.UTF-8 ロケールは、iconv(1) および iconv(3) により、いくつかの国の主なコードセット間のコード変換をサポートしています。
iconv(1) および iconv(3) で使用可能な fromcode および tocode の名前を、表 4-3 に示します。
表 4-3
en_US.UTF-8 で使用可能なコード変換
|
変換前のコード
|
変換後のコード
|
説明
|
|
646
|
UTF-8
|
ISO 646 (US-ASCII) から UTF-8
|
|
UTF-8
|
646
|
UTF-8 から ISO 646 (US-ACII)
|
|
UTF-8
|
8859-1
|
UTF-8 から ISO 8859-1
|
|
UTF-8
|
8859-2
|
UTF-8 から ISO 8859-2
|
|
UTF-8
|
8859-3
|
UTF-8 から ISO 8859-3
|
|
UTF-8
|
8859-4
|
UTF-8 to ISO 8859-4
|
|
UTF-8
|
8859-5
|
UTF-8 から ISO 8859-5 (Cyrillic)
|
|
UTF-8
|
8859-6
|
UTF-8 から ISO 8859-6 (Arabic)
|
|
UTF-8
|
8859-7
|
UTF-8 から ISO 8859-7 (Greek)
|
|
UTF-8
|
8859-8
|
UTF-8 から ISO 8859-8 (Hebrew)
|
|
UTF-8
|
8859-9
|
UTF-8 から ISO 8859-9
|
|
UTF-8
|
8859-10
|
UTF-8 から ISO 8859-10
|
|
UTF-8
|
8859-11
|
UTF-8 から TIS 620.2533 (Thai)
|
|
UTF-8
|
8859-15
|
UTF-8 から ISO 8859-15
|
|
8859-1
|
UTF-8
|
ISO 8859-1 から UTF-8
|
|
8859-2
|
UTF-8
|
ISO 8859-2 から UTF-8
|
|
8859-3
|
UTF-8
|
ISO 8859-3 から UTF-8
|
|
8859-4
|
UTF-8
|
ISO 8859-4 から UTF-8
|
|
8859-5
|
UTF-8
|
ISO 8859-5 (Cyrillic) から UTF-8
|
|
8859-6
|
UTF-8
|
ISO 8859-6 (Arabic) から UTF-8
|
|
8859-7
|
UTF-8
|
ISO 8859-7 (Greek) から UTF-8
|
|
8859-8
|
UTF-8
|
ISO 8859-8 (Hebrew) から UTF-8
|
|
8859-9
|
UTF-8
|
ISO 8859-9 から UTF-8
|
|
8859-10
|
UTF-8
|
ISO 8859-10 から UTF-8
|
|
8859-11
|
UTF-8
|
TIS 620.2533 から UTF-8
|
|
8859-15
|
UTF-8
|
ISO 8859-15 から UTF-8
|
|
UTF-8
|
KOI8-R
|
UTF-8 から KOI8-R (Cyrillic)
|
|
KOI8-R
|
UTF-8
|
KOI8-R (Cyrillic) から UTF-8
|
|
UTF-8
|
UCS-2
|
UTF-8 から
UCS-2
|
|
UCS-2
|
UTF-8
|
UCS-2 から UTF-8
|
|
UTF-8
|
UCS-4
|
UTF-8 から UCS-4
|
|
UCS-4
|
UTF-8
|
UCS-4 から UTF-8
|
|
UTF-8
|
UTF-7
|
UTF-8 から UTF-7
|
|
UTF-7
|
UTF-8
|
UTF-7 から UTF-8
|
|
UTF-8
|
UTF-16
|
UTF-8 から UTF-16
|
|
UTF-16
|
UTF-8
|
UTF-16 から UTF-8
|
|
UTF-8
|
eucJP
|
UTF-8 から日本語 EUC (JIS X0201-1976、JIS X0208-1983、JIS
X0212-1990)
|
|
UTF-8
|
PCK
|
UTF-8 から日本語 PCK (SJIS)
|
|
UTF-8
|
ISO-2022-JP
|
UTF-8 から ISO-2022-JP
|
|
eucJP
|
UTF-8
|
日本語 EUC から UTF-8
|
|
PCK
|
UTF-8
|
日本語 PCK (SJIS) から UTF-8
|
|
ISO-2022-JP
|
UTF-8
|
ISO-2022-JP から UTF-8
|
|
UTF-8
|
ko_KR-euc
|
UTF-8 から韓国語 EUC (KS C 5636 および KS C 5601-1987)
|
|
UTF-8
|
ko_KR-johap
|
UTF-8 から韓国語 Johap (KS C 5601-1987)
|
|
UTF-8
|
ko_KR-johap92
|
UTF-8 から韓国語 Johap (KS C 5601-1992)
|
|
UTF-8
|
ko_KR-iso2022-7
|
UTF-8 から ISO-2022-KR
|
|
ko_KR-euc
|
UTF-8
|
韓国語 EUC から UTF-8
|
|
ko_KR-johap
|
UTF-8
|
韓国語 Johap (KS C 5601-1987) から UTF-8
|
|
ko_KR-johap92
|
UTF-8
|
韓国語 Johap (KS C 5601-1992) から UTF-8
|
|
ko_KR-iso2022-7
|
UTF-8
|
ISO-2022-KR から UTF-8
|
|
ko_KR-cp933
|
UTF-8
|
IBM MBCS CP933 から UTF-8
|
|
UTF-8
|
gb2312
|
UTF-8 中国語 (簡体字) EUC (GB 1988-1980
および GB2312-1980)
|
|
UTF-8
|
iso2022
|
UTF-8 中国語 (簡体字) MIME 文字セット (ISO-2022-cn)
|
|
UTF-8
|
GBK
|
UTF-8 から中国語 (簡体字) MIME 文字セット (ISO-2022-cn)
|
|
gb2312
|
UTF-8
|
中国語/PRC EUC (GB 2312-1980) から UTF-8
|
|
iso2022
|
UTF-8
|
ISO-2022-CN から UTF-8
|
|
GBK
|
UTF-8
|
中国語 (簡体字) GBK から UTF-8
|
|
UTF-8
|
zh_TW-euc
|
UTF-8 から中国語 (繁体字) EUC (CNS 11643-1992)
|
|
UTF-8
|
zh_TW-big5
|
UTF-8 から中国語 (繁体字) Big5
|
|
UTF-8
|
zh_TW-iso2022-7
|
UTF-8 から 中国語 (繁体字) MIME 文字セット (ISO-2022-TW)
|
|
UTF-8
|
zh_TW-cp937
|
UTF-8 から IBM MBCS CP937
|
|
zh_TW-euc
|
UTF-8
|
中国語 (繁体字) EUC から UTF-8
|
|
zh_TW-big5
|
UTF-8
|
中国語 (繁体字) Big5 から UTF-8
|
|
zh_TW-iso2022-7
|
UTF-8
|
中国語 (繁体字) MIME 文字セット (ISO-2022-TW) から UTF-8
|
|
zh_TW-cp937
|
UTF-8
|
IBM MBCS CP937 から UTF-8
|
iconv によるコード変換についての詳細は、iconv(1)、iconv_open(3)、iconv(3)、および iconv_close(3) のマニュアルページを参照してください。使用可能なコード変換についての詳細は、iconv_en_US.UTF-8(5) を参照してください。
文字選択および入力モード
en_US.UTF-8 ロケールは複数の文字をサポートしています。en_US.UTF-8 ロケールには、次の 8 つの入力モードがあります。
-
英語/ヨーロッパ言語
-
キリル語
-
ギリシャ語
-
アラビア語
-
ヘブライ語
-
タイ語
-
Unicode 16 進数コード入力
-
表参照入力
英語/ヨーロッパ言語入力モード
英語/ヨーロッパ言語入力モードでは、英語のアルファベットだけではなく、ヨーロッパ言語で使用される発音符号の付いた文字や特殊文字も入力できます。
この入力モードはすべてのアプリケーションのデフォルトのモードです。入力モードは、GUI アプリケーションの左下隅に表示されます。

Latin-1、Latin-2、Latin-4、Latin-5、Latin-9 の発音符号付きの文字や特殊文字を入力するには、次の例のように Compose 手順を入力する必要があります。
Compose キーがないキーボードの場合は、代わりに Control キーとシフトキーを押しながら T を押します。
ユーロの通貨記号 (Unicode の U+20AC) を入力するには、次のいずれかの手順を使用します。
-
AltGraph キーを押しながら e を押します。
-
AltGraph キーを押しながら 4 を押します。
-
AltGraph キーを押しながら 5 を押します。
キーを同時に押すことに注意してください。AltGraph キーがないキーボードの場合は、代わりに Alt キーを使用します。
次の表に、Sparc で Latin-1、Latin-2、Latin-4、Latin-5、Latin-9 の文字の入力によく使用される Compose 手順を示します。
注 -
以下の手順では、最初に Compose キーを押してから、離します。
表 4-4 に、Latin-1 の Compose 手順を示します。
表 4-4 Sparc での Latin-1 の一般的な Compose 手順
|
Compose キー
|
説明
|
|
スペース
|
スペース
|
スペース (space)
|
|
!
|
!
|
逆感嘆符 (Inverted exclamation)
|
|
c
|
/
|
セント記号 (Cents)
|
|
l
|
-
|
ポンド記号 (Pounds)
|
|
o
|
x
|
不特定通貨記号 (Currency symbol)
|
|
y
|
-
|
円記号 (Yen)
|
|
|
|
|
|
破断線 (Broken bar)
|
|
s
|
o
|
節記号 (Section)
|
|
"
|
"
|
ウムラウトまたはダイエレシス (Umlaut/diaeresis)
|
|
c
|
o
|
著作権表示記号 (Copyright)
|
|
-
|
a
|
女性序数標識 (Feminine ordinal)
|
|
<
|
<
|
左引用符 (Left guillemet)
|
|
-
|
|
|
否定 (Not sign)
|
|
-
|
-
|
ソフトハイフン (Soft hyphen)
|
|
r
|
o
|
登録商標記号 (Registered)
|
|
^
|
-
|
長音記号 (Macron)
|
|
^
|
0
|
度 (Degree)
|
|
+
|
-
|
プラスマイナス (Plus-minus)
|
|
^
|
2
|
上付きの 2 (Superscript 2)
|
|
^
|
3
|
上付きの 3 (Superscript 3)
|
|
¥
|
¥
|
プライム符号またはアキュートアクセント (Prime/acute)
|
|
/
|
u
|
ミューまたはマイクロ (Mu/micro)
|
|
P
|
!
|
段落記号 (Pilcro/paragraph)
|
|
^
|
.
|
中点 (Middle dot)
|
|
,
|
,
|
セディラ (Cedilla)
|
|
^
|
1
|
上付きの 1 (Superscript 1)
|
|
_
|
o
|
男性序数標識 (Masculine ordinal)
|
|
>
|
>
|
右引用符 (Right guillemet)
|
|
1
|
4
|
4 分の 1 (Quarter)
|
|
1
|
2
|
2 分の 1 (Half)
|
|
3
|
4
|
4 分の 3 (Three quarters)
|
|
?
|
?
|
逆疑問符 (Inverted question)
|
|
A
|
`
|
グレーブアクセント付き A (A grave)
|
|
A
|
'
|
アキュートアクセント付き A (A acute)
|
|
A
|
^
|
サーカムフレクトアクセント付き A (A circumflex)
|
|
A
|
‾
|
チルド付き A (A tilde)
|
|
A
|
"
|
A ウムラウト (A umlaut)
|
|
A
|
*
|
オングストローム付き A (A angstrom)
|
|
A
|
E
|
AE リゲチャ (AE ligature)
|
|
C
|
,
|
セディラ付き C (C cedilla)
|
|
E
|
`
|
グレーブアクセント付き E (E grave)
|
|
E
|
'
|
アキュートアクセント付き E (E acute)
|
|
E
|
^
|
サーカムフレクトアクセント付き E (E circumflex)
|
|
E
|
"
|
E ウムラウト (E umlaut)
|
|
I
|
`
|
グレーブアクセント付き I (I grave)
|
|
I
|
'
|
アキュートアクセント付き I (I acute)
|
|
I
|
^
|
サーカムフレクトアクセント付き I (I circumflex)
|
|
I
|
"
|
I ウムラウト (I umlaut)
|
|
D
|
-
|
棒つき D (Eth)
|
|
N
|
‾
|
チルド付き N (N tilde)
|
|
O
|
`
|
グレーブアクセント付き O (O grave)
|
|
O
|
'
|
アキュートアクセント付き O (O acute)
|
|
O
|
^
|
サーカムフレクトアクセント付き O (O circumflex)
|
|
O
|
‾
|
チルド付き O (O tilde)
|
|
O
|
"
|
O ウムラウト (O umlaut)
|
|
x
|
x
|
乗算記号 (Multiply)
|
|
O
|
/
|
斜線付き O (O slash)
|
|
U
|
`
|
グレーブアクセント付き U (U grave)
|
|
U
|
'
|
アキュートアクセント付き U (U acute)
|
|
U
|
^
|
サーカムフレクトアクセント付き U (U circumflex)
|
|
U
|
"
|
U ウムラウト (U umlaut)
|
|
Y
|
'
|
アキュートアクセント付き Y (Y acute)
|
|
T
|
H
|
アイスランド語ソーン (Thorn)
|
|
s
|
s
|
ドイツ語エスツェット (Eszett/digraph s)
|
|
a
|
`
|
グレーブアクセント付き a (a grave)
|
|
a
|
'
|
アキュートアクセント付き a (a acute)
|
|
a
|
^
|
サーカムフレクトアクセント付き a (a circumflex)
|
|
a
|
‾
|
チルド付き a (a tilde)
|
|
a
|
"
|
a ウムラウト (a umlaut)
|
|
a
|
*
|
オングストローム付き a (a angstrom)
|
|
a
|
e
|
ae リゲチャ (ae ligature)
|
|
c
|
,
|
セディラ付きの c (c cedilla)
|
|
e
|
`
|
グレーブアクセント付き e (e grave)
|
|
e
|
'
|
アキュートアクセント付き e (e acute)
|
|
e
|
^
|
サーカムフレクトアクセント付き e (e circumflex)
|
|
e
|
"
|
e ウムラウト (e umlaut)
|
|
i
|
`
|
グレーブアクセント付き i (i grave)
|
|
i
|
'
|
アキュートアクセント付き i (i acute)
|
|
i
|
^
|
サーカムフレクトアクセント付き i (i circumflex)
|
|
i
|
"
|
i ウムラウト (i umlaut)
|
|
d
|
-
|
エズ (eth)
|
|
n
|
‾
|
チルド付き n (n tilde)
|
|
o
|
`
|
グレーブアクセント付き o (o grave)
|
|
o
|
'
|
アキュートアクセント付き o (o acute)
|
|
o
|
^
|
サーカムフレクトアクセント付き o (o circumflex)
|
|
o
|
‾
|
チルド付き o (o tilde)
|
|
o
|
"
|
o ウムラウト (o umlaut)
|
|
-
|
:
|
除算記号 (Divide)
|
|
o
|
/
|
斜線付き o (o slash)
|
|
u
|
`
|
グレーブアクセント付き u (u grave)
|
|
u
|
'
|
アキュートアクセント付き u (u acute)
|
|
u
|
^
|
サーカムフレクトアクセント付き u (u circumflex)
|
|
u
|
"
|
u ウムラウト (u umlaut)
|
|
y
|
'
|
アキュートアクセント付き y (y acute)
|
|
t
|
h
|
アイスランド語ソーン (thorn)
|
|
y
|
"
|
y ウムラウト (y umlaut)
|
注 -
表 4-3 に示されている手順は 表 4-4 には含まれていません。
表 4-5 に、Latin-2 の一般的な Compose 手順を示します。
表 4-5 Latin-2 の一般的な Compose 手順
|
最初に押すキー
|
2 番目に押すキー
|
結果
|
|
a
|
'
|
ogonek 叩
|
|
u
|
' '
|
短音記号 端
|
|
v
|
' '
|
caron
|
|
"
|
' '
|
二重揚音アクセント 即
|
|
A
|
a
|
ogonek の付いた A
|
|
A
|
u
|
短音記号の付いた A
|
|
C
|
'
|
揚音アクセントの付いた C
|
|
C
|
v
|
caron の付いた C
|
|
D
|
v
|
caron の付いた D
|
|
-
|
D
|
ストロークの付いた D
|
|
E
|
v
|
caron の付いた E
|
|
E
|
a
|
ogonek の付いた E
|
|
L
|
'
|
揚音アクセントの付いた L
|
|
L
|
-
|
ストロークの付いた L
|
|
L
|
>
|
caron の付いた L
|
|
N
|
'
|
揚音アクセントの付いた N
|
|
N
|
v
|
caron の付いた N
|
|
O
|
>
|
二重揚音アクセントの付いた O
|
|
S
|
'
|
揚音アクセントの付いた S
|
|
S
|
v
|
caron の付いた S
|
|
S
|
,
|
セディラ記号の付いた S
|
|
R
|
'
|
揚音アクセントの付いた
R
|
|
R
|
v
|
caron の付いた R
|
|
T
|
v
|
caron の付いた T
|
|
T
|
,
|
セディラ記号の付いた T
|
|
U
|
*
|
丸の付いた U
|
|
U
|
>
|
二重揚音アクセントの付いた U
|
|
Z
|
'
|
揚音アクセントの付いた Z
|
|
Z
|
v
|
caron の付いた Z
|
|
Z
|
.
|
ドットの付いた Z
|
注 -
表 4-3 または 表 4-4 に示されている手順は 表 4-5 には含まれていません。
表 4-6 は、Latin-4 の一般的な Compose 手順を示します。
表 4-6 Latin-4 の一般的な Compose 手順
|
最初に押すキー
|
2 番目に押すキー
|
結果
|
|
k
|
k
|
kra
|
|
A
|
_
|
長音記号の付いた A
|
|
E
|
_
|
長音記号の付いた E
|
|
E
|
.
|
ドットの付いた E
|
|
G
|
,
|
セディラ記号の付いた G
|
|
I
|
_
|
長音記号の付いた I
|
|
I
|
‾
|
チルドの付いた I
|
|
I
|
a
|
ogonek の付いた I
|
|
K
|
,
|
セディラ記号の付いた K
|
|
L
|
,
|
セディラ記号の付いた L
|
|
N
|
,
|
セディラ記号の付いた N
|
|
O
|
_
|
長音記号の付いた O
|
|
R
|
,
|
セディラ記号の付いた R
|
|
T
|
|
|
ストロークの付いた T
|
|
U
|
‾
|
チルドの付いた U
|
|
U
|
a
|
ogonek の付いた U
|
|
U
|
_
|
長音記号の付いた U
|
|
N
|
N
|
エング
|
|
a
|
_
|
長音記号の付いた a
|
|
e
|
_
|
長音記号の付いた e
|
|
e
|
.
|
ドットの付いた e
|
|
g
|
,
|
セディラ記号の付いた g
|
|
i
|
_
|
長音記号の付いた i
|
|
i
|
‾
|
チルドの付いた i
|
|
i
|
a
|
ogonek の付いた i
|
|
k
|
,
|
セディラ記号の付いた k
|
|
l
|
,
|
セディラ記号の付いた l
|
|
n
|
,
|
セディラ記号の付いた n
|
|
o
|
_
|
長音記号の付いた o
|
|
r
|
,
|
セディラ記号の付いた r
|
|
t
|
|
|
ストロークの付いた t
|
|
u
|
‾
|
チルドの付いた u
|
|
u
|
a
|
ogonek の付いた u
|
|
u
|
_
|
長音記号の付いた u
|
|
n
|
n
|
エング
|
注 -
表 4-3、表 4-4、または 表 4-5 に示されている手順は表 4-6 には含まれていません。
表 4-7 に、Latin-5 の一般的な Compose 手順を示します。
表 4-7 Latin-5 の一般的な Compose 手順
|
最初に押すキー
|
2 番目に押すキー
|
結果
|
|
G
|
u
|
短音記号の付いた G
|
|
I
|
.
|
ドットの付いた I
|
|
g
|
u
|
短音記号の付いた g
|
|
i
|
.
|
ドットの付いた i
|
他の表で説明された Compose 手順は、この表には示されていません。
表 4-8 は、Latin-9 の一般的な Compose 手順を示します。
表 4-8 Latin-9 の一般的な Compose 手順
|
最初に押すキー
|
2 番目に押すキー
|
結果
|
|
o
|
e
|
oe の合字
|
|
O
|
E
|
OEの合字
|
|
Y
|
"
|
ウムラウトの付いた Y
|
キリル文字入力モード
英語入力モードからキリル文字入力モードに切り替えるには、Compose c c を押します。現在、ギリシャ文字入力モードである場合は、まず英語モードに戻ってから、キリル文字入力モードに切り替えます。
入力モードは、GUI アプリケーションの左下隅に表示されます。

キリル文字入力モードに切り替えると、英語の文字は入力できなくなります。英語入力モードに戻るには、<Control_Space> キーを押します。ロシア語のキー配列を図 4-1 に示します。
図 4-1 キリル文字キーボード
ギリシャ文字入力モード
英語入力モードからギリシャ文字入力モードに切り替えるには、Compose g g を押します。現在、キリル文字入力モードである場合は、まず英語モードに戻ってから、ギリシャ文字入力モードに切り替えます。
入力モードは、GUI アプリケーションの左下隅に表示されます。

ギリシャ文字入力モードに切り替えると、英語の文字は入力できなくなります。英語入力モードに戻るには、<Control_Space> キーを押します。ギリシャ語のキー配列を図 4-2 および 4-3 に示します。
図 4-2 ギリシャ語キーボード (ヨーロッパキーボード)
図 4-3 ギリシャ語キーボード (UNIX キーボード)
アラビア語入力モード
アラビア語入力モードに切り替えるには、<Compose> + <g> + <g> を押します。入力モードは、GUI アプリケーションの左下隅に表示されます。アラビア語入力モードに切り替えた後で英語/ヨーロッパ言語の文字を入力するには、<Control> キーとスペースバーを同時に押して英語/ヨーロッパ言語入力モードに切り替えます。
図 4-4 アラビア語キーボード
ヘブライ語入力モード
ヘブライ語入力モードに切り替えるには、<Compose> <h> <h> を押します。入力モードは、GUI アプリケーションの左下隅に表示されます。
アラビア語入力モードに切り替えた後で英語/ヨーロッパ言語の文字を入力するには、<Control> キーとスペースバーを同時に押して英語/ヨーロッパ言語入力モードに切り替えます。他の入力モードに切り替えるには、そのモードの切り替えキー手順に従います。ヘブライ語のキーボードのレイアウトを次の図に示します。
図 4-5 ヘブライ語キーボード
タイ語入力モード
タイ語入力モードに切り替えるには、<Compose> <t> <t> を押します。入力モードは、GUI アプリケーションの左下隅に表示されます。

アラビア語入力モードに切り替えた後で英語/ヨーロッパ言語の文字を入力するには、<Control> キーとスペースバーを同時に押して英語/ヨーロッパ言語入力モードに切り替えます。他の入力モードに切り替えるには、そのモードの切り替えキー手順に従います。タイ語のキーボードのレイアウトを次の図に示します。
図 4-6 タイ語キーボード
Unicode 16 進数コード入力モード
Unicode 16 進数コード入力モードに切り替えるには、<Compose> <u> <h> を押します。入力モードは、GUI アプリケーションの左下隅に表示されます。
この入力モードを使用するには、文字の 16 進数コード値を知っている必要があります。コード値と文字の対応については、『The Unicode Standard, Version 2.0』を参照してください。文字を入力するには、4 桁の 16 進数を入力します。たとえば、逆転した疑問符ならば 00a1、ギリシャ文字の小文字のベータならば 03b2、韓国語の KA ならば ac00、カタカナのアならば 30a2、共通の Han 文字ならば 4e58 などです。16 進数に使用する A、B、C、D、E、F は、大文字でも小文字でもかまいません。間違えて入力した 16 進数は、<Delete> キーか <Backspace> キーで削除できます。
表参照入力モード
表参照入力モードに切り替えるには、<Compose> <l> <l> を押します。入力モードは、GUI アプリケーションの左下隅に表示されます。
この入力モードに切り替えると、参照ウィンドウが現れて、複数の Unicode 文字が候補として表示されます。ポインタとマウスの左ボタンで、候補の中から 1 つを選択します。各候補の左側にある文字を入力しても選択できます。
現在の入力モードでの入力が終わって、他の入力モードに切り替えるには、その入力モードに対応したキー手順を押します。
入力モード切り替えキー手順のまとめ
Solaris 7 以降の環境では、ユーザーは入力モードを自由に切り替えられます。次の表に、各入力モードの切り替え手順を示します。
表 4-9 入力モードの切り替えキー手順
| 入力モード | キー手順 |
| 英語/ヨーロッパ言語 | <Control> + スペースバー |
| キリル語 | <Compose> <c> <c> |
| ギリシャ語 | <Compose> <g> <g> |
| アラビア語 | <Compose> <a> <r> |
| ユダヤ語 | <Compose> <h> <h> |
| タイ語 | <Compose> <t> <t> |
| Unicode 16 進数コード入力モード | <Compose> <u> <h> |
| 表参照入力モード | <Compose> <l> <l> |
印刷
en_US.UTF-8 ロケールは、印刷ユーティリティ xutops(1) を提供します。このユーティリティにより、UTF-8 で記述されたプレーンテキストファイルを、システムで使用可能な X11 フォントを使用して印刷できます。このユーティリティからの出力は標準 PostScript であり、任意の PostScript プリンタに送信して出力できます。
このユーティリティを使用するには、次のように入力します。
system% xutops filename | lp
|
このユーティリティは stdin ストリームを受け付けるので、フィルタとして使用することもできます。
system% lpr filename | xutops | lp
|
このユーティリティを、ラインプリンタの印刷フィルタとして使用することもできます。たとえば、以下のコマンド手順は、印刷サービス LP に対して、プリンタ lp1 が xutops 形式のファイルのみ受け付けるように指示しています。このコマンド行は、プリンタ lp1 を port/dev/ttya にインストールします。詳細については、lpadmin(1M) のマニュアルページを参照してください。
system# lpadmin -p lp1 -v /dev/ttya -I XUTOPS
system# accept lp1
system# enable lp1
|
lpfilter(1M) を使用して、次のようにこのユーティリティをフィルタとして追加できます。
system# lpfilter -f filtername -F pathname
|
このコマンドは、pathname で指定した名前のフィルタ記述ファイルにより、コンバータ (この場合は、xutops) が使用可能であることをプリンタに伝えます。pathname は次のように指定できます。
Input types: simple
Output types: XUTOPS
Command: /usr/openwin/bin/xutops
|
このフィルタは、/usr/openwin/bin/xutops を使用して、デフォルトのファイル入力を PostScript 出力に変換します。
UTF-8 テキストファイルを印刷するには、次のコマンドを使用します。
system% lp -T XUTOPS UTF-8-file
|
DtMail
サポートするスクリプトが増えたために、en_US.UTF-8 ロケールで実行される Solaris 7 DtMail は以下に示す各種の MIME 文字セットをサポートします。
-
US-ASCII (7 ビット US ASCII)
-
UTF-8 (Unicode の UCS Transmission Format 8)
-
UTF-7 (Unicode の UCS Transmission Format 7)
-
ISO-8859-1 (Latin-1)
-
ISO-8859-2 (Latin-2)
-
ISO-8859-3 (Latin-3)
-
ISO-8859-4 (Latin-4)
-
ISO-8859-5 (Latin/Cyrillic)
-
ISO-8859-6 (Latin/Arabic)
-
ISO-8859-7 (Latin/Greek)
-
ISO-8859-8 (Latin/Hebrew)
-
ISO-8859-9 (Latin-5)
-
ISO-8859-10 (Latin-6)
-
ISO-8859-15 (Latin-9)
-
KOI8-R (Cyrillic)
-
ISO-2022-JP (Japanese)
-
ISO-2022-KR および EUC-KR (Korean)
-
ISO-2022-CN (Simplified Chinese)
-
ISO-2022-TW (Traditional Chinese)
これによって、世界中のどの地域のどの MIME 文字セットで符号化された電子メールでも、ほとんどの場合は 1 つの DtMail のインスタンスだけで表示できます。到着した電子メールは、指定されている MIME 文字セットと Content-Transfer-Encoding を DtMail が判断して複合化します。しかし送信の場合は、en_US.UTF-8 ロケールでデフォルトに指定されている MIME 文字セットを使用するのでなければ、受信者のメールユーザーエージェント (メールクライアント) が理解できる MIME 文字セットを指定する必要があります。送信する電子メールの文字セットを切り替えるには、「New Message」ウィンドウで <CONTROL> + <Y> を押すか、「Format」メニューボタンをクリックしてから、「Change Char Set」ボタンをクリックします。使用可能な次の文字セットが、「Send」ボタンの上の左下隅に表示されます。電子メールのヘッダーか本体に、その MIME 文字セットで表せない文字が含まれていると、システムはすべての文字を表せる UTF-8 に自動的に切り替わります。
メッセージに 7 ビット US-ASCII 文字しか使用されていない電子メールは、デフォルトの MIME 文字セットは US-ASCII です。このような電子メールは、すべてのメールユーザーエージェントで文字や情報の欠落なしに解釈できます。
複数のスクリプトの文字が含まれている電子メールの、デフォルトの MIME 文字セットは UTF-8 です。この場合、UTF-8 の 8 ビット文字はすべて Quoted-Printable エンコーディングによって符号化されます。MIME、登録されている MIME 文字セット、および Quoted-Printable エンコーディングについての詳細は、RFC 2045、2046、2047、2048、2049、2279、2152、2237、1922、1557、1555、1489 を参照してください。
プログラミング環境
正しく国際化されたアプリケーションは自動的に en_US.UTF-8 ロケールが有効になりますが、アプリケーションのリソースファイルにおいて、適切な FontSet/XmFontList の定義が必要です。
国際化されたアプリケーションについての詳細は、『Creating Worldwide Software: Solaris International Developer's Guide』の第 2 版を参照してください。
X アプリケーションで使用されるフォントセット
Solaris 7 環境の en_US.UTF-8 ロケールでは、以下の文字セットのフォントをサポートしています。
-
ISO 8859-1
-
ISO 8859-2
-
ISO 8859-4
-
ISO 8859-5
-
ISO 8859-7
-
ISO 8859-9
-
ISO 8859-15
-
BIG5
-
GB 2312-1980
-
JISX 0201.1976
-
JISX 0208.1983
-
KSC 5601.1992-3
-
ISO 8859-6-1
-
ISO 8859-8
-
TIS 620.2533-1
Solaris 7 環境は CDE デスクトップ環境をサポートしているので、各文字セットにはフォントのセットが保証されています。
以下のリストは、Solaris 7 製品でサポートされている Latin-1 のフォントです。
-
-dt-interface system-medium-r-normal-xxs sans utf-10-100-72-72-p-59-iso8859-1
-
-dt-interface system-medium-r-normal-xs sans utf-12-120-72-72-p-71-iso8859-1
-
-dt-interface system-medium-r-normal-s sans utf-14-140-72-72-p-82-iso8859-1
-
-dt-interface system-medium-r-normal-m sans utf-17-170-72-72-p-97-iso8859-1
-
-dt-interface system-medium-r-normal-l sans utf-18-180-72-72-p-106-iso8859-1
-
-dt-interface system-medium-r-normal-xl sans utf-20-200-72-72-p-114-iso8859-1
-
-dt-interface system-medium-r-normal-xxl sans utf-24-240-72-72-p-137-iso8859-1
フォント別名については、『共通デスクトップ環境 プログラマーズ・ガイド (国際化対応編)』を参照してください。
en_US.UTF-8 ロケールでは、utf も共通のフォント別名としてサポートされています。アプリケーションのフォントセットは、次の例に示されているように、上記の各文字セットを含むフォントの集合である必要があります。
fs = XCreateFontSet(display,
"-dt-interface system-medium-r-normal-s*utf-*-*-*-*-*-*-*-iso8859-1,
-dt-interface system-medium-r-normal-s*utf-*-*-*-*-*-*-*-iso8859-2,
-dt-interface system-medium-r-normal-s*utf-*-*-*-*-*-*-*-iso8859-5,
-dt-interface system-medium-r-normal-s*-utf*-*-*-*-*-*-*-iso8859-6,
-dt-interface system-medium-r-normal-s*utf-*-*-*-*-*-*-*-iso8859-7,
-dt-interface system-medium-r-normal-s*utf-*-*-*-*-*-*-*-iso8859-8,
-dt-interface system-medium-r-normal-s*utf-*-*-*-*-*-*-*-iso8859-9,
-dt-interface system-medium-r-normal-s*utf-*-*-*-*-*-*-*-iso8859-15,
-dt-interface system-medium-r-normal-s*utf-*-*-*-*-*-*-*-big5-1,
-dt-interface system-medium-r-normal-s*utf-*-*-*-*-*-*-*-gb2312.1980-0,
-dt-interface system-medium-r-normal-s*utf-*-*-*-*-*-*-*-jisx0201.1976-0,
-dt-interface system-medium-r-normal-s*utf-*-*-*-*-*-*-*-jisx0208.1983-0,
-dt-interface system-medium-r-normal-s*utf-*-*-*-*-*-*-*-kcs5601.1992-3,
-dt-interface system-medium-r-normal-s*utf-*-*-*-*-*-*-*-tis620.2533-0",
&missing_ptr, &missing_count, &def_string);
|
CDE/Motif アプリケーションとしての XmFontList 定義
FontSet の定義に関しては、ロケールがサポートする文字セットのフォントはすべて、アプリケーションの XmFontList リソース定義にも含める必要があります。
例 4-1 en_US.UTF-8 ロケールの XmNFontList 定義
*fontList:¥
-dt-interface system-medium-r-normal-s*-*-*-*-*-*-*-*-iso8859-1;¥
-dt-interface system-medium-r-normal-s*utf-*-*-*-*-*-*-*-iso8859-2;¥
-dt-interface system-medium-r-normal-s*utf-*-*-*-*-*-*-*-iso8859-4;¥
-dt-interface system-medium-r-normal-s*utf-*-*-*-*-*-*-*-iso8859-5;¥
-dt-interface system-medium-r-normal-s*utf-*-*-*-*-*-*-*-iso8859-7;¥
-dt-interface system-medium-r-normal-s*utf-*-*-*-*-*-*-*-iso8859-8;¥
-dt-interface system-medium-r-normal-s*utf-*-*-*-*-*-*-*-iso8859-9;¥
-dt-interface system-medium-r-normal-s*utf-*-*-*-*-*-*-*-iso8859-15;¥
-dt-interface system-medium-r-normal-s*utf-*-*-*-*-*-*-*-big5-1;¥
-dt-interface system-medium-r-normal-s*utf-*-*-*-*-*-*-*-gb2312.1980-0;¥
-dt-interface system-medium-r-normal-s*utf-*-*-*-*-*-*-*-jisx0201.1976-0;¥
-dt-interface system-medium-r-normal-s*utf-*-*-*-*-*-*-*-jisx0208.1983-0;¥
-dt-interface system-medium-r-normal-s*utf-*-*-*-*-*-*-*-tis620.2533-0:
|
XmFontList と XmNFontList についての詳細は、XmFontList(3X) のマニュアルページ、『OSF/Motif Programmers's Guide』、および『OSF/Motif Programmers's Reference Manual』の各 Motif ウィジェットのリソースセクションを参照してください。