本章对 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 能支持的最大可能代码点数是 1,114,112,位于 17 个 16 位平面中。每一个平面都可支持 65,536 个不同的代码点。
在 Unicode 可支持的一百多万个代码点中,版本 4.0 当前在平面 0、1、2 和 14 中定义 96382 个字符。平面 15 和 16 用于专用字符,这类字符也称为用户定义的字符。平面 15 和 16 总共可支持 131,068 个用户定义的字符。
UTF-8
UTF-16
UTF-32
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 Consortium 提供的《Unicode 标准,版本 4.0》
ISO/IEC 10646-1:2000、信息技术-通用多八进制字符集 (UCS) - 第 1 部分:体系结构和基本多语种平面
ISO/IEC 10646-2:信息技术-通用多八进制字符集 (UCS) - 第 2 部分:脚本和符号的次要多语种平面、CJK 象形文字的辅助平面、特殊用途平面
Unicode Consortium web 站点:http://www.unicode.org/。
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 语言环境仅包括来自下列字符集的字符字型。
ISO 8859-1(大多数西欧语言,如英语、法语、西班牙语和德语)
ISO 8859-2(大多数中欧语言,如捷克语、波兰语和匈牙利语)
ISO 8859-4(斯堪的纳维亚和波罗的海语)
ISO 8859-5(俄语)
ISO 8859-6(阿拉伯语,包括许多具有更多表示形式的字符字型)
ISO 8859-7(希腊语)
ISO 8859-8(希伯来语)
ISO 8859-9(土耳其语)
ISO 8859-15(大多数带有欧元符号的西欧语言)
GB 2312-1980(简体中文)
JIS X 0201-1976, JIS X 0208-1990(日语)
KSC 5601-1992 附件 3(朝鲜语)
GB 18030(简体中文)
HKSCS(繁体中文,中国香港特别行政区)
Big5(繁体中文,中国台湾地区)
IS 13194.1991,也称为 ISCII(印度语,包括许多具有更多表示形式的字符字型)
如果您试图查看 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(缺省)
根
无
在 OffTheSpot 模式下,此位置在状态区右边主窗口的正下方。在 OverTheSpot 模式下,预编辑区位于光标位置处。在根模式下,预编辑区和状态区与客户程序窗口分离。
有关详细信息,请参见 VendorShell(3X) 手册页上的 XmNpreeditType 资源描述。
在当前 Solaris 环境中,对简体/繁体中文、日语和朝鲜语可采用本地亚洲语言输入法。这些方法是对 Unicode 语言环境的当前多脚本输入法的补充。
访问输入法包括对所选输入法、如何使用这些输入法以及如何在这些输入法之间切换的描述。
Solaris Unicode 语言环境支持多种脚本。每个 Unicode 语言环境共有 14 种输入模式。
英语/欧洲语言
西里尔文
希腊文
阿拉伯语
希伯来语
泰语
日语
朝鲜语
简体中文
繁体中文
繁体中文(香港特别行政区)
印度语
Unicode 十六进制和八进制代码输入法
查表输入法
您可以使用书写键组合或输入模式选择窗口来切换到某个特定的输入模式。要访问输入模式选择窗口,请在应用程序窗口左下角的状态区中单击。输入模式选择窗口显示在下图中。
您可以使用表 5–1 中列出的键序列将当前输入模式更改为新的输入模式。使用这些键序列的唯一限制是,如果您当前正使用某个亚洲语言输入模式,则需要同时按下 Ctrl 键和空格键切换回英语/欧洲语言输入模式。一旦处于英语/欧洲语言输入模式,您就可以使用这些键序列随意切换到其他任何一种输入模式中。
下列键序列显示如何从英语/欧洲语言输入模式切换到西里尔文输入模式:
按下书写键。
按下并释放 C 键。
按下 C 键。
键序列 |
输入模式 |
---|---|
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 中的特殊字符,必须键入一个书写键序列,如下例所述。
要显示 Ä 字符:
按下并释放书写键。
同时按下 Shift 和 A 键。释放 Shift 和 A 键。
按下并释放 ” 键。
要显示 the ¿, 字符:
按下并释放书写键。
按下并释放 ? 键。
按下并释放 ? 键。
如果键盘上没有书写键,您可以模仿书写键的操作,方法是同时按下 Ctrl 键和 Shift 键。
要从该语言环境中输入欧元货币符号(Unicode 值为 U+20AC),则可以使用下列任何一个输入序列:
同时按下 AltGraph 和 E
同时按下 AltGraph 和 4
同时按下 AltGraph 和 5
对于这些输入序列,您可以同时按下这两个键。如果键盘上没有 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 ÿ |
| |
| |
破折条 ¦ |
表 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 |
表 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 |
表 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 |
表 5–6 常用的 Latin-5 书写键序列
按下 Compose,然后按下并释放 |
按下并释放 |
结果 |
---|---|---|
G |
u |
带短音符的 G |
I |
. |
带上点的 I |
g |
u |
带短音符的 g |
i |
. |
无点的 i |
表 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,或者从输入模式选择窗口中选择阿拉伯语。有关访问输入模式选择窗口的信息,请参见访问输入法。
下图显示阿拉伯语键盘布局。
要切换到西里尔语输入模式,请按下 Compose c c,或者从输入模式选择窗口中选择西里尔语。有关访问输入模式选择窗口的信息,请参见访问输入法。
下图显示西里尔语(俄语)键盘布局。
在切换到西里尔语输入模式后,您不能输入英语或欧洲语言文本。要切换回英语/欧洲语言输入模式,请同时键入 Ctrl-空格键,或者通过单击状态区从输入模式选择窗口中选择英语/欧洲语言输入模式。请参见访问输入法。
您也可以通过键入相应的输入模式切换键序列切换到其他输入模式中。
要切换到希腊语输入模式,请按下 Compose g g,或者从输入模式选择窗口中选择希腊语。有关访问输入模式选择窗口的信息,请参见访问输入法。
在切换到希腊文输入模式后,您不能输入英语或欧洲语言文本。要切换回英语/欧洲语言输入模式,请同时键入 Ctrl 键和空格键,或者通过单击状态区从输入模式选择窗口中选择英语/欧洲语言输入模式。下图显示希腊语欧式键盘布局。
希腊语输入模式中支持下列书写键序列。部分书写键序列以重音死键开头。缩写“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,或者从输入模式选择窗口中选择希伯来语。有关访问输入模式选择窗口的信息,请参见访问输入法。
下图显示希伯来语键盘布局。
要切换到日语输入模式,请按下 Compose j a,或者从输入模式选择窗口中选择日语。有关访问输入模式选择窗口的信息,请参见访问输入法。
要使用本地日语输入系统,需要安装一个或多个日语语言环境,然后重新引导系统。安装了日语语言环境后,您可以在所有 UTF-8 语言环境中使用 ATOK12。Wnn6 在 UTF-8 语言环境中不可用(ja_JP.UTF-8 除外)。
要切换到朝鲜语输入模式,请按下 Compose h h,或者从输入模式选择窗口中选择朝鲜语。有关访问输入模式选择窗口的信息,请参见访问输入法。
要使用本地朝鲜语输入系统,需要在系统上安装一个或多个朝鲜语语言环境。有关如何使用朝鲜语输入系统的详细信息,请参阅《 Korean Solaris User's Guide》。
要切换到简体中文输入模式,请按下 Compose s c,或者从输入模式选择窗口中选择简体中文。访问输入法。
要使用本地简体中文输入系统,需要在系统上安装一个或多个简体中文语言环境。有关如何使用简体中文输入系统的详细信息,请参阅《简体中文 Solaris 用户指南》。
要切换到繁体中文输入模式,请按下 Compose t c,或者从输入模式选择窗口中选择繁体中文。有关访问输入模式选择窗口的信息,请参见访问输入法。
要访问本地繁体中文输入系统,需要在系统上安装一个或多个繁体中文语言环境。有关如何使用繁体中文输入系统的详细信息,请参阅《繁体中文 Solaris 使用者指南》。
要切换到繁体中文输入模式,请按下 Compose h k,或者从输入模式选择窗口中选择繁体中文(中国香港特别行政区)。有关访问输入模式选择窗口的信息,请参见访问输入法。
要访问本地繁体中文(中国香港特别行政区)输入系统,需要在系统上安装一个或多个繁体中文(中国香港特别行政区)语言环境。
要切换到 Unicode 十六进制代码输入模式,请按下 Compose u h,或者从输入模式选择窗口中选择 Unicode 十六进制。要切换到八进制数字系统,请按下 Compose u o 或者选择 Unicode 八进制。有关访问输入模式选择窗口的信息,请参见访问输入法。
要使用这些输入模式,您需要了解字符的十六进制或八进制代码点值。有关代码点值和字符之间的映射,请参阅《Unicode 标准,版本 4.0》。
如果您正处于 Unicode 十六进制代码输入模式,则要输入一个字符,需要键入四位十六进制数字。以下是一些十六进制值样例:
00A1 表示倒置叹号
03B2 表示希腊语小写字母 Beta
AC00 表示朝鲜语 Hangul 音节
30A1 表示日语片假名字母 A
4E58 表示统一汉字
您可以使用 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。
根据所使用的终端和终端仿真器的不同,您可能需要将某些特定代码集的 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 模块 |
作为超级用户,请确定您运行的是 64 位 Solaris 还是 32 位 Solaris 系统。
system# isainfo -v
确定您的系统是否已装入 STREAMS 模块。
system# modinfo | grep modulename
如果已安装了 STREAMS 模块(如 u8lat1), 则输出将类似于以下内容:
system# modinfo | grep u8lat1 89 ff798000 4b13 18 1 u8lat1 (UTF-8 <--> ISO 8859-1 module)
如果该模块尚未装入,请使用 modload(1M) 命令装入它。
作为超级用户,确认已装入内核模块。
例如,要确认已装入 u8lat1,应键入:
system# modinfo | grep u8lat1 89 ff798000 4b13 18 1 u8lat1 (UTF-8 <--> ISO 8859-1 module)
使用 modunload(1M) 命令卸载内核。
例如,要卸载 u8lat1 模块,应键入:
system# modunload -i 89
使用第二个命令行中所示的 strchg(1M)。
system% cat > tmp/mystreams ttcompat ldterm u8lat1 ptem ^D system% strchg -f /tmp/mystreams
确保在使用 strchg(1) 时您是超级用户或此设备的属主。
要查看当前配置,请运行 strconf 命令。
system% strconf ttcompat ldterm u8lat1 ptem pts system%
要复位初始配置,请运行 strchg 命令。
system% cat > /tmp/orgstreams ttcompat ldterm ptem ^D system% strchg -f /tmp/orgstreams
与 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 (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 模块装入到了内核中。
假定必需的 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。
由于脚本的覆盖范围增加,因此在 en_US.UTF-8 语言环境中运行的 Solaris DtMail 支持下列字符集(按 MIME 名称指示):
US-ASCII(7 位的 US ASCII)
UTF-8(UCS 传输格式 8 位)
UTF-7( (UCS 传输格式 7 位)
ISO-8859-1(拉丁语-1)
ISO-8859-2(拉丁语-2)
ISO-8859-3(拉丁语-3)
ISO-8859-4(拉丁语-4)
ISO-8859-5(拉丁文/西里尔语)
ISO-8859-6(拉丁文/阿拉伯语)
ISO-8859-7(拉丁文/希腊语)
ISO-8859-8(拉丁文/希伯来语)
ISO-8859-9 (Latin-5)
ISO-8859-10 (Latin-6)
ISO-8859-13(Latin-7/波罗的海语)
ISO-8859-14(Latin-8/凯尔特语)
ISO-8859-15 (Latin-9)
ISO-8859-16 (Latin-10)
KOI8-R(西里尔语)
ISO-2022-JP 和 EUC-JP(日语)
ISO-2022-KR 和 EUC-KR(朝鲜语)
ISO-2022-CN(简体中文)
ISO-8859-13(Latin-7/波罗的海语)
ISO-8859-14(Latin-8/凯尔特语)
KOI8-U(西里尔语/乌克兰语)
Shift_JIS(Shift JIS 中的日语)
GB2312(EUC 中的简体中文)
TIS-620(泰语)
UTF-16(UCS 传输格式 16 位)
UTF-16BE(UTF-16 大尾数法)
UTF-16LE(UTF-16 小尾数法)
Windows-1250
Windows-1251
Windows-1252
Windows-1253
Windows-1254
Windows-1255
Windows-1256
Windows-1257
Windows-1258
Big5(繁体中文)
UTF-32(UCS 传输格式 32 位)
UTF-32BE(UTF-32 大尾数法)
UTF-32LE(UTF-32 小尾数法)
这种支持使用户能够在一个 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。
国际化的应用程序应自动启用 en_US.UTF-8 语言环境。但在应用程序的资源文件中需要有正确的 FontSet/XmFontList 定义。
有关国际化应用程序的信息,请参见《创建适用于全世界的软件:Solaris 国际开发者指南》第 2 版。
有关用于 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);
与 FontSet 定义一样,应用程序的 XmFontList 资源定义也应包括该语言环境所支持的附加样式属性。
*fontList:\ -dt-interface system-medium-r-normal-s*utf*: