| 中国 |
|
|
|
![]() |
HP-UX 11.0 - 11i 国际化特性白皮书 > 第 2 章 编码字符支持欧元符号 |
|
通过对 ISO 8859-15 字符集语言环境的支持,提供对欧元符号的支持。ISO 8859-15 是新近批准的字符集,它与 ISO 8859-1 不同,可支持八种新字符。为了能够显示、输入并处理欧元符号,提供了专门的增强功能。 如表 2-1 “新增的 ISO 8859-15 语言环境” 中所示列出了 14 种基于 ISO 8859-15 创建的新的语言环境。 表 2-1 新增的 ISO 8859-15 语言环境
同时提供了受支持的欧洲语言环境的源文件。 应用程序必须通过将 LANG 环境变量设置为所需的语言环境,选择启用 ISO 8859-15 支持。 ISO 8859-15 支持是 HP-UX 的一部分,可用于所有平台,但不会自动对任何应用程序启用。不需要任何特殊配置,并且添加此新功能不会导致任何兼容性问题。 语言环境是根据已经安装在目标系统上的当前语言文件集来安装的。 对于表 2-1 “新增的 ISO 8859-15 语言环境” 中列出的所有语言环境( C.iso885915 和 fr_CA.iso885915 除外),LC_MONETARY 环境变量均设置为欧元符号。标准欧元符号格式规则适用于将该环境变量设置为欧元符号的所有语言环境。因此,用户可能会发现货币的小数点分隔符和千位分隔符发生了变化,而货币区域以外的小数点分隔符和千位分隔符仍与以前的语言环境中的相应分隔符相同。 例如,在法语语言环境中,千位分隔符是一个空格,小数点分隔符是一个逗号。但在欧元货币中,国际标准的千位分隔符是一个句点。LC_MONETARY 语言环境类别设置为 fr_FR.iso885915@euro 的用户将看到下列情况:
用户可以将 LC_MONETARY 值更改为自己的国家(地区)语言货币单位。 在某些语言环境中,用户在通过 CDE 登录时,会自动启用 ISO 8859-15。 Xlib 已增添支持欧元符号的输入和显示的新功能。可通过增加对 ISO8859-15 字符集的内部支持及在 11.0 上支持 UTF8 来实现这一功能。启动 Xlib 应用程序时,Xlib 内部命令会确定语言环境是否设置为 ISO8859-15 字符集。如果是,Xlib 将使用 ISO8859-15 字符集中提供的八种新符号来执行字符查找。目前,只有与 X11R6 (X Windows X11 Release 6) 相关的应用程序才支持 ISO8859-15 字符集。目前不支持较旧版本的 X11。 支持欧元符号的一个重要方面是可以使用现有的标准 lp(1) 机型文件在 LaserJet 打印机上打印新的符号。HP 4500 Color LaserJet 打印机上已经安装了 ISO8859-15 字体集,该字体集在位置 A4(十六进制)上包含欧元符号。要打印欧元符号,数据文件必须包含该编码。 提供了一个新的实用程序,用于将字体下载到打印机 RAM 中。然后,这些字体将驻留在打印机的 RAM 中,直到下一次接通电源。 使用 lp 选项 -ocs9N(或 -oscs9N)可以选择 ISO 8859-15 字符集作为主(或次)字符集。示例如下: lp -d打印机名 -ocs9N -o其他选项 打印文件名
HP-UX 11i v1 对 Unicode 2.1/ISO 10646 字符集提供了系统级支持。Hewlett-Packard 对 Unicode 的支持为所有地理区域之间的互操作性提供了基础。 ISO 10646 是一种定义单一的行业标准,通过它可以为目前存在的所有字符制定唯一的编码。Unicode 2.1 是 ISO 10646 规范的同盟者。修订版 2.1 的 Unicode 规范在 0x20AC 码点处包含欧元符号。 本发行版已经添加了输入、存储、检索、显示和打印欧元符号的支持。除了基本功能外,HP-UX 11i v1 还提供了下列针对欧元符号的新功能: 向 locale、localedef、libc、Xlib 和 iconv 中提供了一些特定增强功能,以实现这些新功能。 已修改了现有欧洲语言环境的子集,可以支持双重货币以符合欧元符号标准货币格式。 表 2-2 “提供的支持双重货币的 utf8 语言环境” 显示了支持双重货币的欧元符号语言环境列表: 表 2-2 提供的支持双重货币的 utf8 语言环境
表 2-3 “提供的支持双重货币的 utf8 语言环境源文件” 列出了目前提供的包括双重货币支持的语言环境源文件: 表 2-3 提供的支持双重货币的 utf8 语言环境源文件
要构建这些语言环境,请参阅 localedef (1M) 联机帮助页。 LANG 和(或)LC_* 环境变量设置为某种支持欧元符号的语言环境时,将使用相应的国家(地区)语言货币格式规则。LC_MONETARY 环境变量应设置为具有 @euro 修饰符的支持欧元符号的语言环境名,以便使用和(或)访问欧元货币格式规则。 例如,要将欧元指定为法语语言环境下的货币,请使用下列设置: LANG=fr_FR.utf8 同样,要指定法国法郎,请使用以下设置: LANG=fr_FR.utf8 要通过编程方式访问货币单位和相关货币格式规则,请通过调用 setlocale (3C),在可选的货币单位之间切换: /* Handle euro in strfmon(), ... */ LC_MONETARY 环境变量设置为 euro(欧元符号)时,货币类别中的格式使用欧元符号标准格式规则,而其他类别则使用当地惯例格式。因此,用户可能会发现货币的小数点分隔符和千位分隔符发生了变化,而货币区域以外的小数点分隔符和千位分隔符仍为当地惯例格式,例如数值数字。 例如,在法语语言环境中,千位分隔符是一个空格,小数点分隔符是一个逗号。但在欧元货币中,国际标准的千位分隔符是一个句点。因此,LC_MONETARY 语言环境类别设置为 fr_FR.utf8@euro 的用户将看到下列情况:
新增的 iconv 转换器表可用于支持从 utf8、ucs2 和 iso885915 到 IBM 支持欧元符号的编码页和 PC 编码页的转换: 表 2-4 utf8 和 IBM 编码页 (EBCDIC)
表 2-5 ucs2 和 IBM 编码页 (EBCDIC)
表 2-6 iso885915 和 IBM 编码页 (EBCDIC)
表 2-7 utf8 和 PC 编码页 (EBCDIC)
表 2-8 ucs2 和 PC 编码页 (EBCDIC)
2000 年 6 月,希腊加入了欧盟,成为欧盟成员国,开始采用欧元作为该国的货币,并于 2002 年 1 月 1 日完成了所用货币的转换。 为此提供了系统级支持,允许在两种受支持的希腊语言环境(el_GR.utf8 和 el_GR.iso88597)中输入、存储、检索、显示和打印欧元符号:在 HP-UX 11i v1.6 中通过对语言环境、iconv 转换器、字体、Xlib 和 CDE 的更新,提供了对希腊语欧元符号的支持。 为希腊语提供的欧元符号支持级别,类似于自 HP-UX 11.0 扩展包(1999 年 5 月)和 HP-UX 11.11 以来为西欧国家语言提供的欧元符号支持级别:
el_GR.utf8 和 el_GR.iso88597 语言环境添加了四种新字符(包括欧元符号),功能得到增强。表 2-9 “新字符” 说明了这四种新字符。 表 2-9 新字符
el_GR.utf8 语言环境二进制文件现在随本发行版一起提供。以前,仅提供 el_GR.utf8 源文件。 LANG 和(或)LC_* 环境变量设置为这些支持欧元符号的语言环境时,将使用国家(或地区)语言货币格式规则来继续支持旧(基于 Drachma)的应用程序。要访问相应语言环境中欧元符号的货币格式规则,应该将 LC_MONETARY 环境变量设置为具有 @euro 修饰符的目标语言环境名。 例如,要在希腊语 UTF-8 语言环境中将欧元指定为货币,应该设置下列语言环境变量来启用货币格式设置,例如 strfmon(3C) 使用的格式设置: LANG=el_GR.utf8 下列希腊语 iconv 转换器已被更新,可以支持 ISO-88597(请参阅“支持欧元符号的希腊语言环境”一节中的 iso87 <-> ucs2 现在可以使用下列 iconv 转换器来支持希腊语 EBCDIC(编码页 875)和 UTF-8/Unicode 之间的数据转换: greee <-> ucs2 ISO-88597 和希腊语 EBCDIC 转换器已得到了增强,可以支持欧元符号,并且经过调整后与 IBM 为编码页 875 定义的预期映射匹配。为了与预期的映射匹配,对下列转换器表进行了修改: greee <-> iso87 表 2-10 “修改的编码映射变更(从 ISO-88597)” 显示了从 ISO-88597 转换到希腊语 EBCDIC/编码页 875 (iso87=greee) 所修改的编码映射变更。 表 2-10 修改的编码映射变更(从 ISO-88597)
表 2-11 “修改的编码映射变更(从希腊语 EBCDIC/编码页 875)” 显示了从希腊语 EBCDIC/编码页 875 转换到 ISO-88597 (greee=iso87) 所修改的编码映射变更。 表 2-11 修改的编码映射变更(从希腊语 EBCDIC/编码页 875)
表 2-12 “在 EBCDIC 编码页 875 中未定义码点的字符” 显示了当前未定义希腊语 EBCDIC 编码页 875 码点的三种字符。因此,在从 ISO-88597、Unicode 或 UTF-8 进行转换时,这些字符将映射到希腊语 EBCDIC (0xFF) 的未定义字符。在这些编码集之间来回转换时,这三种字符可能会导致数据丢失。 表 2-12 在 EBCDIC 编码页 875 中未定义码点的字符
X11R6 Xlib 得到了增强,在 el_GR.iso88597 和 el.GR.utf8 语言环境中运行时可以支持欧元符号。 添加了字体字形来支持 ISO-88597 中新增的四种字符。CDE 为 el_GR.utf8 语言环境提供了 XlocaleDB,在此新的 XlocaleDB 的支持下,el_GR.utf8 可以使用更新的 ISO-88597 字体来显示欧元符号。 添加了附加键映射支持,可使使用希腊文-拉丁文键盘的用户输入欧元符号。可以将 AltGr+5 序列与此新的键映射 (PS2_DIN_Greek_Euro) 一起使用以输入欧元符号字符。另外,使用美国英语键盘的用户也可以使用 PS2_DIN_US_English_Euro 键映射,在该映射中,欧元符号映射为 AltGr+4。 CDE 在 iso8859-7 语言环境中支持输入和显示欧元符号。其他三种字符在任何
Xserver 键映射中都没有键绑定。 可以使用标准的 lp(1) 命令在 LaserJet 打印机上打印欧元符号和希腊语字符。LaserJet 打印机中应安装希腊语字符集和(或)字体集以及欧元符号。目前,具有该支持的 LaserJet 打印机机型包括 LaserJet 1220 和 LaserJet 2200。 使用 lp 选项 -ocs12N 选择希腊语字符集和(或)字体集。示例如下: lp -d打印机名 -ocs12N -o其他选项 打印文件名 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||