國際語言環境指南

第 5章 UTF-8 語言環境支援概述

本章節將說明下列事項

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 可支援的超過一百萬個編碼點中,3.1 版目前可在 0、1、2 和 14 平面上定義 94,140 個字元。15 和 16 平面,也就是使用者定義字元,則只供私人使用。15 和 16 平面可合併支援總計 131,068 個使用者定義字元。

可使用下列任何的字元編碼機制來進行 Unicode 的編碼:

UTF-8 是一種可變長度的 Unicode 編碼格式,能有效地保存 ASCII 字元編碼值。此格式的使用方法如同 Solaris Unicode 語言環境中的檔案碼一般。

UTF-16 為16 位元的 Unicode 編碼格式。在 UTF-16 中,達到 65,535 的字元將編碼為單一 16 位元值。對映超過 65,535 到 1,114,111 之間的字元則編碼為成對的 16 位元值 (代用值)。

UTF-32 為固定長度的 21 位元 Unicode 編碼格式,通常出現在 32 位元容器或資料類型中。此格式在 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 為 X/Open-Uniforum Joint Internationalization Working Group (XoJIG) 在 1992 年所制定的 Unicode / ISO/IEC 10646-1 檔案系統安全「通用字元集變換格式」,並由 ISO 和 IEC 所認可,且在 1996 年進行 ISO/IEC 10646-1:1993 的修正 2。本標準已由 Unicode Consortium 、國際標準組織和國際電子技術委員會所採用,並成為 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

在安裝時該語言環境將為可選項,並指定為系統預設語言環境。

64 位元或 32 位元的 Solaris 系統都提供相同等級的 en_US.UTF-8語言環境支援。


註解 –

Motif 和 CDE 桌上管理系統的應用程式及程式庫都支援 en_US.UTF-8 語言環境。不過,XView™ 和 OLIT 程式庫支援 en_US.UTF-8 語言環境。


桌上管理系統輸入法

CDE 可讓您使用 Xm 工具箱在國際化的應用程式中進行本土化的輸入。可啟用 XmText[Field] widgets 以建立與每個語言環境輸入法之間的介面。由於某些語言環境的文字撰寫方式為由右到左、由上到下等等,因此輸入法已進行國際化。在相同的應用程式中,您可以使用套用數種字型的不同輸入法。

預先編輯區可顯示已預先編輯的字串。可以四種模式來完成:

在 OffTheSpot 模式中,其位置就位於狀態區右邊「主視窗」的正下方。 在 OverTheSpot 模式中,預先編輯區就位於游標點的位置。 在 Root 模式中,預先編輯區和狀態區是與用戶端視窗分隔開來的。

若需更詳細的資訊,請參閱 VendorShell(3X) 線上援助頁的 XmNpreeditType 資源說明。


註解 –

在 Solaris 9 環境中,亞洲當地的輸入法共分為簡體/繁體中文、日文和韓文。 這些是除了 Unicode 語言環境目前的多字體輸入法之外的方法。


以下的討論包含了選定的輸入法、如何使用,以及如何在這些方法中進行切換的說明。

字體選擇和輸入法

Solaris Unicode 語言環境可支援多重字體。每個 Unicode 語言環境都有 14 個輸入模式:

存取輸入模式

您可以使用 Compose 鍵組合或透過輸入模式選擇視窗來切換至特定的輸入模式。 若要存取輸入模式選擇視窗,請在應用程式視窗左下角的狀態區上按一下滑鼠鍵。輸入模式選擇視窗顯示於下圖中。

圖 5–1 輸入模式選擇視窗

Graphic

輸入模式切換鍵序列

您可以使用列於 表 5–1 中的鍵序列來將目前的輸入模式變更為新的輸入模式。使用這些鍵序列的唯一限制就是,如果您正處於任何一種亞洲輸入模式中,就必須同時按住 Control 鍵和控格鍵以切換回英文/歐洲語系模式。一旦進入英文/歐洲語系輸入模式之後,您就可以使用鍵序列隨意在任何輸入中進行切換。

下列的鍵序列將顯示如何從英文/歐洲語系模式切換至 Cyrillic:

表 5–1 輸入模式切換鍵序列

鍵序列 

輸入模式 

Control + Spacebar

英文/歐洲語系 

Compose c c

Cyrillic 

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 八進位碼輸入法。 

Compose u h

Unicode 十六進位碼輸入法。 

Compose l l

查表輸入法 

英文/歐洲語系輸入模式

英文/歐洲語系輸入模式包括了加上區別符號字元的英文字母 ( 例如,á、è、î、õ 和 ü) ,以及歐洲語系字體字元 (如 ¡、§、¿) 。

此輸入模式是所有應用程式的預設模式。輸入模式顯示於 GUI 應用程式視窗的左下角。

若要插入具有區別符號的字元或 Latin-1、Latin-2、Latin-4、Latin-5 和 Latin-9 中的特殊字元,您必須依照以下範例所述輸入 Compose 鍵序列。

若要顯示 Ä 字元:

若要顯示 ¿, 字元。

若您的鍵盤上沒有 Compose 鍵,您可以同時按住 Control 鍵和 Shift 鍵以模擬該鍵的操作。

您可以使用下列任一種輸入序列來輸入所在語言環境的歐元貨幣符號 (Unicode value U+20AC) :

藉由這些序列,您可以同時按住兩個鍵。 若您的鍵盤上沒有 AltGraph 鍵,可以用 Alt 鍵取代。

以下表格顯示出 Solaris 作業環境中最常用的 Latin-、Latin-2、Latin-3、Latin-4、Latin-5 和 Latin-9 字體撰寫序列。

以下表格列出了常用的 Latin-1 Compose 鍵序列。

表 5–2 常用 Latin-1 Compose 鍵序列

按一下 Compose,然後按住之後放開

然後按住之後放開 

結果 

spacebar

spacebar

不中斷空間 

s

1

superscripted 1 

s

2

superscripted 2 

s

3

superscripted 3 

!

!

倒置的驚嘆號 

x

o

貨幣符號 ¤ 

p

!

段落符號 ¶ 

/

u

mu u 

'

"

重音符號 ´ 

,

, (逗號)

C 字加下面一撇 Ç 

"

"

分音符號 ¨ 

-

^

長音符號 ¯ 

o

o

度數符號 ° 

x

x

multiplication sign x 

+

-

加減號 ± 

-

-

連字號 – 

-

:

除號 ÷ 

-

a

序數 (陰性) ª 

-

o

序數 (陽性) º 

-

, (逗號)

Not 符號 ¬ 

.

.

中點 · 

1

2

普通分數 ½ 

1

4

普通分數 ¼ 

3

4

普通分數 ¾ 

<

<

左向雙箭頭引號 «  

n

n

右向雙箭頭引號 «  

?

?

倒置的問號 ¿ 

A

` (後引號)

A 加抑音符 À 

A

' (單引號)

A 加重音符 Á 

A

*

A 加上環 Å 

A

"

A 加分音符 Ä 

A

^

A 加抑揚音符  

A

~

A 加波浪符號 à

A

E

AE 雙元音符號 Æ 

C

, (逗號)

C 字加下面一撇(軟音符號)Ç 

C

o

版權符號 © 

D

-

大寫 eth ð 

E

` (後引號)

E 加抑音符 È 

E

'

E 加重音符 É 

E

"

E 加分音符 Ë 

E

^

E 加抑揚音符 Ê 

I

` (後引號)

I 加抑音符 Ì 

I

'

I 加重音符 Í 

I

"

I 加分音符 Ï 

I

^

I 加抑揚音符 Π

L

-

磅標記 £ 

N

~

N 加波浪符號 Ñ 

O

` (後引號)

O 加抑音符 Ò 

O

'

O 加重音符 Ó 

O

/

O 加斜線 Ø 

O

"

O 加分音符 Ö 

O

^

O 加抑揚音符 Ô 

O

~

O 加波浪符號 Õ 

R

O

註冊商標 ® 

T

H

Thorn þ 

U

` (後引號)

U 加抑音符 Ù 

U

'

U 加重音符 Ú 

U

"

U 加分音符 Ü 

U

^

U 加抑揚音符 Û 

Y

'

Y 加抑音符 ý 

Y

-

日圓符號 ¥ 

a

` (後引號)

a 加抑音符 à 

a

'

a 加重音符 á 

a

*

a加上環 å 

a

"

a 加分音符 ä 

a

~

a 加波浪符號  

a

^

a 加抑揚音符 â 

a

e

ae 雙元音符號 æ 

c

, (comma)

c 字加下面一撇 ç 

c

/

分符號 ¢ 

c

o

版權符號 © 

d

-

eth ð 

e

` (後引號)

e 加抑音符 è 

e

'

e 加重音符 é 

e

"

e 加分音符 ë 

e

^

e 加抑揚音符 ê 

i

` (後引號)

i 加抑音符 ì 

i

'

i 加重音符 í 

i

"

i 加分音符 ï 

i

^

i 加抑揚音符 î 

n

~

n 加波浪符號 ñ 

o

` (後引號)

o 加抑音符 ò 

o

'

o 加重音符 ó 

o

/

o 加斜線 ø 

o

"

o 加分音符 ö 

o

^

o 加抑揚音符 ô 

o

~

o 加波浪符號 õ 

s

s

德文中的雙 s ß 也就是高半音的 S 

t

h

thorn þ 

` (後引號)

u 加抑音符 ù 

u

'

u 加重音符 ú 

u

"

u加分音符 ü 

u

^

u 加抑揚音符 û 

y

'

y 加重音符 y 

y

"

y 加分音符 ÿ 

|

|

破折號 ¦

以下表格列出了常用的 Latin-2 和 Latin-4 Compose 鍵序列。

表 5–3 常用 Latin-2 Compose 鍵序列

按一下 Compose,然後按住之後放開

按住後放開 

結果 

a

spacebar

ogonek 

u

spacebar

短音符 

v

spacebar

caron  

"

spacebar

雙重音符 

A

a

A 加 ogonek 

A

u

A 加短音符 

C

'

C 加重音符 

C

v

C 加 caron  

D

v

D 加 caron 

-

D

D 加一筆畫畫 

E

v

E 加 caron 

E

a

E 加 ogonek 

L

'

L 加重音符 

L

-

L 加一筆畫畫 

L

n

L 加 caron 

N

'

N 加重音符 

N

v

N 加 caron 

O

n

O 加雙重音符 

S

'

S 加重音符 

S

v

S 加 caron 

S

,

S 字下面加一撇 

R

'

R 加重音符 

R

v

R 加 caron 

T

v

T 加 caron 

T

,

T 字下面加一撇 

U

*

U 加上環  

U

n

U 加雙重音符 

Z

'

Z 加重音符 

Z

v

Z 加 caron 

Z

.

Z 字上加一點 

k

k

kra 

A

_

A 加長音符號 

E

_

E 加 長音符號 

E

.

E 字上加一點 

G

,

G 字下面加一撇 

I

_

I 加 長音符號 

I

~

I 加波浪符號 

I

a

I 加 ogonek 

K

,

K 字下面加一撇 

L

,

L 字下面加一撇 

N

,

N 字下面加一撇 

O

_

O 加長音符號 

R

,

R 字下面加一撇 

T

|

T 加一筆畫 

U

~

U 加波浪符號 

U

a

U 加 ogonek 

U

_

U 加長音符號 

N

N

Eng 

a

_

a1 加長音符號 

e

_

e 加長音符號 

e

.

e 字上加一點 

g

,

g 字下面加一撇 

i

_

i 加長音符號 

i

~

i 加波浪符號 

i

a

i 加 ogonek 

k

,

k 字下面加一撇 

l

,

l 字下面加一撇 

n

,

n 字下面加一撇 

o

_

o 加長音符號 

r

,

r 字下面加一撇 

t

|

t 加一筆畫 

u

~

u 加波浪符號 

u

a

u 加 ogonek 

u

_

E 加 長音符號 

n

n

eng

   

以下表格列出了常用的 Latin-3 Compose 鍵序列。

表 5–4 常用 Latin-3 Compose 鍵序列

按一下 Compose,然後按住再放開

按住後放開 

結果 

C

n

C 加抑揚音符 

C

.

C 字上加一點 

G

n

G 加抑揚音符 

G

.

G 字上加一點 

H

n

H 加抑揚音符 

J

n

j 加抑揚音符 

S

n

S 加抑揚音符 

U

u

U 加短音符 

c

n

c 加抑揚音符 

c

.

c 字上加一點 

g

n

g 加抑揚音符 

g

.

g 字上加一點 

h

n

h 加抑揚音符 

j

n

j 加抑揚音符 

s

n

s 加抑揚音符 

u

u

u 加短音符 

以下表格列出了常用的 Latin-5 Compose 鍵序列。

表 5–5 常用 Latin-5 Compose 鍵序列

按一下 Compose,然後按住之後放開

按住後放開 

結果 

G

u

G 加短音符 

I

.

l 字上加一點 

g

u

g 加短音符 

i

.

i 無點

以下表格列出了常用的 Latin-9 Compose 鍵序列。

表 5–6 常用 Latin-9 Compose 鍵序列

按一下 Compose,然後按住再放開

按住後放開 

結果 

o

e

連音符 oe 

O

E

連音符 OE 

Y

"

Y 分音符 

阿拉伯文輸入模式

若要切換至阿拉伯文輸入模式,請按一下 Compose g g,或在輸入模式選擇視窗中選擇阿拉伯文。若需要更多關於存取輸入模式選擇視窗的資訊,請參閱 圖 5–1

下圖顯示了阿拉伯文鍵盤的配置。

圖 5–2 阿拉伯文鍵盤

Graphic

Cyrillic 輸入模式

若要切換至 Cyrillic 輸入模式,請按一下 Compose c c ,或在輸入模式選擇視窗中選擇 Cyrillic。 若需要更多關於存取輸入模式選擇視窗的資訊,請參閱 圖 5–1.

Cyrillic(俄文)鍵盤配置如下圖所示。

圖 5–3 Cyrillic (俄文) 鍵盤

Graphic

當您切換至 Cyrillic 輸入模式之後,便無法輸入英文或歐洲文字。若要切換英文/歐洲語系輸入模式,請同時按下 Controlspacebar,或是從狀態區域的輸入模式選取視窗中按一下,選取英文/歐洲語系輸入模式。請參閱 圖 5–1

您也可以輸入相關輸入模式切換按鍵序列,切換至其他輸入模式。

希臘文輸入模式

若要切換至希臘文輸入模式,請按一下 Compose g g,或在輸入模式選擇視窗中選擇希臘文。若需要更多關於存取輸入模式選擇視窗的資訊,請參閱 圖 5–1.

當您切換至希臘文輸入模式之後,便無法輸入英文或歐洲文字。若要切換英文/歐洲語系輸入模式,請同時按下 Controlspacebar,或是從狀態區域的輸入模式選取視窗中按一下,選取英文/歐洲語系輸入模式。下圖顯示了希臘文 Euro 鍵盤的配置。

圖 5–4 希臘文 Euro 鍵盤

Graphic

下圖顯示了希臘文 UNIX 鍵盤的配置。

圖 5–5 希臘文 UNIX 鍵盤

Graphic

希伯來文輸入模式

若要切換成希伯來文輸入模式,請按下Compose h h ,或從輸入模式選取視窗中選取希伯來文。 若需要更多關於存取輸入模式選擇視窗的資訊,請參閱 圖 5–1.

下圖顯示了希伯來文鍵盤的配置。

圖 5–6 希伯來文鍵盤

Graphic

印度文輸入模式

若要切換成印度文輸入模式,請按下 Compose h i,或從輸入模式選取視窗中選取印度文。如需存取輸入模式選取視窗的詳細資訊,請參閱 圖 5–1。若要切換回英文/歐洲語系輸入模式,請同時按住 Controlspacebar,或按一下狀態區在輸入模式選擇視窗中選擇英文/歐洲語系輸入模式。

圖 5–7 印度文鍵盤

Graphic

下圖顯示了印度文 Shift 鍵盤的配置。

圖 5–8 印度文-Shift 鍵盤

Graphic

日文輸入模式

若要切換至日文輸入模式,請按一下Compose j a ,或在輸入模式選擇視窗中選擇日文。如需存取輸入模式選取視窗的詳細資訊,請參閱 圖 5–1

若要使用原始的日文輸入模式,您必須安裝一或多個日文語言環境並重新啟動系統。在您安裝日文語言環境之後,您就可以在所有的UTF-8 語言環境中使用 ATOK12。Wnn6 無法用於 UTF-8 語言環境,除非是在 ja_JP.UTF-8

圖 5–9 日文鍵盤

Graphic

韓文輸入模式

若要切換至韓文輸入模式,請按一下Compose k o ,或在輸入模式選擇視窗中選擇韓文。若需要更多關於存取輸入模式選擇視窗的資訊,請參閱 圖 5–1

若要使用當地的韓文輸入系統,您必須在系統上安裝一個或多個韓文語言環境。一旦您安裝了韓文語言環境,您便可以使用原始的韓文輸入系統。如需使用韓文輸入系統的詳細資訊,請參閱「 韓文 Solaris 使用者指南」。

圖 5–10 韓文鍵盤

Graphic

簡體中文輸入模式

若要切換至簡體中文輸入模式,請按一下Compose s c ,或在輸入模式選擇視窗中選擇簡體中文。若需要更多關於存取輸入模式選擇視窗的資訊,請參閱 圖 5–1.

若要使用原始的簡體中文輸入系統,您需要在系統上安裝一或多個簡體安裝語言環境 。如需使用簡體中文輸入系統的詳細資訊,請參閱「 簡體中文 Solaris 使用者指南」。

泰文輸入模式

若要切換成泰文輸入模式,請按下 Compose h i,或從輸入模式選取視窗中選取泰文。如需存取輸入模式選取視窗的詳細資訊,請參閱 圖 5–1

若要切換回英文/歐洲語系輸入模式,請同時按住 Controlspacebar,或按一下狀態區在輸入模式選擇視窗中選擇英文/歐洲語系輸入模式。

下圖顯示了泰文鍵盤的配置。

圖 5–11 泰文鍵盤

Graphic

繁體中文輸入模式

若要切換至繁體中文輸入模式,請按一下Compose t c ,或在輸入模式選擇視窗中選擇繁體中文輸入模式。若需要更多關於存取輸入模式選擇視窗的資訊,請參閱 圖 5–1

若要使用原始的繁體中文輸入系統,您需要在系統上安裝一或多個繁體安裝語言環境 。如需使用繁體中文輸入系統的詳細資訊,請參閱「繁體中文 Solaris 使用者指南」。

繁體中文(香港)輸入模式

若要切換至繁體中文輸入模式,請按一下Compose h k ,或在輸入模式選擇視窗中選擇繁體中文 (香港)。若需要更多關於存取輸入模式選擇視窗的資訊,請參閱 圖 5–1

若要存取原始的繁體中文(香港)輸入系統,您必須在系統上安裝一或多個繁體中文(香港)語言環境。

Unicode 十六進位輸入模式

若要切換至Unicode 十六進位碼輸入模式,請按一下Compose u h,或在輸入模式選擇視窗中選擇Unicode 十六進制。若要切換至八進位數字系統, 請按一下 Compose u o 或選擇 Unicode 八進制。若需要關於存取輸入模式選擇視窗的資訊,請參閱 圖 5–1

若要使用這些輸入模式,您必須知道字元的十六進位或八進位碼的點值。請參照 Unicode 標準 3.0 版 以取得關於在碼點值和字元間對映的資訊。

如果您正在 Unicode 十六進位碼輸入模式中,則若您要輸入一個字元就要輸入四個十六進位數字。下面是一些示範的十六進位值:

您可以在十六進位數字中使用大寫和小寫的 A、B、C、D、E 和 F。如果您不要用十六進位數字,而希望使用八進位數字,請輸入 0 至 7 的八進位數字。 如果您輸入錯誤一個或兩個位數,您可以使用 DeleteBackspace 按鍵進行刪除。

查表輸入模式

若要切換至表輸入模式,請按一下Compose h h ,或在輸入模式選擇視窗中選擇「查表」。如需存取輸入模式選取視窗的詳細資訊,請參閱 圖 5–1

第二查表視窗會顯示出只顯示群組的候選單位,一次最多有 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 環境中,設定 LANG 環境變數為en_US.UTF-8 來選擇語言環境,請參考下列 C-shell 範例:

system% setenv LANG en_US.UTF-8

請確定您未設定 LC_ALLLC_COLLATE LC_CTYPELC_MESSAGESLC_NUMERIC LC_MONETARYLC_TIME 種類,或者已設定為 en_US.UTF-8。這些種類一經設定,其將會置換較低優先的 LANG 環境變數。如需環境變數架構的詳細資訊,請參閱線上援助頁 setlocale(3C)

您也可以從 CDE 桌面啟動 en_US.UTF-8 環境。在 CDE 登入螢幕的 Options -> Language 功能表中選擇 en_US.UTF-8

TTY 環境設定

根據您所使用的終端機和終端機模擬器,您可能需要在您的串流中放入特定字碼集專用的 STREAMS 模組。

如需 STREAMS 模組和一般使用串流的詳細資訊,請參閱「STREAMS 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 (Cyrillic) 之間的字碼轉換 STREAM 模組

以下表格列出了 64–位元 STREAMS 模組由 en_US.UTF-8 所支援。

表 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-8 KOI8-R (Cyrillic) 之間的字碼轉換 STREAMS 模組

在核心程式載入 STREAMS 模組

您必須以 root 身分才能在核心程式載入 STREAMS 模組。

若要決定您要執行 64 位元 Solaris 或 32 位元 Solaris 系統,請依照下列示範使用 isainfo(1) 公用程式:

system# isainfo -v
64 位元 sparcv9 應用程式 
32 位元 sparc 應用程式

如果指令傳回這段訊息,即表示您正在執行 64 位元 Solaris 系統。如果您正在執行 32 位元的 Solaris 系統,公用程式就會列出下面指令:

system# isainfo -v
32 位元 sparc 應用程式

使用 modinfo(1M) 以確定系統尚未載入 STREAMS 模組:

system# modinfo | grep modulename

若您已安裝如 u8lat1 等 STREAMS 模組,其輸出處將會顯示:

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

如果該模組已經安裝,您就不需要再載入它。不過,若您尚未載入該模組,請使用 modload (1M),如以下所示:

system# modload /usr/kernel/strmod/u8lat1

該指令會在 kernel上載入 32–位元的 u8lat1 STREAMS 模組,使您得以將其置入串流中。若您所使用的是 64–位元的 Solaris 產品,請使用 modload( 1M),如以下所示 :

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

STREAMS 模組已載入至 kernel,現在您可以將其置入串流中。

若要從 kernel 中卸下模組,請使用 modunload (1M),如以下所示。 在這個範例中,已經卸下 u8lat1 模組。

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

dtterm 和可輸入和輸出 UTF-8 字元的終端機

與過去的 Solaris 作業環境不同的是, dtterm(1) 終端機和任何支援 UTF-8 字碼集輸入和輸出的其他終端機並不需要在其串流中加入其它的 STREAMS 模組。ldterm(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 終端機上,請以 u8lat2 取代 STREAMS 模組 u8lat1。在 KOI8-R 終端機上,請以 u8koi8 取代模組。

請確定您已經在核心程式中載入該 STREAMS 模組。

若要設定以上的 STREAMS 配置,請使用 strchg (1M),如範例中的第二指令行所示。

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

在使用 strchg(1) 之前,請確定您是 root 使用者或裝置擁有人。若要檢查目前的設定,請使用 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 模組載入至 kernel 中,為了方便起見,可以將下列指令行儲存至 .cshrc 檔案中 (C shell 範例):

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 模組時就不再需要輸入所有的指令。請注意,第二 _EOF 的起始位置必須位於檔案的第一個欄位。

字碼轉換

Unicode 語言環境支援透過 iconv( 1)iconv( 3C),和 sdtconvtool(1) 在許多國家的大型字碼集中增加各種字碼轉換。

geniconvtbl 公用程式能在 Solaris 9 環境中啟用使用者自訂的字碼轉換。您可藉由 iconv(1) 和 iconv(3) 來使用由geniconvtbl 公用程式所建立的使用者自訂字碼轉換。若需更多關於此公用程式的詳細資訊,請參照geniconvtbl( 1) geniconvtbl( 4)線上援助頁。

可用的 fromcodetocode 名稱可被套用至 iconv(1)、iconv_open (3C),和 sdtconvtool(1),並顯示在附錄 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/ ISO/IEC 10646 表示法格式,當字元顯示在字元串流的起始處時,這些格式能認可由 Unicode 3.1 和 ISO/IEC 10646-1:2000 標準所定義的位元組次序標記 (BOM)。其他像是 UCS-2BE、UCS-4BE、UTF-16BE 和 UTF-32BE 為所有固定寬度的 Unicode/ISO/IEC 10646表示法格式,它們並不會認可 BOM 字元,且會假定大尾數法的位元組次序。另一方面,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 名稱來表示:

此支援功能可讓使用者在 Dtmail 單一實例中,檢視以世界上任何區域的字元集所編碼的各種電子郵件。DtMail 可藉由檢視電子郵件所提供的 MIME 字元集和內容傳輸編碼來為接收到的電子郵件解碼。提供支援 Windows-125x MIME 字元集的功能。

如果要傳送郵件,您就必須指定郵件使用者代理(郵件用戶端)可讀取的 MIME 字碼集,或是使用 en_US.UTF-8 語言環境所提供的 MIME 字碼集。您可以按住 Control Y,或按一下「格式」功能表按鈕,然後按一下「變更字元集」按鈕,以在「新訊息」視窗中切換外送郵件的字元集。位於「傳送」按鈕頂端的下一個可用的字元集名稱將顯示在左下角。

若電子郵件訊息標頭或訊息內文所包含的字元無法由指定的 MIME 字元集來表示,系統會自動將字元集切換至能表示任何字元的 UTF-8

若訊息只包含了 7 位元 US-ASCII 字元集中的字元,您電子郵件的預設 MIME 字元集為 US-ASCII。任何郵件使用者代理者都可解譯這些電子郵件訊息,而不會造成字元或資訊的漏失。

若訊息中包含混合字體的字元,則預設的 MIME 字元集為UTF-8。所有 UTF-8 的 8 位元字元都是以可列印參照來進行編碼。若需有關 MIME、已註冊的 MIME 字元,以及可列印參照編碼的詳細資訊,請參照 RFCs 2045、2046、2047、2048、2049、2279、2152、2237、1922、1557、1555 和 1489。

圖 5–12 DtMail 新訊息視窗

Graphic

程式設計環境

國際化的應用程式應可自動啟用 en_US.UTF-8 語言環境。然而,應用程式的資源檔案中仍需要適當的 FontSet/XmFontList 定義。

若需要關於國際化應用程式的資訊,請參閱 「建立全球性軟體: Solaris 國際開發人員指南」,第二版。

使用 X 應用程式的 FontSet

若需關於使用 X 應用程式的 FontSet 的資訊,請參閱 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

若需關於 CDE 一般字型名的資訊,包括 -dt-interface user-* -dt-application-* 別名,請參閱「Common Desktop Environment: Internationalization Programmer's Guide」。

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 應用程式中的 FotList 定義

和 FontSet 定義一樣,應用程式的 XmFontList 資源定義也應該包含由區域環境所支援的附加樣式屬性。

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