本章介绍 Solaris 国际化和本地化的新增特性和重要概念。本章包含下列主题。
当前 Solaris 发行版包含了许多新特性,包括对 UTF-8 语言环境的 Unicode 4.0 支持,增强了键盘支持并改进了 mp 打印过滤器的几项功能。
Solaris 国际化体系结构简化了世界范围内的应用程序和语言服务的开发、部署和管理。一个多语种产品能对 39 种不同语言和 162 种语言环境提供支持。另外,还支持泰语和印度语书写体所需的复杂文本布局环境。也支持阿拉伯语和希伯来语等语言的双向文本功能。
为许多不同 Solaris 语言环境提供了输入法、字符集、编码集转换和其他与语言相关的特性。您可以通过下列标准 API 在多语言环境中部署应用程序。 您还可以定制语言属性,更改转换器表或在 Solaris 环境中添加新输入法编辑器。
Solaris X 全球化框架的源代码于 2000 年秋季向开放源代码社区发布。此发行版使您能采用通用的引用实现来增强全球应用程序的兼容性和互操作性。独立于编码集的全球化方法使您能在当地语言和和 Unicode 语言环境中进行操作。Solaris 框架提供了跨平台伸缩的能力。一组丰富的数据转换器确保了在各种编码和不同第三方平台之间的互操作性。
Solaris 平台还使跨国公司能在世界范围内调整其服务器管理规模。与竞争性平台不同,Solaris 平台使用基于服务的方法来管理语言服务。服务器管理员可以通过全球网络远程启用语言服务,而无论什么客户系统。通过这一与客户机无关的方法,您就可以进行系统升级而不必更改客户机应用程序。例如,为了读取从巴黎的网络咖啡屋发送的用阿拉伯文书写的电子邮件,用户不必更改本地客户机应用程序。
下列新特性可以在当前 Solaris 发行版中获得:
自动编码查找器
自动编码查找器是一个用于处理全球字符的实用程序。自动编码查找器通过通用接口,提供了一种简便的方法来检测特定文件或字符串的编码。编码检测简化了对各种语言字符编码的访问。有关更多信息,请参见 auto_ef(1) 或 libauto_ef(3LIB) 手册页。
语言环境管理器
语言环境管理器允许您通过命令行界面来查询和配置 Solaris 操作系统的语言环境。使用 localeadm(1M) 工具,您可以显示系统中安装的或驻留在特定设备或目录中的语言环境软件包的有关信息。您可按区域来添加和删除当前系统中的语言环境。例如,您可将东欧区的所有语言环境添加到当前系统中。
在引入语言环境管理器前,一旦安装了系统,您就必须添加/删除单个软件包以更改计算机中的语言环境。在处理单个软件包时,由于容易丢失或忽视软件包,所以易于出错。
语言环境管理器是 Solaris 安装程序中语言环境选择逻辑的补充。此安装程序仍被认为是正确安装 Solaris 语言环境的主应用程序。
mp 的功能增强
在 Solaris 9 操作系统中第一次发布的 mp 打印过滤器代替了当前 Solaris 发行版中的 xutops 打印过滤器。在本发行版中,mp 打印过滤器在下列几个主要方面得到了增强。
如果在 mp.conf 文件中找不到配置字体,则 mp 程序将继续运行,直到它遇到使用未识别字体的字型。
mp 使用的字典机制是经过精心调整的,打印时速度较快。
TrueType 引擎的功能得到了增强,可以处理各种宽度的所有空格字符
xutops 打印过滤器在 Solaris 操作系统中不再受支持。xutops 打印过滤器以前用于打印 UTF-8 语言环境中的国际化文本。替代 xutops 的 mp 打印过滤器是 xutops 打印过滤器的支持特性的超集。有关更多信息,请参见 mp(1) 手册页。
新的欧洲键盘支持
对波兰语程序员 5 型键盘和 Sun RayTM USB 6 型俄语、爱沙尼亚语和加拿大法语键盘提供了 Sun I/O 键盘支持。
当前,对新的欧洲键盘类型而言没有可用的硬件。要使用新的键盘软件,请参考新增 Solaris 键盘软件支持中的过程。
Unicode 4.0 支持
下列 UTF-8 语言环境已得到更新以支持新的 4.0 版的 Unicode 标准:
ar_EG.UTF-8
de_DE.UTF-8
en_US.UTF-8
es_ES.UTF-8
fi_FI.UTF-8
fr_BE.UTF-8
fr_FR.UTF-8
he_IL.UTF-8
hi_IN.UTF-8
it_IT.UTF-8
ja_JP.UTF-8
ko_KR.UTF-8
pl_PL.UTF-8
pt_BR.UTF-8
ru_RU.UTF-8
sv_SE.UTF-8
th_TH.UTF-8
tr_TR.UTF-8
zh_CN.UTF-8
zh_HK.UTF-8
zh_TW.UTF-8
新版本的标准另引入了 1,226 个新字符并包含各种标准的和信息性更改。
Unicode 3.2 将更为严格的 UTF-8 字节序列定义为“UTF-8 Corrigendum”:
表 1–1 合法的 UTF-8 字节序列
代码点 |
第 1 字节 |
第 2 字节 |
第 3 字节 |
第 4 字节 |
---|---|---|---|---|
U+0000..U+007F |
00..7F | |||
U+0080..U+07FF |
C2..DF |
80..BF | ||
U+0800..U+0FFF |
E0 |
A0..BF |
80..BF | |
U+1000..U+CFFF |
E1..EC |
80..BF |
80..BF | |
U+D000..U+D7FF |
ED |
80..9F |
80..BF | |
U+D800..U+DFFF |
错误形式 | |||
U+E000..U+FFFF |
EE..EF |
80..BF |
80..BF | |
U+10000..U+3FFFF |
F0 |
90..BF |
80..BF |
80..BF |
U+40000..U+FFFFF |
F1..F3 |
80..BF |
80..BF |
80..BF |
U+100000..U+10FFFF |
F4 |
80..8F |
80..BF |
80..BF |
这些序列不包含 U+D800 和 U+DFFF 之间的代理代码点。这些序列还限制了任何其他非法的字节值。为遵守此新定义,Unicode 语言环境方法和 UTF-8 iconv 模块的功能已得到增强,以检测新定义的 UTF-8 无效字节序列。
Kedmanee (TIS820-2531) 键盘布局。Kedmanee 布局是设计用于打字机上的,而非用于计算机键盘。打字机键盘的有限键数表明,布局中部分特殊泰语字符不可用。TIS820-2531 已改变了 Kedmanee 布局,使其能用于计算机键盘。
TIS820-2538 键盘布局。这个增强了的 Kedmanee 布局是一个更新版本的 TIS820-2531 布局,它包含一些在原 Kedmanee 布局中不可用的泰语特殊字符。当前,TIS820-2538 是由泰国行业标准协会颁布的唯一的泰语键盘布局标准。
Pattajoti 键盘布局。Pattajoti 布局也是设计用在打字机上的,但指压分布比较合理。Pattajoti 是由皇家灌溉局官员发明的,现在仍在这个部门中得到广泛使用。
适用于泰语输入法的可配置的键盘布局,用户定义的键盘布局。
对印度语的输入法支持
与中文输入法使用的界面类似的代码表输入法界面可以在本发行版中获得。基于 IIIMF SDK 和 SunIM 语言界面的印度语输入法提供了下列新特性:
基于语音、音译的输入法和键盘布局。支持的键盘布局在 ISCII 标准中被定义为 INSCRIPT 键盘布局。
标准输入法切换。
印度语手写体包含印度语、泰米尔语、埃纳德语、马拉雅拉姆语、泰卢固语、古吉拉特语、旁遮普语和孟加拉语。您可以通过按 F5 键更改输入手写体。
新键盘布局的插件机制便于在将来进行扩展。插件配置文件将通过语言引擎模块进行加载。
国际化和本地化是两个不同的过程。国际化是指使软件可在多个语言或地区之间移植的过程,而本地化则是指使软件适用于特定语言或地区的过程。国际化的软件可以使用在运行时根据特定文化要求修改程序行为的接口来开发。本地化涉及到建立联机信息以支持某个语言或地区(称为语言环境)。
与必须彻底重新编写才能用于不同当地语言和习惯的软件不同,国际化软件不需要进行重新编写。国际化的软件可在不进行更改的情况下从一个语言环境移植到另一个语言环境。Solaris 系统是国际化的系统,提供了创建国际化软件所需的基础结构和接口。
国际化应用程序的可执行映像可在各语言和地区之间进行移植。要对软件进行国际化:
使用本手册中描述的接口创建具有通过动态重新编译即可修改的环境的软件。
将软件分为可执行代码和用户可以看到的所有消息。将信息字符串保存在信息目录中。
针对某一语言或地区对信息字符串进行翻译。语言环境包括信息字符串和指定排序的方法。
要使用某个产品的本地化版本,用户需要设置一些环境变量。然后,此产品将显示已转换为该语言环境语言的信息。日期、时间、货币和其他信息根据特定于语言环境的惯例进行格式设置和显示。信息翻译和联机帮助内容在各个不同的层中提供,如下图所述。
OS(操作系统)语言环境层提供基本的语言环境数据库和功能,这些数据库和功能在应用程序运行时插入到 OS 系统接口中。应用程序通过标准 API 访问这些 OS 语言环境模块。
X11 语言环境层将此接口提供给 X 输入法,并将 X 输出方法提供给 X11 应用程序,以便可以进行本地文本输入和显示。这些字体使应用程序能够显示各种语言中的字符。
CDE/Motif 构建在 X11 窗口系统之上。因此,CDE/Motif 可以通过 X11 API 使用 X11 语言环境功能。对于 CDE 应用程序,Solaris 本地化具有各种特定于语言环境的配置,从而使桌面能够在目标语言环境中工作。在各个不同的层中提供了信息翻译和联机帮助内容。
程序的语言环境是应用程序的一个重要概念。语言环境是指当地语言环境的显式模型和定义。ANSI C 语言标准的库定义中明确定义并包含了语言环境的概念。
一个语言环境包括许多种类,对于这些种类,存在与国家/地区有关的格式设置或其他规范。一个程序的语言环境对程序的编码集、日期和时间格式设置惯例、货币惯例、十进制格式设置惯例和排序顺序进行定义。
语言环境可以由基本语言、使用国家(地区)和可选的编码集组成。通常采用代码集。例如,德语是 de(Deutsch 的缩写),而瑞士德语是 de_CH(CH 是 Confederation Helvetica 的缩写)。这种转换使得能够区分国家/地区之间的特定差异,如货币单位表示法。
一个特定语言可以与多个语言环境相关联,这使得能够区分地区间的差异。例如,美国的英语用户可以选择 en_US 语言环境(美国英语),而英国的英语用户可选择 en_GB(英国英语)。
语言环境名称通常由 LANG 环境变量指定。语言环境种类从属于 LANG,但也可单独设置,这时它们将覆盖 LANG。如果设置了 LC_ALL 操作数,则它会覆盖 LANG 和所有不同的语言环境种类。
语言环境命名惯例如下:
语言[_地区][.代码集] [@modifier]
其中,双字母语言代码来自 ISO 639,并且双字母地区代码来自 ISO 3166,代码集是在此语言环境中使用的代码集的名称,而修饰符是将此语言环境与不带此修饰符的语言环境相区分的特征名称。
所有 Solaris 产品语言环境都保留了具有 US-ASCII 代码值的可移植字符集 (PCS) 字符。
有关可移植字符集的更多信息,请参考“X/Open CAE 规范:系统接口定义,第 5 期”(ISBN 1-85912-186-1)。
一个语言环境可以有多个语言环境名称。例如,POSIX 与 C 是相同的语言环境。
C 语言环境,也称为 POSIX 语言环境,是所有 POSIX 兼容系统的 POSIX 系统的缺省语言环境。Solaris 操作系统是 POSIX 系统。单个 UNIX 规范,版本 3,定义 C 语言环境。请进行注册以在下列网站读取和下载规范:http://www.unix.org/version3/online.html.
您可以采用两种方法中的一种指定在 C 语言环境中运行的国际化程序:
取消对所有语言环境的环境变量的设置。
system% unsetenv LC_ALL LANG LC_CTYPE LC_COLLATE LC_NUMERIC \ LC_TIME LC_MONETARY LC_MESSAGES
取消对所有语言环境的环境变量的设置。在 C 语言环境中运行应用程序。
将语言环境显式设置为 C 或 POSIX。
system% setenv LC_ALL C system% setenv LANG C
某些应用程序检查 LANG 环境变量,而不是实际调用 setlocale(3C) 来引用当前语言环境。此时,setenv 通过指定 LC_ALL 和 LANG 语言环境的环境变量来显式设置 C 语言环境。有关语言环境的环境变量之间的优先级关系,请参见 setlocale(3C) 手册页。
要检查终端环境中的当前语言环境设置,请运行 locale(1) 命令。
system% locale
完全 Solaris 语言环境具有列出的所有功能和相关语言的本地化系统信息。部分语言环境 未安装任何本地化信息。只要安装了相关语言的本地化信息,Solaris 环境中的所有语言环境便能够显示这些本地化信息。例如,下列语言环境既可以是部分语言环境,也可以是完全语言环境:
de_DE.ISO8859-1
de_DE.ISO8859-15
de_DE.UTF-8
de_AT.ISO8859-1
de_AT.ISO8859-15
de_CH.ISO8859-1
在从 Language CD 中安装了德语信息翻译后,以上所有语言环境均成为完全语言环境,因为它们可以访问完全翻译了的桌面。此 Language CD 包含下列语言和语言环境的信息翻译:
德语
法语
西班牙语
瑞典语
意大利语
日语
朝鲜语
简体中文语言环境
繁体中文语言环境
所有部分语言环境都可从 Software CD 中获得。信息翻译可从 Languages CD 中获得。
所有英语语言环境也是完全语言环境,并可从 Software CD 中获得。
在格式化数字、书写日期和时间、分隔单词和短语或引用书面和口语材料方面,不同文化通常有不同的习惯。语言环境确定不同地区对下列操作、文件、格式和表达式的不同处理方式:
文本数据的编码和处理
资源文件的语言标识和编码
文本字符串的绘制和布局
客户机间的文本的互换
满足所选书写体的代码集和文本处理要求的输入法选择
文化特定的字体和图标文件
操作和文件类型
用户界面定义 (UID) 文件
日期和时间格式
数字格式
货币格式
排序顺序
特定于语言环境的正则表达式处理
信息性和诊断性信息与交互式响应的格式
Solaris 环境将语言和与文化有关的信息与应用程序分开,并在应用程序以外将这些信息保存起来。使用此方法就不会针对每个市场对应用程序进行翻译、重新编写或重新编译了。进入新市场的唯一要求就是将外部信息本地化为本地语言和习惯。
控制字符处理功能的行为。
指定日期和时间格式,包括月份名称、每周日期和通用的完整表示法和缩写表示法。
指定货币格式,包括此语言环境的货币符号、千位分隔符、符号位置、小数位数等。
指定十进制分隔符(或基数字符)、千位分隔符和分组。
指定排序顺序和此语言环境的正则表达式定义。
指定编写本地化信息的语言及此语言环境的肯定和否定响应(yes 和 no 字符串和表达式)。
指定提供有关语言绘制信息的布局引擎。语言绘制(或文本绘制)取决于书写体的形状和方向属性。
产品的本地化应通过向该目标语言或地区的本地用户咨询来完成。某些信息样式和格式在开发人员看来可能非常直观和常见,而在用户看来却显得很别扭或者是错误的,甚至会令人不快。下列各节描述了 Solaris 操作系统 中的某些元素,您可以定制这些元素以满足产品的本地化要求。
下表显示了一些不同的语言环境中 11:59 P.M 的写法。
表 1–2 国际时间格式
语言环境 |
格式 |
---|---|
加拿大语 |
23:59 |
芬兰语 |
23.59 |
德语 |
23.59 Uhr |
挪威语 |
23.59 |
泰语 |
23:59 |
英国英语 |
23:59 |
时间用 12 小时制和 24 小时制两种方式表示。小时和分钟分隔符可以是冒号 ( :) 或句点 ( .)。
在不同的国家/地区之间以及国家/地区内部存在着时区划分。尽管时区可以根据早于或晚于协调通用时间(UTC)或格林威治时间 (GMT) 的小时数来描述,但该数字并不总是整数。例如,纽芬兰所在的时区与相邻时区相差半小时。
夏时制时间 (DST) 开始和结束的日期可能因国家/地区的不同而不同。很多国家/地区根本不实行夏时制。此外,夏时制时间还可能在某一个时区内部存在差别。例如,美国不同的州有不同的夏时制时间。
下表显示在世界各地使用的一些日期格式。即使在一个国家/地区内部,日期格式可能也有所不同。
表 1–3 国际日期格式
语言环境 |
惯例 |
实例 |
---|---|---|
加拿大语(英语) |
dd/mm/yy |
24/08/01 |
丹麦语 |
yyyy-mm-dd |
2001-08-24 |
芬兰语 |
dd.mm.yyyy |
24.08.2001 |
法语 |
dd/mm/yyyy |
24/08/2001 |
德语 |
yyyy-mm-dd |
2001-08-24 |
意大利语 |
dd/mm/yy |
24/08/01 |
挪威语 |
dd-mm-yy |
24-08-01 |
西班牙语 |
dd-mm-yy |
24-08-01 |
瑞典语 |
yyyy-mm-dd |
2001-08-24 |
大不列颠 |
dd/mm/yy |
24/08/01 |
美国 |
mm-dd-yy |
08-24-01 |
泰语 |
dd/mm/yyyy |
24/08/2001 |
英国和美国是世界上使用句点表示小数点位置的为数不多的几个地方中的两个。而其他许多国家/地区都使用逗号。小数点分隔符又称为基数字符。同样,英国和美国使用逗号分隔千位组,而其他许多国家/地区则使用句点,同时还有一些国家/地区使用短空格来分隔千位组。
包含特定于某一语言环境的格式的数据文件在传送到其他语言环境的系统时经常被错误地解码。例如,一个包含法语格式数字的文件不能用于特定于英国的程序。
下表显示了一些常用的数字格式。
表 1–4 国际数字惯例
语言环境 |
较大数字 |
---|---|
加拿大语(英语) |
4,294,967.00 |
丹麦语 |
4.294 967.295,00 |
芬兰语 |
4 294 967 295,00 |
法语 |
4 294 967 295,00 |
德语 |
4,294,967.00 |
意大利语 |
4.294.967,00 |
挪威语 |
4.294.967.295,00 |
西班牙语 |
4.294.967.295,00 |
瑞典语 |
4 294 967 295,00 |
大不列颠 |
4,294,967,295.00 |
美国 |
4,294,967,295.00 |
泰语 |
4,294,967,295.00 |
没有特定的语言环境惯例用来指定列表中数字的分隔方式。
货币单位和表示规则在世界各地差别很大。本地和国际货币符号可能是不同的。下表显示了一些国家/地区的货币格式。
表 1–5 国际货币惯例
语言环境 |
货币 |
实例 |
---|---|---|
加拿大语(英语) |
美元 ($) |
$1,234.56 |
加拿大语(法语) |
美元 ($) |
1 234,56$ |
丹麦语 |
克朗 (kr) |
Kr 1.234,56 |
芬兰语 |
欧元() |
1 234,56 |
法语 |
欧元() |
1,234 |
日语 |
日元 (¥) |
¥ 1,234 |
挪威语 |
克朗 (kr) |
kr 1.234,56 |
瑞典语 |
克朗 (Kr) |
1 234,56 Kr |
大不列颠 |
英镑 (£) |
£1,234.56 |
美国 |
美元 ($) |
$1,234.56 |
泰语 |
铢 |
2539 铢 |
欧元 |
欧元() |
5,000 |
当前发行版支持欧元。本地货币符号仍然可用,以保持向后兼容性。
表 1–6 支持欧元的用户语言环境
地区 |
语言环境名称 |
ISO 代码集 |
---|---|---|
奥地利 |
de_AT.ISO8859-15 |
8859-15 |
比利时(法语) |
fr_BE.ISO8859-15 |
8859-15 |
比利时(佛兰德语) |
nl_BE.ISO8859-15 |
8859-15 |
丹麦 |
da_DK.ISO8859-15 |
8859-15 |
爱沙尼亚 |
et_EE.ISO8859-15 |
8859-15 |
芬兰 |
fi_FI.ISO8859-15 |
8859-15 |
法国 |
fr_FR.ISO8859-15 |
8859-15 |
德国 |
de_DE.ISO8859-15 |
8859-15 |
大不列颠 |
en_GB.ISO8859-15 |
8859-15 |
爱尔兰 |
en_IE.ISO8859-15 |
8859-15 |
意大利 |
it_IT.ISO8859-15 |
8859-15 |
荷兰 |
nl_NL.ISO8859-15 |
8859-15 |
葡萄牙 |
pt_PT.ISO8859-15 |
8859-15 |
西班牙加泰罗尼亚 |
ca_ES.ISO8859-15 |
8859-15 |
西班牙 |
es_ES.ISO8859-15 |
8859-15 |
瑞典 |
sv_SE.ISO8859-15 |
8859-15 |
美国 |
en_US.ISO8859-15 |
8859-15 |
欧洲语言环境基于 ISO8859-15 代码集。
请记住,经过转换的货币金额可能比原始货币金额占用更多或更少的空间,例如 $1,000 可能变为 1.307.000。
欧元地区中语言环境的当前语言环境设置的状态由 locale 实用程序的 LC_MONETARY 操作数表示。例如,下表显示了“德国”的状态。
表 1–7 德国语言环境和相应的 LC_MONETARY 操作数
语言环境 |
LC_MONETARY |
---|---|
de_DE.ISO8859-1 |
DM |
de_DE.ISO8859-15 |
Euro |
de_DE.UTF-8 |
Euro |
de_DE.ISO8859-15@euro |
Euro |
de_DE.UTF-8@euro |
Euro |
本部分描述各种语言之间的重要差异。
在英语中,单词通常用空格字符来分隔。而在中文、日语和泰语等语言中,单词之间通常没有分隔符。
特定字符的排序顺序在所有语言中并非都是相同的。例如,在德国,“ö”与普通的“o”的排序顺序相同,而在瑞典,两者却分别进行排序,其中前者位于字母表的末尾。在某些语言中,字符具有确定字符序列优先级的权值。例如,泰语词典通过粗细不同的字符序列来定义排序。
各字符集在字母字符和特殊字符的数量上可能有所不同。英语字母表只包含 26 个字符,而某些语言却包含更多字符。例如,日语可以包含 20,000 多个字符,而中文可能包含比这一数据还要多的字符。
大多数西欧国家/地区的字母表类似于英语国家/地区使用的标准的 26 个字符的字母表,但往往还包含一些附加基本字符、一些带标记(或带重音)的字符和一些连字符。
尽管平假名中的每个字符在片假名中都有一个等效字符,但平假名是最常用的书写体,具有类似草书而不是块状的字母形式。日语汉字字符用于拼写词根。片假名通常用于表示“外来”词,即从日语以外的其他语言中引入的词。
日语汉字包含成千上万个字符,但其中常用字符数正在逐年减少。现在经常使用的字符只有 3500 个,而普通日本作家的日语汉字字符的词汇量大约为 2000 个。然而,按照日本工业标准 (JIS) 的要求,计算机系统必须支持 7000 个以上的常用字符。此外,还有大约 170 个平假名和片假名字符。平均来讲,日语文本中有 55% 是平假名,35% 是日语汉字,10% 是片假名。日语文本中也包含阿拉伯数字和罗马字母。
尽管可以完全避免使用日语汉字,但大多数日语读者发现一篇不带任何日语汉字的文本很难理解。
朝鲜语文本可使用称为“朝鲜语文字”的语音文字系统进行拼写。朝鲜语文字包含 11,000 个字符,这些字符由称为“字母”的辅音和元音组成。朝鲜语计算机系统中通常使用的字符大约有 3000 个,这些字符来自整个朝鲜语文字字符词汇。朝鲜语还使用名为“朝鲜语汉字”的象形字,这些象形字基于中国发明的字符集。朝鲜语文本需要 6000 多个朝鲜语汉字字符。当朝鲜语文字表意不太明确时,常使用朝鲜语汉字来避免混淆。朝鲜语文字字符由组合在一起的辅音和元音构成。两者组合在一起可构成音节,即朝鲜语文字字符。朝鲜语文字字符通常排列在一个方框中,以便形成的字符组与朝鲜语汉字字符占用相同的空间。朝鲜语文本中还包含阿拉伯数字、罗马字母和特殊符号字符。
一个泰语字符可以在显示屏上定义为包含四个显示单元的列位置。每个列位置最多可包含三个字符。显示单元的组成基于泰语字符的分类。某些泰语字符可由其他字符的分类组成。如果这两个字符组合在一起,则它们就位于同一单元中。否则,它们将分别位于不同的单元中。
在中国 (PRC),GB2312(zh 语言环境)中大约有 7000 个常用的汉字字符,GBK 字符集(zh.GBK 语言环境)中有 20,000 多个字符,GB18030-2000 字符集(zh_CN.GB18030 语言环境)中大约有 30,000 个字符,包括在 Unicode 3.0 中定义的所有 CJK 扩展 A 字符。
在中国台湾地区,最常用的字符集是 CNS11643-1992(zh_TW 语言环境)和 Big5(zh_TW.BIG5 语言环境)。它们共同使用大约 13,000 个汉字字符。
在香港特别行政区,Big5 字符集中添加了 4702 个字符,从而形成 Big5-HKSCS 字符集 (zh_HK.BIG5HK)。
如果字符不是根字符,则它通常由两个或多个部分组成,而两个部分最为常见。在两部分字符中,一部分通常表示意义,一部分则表示发音。有时两部分都表示意义。偏旁部首是最重要的元素,而字符传统上是按偏旁部首进行排列的,偏旁部首的数量有几百个。一个发音可用多个不同的字符表示,这些字符是不可交替使用的。一个字符可以有多个发音。
在给定上下文中使用某些字符比使用其他字符更为适合。适当的字符通过使用声调从语音上加以区分。与此相反,日语口语和朝鲜语口语则没有声调。
几种表示中文的语言系统。在中国,最常用的是拼音(使用罗马字符),它在西方经常用于表示地点,如 Beijing。威托玛式系统是一种比较陈旧的语音系统,曾经用于表示地名(如 Peking)。而在中国台湾地区,经常使用的则是注音(或汉语拼音字母),它是一种具有独特字母形式的语音字母表。
希伯来语文本用于拼写希伯来语和意第绪语书写体。希伯来语是一种双向书写体。希伯来语字母是从右向左进行读写的,而数字则是从左向右读的。嵌入到希伯来语文本中的所有英语文本也是从左向右读的。
希伯来语使用 27 个字符的字母表,并使用标准拉丁语(或英语)字母表中的标点符号和数字。希伯来语文本还包含元音和发音标记。这些标记可以通过基本字符内部的点 (dagesh) 、字符下的元音标记或字符左上角的重音等形式出现。这些标记通常只用于礼拜式文本中,而很少在日常生活中见到。希伯来语中没有大写字母。
印度语文本用称为“天城书”(意思是“神的手笔”)的书写体书写。印度语是一种语音语言,并通过一系列音节进行拼写。每个音节都由三种类型的字母片段(天城书字符)构成:辅音字母、独立元音和依赖元音符号。音节本身由辅音和元音核心组成,同时还包含一个可选的前缀辅音。与英语(从基准线开始)不同,天城书字符从写在字符顶部的水平线(称为头笔) 悬垂向下书写。这些字符可根据它们的上下文进行组合或更改。同希伯来语一样, 印度语文本不区分大小写字母。
美国键盘上的所有字符并非都在其他键盘中出现。同样,其他键盘经常包含许多在美国键盘上看不到的字符。
由于输入由 Solaris 操作系统 处理,因此可使用任何键盘输入任何语言环境中的字符。
在 SPARC® 机器上,书写键可用于生成所支持的任何 ISO8859 字符集中的任何带有音调符号的拉丁字符。书写键可在基于拉丁文的语言环境中使用,但不能用于朝鲜语、中文或日语语言环境(UTF-8 语言环境除外)。
在每个国家/地区中,经常使用几种纸张大小。通常情况下,其中的某个大小要比其他的大小更通用。大多数国家/地区都遵循 ISO 标准 216:“书写纸和某些种类的打印材质-缩减大小-A 和 B 大小系列。 ”
国际化应用程序不应对可以使用的页大小进行假设。Solaris 系统不支持对输出页大小进行跟踪。由应用程序负责跟踪输出页大小。下表显示了通用的国际页大小。
表 1–8 通用国际页大小
纸型 |
尺寸 |
国家/地区 |
---|---|---|
ISO A4 |
21.0 厘米 X 29.7 厘米 |
除美国以外的任何地方。 |
ISO A5 |
14.8 厘米 X 21.0 厘米 |
除美国以外的任何地方。 |
JIS B4 |
25.9 厘米 X 36.65 厘米 |
日本 |
JIS B5 |
18.36 厘米 X 25.9 厘米 |
日本 |
美国信函 |
8.5 英寸 X 11 英寸 |
美国和加拿大 |
美国标准 |
8.5 英寸 X 14 英寸 |
美国和加拿大 |