跳到内容 中国
HP.com 主页 产品与服务 支持及驱动程序 解决方案 如何购买
» 联系惠普
更多选项
HP.com 主页
HP-UX 11.0 - 11i 国际化特性白皮书 > 第 2 章 编码字符

支持欧元符号

» 

技术文档资料

完整的 PDF 手册
» 反馈
内容从此开始:

 » 目录

 » 词汇表

 » 索引

欧元符号(ISO 8859-15 语言环境)[11.0 修补软件,11i v1]

通过对 ISO 8859-15 字符集语言环境的支持,提供对欧元符号的支持。ISO 8859-15 是新近批准的字符集,它与 ISO 8859-1 不同,可支持八种新字符。为了能够显示、输入并处理欧元符号,提供了专门的增强功能。

表 2-1 “新增的 ISO 8859-15 语言环境” 中所示列出了 14 种基于 ISO 8859-15 创建的新的语言环境。

表 2-1 新增的 ISO 8859-15 语言环境

语言环境语言(区域)
C.iso885915“C”
da_DK.iso885915@euro丹麦语(丹麦)
de_DE.iso885915@euro德语(德国)
en_GB.iso885915@euro英语(英国)
es_ES.iso885915@euro西班牙语(西班牙)
fi_FI.iso885915@euro芬兰语(芬兰)
fr_CA.iso885915法语(加拿大)
fr_FR.iso885915@euro法语(法国)
is_IS.iso885915@euro冰岛语(冰岛)
it_IT.iso885915@euro意大利语(意大利)
nl_NL.iso885915@euro荷兰语(荷兰)
no_NO.iso885915@euro挪威语(挪威)
pt_PT.iso885915@euro葡萄牙语(葡萄牙)
sv_SE.iso885915@euro瑞典语(瑞典)

 

同时提供了受支持的欧洲语言环境的源文件。

应用程序必须通过将 LANG 环境变量设置为所需的语言环境,选择启用 ISO 8859-15 支持。

ISO 8859-15 支持是 HP-UX 的一部分,可用于所有平台,但不会自动对任何应用程序启用。不需要任何特殊配置,并且添加此新功能不会导致任何兼容性问题。

语言环境是根据已经安装在目标系统上的当前语言文件集来安装的。

对于表 2-1 “新增的 ISO 8859-15 语言环境” 中列出的所有语言环境( C.iso885915fr_CA.iso885915 除外),LC_MONETARY 环境变量均设置为欧元符号。标准欧元符号格式规则适用于将该环境变量设置为欧元符号的所有语言环境。因此,用户可能会发现货币的小数点分隔符和千位分隔符发生了变化,而货币区域以外的小数点分隔符和千位分隔符仍与以前的语言环境中的相应分隔符相同。

例如,在法语语言环境中,千位分隔符是一个空格,小数点分隔符是一个逗号。但在欧元货币中,国际标准的千位分隔符是一个句点。LC_MONETARY 语言环境类别设置为 fr_FR.iso885915@euro 的用户将看到下列情况:

  • 货币区域以外的数字“一千五百五十点五”显示为 1 550,50。

  • “一千五百五十欧元零五十分”显示为 EUR 1.550,50。

用户可以将 LC_MONETARY 值更改为自己的国家(地区)语言货币单位。

在某些语言环境中,用户在通过 CDE 登录时,会自动启用 ISO 8859-15。

CDE 支持

CDE 产品中引入了新功能,可支持欧元符号的输入和显示。这些更改同时适用于工作站和服务器。

X Windows 支持

Xlib 已增添支持欧元符号的输入和显示的新功能。可通过增加对 ISO8859-15 字符集的内部支持及在 11.0 上支持 UTF8 来实现这一功能。启动 Xlib 应用程序时,Xlib 内部命令会确定语言环境是否设置为 ISO8859-15 字符集。如果是,Xlib 将使用 ISO8859-15 字符集中提供的八种新符号来执行字符查找。目前,只有与 X11R6 (X Windows X11 Release 6) 相关的应用程序才支持 ISO8859-15 字符集。目前不支持较旧版本的 X11。

libcXlib 库支持欧元符号。

编码集转换器

新增的 iconv 表支持 ISO 8859-15、ISO 8859-1、ucs2 以及 utf8 之间的转换。HP-UX 11.0 中需要的额外磁盘空间为 6.42 MB。不需要额外内存。

LaserJet 打印机

支持欧元符号的一个重要方面是可以使用现有的标准 lp(1) 机型文件在 LaserJet 打印机上打印新的符号。HP 4500 Color LaserJet 打印机上已经安装了 ISO8859-15 字体集,该字体集在位置 A4(十六进制)上包含欧元符号。要打印欧元符号,数据文件必须包含该编码。

提供了一个新的实用程序,用于将字体下载到打印机 RAM 中。然后,这些字体将驻留在打印机的 RAM 中,直到下一次接通电源。

使用 lp 选项 -ocs9N(或 -oscs9N)可以选择 ISO 8859-15 字符集作为主(或次)字符集。示例如下:

lp -d打印机名 -ocs9N -o其他选项 打印文件名

注释:大小写很重要。 请务必使用大写的“N”。

欧元符号 - ISO 10646/Unicode 支持 [11i v1]

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 还提供了下列针对欧元符号的新功能:

  • 通过使用 @euro 修饰符,提供双重货币支持

  • UTF-8(通用转换格式 - 8 位)性能调优

  • 亚洲语言 UTF-8 语言环境的欧元符号显示和处理功能

  • 新增的转换器表

localelocaledeflibcXlibiconv 中提供了一些特定增强功能,以实现这些新功能。

已修改了现有欧洲语言环境的子集,可以支持双重货币以符合欧元符号标准货币格式。

表 2-2 “提供的支持双重货币的 utf8 语言环境” 显示了支持双重货币的欧元符号语言环境列表:

表 2-2 提供的支持双重货币的 utf8 语言环境

语言环境语言(区域)

de_DE.utf8

德语(德国)

es_ES.utf8

西班牙语(西班牙)

fr_FR.utf8

法语(法国)

it_IT.utf8

意大利语(意大利)

sv_SE.utf8

瑞典语(瑞典)

 

表 2-3 “提供的支持双重货币的 utf8 语言环境源文件” 列出了目前提供的包括双重货币支持的语言环境源文件:

表 2-3 提供的支持双重货币的 utf8 语言环境源文件

语言环境语言(区域)

da_DK.utf8

丹麦语(丹麦)

de_DE.utf8

德语(德国)

el_GR.utf8

希腊语(希腊)

en_GB.utf8

英语(英国)

es_ES.utf8

西班牙语(西班牙)

fi_FI.utf8

芬兰语(芬兰)

fr_FR.utf8

法语(法国)

is_IS.utf8

冰岛语(冰岛)

it_IT.utf8

意大利语(意大利)

nl_NL.utf8

荷兰语(荷兰)

no_NO.utf8

挪威语(挪威)

pt_PT.utf8

葡萄牙语(葡萄牙)

sv_SE.utf8

瑞典语(瑞典)

 

要构建这些语言环境,请参阅 localedef (1M) 联机帮助页。

LANG 和(或)LC_* 环境变量设置为某种支持欧元符号的语言环境时,将使用相应的国家(地区)语言货币格式规则。LC_MONETARY 环境变量应设置为具有 @euro 修饰符的支持欧元符号的语言环境名,以便使用和(或)访问欧元货币格式规则。

例如,要将欧元指定为法语语言环境下的货币,请使用下列设置:

  LANG=fr_FR.utf8
  LC_MONETARY=fr_FR.utf8@euro

同样,要指定法国法郎,请使用以下设置:

  LANG=fr_FR.utf8

要通过编程方式访问货币单位和相关货币格式规则,请通过调用 setlocale (3C),在可选的货币单位之间切换:

/* Handle euro in strfmon(), ... */
setlocale(LC_MONETARY, “fr_FR.utf8@euro”);
 
...
/* Handle French francs in strfmon(), ... */
setlocale(LC_MONETARY, “fr_FR.utf8”);

LC_MONETARY 环境变量设置为 euro(欧元符号)时,货币类别中的格式使用欧元符号标准格式规则,而其他类别则使用当地惯例格式。因此,用户可能会发现货币的小数点分隔符和千位分隔符发生了变化,而货币区域以外的小数点分隔符和千位分隔符仍为当地惯例格式,例如数值数字。

例如,在法语语言环境中,千位分隔符是一个空格,小数点分隔符是一个逗号。但在欧元货币中,国际标准的千位分隔符是一个句点。因此,LC_MONETARY 语言环境类别设置为 fr_FR.utf8@euro 的用户将看到下列情况:

  • 货币区域以外的数字“一千五百五十点五”显示为 1 550,50。

  • 货币区域内的数字“一千五百五十欧元零五十分”显示为 EUR 1.550,50

命令

localedef(1m) 命令已得到了增强,可以处理 @euro 修饰符,以便构建双重货币语言环境。

双重货币语言环境的 lp(1) 机型脚本已得到了增强,可以打印欧元符号字符。

libc

标准 libc 支持 @euro 双重货币标志。

编码集转换器

新增的 iconv 转换器表可用于支持从 utf8、ucs2 和 iso885915 到 IBM 支持欧元符号的编码页和 PC 编码页的转换:

表 2-4 utf8 和 IBM 编码页 (EBCDIC)

utf8 <-> cp1140

utf8 <-> cp1141

utf8 <-> cp1142

utf8 <-> cp1143

utf8 <-> cp1144

utf8 <-> cp1145

utf8 <-> cp1146

utf8 <-> cp1147

utf8 <-> cp1148

utf8 <-> cp1149

 

表 2-5 ucs2 和 IBM 编码页 (EBCDIC)

ucs2 <-> cp1140

ucs2 <-> cp1141

ucs2 <-> cp1142

ucs2 <-> cp1143

ucs2 <-> cp1144

ucs2 <-> cp1145

ucs2 <-> cp1146

ucs2 <-> cp1147

ucs2 <-> cp1148

ucs2 <-> cp1149

 

表 2-6 iso885915 和 IBM 编码页 (EBCDIC)

iso885915 <-> cp1140

iso885915 <-> cp1141

iso885915 <-> cp1142

iso885915 <-> cp1143

iso885915 <-> cp1144

iso885915 <-> cp1145

iso885915 <-> cp1146

iso885915 <-> cp1147

iso885915 <-> cp1148

iso885915 <-> cp1149

 

表 2-7 utf8 和 PC 编码页 (EBCDIC)

utf8 <-> cp437

utf8 <-> cp737

utf8 <-> cp775

utf8 <-> cp850

utf8 <-> cp852

utf8 <-> cp855

utf8 <-> cp857

utf8 <-> cp1860

utf8 <-> cp861

utf8 <-> cp862

utf8 <-> cp863

utf8 <-> cp864

utf8 <-> cp865

utf8 <-> cp866

utf8 <-> cp869

utf8 <-> cp874

utf8 <-> cp1250

utf8 <-> cp1251

utf8 <-> cp1252

utf8 <-> cp1253

utf8 <-> cp1254

utf8 <-> cp1255

utf8 <-> cp1256

utf8 <-> cp1257

utf8 <-> cp1258

 

表 2-8 ucs2 和 PC 编码页 (EBCDIC)

ucs2 <-> cp437

ucs2 <-> cp737

ucs2 <-> cp775

ucs2 <-> cp850

ucs2 <-> cp852

ucs2 <-> cp855

ucs2 <-> cp857

ucs2 <-> cp1860

ucs2 <-> cp861

ucs2 <-> cp862

ucs2 <-> cp863

ucs2 <-> cp864

ucs2 <-> cp865

ucs2 <-> cp866

ucs2 <-> cp869

ucs2 <-> cp874

ucs2 <-> cp1250

ucs2 <-> cp1251

ucs2 <-> cp1252

ucs2 <-> cp1253

ucs2 <-> cp1254

ucs2 <-> cp1255

ucs2 <-> cp1256

ucs2 <-> cp1257

ucs2 <-> cp1258

 

影响

要使用欧元货币格式规则,必须将 LC_MONETARY 环境变量设置为后面跟有 @euro 修饰符的支持欧元货币的语言环境名。

语言环境源文件和二进制文件的大小要求为 20.1 MB,转换器表的大小要求为 191 KB。

添加这些功能不会导致兼容性问题。

与以前发行版中提供的 UTF-8 语言环境相比,使用本发行版中提供的 UTF-8 语言环境的应用程序的排序性能明显得到改善。

支持希腊语欧元符号 [11i v1.6]

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 以来为西欧国家语言提供的欧元符号支持级别:

  • 通过使用 @euro 修饰符提供双重货币支持

  • 欧元符号显示和处理功能

  • 希腊语言环境中的欧元符号输入功能

  • 对具有其他希腊语字符的欧元符号的打印机支持

支持欧元符号的希腊语语言环境

el_GR.utf8 和 el_GR.iso88597 语言环境添加了四种新字符(包括欧元符号),功能得到增强。表 2-9 “新字符” 说明了这四种新字符。

表 2-9 新字符

字符名

ISO-88597码点 UnicodeUTF-8

Euro(欧元符号)

0xA40x20AC0xE282AC
希腊 Drachma 货币符号0xA50x20AF0xE282AF
希腊 Ypogegrammeni 文0xAA 0x037A0xCDBA
希腊文问号0xAE 0x037E0xCDBE

 

el_GR.utf8 语言环境二进制文件现在随本发行版一起提供。以前,仅提供 el_GR.utf8 源文件。

语言环境专用的货币处理和格式设置

LANG 和(或)LC_* 环境变量设置为这些支持欧元符号的语言环境时,将使用国家(或地区)语言货币格式规则来继续支持旧(基于 Drachma)的应用程序。要访问相应语言环境中欧元符号的货币格式规则,应该将 LC_MONETARY 环境变量设置为具有 @euro 修饰符的目标语言环境名。

例如,要在希腊语 UTF-8 语言环境中将欧元指定为货币,应该设置下列语言环境变量来启用货币格式设置,例如 strfmon(3C) 使用的格式设置:

LANG=el_GR.utf8
LC_MONETARY=el_GR.utf8@euro

希腊语欧元符号的数据转换 (iconv)

下列希腊语 iconv 转换器已被更新,可以支持 ISO-88597(请参阅“支持欧元符号的希腊语言环境”一节中的
表 2-9 “新字符”)中新增加的四种字符与 UTF-8 和 Unicode 进行转换:

iso87 <-> ucs2
iso87 <-> utf8

现在可以使用下列 iconv 转换器来支持希腊语 EBCDIC(编码页 875)和 UTF-8/Unicode 之间的数据转换:

greee <-> ucs2
greee <-> utf8

ISO-88597 和希腊语 EBCDIC 转换器已得到了增强,可以支持欧元符号,并且经过调整后与 IBM 为编码页 875 定义的预期映射匹配。为了与预期的映射匹配,对下列转换器表进行了修改:

greee <-> iso87

表 2-10 “修改的编码映射变更(从 ISO-88597)” 显示了从 ISO-88597 转换到希腊语 EBCDIC/编码页 875 (iso87=greee) 所修改的编码映射变更。

表 2-10 修改的编码映射变更(从 ISO-88597)

ISO-88597编码页 875(错误)

编码页 875(已更正)

0x270xd00x7d
0x400xff0x7c
0x5c0xff0xe0
0x7b0xff0xc0
0x7c0xff0x6a
0x7d0xff0xd0
0x7e0xff0xa1
0xa00xff0x74
0xa10x790xce
0xa20xd00xde
0xa30x7b0xb0
0xa40xff0xfc
0xa60xff0xdf
0xa70x7c0xeb
0xa80xa10x70
0xa90x830xfb
0xab0x4c0xee
0xac0xff0xef
0xad0x600xca
0xaf0xca0xcf

0xb0

0xe00x90

0xb2

0xf20xea

0xb3

0xf30xfa

0xb4

0x7d0xa0

0xb5

0x7d0x80

0xb7

0x4b0xdd

0xbb

0x6e0xfe

0xbd

0xea0xdb
0xc00xb50xcc
0xda0x490x68
0xdb0x630x69
0xe00xb70xcd

 

表 2-11 “修改的编码映射变更(从希腊语 EBCDIC/编码页 875)” 显示了从希腊语 EBCDIC/编码页 875 转换到 ISO-88597 (greee=iso87) 所修改的编码映射变更。

表 2-11 修改的编码映射变更(从希腊语 EBCDIC/编码页 875)

编码页 875ISO-88597(错误)ISO-88597(已更正)
0x70x7f0x9f
0x680xff0xda
0x690xff0xdb
0x6a0xff0x7c
0x700xff0xa8
0x740xff0xa0
0x7b0xa30x23
0x7c

0xa7

0x40
0x7d0xb40x27
0x800xff0xb5
0x900xff0xb0
0xa00xff0xb4
0xa1

0xa8

0x7e
0xb00xff0xa3
0xc00xff0x7b
0xca

0xaf

0xad
0xcc0xff0xc0
0xcd0xff0xe0
0xce0xff0xa1
0xcf0xff0xaf
0xd0

0x27

0x7d
0xdb0xff0xbd
0xdd0xff0xb7
0xde0xff0xa2
0xdf0xff0xa6
0xe00xb00x5c
0xea

0xbd

0xb2
0xeb0xff0xa7
0xee0xff0xab
0xef0xff0xac
0xfa0xff0xb3
0xfb0xff0xa9
0xfc0xff0xa4
0xfe0xff0xbb

 

表 2-12 “在 EBCDIC 编码页 875 中未定义码点的字符” 显示了当前未定义希腊语 EBCDIC 编码页 875 码点的三种字符。因此,在从 ISO-88597、Unicode 或 UTF-8 进行转换时,这些字符将映射到希腊语 EBCDIC (0xFF) 的未定义字符。在这些编码集之间来回转换时,这三种字符可能会导致数据丢失。

表 2-12 在 EBCDIC 编码页 875 中未定义码点的字符

ISO-88597

Unicode希腊语 EBCDIC(编码页 875)字符

0xa5

0x20af<未定义>希腊 Drachma 货币符号
0xaa0x037a<未定义>希腊 Ypogegrammeni 文
0xae0x037e<未定义>希腊文问号

 

显示希腊语欧元符号

X11R6 Xlib 得到了增强,在 el_GR.iso88597el.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 键映射中都没有键绑定。
这是因为各 X Windows 供应商并未就哪些键序列应激活哪些符号提供标准定义。因此,只有业内明确了那些映射,才会为这些字符分配键绑定。

打印欧元符号和希腊语字符

可以使用标准的 lp(1) 命令在 LaserJet 打印机上打印欧元符号和希腊语字符。LaserJet 打印机中应安装希腊语字符集和(或)字体集以及欧元符号。目前,具有该支持的 LaserJet 打印机机型包括 LaserJet 1220 和 LaserJet 2200。

使用 lp 选项 -ocs12N 选择希腊语字符集和(或)字体集。示例如下:

lp -d打印机名 -ocs12N -o其他选项 打印文件名

影响

提供的希腊语欧元符号基本支持功能(安装在所有系统上)需要约 14.2 MB 额外磁盘空间。

在 el_GR.iso88597 或 el_GR.utf8 语言环境中运行时不需要额外的内存。

兼容性

本发行版中 ISO-88597 和希腊语 EBCDIC (CP 875) 之间进行的 iconv 转换会产生与以前发行版不同的结果。
在 11i v1.6 中,这些表已被更正,可以提供正确的转换映射。

在将以前版本的 HP-UX 中存储的所有使用希腊语编码的旧式永久性数据移至 11i v1.6 系统之前,建议先将这些数据从希腊语 EBCDIC 转换为 ISO-88597。

打印版本
保密声明 使用本网站表示您同意其使用条件
© 2001-2003, 2005 - Hewlett-Packard Development Company, L.P.