国際化対応言語環境の利用ガイド

第 5 章 UTF-8 ロケールサポートの概要

この節では、次の項目について説明します。

Unicode の概要

Unicode 規格は、コンピュータ処理用のテキスト表現に使用される汎用文字コード化規格です。Unicode 規格は、国際規格 ISO/IEC 10646-1:2000 および ISO/IEC 10646–2:2001 と完全な互換性があり、ISO/IEC 10646 とまったく同じ文字とエンコーディングポイントを含んでいます。この Unicode 規格によって、文字とその使い方に関する追加情報が提供されます。また、Unicode に準拠した実装は、ISO/IEC 10646 にも準拠します。

Unicode 規格では、多言語のプレーンテキストのエンコーディングが一貫性をもち、国際的なテキストファイルの交換が容易になります。多言語のテキストを取り扱うコンピュータユーザー、オフィスワーカー、言語学者、研究員、科学者などにとっては、Unicode 規格によって仕事が非常に単純化されることがわかります。また、数学記号やその他の技術文字を常に使用する数学者と技術者にとっても、Unicode 規格は価値があります。

Unicode では、17 個の 16 ビットプレーンによって最大 1,114,112 のコードポイントがサポートされます。したがって、各プレーンでは、65,536 のコードポイントがサポートされます。

Unicode がサポートする 100 万以上のコードポイントのうち、バージョン 3.1 では、現在、プレーン 0、1、2、14 を使って 94,140 文字が定義されています。プレーン 15 と 16 は、ユーザー定義文字用に予約されています。プレーン 15 と 16 では、合わせて 131,068 ユーザー定義文字がサポートされます。

Unicode は、次の文字エンコーディングスキームの 1 つを使ってエンコードされます。

UTF-8 は、ASCII 文字コードの値を透過的に保存する可変長の Unicode エンコーディング形式です。Solaris Unicode ロケールのファイルコードには、この形式が使用されています。

UTF-16 は 16 ビットの Unicode エンコーディング形式です。UTF-16 では、最大で 65,535 文字が 1 つの 16 ビット値としてエンコードされます。65,535 から 1,114,111 の文字は 2 つの 16 ビット値としてエンコードされます (サロゲート)。

UTF-32 は、一般に 32 ビットのコンテナまたはデータタイプとして表される固定長 21 ビットの Unicode エンコーディング形式です。この形式は、Solaris Unicode ロケールの中でプロセスコード (ワイド文字コード) として使用されます。

Unicode 規格や ISO/IEC 10646、およびその表現形式については、次の資料を参照してください。

Unicode ロケール: en_US.UTF-8 サポートの概要

Unicode/UTF-8 ロケールは Unicode 3.1 をサポートします。 en_US.UTF-8 ロケールは、 UTF-8 をコードセットとして使用することによってマルチスクリプト処理をサポートします。このロケールは、複数のスクリプトでテキストを入出力できます。これは、Solaris オペレーティング環境で最初にこの機能を持ったロケールです。他の UTF-8 ロケールの機能も en_us.UTF-8 の機能と似ています。en_US.UTF-8 に関する以下の説明はこれらのロケールにも当てはまります。


注 –

UTF-8 は、1992 年の X/Open-Uniform Joint Internationalization Working Group (XoJIG) によって公式化され、1996 年に ISO と IEC によって ISO/IEC 10646-1:1993 の修正第 2 条として承認された Unicode/ISO/IEC 10646-1 のファイルシステム安全汎用文字セット変換形式です。この規格は、Unicode Consortium、ISO (国際標準化機構)、IEC (国際電気標準会議) によって、Unicode 2.0 および ISO/IEC 10646-1 として採用されました。


Solaris の Unicode ロケールは、Unicode 3.1 や ISO/IEC 10646-1 および 10646-2 に定義されているすべてのコードポイント値の処理をサポートしています。サポートされるスクリプトには、全ヨーロッパやアジアのスクリプトだけでなく、アラビア語、ヘブライ語、ヒンディー語、タイ語などの複雑なテキストレイアウトのスクリプトも含まれます。使用できるフォントに制限があるため、Solaris 9 ソフトウェアには次の文字セットの文字グリフのみ含まれています。

対応するグリフが en_US.UTF-8 ロケールに含まれていない文字をユーザーが表示させると、ロケールが、代わりに「no-glyph」というグリフを以下の例のように表示します。

Graphic

インストール時にこのロケールをシステムのデフォルトロケールとして選択することができます。

同じレベルの en_US.UTF-8 ロケールのサポートが、64 ビットと 32 ビットの Solaris システムの両方に用意されています。


注 –

Motif および Solaris CDE のデスクトップアプリケーションとライブラリは、en_US.UTF-8 ロケールをサポートしています。ただし、 XView™ と OLIT ライブラリでは en_US.UTF-8 ロケールをサポートしていません。


デスクトップ入力方式

Solaris CDE では、Xm ツールキットを使用する国際化アプリケーションで、各ロケールの文字の入力を行う機能を提供しています。XmText[Field] ウィジェットは各ロケールの入力方式のインタフェースとなります。いくつかの言語環境において、テキストは右から左、上から下などの方向に書かれるため、入力方式が国際化されています。同じアプリケーションで、複数のフォントを使用する異なる入力方式の使用が可能です。

プリエディット領域は確定前の文字列が表示されます。これは、次の 4 つのモードで行うことができます。

OffTheSpot モードでは、場所はメインウィンドウの下のステータス領域の右側です。OverTheSpot モードでは、プリエディット領域はカーソル位置です。Root モードではプリエディットおよびステータス領域はクライアントのウィンドウと分けられます。

詳細については、 VendorShell(3X) マニュアルページの XmNpreeditType リソースの項を参照してください。


注 –

Solaris 9 環境には、簡体/繁体字中国語、日本語、韓国語用の、アジア固有の入力方式があります。これらの方式は、Unicode ロケールに対する現在のマルチスクリプト入力方式の他に提供されるものです。


以下の各項では、選択された入力方式、それらの使用方法、それらの切替方法について説明します。

スクリプトの選択と入力方式

Solaris Unicode ロケールは複数のスクリプトをサポートしています。それぞれの Unicode ロケールには、次の 14 の入力方式が含まれています。

入力方式の選択

特定の入力モードに切り替えるには、Compose キーの組み合わせを使用するか、入力モード選択ウィンドウを使用します。入力モード選択ウィンドウを表示するには、アプリケーションウィンドウ左下隅のステータス領域でマウスの左ボタンを押します。次の図のような入力モード選択ウィンドウが表示されます。

図 5–1 入力モード選択ウィンドウ

Graphic

入力モードの切り替えキーシーケンス

現在の入力モードを新しい入力モードに切り替えるには、表 5–1 に示すキーシーケンスを使用します。ただし、アジアの入力方式を使用している場合は、Control と Space キーを同時に押して英語/ヨーロッパ入力モードに戻る必要があります。英語/ヨーロッパ言語入力モードに戻った後は、該当するキーシーケンスを使って任意の入力モードに自由に切り替えることができます。

たとえば、英語/ヨーロッパ言語入力モードをキリル語入力モードに切り替える場合は、次のキーシーケンスを使用します。

表 5–1 入力モードの切り替えキーシーケンス

キーシーケンス 

入力モード 

Control + Space

英語/ヨーロッパ言語 

Compose c c

キリル文字 

Compose g g

ギリシャ語 

Compose a r

アラビア語 

Compose h h

ユダヤ語 

Compose t t

タイ語 

Compose h i

ヒンディー語 

Compose j a

日本語 

Compose k o

韓国語 

Compose s c

簡体字中国語 

Compose t c

繁体字中国語 

Compose h k

繁体字中国語 (香港) 

Compose u o

Unicode 8 進数コード入力モード 

Compose u h

Unicode 16 進数コード入力モード 

Compose l l

表検索入力モード 

英語/ヨーロッパ言語入力モード

英語/ヨーロッパ言語入力モードでは、英語のアルファベットだけでなく、ヨーロッパの言語で使用される発音符号 (á、è、î、õ、ü など) や特殊文字 (¡、§、¿ など) も使用できます。

この入力モードはすべてのアプリケーションのデフォルトのモードです。入力モードは、GUI アプリケーションウィンドウの左下隅に表示されます。

Latin-1、Latin-2、Latin-4、Latin-5、Latin-9 の発音符号付きの文字や特殊文字を入力するには、次の例のように Compose シーケンスを入力する必要があります。

Ä を表示するには、次のようにします。

¿, を表示するには、次のようにします。

キーボードに Compose キーがない場合は、Control キーと Shift キーを同時に押すことによって Compose キーをエミュレートできます。

ユーロの通貨記号 (Unicode の U+20AC) を入力するには、次のいずれかのシーケンスを使用します。

上の入力シーケンスでは、両方のキーを同時に押す必要があります。キーボードに AltGraph キーがない場合は、代わりに Alt キーが使用できます。

次の表に、Solaris オペレーティング環境 で Latin-1、Latin-2、Latin-3、Latin-4、Latin-5、Latin-9 の文字の入力によく使用される Compose シーケンスを示します。

次の表に、Latin-1 の一般的な Compose シーケンスを示します。

表 5–2 Latin-1 の一般的な Compose キーシーケンス

Compose の次に押すキー

その次に押すキー 

結果 

spacebar

spacebar

スペース (space) 

s

1

上付きの 1 (superscripted 1) 

s

2

上付きの 2 (superscripted 2) 

s

3

上付きの 3 (superscripted 3) 

!

!

逆感嘆符 (inverted exclamation mark)  

x

o

通貨記号 (currency symbol ¤) 

p

!

パラグラフ記号 (paragraph symbol ¶) 

/

u

ミュー (mu u) 

'

"

アキュートアクセント記号 (acute accent ´) 

,

, (コンマ)

セディラ (cedilla Ç) 

"

"

ウムラウトまたはダイエレシス (diaeresis ¨) 

-

^

長音記号 (macron ¯) 

o

o

度 (degree °) 

x

x

乗算記号 (multiplication sign x) 

+

-

プラスマイナス (plus-minus ±) 

-

-

ソフトハイフン (soft hyphen –) 

-

:

除算記号 (division sign ÷) 

-

a

女性序数識別 (ordinal (feminine) ª) 

-

o

男性序数識別 (ordinal (masculine) º) 

-

, (コンマ)

否定 (not sign ¬) 

.

.

中点 (middle dot ·) 

1

2

分数 (vulgar fraction ½) 

1

4

分数 (vulgar fraction ¼) 

3

4

分数 (vulgar fraction ¾) 

<

<

左二重引用符 (left double angle quotation mark « ) 

>

>

右二重引用符 (right double angle quotation mark » ) 

?

?

逆疑問符 (Inverted question) 

` (逆引用符)

グレーブアクセント付き A (A grave) 

' (単一引用符)

アキュートアクセント付き A (A acute) 

*

オングストローム付き A (A angstrom) 

"

A ウムラウト (A umlaut) 

^

サーカムフレクトアクセント付き A (A circumflex) 

チルド付き A (A tilde) 

E

AE リゲチャ (AE ligature) 

C

, (コンマ)

セディラ付き C (C cedilla) 

C

o

著作権表示記号 (copyright sign ©) 

D

-

キャピタルエズ (Capital eth) 

E

` (逆引用符)

グレーブアクセント付き E (E grave) 

E

'

アキュートアクセント付き E (E acute É) 

E

"

E ウムラウト (E umlaut) 

E

^

サーカムフレクトアクセント付き E (E circumflex) 

I

` (逆引用符)

グレーブアクセント付き I (I grave) 

I

'

アキュートアクセント付き I (I acute) 

I

"

I ウムラウト (I umlaut) 

I

^

サーカムフレクトアクセント付き I (I circumflex) 

-

ポンド記号 £ 

N

チルド付き N (N tilde) 

O

` (逆引用符)

グレーブアクセント付き O (O grave) 

O

'

アキュートアクセント付き O (O acute) 

O

/

斜線付き O (O slash)  

O

"

ヂエレシス付き O (O diaeresis Ö) 

O

^

サーカムフレクトアクセント付き O (O circumflex) 

O

チルド付き O (O tilde)乗算記号 (Multiply) 

R

O

登録記号 (registered mark ®) 

T

H

アイスランド語ソーン (Thorn) 

U

` (逆引用符)

グレーブアクセント付き U (U grave) 

U

'

アキュートアクセント付き U (U acute) 

U

"

U ウムラウト (U umlaut) 

U

^

サーカムフレクトアクセント付き U (U circumflex Û) 

Y

'

アキュートアクセント付き Y (Y acute)  

Y

-

円記号 (yen sign ¥) 

a

` (逆引用符)

グレーブアクセント付き a (a grave) 

a

'

アキュートアクセント付き a (a acute) 

a

*

オングストローム付き a (a angstrom) 

a

"

a ウムラウト (a umlaut) 

a

チルド付き a (a tilde) 

a

^

サーカムフレクトアクセント付き a (a circumflex) 

a

e

ae リゲチャ (ae ligature) 

c

, (コンマ)

セディラ付きの c (c cedilla) 

c

/

セント記号 (cent sign ¢) 

c

o

著作権表示記号 (copyright sign ©) 

d

-

エズ (eth ð) 

e

` (逆引用符)

グレーブアクセント付き e (e grave) 

e

'

アキュートアクセント付き e (e acute) 

e

"

e ウムラウト (e umlaut) 

e

^

サーカムフレクトアクセント付き e (e circumflex) 

i

` (逆引用符)

グレーブアクセント付き i (i grave) 

i

'

アキュートアクセント付き i (i acute) 

i

"

i ウムラウト (i umlaut) 

i

^

サーカムフレクトアクセント付き i (i circumflex) 

n

チルド付き n (n tilde) 

o

` (逆引用符)

グレーブアクセント付き o (o grave) 

o

'

アキュートアクセント付き o (o acute) 

o

/

斜線付き o (o slash) 

o

"

o ウムラウト (o umlaut) 

o

^

サーカムフレクトアクセント付き o (o circumflex) 

o

チルド付き o (o tilde) 

s

s

ドイツ語の二重 s (シャープ S ともいう) (ß) 

t

h

ソーン (thorn þ) 

` (逆引用符)

グレーブアクセント付き u (u grave) 

u

'

アキュートアクセント付き u (u acute) 

u

"

u ウムラウト (u umlaut) 

u

^

サーカムフレクトアクセント付き u (u circumflex û) 

y

'

アキュートアクセント付き y (y acute) 

y

"

y ウムラウト (y umlaut) 

|

|

破断線 (broken bar ¦)

次の表に、Latin-2 と Latin-4 の一般的な Compose キーシーケンスを示します。

表 5–3 Latin-2 の一般的な Compose キーシーケンス

Compose の次に押すキー

その次に押すキー 

結果 

a

spacebar

ogonek á 

u

spacebar

短音記号 ü 

v

spacebar

caron  

"

spacebar

二重揚音アクセント ¨ 

a

ogonek の付いた 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 

>

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 

k

k

kra 

_

長音記号の付いた A 

E

_

長音記号の付いた E 

E

.

ドットの付いた E 

G

,

セディラ記号の付いた G 

I

_

長音記号の付いた I 

I

チルドの付いた I 

I

a

ogonek の付いた I  

K

,

セディラ記号の付いた K 

,

セディラ記号の付いた 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

エング

次の表に、Latin-3 の一般的な Compose シーケンスを示します。

表 5–4 Latin-3 の一般的な Compose キーシーケンス

Compose の次に押すキー

その次に押すキー 

結果 

C

>

サーカムフレクトアクセント付き C 

C

.

ドットの付いた C 

G

>

サーカムフレクトアクセント付き G 

G

.

ドットの付いた G  

H

>

サーカムフレクトアクセント付き H 

J

>

サーカムフレクトアクセント付き j  

S

>

サーカムフレクトアクセント付き S 

U

u

短音記号付き U 

c

>

サーカムフレクトアクセント付き c 

c

.

ドットの付いた c 

g

>

サーカムフレクトアクセント付き g 

g

.

ドットの付いた g 

h

>

サーカムフレクトアクセント付き h 

j

>

サーカムフレクトアクセント付き j  

s

>

サーカムフレクトアクセント付き s 

u

u

短音記号付き u 

次の表に、Latin-5 の一般的な Compose シーケンスを示します。

表 5–5 Latin-5 の一般的な Compose キーシーケンス

Compose の次に押すキー

その次に押すキー 

結果 

G

u

短音記号の付いた G 

I

.

ドットの付いた I 

g

u

短音記号の付いた g 

i

.

ドットの付いた i

次の表に、Latin-9 の一般的な Compose キーシーケンスを示します。

表 5–6 Latin-9 の一般的な Compose キーシーケンス

Compose の次に押すキー

次に押すキー 

結果 

o

e

oe の合字 

O

E

OE の合字 

Y

"

ウムラウトの付いた Y 

アラビア語入力モード

アラビア語入力モードを選択するには、Compose a r を押すか、入力モード選択ウィンドウで「アラビア語 (Arabic)」を選択します。入力モード選択ウィンドウの表示方法については、図 5–1 を参照してください。

次の図にアラビア語キーボードの配列を示します。

図 5–2 アラビア語キーボード

Graphic

キリル文字入力モード

キリル文字入力モードを選択するには、Compose c c を押すか、入力モード選択ウィンドウで「キリル文字 (Cyrillic)」を選択します。 入力モード選択ウィンドウの表示方法については、図 5–1 を参照してください。

次の図にキリル文字 (ロシア語) キーボードの配列を示します。

図 5–3 キリル文字 (ロシア語) キーボード

Graphic

キリル文字入力モードでは、英語やヨーロパ言語のテキストを入力することはできません。英語/ヨーロッパ言語入力モードに戻るには、 ControlSpace を同時に押すか、入力モード選択ウィンドウのステータス領域をクリックし、「英語/ヨーロッパ言語 (English/European)」入力モードを選択します。詳細については、図 5–1 を参照してください。

また、対応する入力モード切替キーシーケンスを入力することで、他の入力モードに切り替えることもできます。

ギリシャ語入力モード

ギリシャ語入力モードを選択するには、Compose g g を押すか、入力モード選択ウィンドウで「ギリシャ語 (Greek)」を選択します。入力モード選択ウィンドウの表示方法については、図 5–1 を参照してください。

ギリシャ語入力モードでは、英語やヨーロパ言語のテキストを入力することはできません。英語/ヨーロッパ言語入力モードに戻るには、 ControlSpace を同時に押すか、入力モード選択ウィンドウのステータス領域をクリックし、「英語/ヨーロッパ語 (English/European)」入力モードを選択します。次の図にギリシャ語キーボード (ヨーロッパキーボード) の配列を示します。

図 5–4 ギリシャ語キーボード (ヨーロッパキーボード)

Graphic

次の図にギリシャ語キーボード (UNIX キーボード) を示します。

図 5–5 ギリシャ語キーボード (UNIX キーボード)

Graphic

ヘブライ語入力モード

ヘブライ語入力モードを選択するには、Compose h h を押すか、入力モード選択ウィンドウで「ヘブライ語 (Hebrew)」を選択します。 入力モード選択画面の表示方法については、 図 5–1 を参照してください。

次の図にヘブライ語キーボードの配列を示します。

図 5–6 ヘブライ語キーボード

Graphic

ヒンディー語入力モード

ヒンディー語入力モードを選択するには、Compose h i を押すか、入力モード選択ウィンドウで「ヒンディー語 (Hindi)」を選択します。入力モード選択ウィンドウの表示方法については、図 5–1 を参照してください。英語/ヨーロッパ言語入力モードに戻るには、 ControlSpace を同時に押すか、入力モード選択ウィンドウのステータス領域をクリックし、「英語/ヨーロッパ語 (English/European)」入力モードを選択します。

図 5–7 ヒンディー語キーボード

Graphic

次の図に Hindi-Shift キーボードの配列を示します。

図 5–8 Hindi-Shift キーボード

Graphic

日本語入力モード

日本語入力モードを選択するには、Compose j a を押すか、入力モード選択ウィンドウで「日本語 (Japanese)」を選択します。入力モード選択ウィンドウの表示方法については、図 5–1 を参照してください。

日本製の日本語入力方式を使用するには、システムに日本語ロケールをインストールし、システムを再起動する必要があります。日本語ロケールをインストールした後は、すべての UTF-8 ロケールで ATOK12 を使用できます。Wnn6 は、ja_JP.UTF-8 を除き、UTF-8 ロケールでは使用できません。

図 5–9 日本語キーボード

Graphic

韓国語入力モード

韓国語入力モードを選択するには、Compose k o を押すか、入力モード選択ウィンドウで「韓国語 (Korean)」を選択します。入力モード選択ウィンドウの表示方法については、図 5–1 を参照してください。

韓国製の韓国語入力システムを使うには、システムに Ko.UTF-8 ロケールをインストールする必要があります。韓国語ロケールをインストールした後は、韓国製の韓国語入力システムを使用することができます。韓国語入力システムの使い方の詳細については、『Korean Solaris User's Guide』を参照してください。

図 5–10 韓国語キーボード

Graphic

簡体字中国語入力モード

簡体字中国語入力モードを選択するには、Compose s c を押すか、入力モード選択ウィンドウで「簡体字中国語 (S-Chinese)」を選択します。入力モード選択ウィンドウの表示方法については、図 5–1 を参照してください。

中国製の簡体字中国語入力システムを使用するには、システムに zh.UTF-8 ロケールをインストールする必要があります。簡体字中国語入力システムの使い方の詳細については、『Simplified Chinese Solaris User's Guide』を参照してください。

タイ語入力モード

タイ語入力モードを選択するには、Compose t t を押すか、入力モード選択ウィンドウで「タイ語 (Thai)」を選択します。入力モード選択ウィンドウの表示方法については、図 5–1 を参照してください。

英語/ヨーロッパ言語入力モードに戻るには、 ControlSpace を同時に押すか、入力モード選択ウィンドウのステータス領域をクリックし、「英語/ヨーロッパ言語 (English/European)」入力モードを選択します。

次の図にタイ語キーボードの配列を示します。

図 5–11 タイ語キーボード

Graphic

繁体字中国語入力モード

繁体字中国語入力モードを選択するには、Compose t c を押すか、入力モード選択ウィンドウで「繁体字中国語 (T-Chinese)」を選択します。入力モード選択ウィンドウの表示方法については、図 5–1 を参照してください。

台湾製の繁体字中国語入力システムを使うには、システムに zh_TW.UTF-8 ロケールをインストールする必要があります。繁体字中国語入力システムの使い方の詳細については、『Traditional Chinese Solaris User's Guide』を参照してください。

繁体字中国語 (香港) 入力モード

繁体字中国語 (香港) 入力モードを選択するには、Compose hk を押すか、入力モード選択ウィンドウで「繁体字中国語 (香港) (T-Chinese (Hong Kong))」を選択します。入力モード選択ウィンドウの表示方法については、図 5–1 を参照してください。

香港製の繁体字中国語 (香港) 入力システムを使うには、システムに繁体字中国語 (香港) ロケールをインストールする必要があります。

Unicode 16 進数入力モード

Unicode 16 進数入力モードを選択するには、Compose u h を押すか、入力モード選択ウィンドウで「Unicode 16 進 (Unicode Hex)」を選択します。8 進数入力モードを選択するには、Compose u o を押すか、「Unicode 8 進 (Unicode Octal)」を選択します。 入力モード選択ウィンドウの表示方法については、図 5–1 を参照してください。

この入力モードを使用するには、文字の 16 進数コード値または、8 進数コード値を知っている必要があります。コード値と文字の対応については、『The Unicode Standard, Version 3.0』を参照してください。

Unicode 16 進数のコード入力モードで文字を入力する場合は、4 桁の 16 進数を入力します。 次はその例です。

16 進数に使用する A、B、C、D、E、F は、大文字でも小文字でもかまいません。16 進法の代わりに 8 進法にする場合、0 から 7 までの 8 進法の数字を入力できます。間違えて入力した 16 進数は、Delete キーか Backspace キーで削除できます。

表検索入力モード

表検索入力モードを選択するには、 Compose l l を押すか、入力モード選択ウィンドウで「Unicode 表から選択 (Lookup)」を選択します。入力モード選択ウィンドウの表示方法については、図 5–1 を参照してください。

2 つめの検索ウィンドウには、このグループの候補が同時に最大 80 まで表示されます。前の候補群を表示するには Control n を、次の候補語を表示するには Control p をそれぞれ押します。

システム環境

この節では、環境変数、TTY 環境の設定、32 ビットおよび 64 ビット STREAMS モジュール、および端末サポートについて説明します。

ロケールの環境変数

システムに en_US.UTF-8 がインストールされていることを確認してください。各カテゴリの現在の環境変数は、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=

en_US.UTF-8 ロケールデスクトップ環境を使用するには、まずロケールを選択します。TTY 環境で、まず環境変数 LANGen_US.UTF-8 に設定してこのロケールを選択します。C シェルの例を以下に示します。

system% setenv LANG en_US.UTF-8

LC_ALLLC_COLLATE LC_CTYPELC_MESSAGESLC_NUMERICLC_MONETARYLC_TIME カテゴリには、何も設定されていないか、en_US.UTF-8 が設定されていなければなりません。これらのカテゴリに値が設定されていると、その値が、それより優先度の低い LANG 環境変数の値の代わりに使用されます。環境変数の階層については、setlocale(3C) のマニュアルページを参照してください。

また、CDE ログイン画面の「オプション」->「言語」メニューで en_US.UTF-8 を選択することにより、en_US.UTF-8 環境を起動することもできます。

TTY 環境の設定

使用している端末や端末エミュレータによっては、コードセット固有の一定の STREAMS モジュールをストリームにプッシュしなければならない場合があります。

STREAMS モジュールの詳細および一般的なストリームについては、『STREAM Programming Guide』を参照してください。

次の表に、端末環境で en_US.UTF-8 ロケールによってサポートされる STREAMS モジュールを示します。

表 5–7 en_US.UTF-8 によりサポートされる 32 ビット STREAMS モジュール

32 ビット STREAMS モジュール 

説明 

/usr/kernel/strmod/u8lat1

UTF-8ISO8859–1 (西ヨーロッパ) のコード変換 STREAMS モジュール

/usr/kernel/strmod/u8lat2

UTF-8ISO8859–2 (東ヨーロッパ) のコード変換 STREAMS モジュール

/usr/kernel/strmod/u8koi8

UTF-8KOI8–R (キリル文字) のコード変換 STREAMS モジュール

次の表に、en_US.UTF-8 によってサポートされる 64 ビット STREAMS モジュールを示します。

表 5–8 en_US.UTF-8 によりサポートされる 64 ビット STREAMS モジュール

64 ビット STREAMS モジュール 

説明 

/usr/kernel/strmod/sparcv9/u8lat1

UTF-8ISO8859-1 (西ヨーロッパ) のコード変換 STREAMS モジュール

/usr/kernel/strmod/sparcv9/u8lat2

UTF-8ISO8859-2 (東ヨーロッパ) のコード変換 STREAMS モジュール

/usr/kernel/strmod/sparcv9/u8koi8

UTF-8KOI8-R (キリル文字) のコード変換 STREAMS モジュール

STREAMS モジュールのカーネルへのロード

STREAMS モジュールをカーネルにロードするには、まずルートになります。

次のように isainfo(1) ユーティリティを使用して、Solaris システムが 64 ビットと 32 ビットのどちらであるかを判断します。

system# isainfo -v
64-bit sparcv9 applications
32-bit sparc applications

この情報が返された場合は、実行されているのは 64 ビットの Solaris システムです。実行されているのが 32 ビットの Solaris システムである場合は、次のように表示されます。

system# isainfo -v
32-bit sparc applications

modinfo(1M) を使用して、システムにすでに STREAMS モジュールがロードされていないかを確認します。

system# modinfo | grep  modulename

u8lat1 などの STREAMS モジュールがすでにインストールされている場合は、出力は次のようになります。

system# modinfo | grep u8lat1
89 ff798000  4b13  18   1  u8lat1 (UTF-8 <--> ISO 8859-1 module)

モジュールがすでにインストールされている場合は、ロードする必要はありません。ただし、モジュールがロードされていない場合は、次のように modload(1M) を使用します。

system# modload /usr/kernel/strmod/u8lat1

32 ビットの u8lat1 STREAMS モジュールがカーネルにロードされ、ストリームにプッシュすることができます。64 ビットの Solaris 製品を実行している場合は、次のように modload(1M) を使用します。

system# modload /usr/kernel/strmod/sparcv9/u8lat1

STREAMS モジュールがカーネルにロードされ、ストリームにプッシュすることができます。

モジュールをカーネルからアンロードするには、次のように modunload(1M) を使用します。この例では、u8lat1 モジュールがアンロードされます。

system# modinfo | grep u8lat1
89 ff798000  4b13  18   1  u8lat1 (UTF-8 <--> ISO 8859-1 module)
system# modunload -i 89

UTF-8 文字の入出力が可能な dtterm および端末

Solaris オペレーティング環境の旧リリースとは異なり、UTF-8 コードセットの入出力をサポートする dtterm(1) 端末とその他の端末では、ストリームに追加 STREAMS モジュールを置く必要はありません。ldterm(7M) (7M) モジュールは、現在ではコードセットに依存せず、Unicode/UTF-8 もサポートしています。

Unicode ロケールの端末環境を設定するには、stty(1) ユーティリティを使用します。 現在の設定を照会する場合は、stty(1) ユーティリティに -a オプションを指定します。

system% /bin/stty -a

注 –

/usr/ucb/stty は国際化されていないので、代わりに /bin/stty を使ってください。


Latin-1、Latin-2、および KOI8-R の端末サポート

Latin-1 (ISO8859-1)、Latin-2 (ISO8859-2)、または KOI8-R だけをサポートする端末の場合、STREAMS は次のように構成されている必要があります。

head <-> ttcompat <->  ldterm <->  u8lat1 <-> TTY

これは Latin-1 をサポートする端末用の構成です。Latin-2 端末の場合は、STREAMS モジュール u8lat1u8lat2 に置き換えます。KOI8-R 端末の場合は、このモジュールを u8koi8 に置き換えます。

STREAMS モジュールがすでにカーネルにロードされていることを確認してください。

上記の STREAMS 構成を設定するには、strchg(1M) を次のように使用します (2 つめのコマンド行)。

system% cat> tmp/mystreams 
ttcompat
ldterm
u8lat1
ptem
^D
system% strchg -f /tmp/mystreams

strchg(1) を使用する場合、スーパーユーザーかデバイスの所有者としてログインしていることを確認します。現在の構成を確認するには、次のように strconf(1) を使用します。

system% strconf
ttcompat
ldterm
u8lat1
ptem
pts
system%

元の構成に戻すには、次のように STREAMS の構成を設定します。

system% cat> /tmp/orgstreams
ttcompat
ldterm
ptem
^D
system% strchg -f /tmp/orgstreams

~/.cshrc への設定の保存

必要な STREAMS モジュールがカーネルにロードされたら、以下の行を .cshrc ファイル (C シェルの場合) に保存すると便利です。

setenv LANG en_US.UTF-8
if ($?USER != 0 && $?prompt != 0) then
     cat>! /tmp/mystreams$$ << _EOF
     ttcompat
     ldtterm
     u8lat1
     ptem
_EOF
     /bin/strchg -f /tmp/mystreams$$
     /bin/rm -f /tmp/mystreams$$
     /bin/stty cs8 -istrip defeucw
endif

.cshrc ファイルにこれらの行がすでにある場合は、STREAMS モジュールを使用するたびにこれらのコマンドを入力する必要はありません。2 つめの _EOF は行の先頭の位置になければなりません。

コード変換

Unicode ロケールがサポートされることにより、iconv(1)iconv(3C)sdtconvtool(1) を使って、多くの国の主なコードセット間のさまざまなコード変換を行うことができるようになります。

Solaris 9 環境では、ユーティリティ geniconvtbl によって、ユーザー定義のコード変換が行えます。geniconvtbl ユーティリティを使って作成したユーザー定義コード変換は、 iconv(1)iconv(3) の両方で使用できます。このユーティリティの詳細については、geniconvtbl(1)geniconvtbl(4) のマニュアルページを参照してください。

iconv(1)iconv_open(3C)sdtconvtool(1) に適用できる fromcodetocode の名前については、付録 A 「iconv コード変換」 の表を参照してください。iconv コード変換の詳細については、iconv(1)iconv_open(3C)iconv(3)iconv_close(3C)geniconvtbl(1)geniconvtbl(4)sdtconvtool(1) のマニュアルページを参照してください。利用可能なコード変換については、 iconv_en_US.UTF-8(5)iconv(5)iconv_ja(5) iconv_ko(5)iconv_zh(5)iconv_zh_TW(5) のマニュアルページを参照してください。 また、付録 A 「iconv コード変換」 も参照してください。


注 –

UCS-2、UCS-4、UTF-16、UTF-32 はすべて、Unicode 3.1 と ISO/IEC 10646-1:2000 規格で定義されているバイト順序マーク (BOM) 文字を認識する Unicode/ ISO/IEC 10646 表示書式です。ただし、この文字が文字ストリームの最初の位置になければなりません。UCS-2BE、UCS-4BE、UTF-16BE、UTF-32BE など他の書式はすべて、BOM 文字を認識しない固定幅の Unicode/ISO/IEC 10646 表示書式です。この書式のバイト順序は、ビッグエンディアンであるとみなされます。一方、UCS-2LE、UCS-4LE、UTF-16LE、UTF-32LE などの表示書式のバイト順序はリトルエンディアンであるとみなされます。また、これらの表示書式も、BOM 文字を認識しません。

対応する ISO8859–* や KO18–* のスクリプトや言語については、http://czyborra.com/charsets/iso8869.html を参照してください。


DtMail

サポートするスクリプトが増えたために、en_US.UTF-8 ロケールで実行される Solaris 9 DtMail は以下に示す各種の MIME 文字セットをサポートします。

このサポートによって、世界中のどの地域のどの文字セットで符号化された電子メールでも、ほとんどの場合は 1 つの DtMail のインスタンスだけで表示できます。DtMail は、到着した電子メールを、そこに指定されている MIME 文字セットと Content-Ttransfer-Encoding に基づいて復号化します。Windows-125x MIME 文字がサポートされています。

送信の場合は、受信者のメールユーザーエージェント (メールクライアント) が理解できる MIME 文字セットを指定する必要があります。あるいは、指定せずに、en_US.UTF-8 ロケールによって提供されるデフォルトの 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 を参照してください。

図 5–12 DtMail New Message ウィンドウ

Graphic

プログラミング環境

正しく国際化されたアプリケーションは自動的に en_US.UTF-8 ロケールが有効になります。そのためには、アプリケーションのリソースファイルで、適切な FontSet/XmFontList を定義することが必要です。

国際化されたアプリケーションについての詳細は、『Creating Worldwide Software: Solaris International Developer's Guide』の第 2 版を参照してください。

X アプリケーションで使用されるフォントセット

X アプリケーションで使用されるフォントセットについては、Unicode ロケール: en_US.UTF-8 サポートの概要を参照してください。

Solaris 9 環境は CDE デスクトップ環境をサポートしているので、各文字セットにはフォントのセットが保証されています。

以下のリストは、Solaris 9 製品でサポートされている 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

-dt-interface user-* -dt-application-* 別名 (エイリアス) など、CDE 共通のフォント別名については、 『共通デスクトップ環境プログラマーズガイド (国際化対応編)』を参照してください。

en_US.UTF-8 ロケールでは、utf もこのロケールの共通フォント別名としてサポートされています。これは、X 論理フォント記述名のスタイルフィールドの追加属性として使用されています。したがって、適切なフォントセットを用意するためには、次の例のように、フォントセットの作成で追加のスタイルを指定する必要があります。

fs = XCreateFontSet(display,
"-dt-interface system-medium-r-normal-s*utf*",
 &missing_ptr, &missing_count, &def_string);

CDE/Motif アプリケーションとしての FontList 定義

フォントセット定義の場合と同じように、アプリケーションの XmFontList リソース定義にも、このロケールでサポートされる追加のスタイル属性を指定する必要があります。

*fontList:\
 -dt-interface system-medium-r-normal-s*utf*: