国际语言环境指南

第 5 章 UTF-8 语言环境支持概述

本章对 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 能支持的最大可能代码点数是 1,114,112,位于 17 个 16 位平面中。每一个平面都可支持 65,536 个不同的代码点。

在 Unicode 可支持的一百多万个代码点中,版本 4.0 当前在平面 0、1、2 和 14 中定义 96382 个字符。平面 15 和 16 用于专用字符,这类字符也称为用户定义的字符。平面 15 和 16 总共可支持 131,068 个用户定义的字符。

Unicode 可以使用下列任意字符编码方案:

UTF-8 是 Unicode 的一种可变长度编码形式,它透明地保留了 ASCII 字符代码值。该形式在 Solaris Unicode 语言环境中用作文件代码。

UTF-16 是 Unicode 的一种 16 位编码形式。在 UTF-16 中,多达 65,535 个字符被编码为单个 16 位值。映射在 65,535 到 1,114,111 的字符被编码为成对的 16 位值(代理)。

UTF-32 是 Unicode 的一种固定长度的 21 位编码形式,通常用在 32 位容器或数据类型中。该形式在 Solaris Unicode 语言环境中用作进程代码(宽字符代码)。

有关 Unicode 标准和 ISO/IEC 10646 及其各种表示形式的详细信息,请参阅下列来源:

Unicode 语言环境:en_US.UTF-8 支持

Unicode/UTF-8 语言环境支持 Unicode 4.0。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 的文件系统安全通用字符集转换格式,并在 1996 年作为 ISO/IEC 10646-1:1993 的第二修正案被 ISO 和 IEC 批准。该标准已由 Unicode Consortium、国际标准化组织和国际电工技术委员会采用而成为 Unicode 4.0 和 ISO/IEC 10646-1 的一部分。


Solaris 环境中的 Unicode 语言环境支持对在 Unicode 4.0 与 ISO/IEC 10646-1 和 10646-2 中定义的每一个代码点值的处理。所支持的脚本不仅包括全欧洲语言和亚洲语言,还包括一些复杂的文本布局,如阿拉伯语、希伯来语、印度语和泰语。


注意 –

某些 Unicode 语言环境,特别是亚洲语言环境,包括更多的 Kanji 或 Hanzi 字型。


由于字体资源有限,当前 Solaris Unicode 语言环境仅包括来自下列字符集的字符字型。

如果您试图查看 en_US.UTF-8 语言环境中没有其相应字型的字符,则该语言环境将显示 no-glyph 字型,如下图所示:

上文介绍了此图形。

语言环境可以在安装时选择,并可指定为系统的缺省语言环境。

对于 64 位和 32 位的 Solaris 系统,提供了同一级别的 en_US.UTF-8 语言环境支持。


注意 –

Motif 和 CDE 桌面应用程序和库支持 en_US.UTF-8 语言环境。但 XView™ 和 OLIT 库不 支持 en_US.UTF-8 语言环境。


关于桌面输入法

CDE 提供使用 Xm Tookit 为国际化的应用程序输入本地化输入的能力。启用了 XmText[Field] 小部件以便与各个语言环境中的输入法相连接。输入法被国际化,因为某些语言环境以从右向左、从上到下等方向写入它们的文本。在同一个应用程序中,您可以使用应用多种字体的不同输入法。

预编辑区显示正被预编辑的字符串。可以通过四种模式写入文本:

在 OffTheSpot 模式下,此位置在状态区右边主窗口的正下方。在 OverTheSpot 模式下,预编辑区位于光标位置处。在根模式下,预编辑区和状态区与客户程序窗口分离。

有关详细信息,请参见 VendorShell(3X) 手册页上的 XmNpreeditType 资源描述。


注意 –

在当前 Solaris 环境中,对简体/繁体中文、日语和朝鲜语可采用本地亚洲语言输入法。这些方法是对 Unicode 语言环境的当前多脚本输入法的补充。


访问输入法包括对所选输入法、如何使用这些输入法以及如何在这些输入法之间切换的描述。

语言选择和输入模式

Solaris Unicode 语言环境支持多种脚本。每个 Unicode 语言环境共有 14 种输入模式。

访问输入法

您可以使用书写键组合或输入模式选择窗口来切换到某个特定的输入模式。要访问输入模式选择窗口,请在应用程序窗口左下角的状态区中单击。输入模式选择窗口显示在下图中。

图 5–1 输入模式选择窗口

上文介绍了此图形。

输入模式切换键序列

您可以使用表 5–1 中列出的键序列将当前输入模式更改为新的输入模式。使用这些键序列的唯一限制是,如果您当前正使用某个亚洲语言输入模式,则需要同时按下 Ctrl 键和空格键切换回英语/欧洲语言输入模式。一旦处于英语/欧洲语言输入模式,您就可以使用这些键序列随意切换到其他任何一种输入模式中。

下列键序列显示如何从英语/欧洲语言输入模式切换到西里尔文输入模式:

  1. 按下书写键。

  2. 按下并释放 C 键。

  3. 按下 C 键。

表 5–1 输入模式切换键序列

键序列 

输入模式 

Ctrl-空格键 

英语/欧洲语言 

Compose c c 

西里尔文 

Compose g g 

希腊文 

Compose a r 

阿拉伯语 

Compose h h 

希伯来语 

Compose t t 

泰语 

Compose h i 

印度语 

Compose i n 

印度语 

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 中的特殊字符,必须键入一个书写键序列,如下例所述。

要显示 Ä 字符:

  1. 按下并释放书写键。

  2. 同时按下 Shift 和 A 键。释放 Shift 和 A 键。

  3. 按下并释放 ” 键。

要显示 the ¿, 字符:

  1. 按下并释放书写键。

  2. 按下并释放 ? 键。

  3. 按下并释放 ? 键。

如果键盘上没有书写键,您可以模仿书写键的操作,方法是同时按下 Ctrl 键和 Shift 键。

要从该语言环境中输入欧元货币符号(Unicode 值为 U+20AC),则可以使用下列任何一个输入序列:

对于这些输入序列,您可以同时按下这两个键。如果键盘上没有 AltGraph 键,可以使用用某些备用的欧元符号输入序列(如 Compose e = 或 Compose c =)。

下面各表显示 Solaris 操作系统中最常用的 Latin-1、Latin-2、Latin-3、Latin-4、Latin-5 和 Latin-9 脚本输入的书写序列。

下表列出常用的 Latin-1 书写键序列。

表 5–2 常用的 Latin-1 书写键序列

按下 Compose,然后按下并释放 

然后按下并释放 

结果 

空格键 

空格键 

无间断间隔 

s 

1 

上标 1 

s 

2

上标 2 

s 

3

上标 3 

! 

!

倒置叹号 

x 

o

货币符号 ¤ 

p 

!

段落符号 ¶ 

/ 

u

mu u 

' 

"

锐音符 ´ 

、 

,(逗号)

下加符 Ç 

 

"

分音符 ¨ 

- 

^

长音符 ¯ 

o 

o

度 ° 

x 

x

乘号 x 

+ 

-

正负号 ± 

- 

-

软连字符 - 

- 

:

除号 ÷ 

- 

a 

序号(阴性)ª 

- 

o 

序号(阳性)º 

- 

,(逗号) 

非标记 ¬ 

. 

. 

中间点 · 

1 

2 

普通分数 ½ 

1 

4 

普通分数 ¼ 

3 

4 

普通分数 ¾ 

< 

< 

左双尖引号 « 

> 

> 

右双尖引号 » 

? 

? 

倒置问号 ¿ 

A 

`(反引号) 

带抑音符的 A À 

A 

'(单引号) 

带锐音符的 A Á 

A 

nls=gb2312*

带上圆圈的 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 

nls=gb2312*

带上圆圈的 a å 

a 

 

带分音符的 a ä 

a 

~ 

带波浪号的 a ã 

a 

^ 

带扬抑符的 a â 

a 

e 

双元音 ae æ 

c 

,(逗号) 

带下加符的 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 

^ 

带扬抑符的 u û 

y 

' 

带锐音符的 y ý 

y 

 

带分音符的 y ÿ 

| 

| 

破折条 ¦ 

下表列出常用的 Latin-2 书写键序列。

表 5–3 常用的 Latin-2 书写键序列

按下 Compose,然后按下并释放 

按下并释放 

结果 

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

_

带长音符的 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 

   

下表列出常用的 Latin-3 书写键序列。

表 5–4 常用的 Latin-3 书写键序列

按下 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-4 书写键序列。

表 5–5 常用的 Latin-4 书写键序列

按下 Compose,然后按下并释放 

按下并释放 

结果 

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 

_ 

带长音符的 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 

   

下表列出常用的 Latin-5 书写键序列。

表 5–6 常用的 Latin-5 书写键序列

按下 Compose,然后按下并释放 

按下并释放 

结果 

G 

u 

带短音符的 G 

I 

. 

带上点的 I 

g 

u 

带短音符的 g 

i 

. 

无点的 i 

下表列出常用的 Latin-9 书写键序列。

表 5–7 常用的 Latin-9 书写键序列

按下 Compose,然后按下并释放 

按下并释放 

结果 

o 

e 

连字 oe 

O 

E 

连字 OE 

Y 

“ 

带分音符的 Y 

如果您使用的键盘带有重音死键,请使用下列书写键序列。“dead_acute”以及 X11 注册键系统中的此类键名,如 X_dead_acute 等等在 /usr/openwin/include/X11/keysymdef.h 中给出。SunFA_Circum 以及 Sun 定义的 X11 键系统名称中的此类键名(如 SunXK_FA_Circum)在 /usr/openwin/include/X11/Sunkeysym.h 中给出。

表 5–8 基于重音死键的书写键序列

按下并释放 

按下并释放 

结果 

dead_grave 

空格 

重音符 

dead_acute 

省略符 

锐音符 

dead_acute 

空格 

省略符 

dead_diaeresis 

双引号 

分音符 

dead_diaeresis 

空格 

分音符 

dead_circumflex 

空格 

抑扬符 

dead_circumflex 

斜线 

垂直线 

dead_circumflex 

0 

程度标记 

dead_circumflex 

1 

上标一 

dead_circumflex 

2 

上标二 

dead_circumflex 

3 

上标三 

dead_circumflex 

句点 

中点 

dead_circumflex 

叹号 

破折条 

dead_circumflex 

减号 

长音符号 

dead_circumflex 

下划线 

长音符号 

dead_cedilla 

逗号 

下加符 

dead_cedilla 

减号 

Not 标记 

dead_tilde 

空格 

波浪号 

dead_grave 

A 

带抑音符的 A 

dead_acute 

A 

带锐音符的 A 

dead_circumflex 

A 

带抑扬符的 A 

dead_tilde 

A 

带波浪号的 A 

dead_diaeresis 

A 

带分音符的 A 

dead_grave 

a 

带抑音符的 a 

dead_acute 

a 

带锐音符的 a 

dead_circumflex 

a 

带抑扬符的 a 

dead_tilde 

a 

带波浪号的 a 

dead_diaeresis 

a 

带分音符的 a 

dead_cedilla 

C 

带下加符的 C 

dead_cedilla 

c 

带下加符的 c 

dead_grave 

E 

带抑音符的 E 

dead_acute 

E 

带锐音符的 E 

dead_circumflex 

E 

带抑扬符的 E 

dead_diaeresis 

E 

带分音符的 E 

dead_grave 

e 

带抑音符的 e 

dead_acute 

e 

带锐音符的 e 

dead_circumflex 

e 

带抑扬符的 e 

dead_diaeresis 

e 

带分音符的 e 

dead_grave 

I 

带抑音符的 I 

dead_acute 

I 

带锐音符的 I 

dead_circumflex 

I 

带抑扬符的 I 

dead_diaeresis 

I 

带分音符的 I 

dead_grave 

i 

带抑音符的 i 

dead_acute 

i 

带锐音符的 i 

dead_circumflex 

i 

带抑扬符的 i 

dead_diaeresis 

i 

带分音符的 i 

dead_tilde 

N 

带波浪号的 N 

dead_tilde 

n 

带波浪号的 n 

dead_grave 

O 

带抑音符的 O 

dead_acute 

O 

带锐音符的 O 

dead_circumflex 

O 

带抑扬符的 O 

dead_tilde 

O 

带波浪号的 O 

dead_diaeresis 

O 

带分音符的 O 

dead_grave 

o 

带抑音符的 o 

dead_acute 

o 

带锐音符的 o 

dead_circumflex 

o 

带抑扬符的 o 

dead_tilde 

o 

带波浪号的 o 

dead_diaeresis 

o 

带分音符的 o 

dead_cedilla 

S 

带下加符的 S 

dead_cedilla 

s 

带下加符的 s 

dead_grave 

U 

带抑音符的 U 

dead_acute 

U 

带锐音符的 U 

dead_circumflex 

U 

带抑扬符的 U 

dead_diaeresis 

U 

带分音符的 U 

dead_grave 

u 

带抑音符的 u 

dead_acute 

u 

带锐音符的 u 

dead_circumflex 

u 

带抑扬符的 u 

dead_diaeresis 

u 

带分音符的 u 

dead_acute 

Y 

带锐音符的 Y 

dead_acute 

y 

带锐音符的 y 

dead_diaeresis 

y 

带分音符的 y 

SunFA_Grave 

空格 

重音符 

SunFA_Grave 

A 

带抑音符的 A 

SunFA_Grave 

a 

带抑音符的 a 

SunFA_Grave 

E 

带抑音符的 E 

SunFA_Grave 

e 

带抑音符的 e 

SunFA_Grave 

I 

带抑音符的 I 

SunFA_Grave 

i 

带抑音符的 i 

SunFA_Grave 

O 

带抑音符的 O 

SunFA_Grave 

o 

带抑音符的 o 

SunFA_Grave 

U 

带抑音符的 U 

SunFA_Grave 

u 

带抑音符的 u 

SunFA_Acute 

省略符 

锐音符 

SunFA_Acute 

空格 

省略符 

SunFA_Acute 

A 

带锐音符的 A 

SunFA_Acute 

a 

带锐音符的 a 

SunFA_Acute 

C 

带锐音符的 C 

SunFA_Acute 

c 

带锐音符的 c 

SunFA_Acute 

E 

带锐音符的 E 

SunFA_Acute 

e 

带锐音符的 e 

SunFA_Acute 

I 

带锐音符的 I 

SunFA_Acute 

i 

带锐音符的 i 

SunFA_Acute 

L 

带锐音符的 L 

SunFA_Acute 

l 

带锐音符的 I 

SunFA_Acute 

N 

带锐音符的 N 

SunFA_Acute 

n 

带锐音符的 n 

SunFA_Acute 

O 

带锐音符的 O 

SunFA_Acute 

o 

带锐音符的 o 

SunFA_Acute 

R 

带锐音符的 R 

SunFA_Acute 

r 

带锐音符的 r 

SunFA_Acute 

S 

带锐音符的 S 

SunFA_Acute 

s 

带锐音符的 s 

SunFA_Acute 

U 

带锐音符的 U 

SunFA_Acute 

u 

带锐音符的 u 

SunFA_Acute 

Y 

带锐音符的 Y 

SunFA_Acute 

y 

带锐音符的 y 

SunFA_Acute 

Z 

带锐音符的 Z 

SunFA_Acute 

z 

带锐音符的 z 

SunFA_Cedilla 

逗号 

下加符 

SunFA_Cedilla 

减号 

Not 标记 

SunFA_Cedilla 

C 

带下加符的 C 

SunFA_Cedilla 

c 

带下加符的 c 

SunFA_Cedilla 

G 

带下加符的 G 

SunFA_Cedilla 

g 

带下加符的 g 

SunFA_Cedilla 

K 

带下加符的 K 

SunFA_Cedilla 

k 

带下加符的 k 

SunFA_Cedilla 

L 

带下加符的 L 

SunFA_Cedilla 

l 

带下加符的 I 

SunFA_Cedilla 

N 

带下加符的 N 

SunFA_Cedilla 

n 

带下加符的 n 

SunFA_Cedilla 

R 

带下加符的 R 

SunFA_Cedilla 

r 

带下加符的 r 

SunFA_Cedilla 

S 

带下加符的 S 

SunFA_Cedilla 

s 

带下加符的 s 

SunFA_Cedilla 

T 

带下加符的 T 

SunFA_Cedilla 

t 

带下加符的 t 

SunFA_Circum 

空格 

抑扬符 

SunFA_Circum 

0 

程度标记 

SunFA_Circum 

1 

上标一 

SunFA_Circum 

2 

上标二 

SunFA_Circum 

3 

上标三 

SunFA_Circum 

叹号 

破折条 

SunFA_Circum 

减号 

长音符号 

SunFA_Circum 

下划线 

长音符号 

SunFA_Circum 

句点 

中点 

SunFA_Circum 

斜线 

垂直线 

SunFA_Circum 

A 

带抑扬符的 A 

SunFA_Circum 

a 

带抑扬符的 a 

SunFA_Circum 

C 

带抑扬符的 C 

SunFA_Circum 

c 

带抑扬符的 c 

SunFA_Circum 

E 

带抑扬符的 E 

SunFA_Circum 

e 

带抑扬符的 e 

SunFA_Circum 

G 

带抑扬符的 G 

SunFA_Circum 

g 

带抑扬符的 g 

SunFA_Circum 

H 

带抑扬符的 H 

SunFA_Circum 

h 

带抑扬符的 h 

SunFA_Circum 

I 

带抑扬符的 I 

SunFA_Circum 

i 

带抑扬符的 i 

SunFA_Circum 

J 

带抑扬符的 J 

SunFA_Circum 

j 

带抑扬符的 j 

SunFA_Circum 

O 

带抑扬符的 O 

SunFA_Circum 

o 

带抑扬符的 o 

SunFA_Circum 

S 

带抑扬符的 S 

SunFA_Circum 

s 

带抑扬符的 s 

SunFA_Circum 

U 

带抑扬符的 U 

SunFA_Circum 

u 

带抑扬符的 u 

SunFA_Diaeresis 

双引号 

分音符 

SunFA_Diaeresis 

空格 

分音符 

SunFA_Diaeresis 

A 

带分音符的 A 

SunFA_Diaeresis 

a 

带分音符的 a 

SunFA_Diaeresis 

E 

带分音符的 E 

SunFA_Diaeresis 

e 

带分音符的 e 

SunFA_Diaeresis 

I 

带分音符的 I 

SunFA_Diaeresis 

i 

带分音符的 i 

SunFA_Diaeresis 

O 

带分音符的 O 

SunFA_Diaeresis 

o 

带分音符的 o 

SunFA_Diaeresis 

U 

带分音符的 U 

SunFA_Diaeresis 

u 

带分音符的 u 

SunFA_Diaeresis 

y 

带分音符的 y 

SunFA_Diaeresis 

Y 

带分音符的 Y 

SunFA_Tilde 

空格 

波浪号 

SunFA_Tilde 

A 

带波浪号的 A 

SunFA_Tilde 

a 

带波浪号的 a 

SunFA_Tilde 

N 

带波浪号的 N 

SunFA_Tilde 

n 

带波浪号的 n 

SunFA_Tilde 

O 

带波浪号的 O 

SunFA_Tilde 

o 

带波浪号的 o 

阿拉伯语输入模式

要切换到阿拉伯语输入模式,请按下 Compose a r,或者从输入模式选择窗口中选择阿拉伯语。有关访问输入模式选择窗口的信息,请参见访问输入法。

下图显示阿拉伯语键盘布局。

图 5–2 阿拉伯语键盘

上文介绍了此图形。

西里尔语输入模式

要切换到西里尔语输入模式,请按下 Compose c c,或者从输入模式选择窗口中选择西里尔语。有关访问输入模式选择窗口的信息,请参见访问输入法。

下图显示西里尔语(俄语)键盘布局。

图 5–3 西里尔语(俄语)键盘

上文介绍了此图形。

在切换到西里尔语输入模式后,您不能输入英语或欧洲语言文本。要切换回英语/欧洲语言输入模式,请同时键入 Ctrl-空格键,或者通过单击状态区从输入模式选择窗口中选择英语/欧洲语言输入模式。请参见访问输入法。

您也可以通过键入相应的输入模式切换键序列切换到其他输入模式中。

希腊语输入模式

要切换到希腊语输入模式,请按下 Compose g g,或者从输入模式选择窗口中选择希腊语。有关访问输入模式选择窗口的信息,请参见访问输入法。

在切换到希腊文输入模式后,您不能输入英语或欧洲语言文本。要切换回英语/欧洲语言输入模式,请同时键入 Ctrl 键和空格键,或者通过单击状态区从输入模式选择窗口中选择英语/欧洲语言输入模式。下图显示希腊语欧式键盘布局。

图 5–4 希腊语欧式键盘

上文介绍了此图形。

下图显示希腊语 UNIX 键盘。

图 5–5 希腊语 UNIX 键盘

上文介绍了此图形。

希腊语输入模式中支持下列书写键序列。部分书写键序列以重音死键开头。缩写“ordfemenine”代表阴性序数指示键。

表 5–9 希腊语输入模式的书写键序列

按下并释放 

按下并释放 

结果 

分号 

a 

带 tonos 的小写 Greek_alpha 

分号 

e 

带 tonos 的小写 Greek_epsilon 

分号 

h 

带 tonos 的小写 Greek_eta 

分号 

i 

带 tonos 的小写 Greek_iota 

分号 

o 

带 tonos 的小写 Greek_omicron 

分号 

y 

带 tonos 的小写 Greek_upsilon 

分号 

v 

带 tonos 的小写 Greek_omega 

分号 

A 

带 tonos 的大写 Greek_alpha 

分号 

E 

带 tonos 的大写 Greek_epsilon 

分号 

H 

带 tonos 的大写 Greek_eta 

分号 

I 

带 tonos 的大写 Greek_iota 

分号 

O 

带 tonos 的大写 Greek_omicron 

分号 

Y 

带 tonos 的大写 Greek_upsilon 

分号 

V 

带 tonos 的大写 Greek_omega 

dead_acute 

Greek_alpha 

带 tonos 的小写 Greek_alpha 

dead_acute 

Greek_epsilon 

带 tonos 的小写 Greek_epsilon 

dead_acute 

Greek_eta 

带 tonos 的小写 Greek_eta 

dead_acute 

Greek_iota 

带 tonos 的小写 Greek_iota 

dead_acute 

Greek_omicron 

带 tonos 的小写 Greek_omicron 

dead_acute 

Greek_upsilon 

带 tonos 的小写 Greek_upsilon 

dead_acute 

Greek_omega 

带 tonos 的小写 Greek_omega 

dead_acute 

Greek_ALPHA 

带 tonos 的大写 Greek_alpha 

dead_acute 

Greek_EPSILON 

带 tonos 的大写 Greek_epsilon 

dead_acute 

Greek_ETA 

带 tonos 的大写 Greek_eta 

dead_acute 

Greek_IOTA 

带 tonos 的大写 Greek_iota 

dead_acute 

Greek_OMICRON 

带 tonos 的大写 Greek_omicron 

dead_acute 

Greek_UPSILON 

带 tonos 的大写 Greek_upsilon 

dead_acute 

Greek_OMEGA 

带 tonos 的大写 Greek_omega 

dead_acute 

a 

带 tonos 的小写 Greek_alpha 

dead_acute 

e 

带 tonos 的小写 Greek_epsilon 

dead_acute 

h 

带 tonos 的小写 Greek_eta 

dead_acute 

i 

带 tonos 的小写 Greek_iota 

dead_acute 

o 

带 tonos 的小写 Greek_omicron 

dead_acute 

y 

带 tonos 的小写 Greek_upsilon 

dead_acute 

v 

带 tonos 的小写 Greek_omega 

dead_acute 

A 

带 tonos 的大写 Greek_alpha 

dead_acute 

E 

带 tonos 的大写 Greek_epsilon 

dead_acute 

H 

带 tonos 的大写 Greek_eta 

dead_acute 

I 

带 tonos 的大写 Greek_iota 

dead_acute 

O 

带 tonos 的大写 Greek_omicron 

dead_acute 

Y 

带 tonos 的大写 Greek_upsilon 

dead_acute 

V 

带 tonos 的大写 Greek_omega 

冒号 

i 

带 dialytika 的小写 Greek_iota 

冒号 

y 

带 dialytika 的小写 Greek_upsilon 

冒号 

I 

带 dialytika 的大写 Greek_iota 

冒号 

Y 

带 dialytika 的大写 Greek_upsilon 

dead_diaeresis 

i 

带 dialytika 的小写 Greek_iota 

dead_diaeresis 

y 

带 dialytika 的小写 Greek_upsilon 

dead_diaeresis 

I 

带 dialytika 的大写 Greek_iota 

dead_diaeresis 

Y 

带 dialytika 的大写 Greek_upsilon 

dead_diaeresis 

Greek_iota 

带 dialytika 的小写 Greek_iota 

dead_diaeresis 

Greek_upsilon 

带 dialytika 的小写 Greek_upsilon 

dead_diaeresis 

Greek_IOTA 

带 dialytika 的大写 Greek_iota 

dead_diaeresis 

Greek_UPSILON 

带 dialytika 的大写 Greek_upsilon 

分号 

分号 

希腊语 tonos 

冒号 

冒号 

分音符/dialytika 

ordfeminine 

0 

加号-减号 

ordfeminine 

1 

段落标记 

ordfeminine 

2 

上标二 

ordfeminine 

3 

上标三 

ordfeminine 

5 

破折条 

ordfeminine 

6 

版权所有标记 

ordfeminine 

7 

Not 标记 

ordfeminine 

8 

软连字符 

ordfeminine 

9 

程度标记 

ordfeminine 

连字符 

普通分数二分之一 

ordfeminine 

反斜线 

英镑标记 

ordfeminine 

左括号 

修饰符反逗号 

ordfeminine 

右括号 

修饰符字母省略符 

ordfeminine 

左括号 

左双尖引号 

ordfeminine 

右括号 

右双尖引号 

SunFA_Acute 

a 

带 tonos 的小写 Greek_alpha 

SunFA_Acute 

e 

带 tonos 的小写 Greek_epsilon 

SunFA_Acute 

h 

带 tonos 的小写 Greek_eta 

SunFA_Acute 

i 

带 tonos 的小写 Greek_iota 

SunFA_Acute 

o 

带 tonos 的小写 Greek_omicron 

SunFA_Acute 

y 

带 tonos 的小写 Greek_upsilon 

SunFA_Acute 

v 

带 tonos 的 Greek_omega 

SunFA_Acute 

A 

带 tonos 的大写 Greek_alpha 

SunFA_Acute 

E 

带 tonos 的大写 Greek_epsilon 

SunFA_Acute 

H 

带 tonos 的大写 Greek_eta 

SunFA_Acute 

O 

带 tonos 的大写 Greek_omicron 

SunFA_Acute 

I 

带 tonos 的大写 Greek_iota 

SunFA_Acute 

Y 

带 tonos 的大写 Greek_upsilon 

SunFA_Acute 

V 

带 tonos 的大写 Greek_omega 

SunFA_Acute 

Greek_alpha 

带 tonos 的小写 Greek_alpha 

SunFA_Acute 

Greek_epsilon 

带 tonos 的小写 Greek_epsilon 

SunFA_Acute 

Greek_eta 

带 tonos 的小写 Greek_eta 

SunFA_Acute 

Greek_iota 

带 tonos 的小写 Greek_iota 

SunFA_Acute 

Greek_omega 

带 tonos 的小写 Greek_omega 

SunFA_Acute 

Greek_omicron 

带 tonos 的小写 Greek_omicron 

SunFA_Acute 

Greek_upsilon 

带 tonos 的小写 Greek_upsilon 

SunFA_Acute 

Greek_ALPHA 

带 tonos 的大写 Greek_alpha 

SunFA_Acute 

Greek_EPSILON 

带 tonos 的大写 Greek_epsilon 

SunFA_Acute 

Greek_ETA 

带 tonos 的大写 Greek_eta 

SunFA_Acute 

Greek_IOTA 

带 tonos 的大写 Greek_iota 

SunFA_Acute 

Greek_OMICRON 

带 tonos 的大写 Greek_omicron 

SunFA_Acute 

Greek_UPSILON 

带 tonos 的大写 Greek_upsilon 

SunFA_Acute 

Greek_OMEGA 

带 tonos 的大写 Greek_omega 

SunFA_Diaeresis 

i 

带 dialytika 的小写 Greek_iota 

SunFA_Diaeresis 

y 

带 dialytika 的小写 Greek_upsilon 

SunFA_Diaeresis 

I 

带 dialytika 的大写 Greek_iota 

SunFA_Diaeresis 

Y 

带 dialytika 的大写 Greek_upsilon 

SunFA_Diaeresis 

Greek_iota 

带 dialytika 的小写 Greek_iota 

SunFA_Diaeresis 

Greek_upsilon 

带 dialytika 的小写 Greek_upsilon 

SunFA_Diaeresis 

Greek_IOTA 

带 dialytika 的大写 Greek_iota 

SunFA_Diaeresis 

Greek_UPSILON 

带 dialytika 的大写 Greek_upsilon 

表 5–10 使用三个键的希腊语输入模式的书写键序列

按下并释放 

按下并释放 

按下并释放 

结果 

分号 

冒号 

y 

带 dialytika 和 tonos 的小写 Greek_upsilon 

冒号 

分号 

y 

带 dialytika 和 tonos 的小写 Greek_upsilon 

分号 

冒号 

i 

带 dialytika 和 tonos 的小写 Greek_iota 

冒号 

分号 

i 

带 dialytika 和 tonos 的小写 Greek_iota 

dead_acute 

dead_diaeresis 

y 

带 dialytika 和 tonos 的小写 Greek_upsilon 

dead_diaeresis 

dead_acute 

y 

带 dialytika 和 tonos 的小写 Greek_upsilon 

dead_acute 

dead_diaeresis 

i 

带 dialytika 和 tonos 的小写 Greek_iota 

dead_diaeresis 

dead_acute 

i 

带 dialytika 和 tonos 的小写 Greek_iota 

dead_acute 

dead_diaeresis 

Greek_upsilon 

带 dialytika 和 tonos 的小写 Greek_upsilon 

dead_diaeresis 

dead_acute 

Greek_upsilon 

带 dialytika 和 tonos 的小写 Greek_upsilon 

dead_acute 

dead_diaeresis 

Greek_iota 

带 dialytika 和 tonos 的小写 Greek_iota 

dead_diaeresis 

dead_acute 

Greek_iota 

带 dialytika 和 tonos 的小写 Greek_iota 

SunFA_Acute 

SunFA_Diaeresis 

i 

带 dialytika 和 tonos 的小写 Greek_iota 

SunFA_Diaeresis 

SunFA_Acute 

i 

带 dialytika 和 tonos 的小写 Greek_iota 

SunFA_Acute 

SunFA_Diaeresis 

y 

带 dialytika 和 tonos 的小写 Greek_upsilon 

SunFA_Diaeresis 

SunFA_Acute 

y 

带 dialytika 和 tonos 的小写 Greek_upsilon 

SunFA_Acute 

SunFA_Diaeresis 

Greek_iota 

带 dialytika 和 tonos 的小写 Greek_iota 

SunFA_Diaeresis 

SunFA_Acute 

Greek_iota 

带 dialytika 和 tonos 的小写 Greek_iota 

SunFA_Acute 

SunFA_Diaeresis 

Greek_upsilon 

带 dialytika 和 tonos 的小写 Greek_upsilon 

SunFA_Diaeresis 

SunFA_Acute 

Greek_upsilon 

带 dialytika 和 tonos 的小写 Greek_upsilon 

表 5–11 使用四个键的希腊语输入模式的书写键序列

按下并释放 

按下并释放 

按下并释放 

按下并释放 

结果 

分号 

冒号 

冒号 

分号 

分号 

冒号 

冒号 

分号 

希腊语 dialytika tonos 

希腊语 dialytika tonos 

希伯来语输入模式

要切换到希伯来语输入模式,请按下 Compose h h,或者从输入模式选择窗口中选择希伯来语。有关访问输入模式选择窗口的信息,请参见访问输入法。

下图显示希伯来语键盘布局。

图 5–6 希伯来语键盘

上文介绍了此图形。

日语输入模式

要切换到日语输入模式,请按下 Compose j a,或者从输入模式选择窗口中选择日语。有关访问输入模式选择窗口的信息,请参见访问输入法。

要使用本地日语输入系统,需要安装一个或多个日语语言环境,然后重新引导系统。安装了日语语言环境后,您可以在所有 UTF-8 语言环境中使用 ATOK12。Wnn6 在 UTF-8 语言环境中不可用(ja_JP.UTF-8 除外)。

图 5–7 日语键盘

上文介绍了此图形。

朝鲜语输入模式

要切换到朝鲜语输入模式,请按下 Compose h h,或者从输入模式选择窗口中选择朝鲜语。有关访问输入模式选择窗口的信息,请参见访问输入法。

要使用本地朝鲜语输入系统,需要在系统上安装一个或多个朝鲜语语言环境。有关如何使用朝鲜语输入系统的详细信息,请参阅《 Korean Solaris User's Guide》。

图 5–8 朝鲜语键盘

上文介绍了此图形。

简体中文输入模式

要切换到简体中文输入模式,请按下 Compose s c,或者从输入模式选择窗口中选择简体中文。访问输入法。

要使用本地简体中文输入系统,需要在系统上安装一个或多个简体中文语言环境。有关如何使用简体中文输入系统的详细信息,请参阅《简体中文 Solaris 用户指南》。

繁体中文输入模式

要切换到繁体中文输入模式,请按下 Compose t c,或者从输入模式选择窗口中选择繁体中文。有关访问输入模式选择窗口的信息,请参见访问输入法。

要访问本地繁体中文输入系统,需要在系统上安装一个或多个繁体中文语言环境。有关如何使用繁体中文输入系统的详细信息,请参阅《繁体中文 Solaris 使用者指南》。

繁体中文(中国香港特别行政区)输入模式

要切换到繁体中文输入模式,请按下 Compose h k,或者从输入模式选择窗口中选择繁体中文(中国香港特别行政区)。有关访问输入模式选择窗口的信息,请参见访问输入法。

要访问本地繁体中文(中国香港特别行政区)输入系统,需要在系统上安装一个或多个繁体中文(中国香港特别行政区)语言环境。

Unicode 十六进制输入模式

要切换到 Unicode 十六进制代码输入模式,请按下 Compose u h,或者从输入模式选择窗口中选择 Unicode 十六进制。要切换到八进制数字系统,请按下 Compose u o 或者选择 Unicode 八进制。有关访问输入模式选择窗口的信息,请参见访问输入法。

要使用这些输入模式,您需要了解字符的十六进制或八进制代码点值。有关代码点值和字符之间的映射,请参阅《Unicode 标准,版本 4.0》。

如果您正处于 Unicode 十六进制代码输入模式,则要输入一个字符,需要键入四位十六进制数字。以下是一些十六进制值样例:

您可以使用 A、B、C、D、E 和 F 的大写和小写字母形式来表示十六进制数字。如果您希望使用八进制数字系统而不是十六进制数字系统,可以输入八进制数字 0 至 7。如果输入了一两位错误数字,可以使用 Delete 或 Backspace 键删除相应数字。

查表输入模式

要切换到查表输入模式,请按下 Compose l l,或者从输入模式选择窗口中选择查表。有关访问输入模式选择窗口的信息,请参见访问输入法。

第二个查找窗口中显示仅按组显示的候选项,一次最多显示 80 个候选项。按下 Control n 转到下一组候选项,或者按下 Control p 转到上一组候选项。

系统环境

本部分描述语言环境环境变量、TTY 环境设置、32 位和 64 位 STREAMS 模块以及终端支持。

语言环境环境变量

确保在系统上安装 en_US.UTF-8 语言环境。要检查各种类中的当前语言环境设置,请使用 locale 实用程序。

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_ALL、LC_COLLATE、LC_CTYPE、LC_MESSAGES、LC_NUMERIC、LC_MONETARY 和 LC_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 语言环境支持的 64 位 STREAMS 模块。有关详细信息,请参见《Solaris 64-bit Developer's Guide》。

表 5–12 en_US.UTF-8 所支持的 STREAMS 模块

32 位 STREAMS 模块 

说明 

/usr/kernel/strmod/sparcv9/u8lat1

UTF-8 和 ISO8859-1(西欧语言)之间的代码转换 STREAMS 模块

/usr/kernel/strmod/sparcv9/u8lat2

UTF-8 和 ISO8859-2(东欧语言)之间的代码转换 STREAMS 模块

/usr/kernel/strmod/sparcv9/u8koi8

UTF-8 和 KOI8-R(西里尔语)之间的代码转换 STREAMS 模块


注意 –

从 Solaris 10 发行版开始,SPARC sun4u 平台不再支持 32 位内核。表 5–12 仅适用于 x86 平台的 32 位内核。有关详细信息,请参阅发行说明。


下表列出 en_US.UTF-8 支持的 64 位 STREAMS 模块。

表 5–13 en_US.UTF-8 所支持的 64 位 STREAMS 模块

64 位 STREAMS 模块 

说明 

/usr/kernel/strmod/sparcv9/u8lat1

UTF-8 和 ISO8859-1(西欧语言)之间的代码转换 STREAMS 模块

/usr/kernel/strmod/sparcv9/u8lat2

UTF-8 和 ISO8859-2(东欧语言)之间的代码转换 STREAMS 模块

/usr/kernel/strmod/sparcv9/u8koi8

UTF-8 和 KOI8-R(西里尔语)之间的代码转换 STREAMS 模块

如何装入 STREAMS 内核模块
  1. 作为超级用户,请确定您运行的是 64 位 Solaris 还是 32 位 Solaris 系统。

    system# isainfo -v
    
    • 如果返回以下信息,则运行的是 64 位 Solaris 系统:

      64-bit sparcv9 applications
      32-bit sparc applications
    • 如果返回以下信息,则运行的是 32 位 Solaris 系统:

      32-bit sparc applications
    • 如果返回以下信息,则运行的是 32 位 x86 系统:

      32-bit i386 applications
  2. 确定您的系统是否已装入 STREAMS 模块。

    system# modinfo | grep modulename
    

    如果已安装了 STREAMS 模块(如 u8lat1), 则输出将类似于以下内容:

    system# modinfo | grep u8lat1
    89 ff798000  4b13  18   1  u8lat1 (UTF-8 <--> ISO 8859-1 module)
  3. 如果该模块尚未装入,请使用 modload(1M) 命令装入它。

    • 在 32 位系统上,键入:

      system# modload /usr/kernel/strmod/u8lat1
      
    • 在 64 位系统上,键入:

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

      适当的 u8lat1 STREAMS 模块已装入内核中。此时您可以将其推送到流中了。

如何卸载 STREAMS 内核模块
  1. 作为超级用户,确认已装入内核模块。

    例如,要确认已装入 u8lat1,应键入:

    system# modinfo | grep u8lat1
    89 ff798000  4b13  18   1  u8lat1 (UTF-8 <--> ISO 8859-1 module)
  2. 使用 modunload(1M) 命令卸载内核。

    例如,要卸载 u8lat1 模块,应键入:

    system# modunload -i 89
    
如何设置 Latin-2 终端和 STREAMS 模块
  1. 使用第二个命令行中所示的 strchg(1M)。

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

    确保在使用 strchg(1) 时您是超级用户或此设备的属主。

  2. 要查看当前配置,请运行 strconf 命令。

    system% strconf
    ttcompat
    ldterm
    u8lat1
    ptem
    pts
    system%
  3. 要复位初始配置,请运行 strchg 命令。

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

能够输入和输出 UTF-8 字符的 dtterm 和 xterm 终端

与 Solaris 操作系统以前的发行版不同,支持 UTF-8 代码集输入和输出的 dtterm 和 xterm 终端仿真器和任何其他终端在它们的流中无需附加任何的 STREAMS 模块。如果您使用 stty(1) 实用程序设置终端环境,ldterm 模块现在与代码集无关,并且支持 Unicode/UTF-8。

要为 Unicode 语言环境设置正确的终端环境,请使用 stty(1) 实用程序。

system% /bin/stty defeucw

要查询当前的设置,请使用 stty 实用程序的 -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 模块 u8lat1 替换为 u8lat2。对于 KOI8-R 终端,请将该模块替换为 u8koi8。

确保已将 STREAMS 模块装入到了内核中。

将设置保存在 ~/.cshrc 中

假定必需的 STREAMS 模块已装入内核,可以在 .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 和 sdtconvtool 实用程序,增加了对在多个国家/地区的主要代码集之间进行各种代码转换的支持。

在当前 Solaris 环境中,实用程序 geniconvtbl 可启用用户定义的代码转换。使用 geniconvtbl 实用程序创建的用户定义代码转换可以同时用于 iconv(1) 和 iconv(3)。有关该实用程序的详细信息,请参阅 geniconvtbl(1) 和 geniconvtbl(4) 手册页。

附录 A,iconv 代码转换 中的表中列出了可应用于iconv、iconv_open 和 sdtconvtool 的 fromcode 和 tocode 名称。有关 iconv 代码转换的更多信息,请参见 iconv(1) 和 sdtconvtool(1) 手册页。有关可用代码转换的更多信息,请参见 iconv(5) 手册页。另请参见附录 A,iconv 代码转换。


注意 –

UCS-2、UCS-4、UTF-16 和 UTF-32 均为 Unicode/ ISO/IEC 10646 表示形式,用于当 Unicode 4.0 和 ISO/IEC 10646-1:2000 标准定义的 Byte Order Mark (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 DtMail 支持下列字符集(按 MIME 名称指示):

这种支持使用户能够在一个 DtMail 实例中查看以世界上任何地区的不同字符集编码的几乎任意种类的电子邮件。DtMail 通过查看 MIME 字符集以及随同电子邮件提供的内容传送编码来对收到的电子邮件进行解码。支持 Windows-125x MIME 字符集。

要发送电子邮件,您必须指定一个收件人邮件用户代理(邮件客户)能够理解的 MIME 字符集,也可以使用 en_US.UTF-8 语言环境提供的缺省 MIME 字符集。可以在“新建邮件”窗口中切换外发邮件的字符集,方法是按下 Ctrl+Y,或者单击“格式”菜单按钮,然后单击“更改字符集”按钮。下一个可用的字符集名称将显示在“发送”按钮顶部的左下角区域内。

如果您的电子邮件信息标题或信息正文包含无法由指定的 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–9 DtMail 的“新建邮件”窗口

上文介绍了此图形。

程序设计环境

国际化的应用程序应自动启用 en_US.UTF-8 语言环境。但在应用程序的资源文件中需要有正确的 FontSet/XmFontList 定义。

有关国际化应用程序的信息,请参见《创建适用于全世界的软件:Solaris 国际开发者指南》第 2 版。

用于 X 应用程序的 FontSet

有关用于 X 应用程序的 FontSet 的信息,请参见Unicode 语言环境:en_US.UTF-8 支持。

在 Solaris 桌面环境中,每个字符集都有一组关联字体。

以下是在当前 Solaris 环境中受支持的 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 应用程序中的 FontList 定义

与 FontSet 定义一样,应用程序的 XmFontList 资源定义也应包括该语言环境所支持的附加样式属性。

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