回到網頁內容 臺灣-繁體中文
HP.com 首頁 產品資訊 支�#169;及驅動程式 解決方案 如何購買
» 聯絡 HP
進階選項
HP.com 首頁
HP-UX 11.0 - 11i 國際化功能白皮書 > 第 2 章. 編碼字元

歐元支援

» 

技術文件

PDF 格式的完整書籍
» 回饋意見
內容©韟像B開©l

 » 目錄

 » 辭彙

 » 索引

歐元 (ISO 8859-15 環境碼別) [11.0 修補程式、11i v1]

透過 ISO 8859-15 字集的環境碼別支援提供歐元支援。ISO 8859-15 是新認可的字集,與 ISO 8859-1 的不同處在於支援 8 個新字元,並提供特定的強化功能,以允許顯示、輸入,和處理歐元的能力。

根據 ISO 8859-15 建立表 2-1 「新 ISO 8859-15 環境碼別」 列出的 14 個新環境碼別。

表 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 支援。

HP-UX 提供 ISO 8859-15 支援並供所有平台使用,但不會針對任何應用程式自動啟動。不需要特別的配置,且新增此功能並無相容性的問題。

根據目標系統中目前已安裝的語言檔案集來安裝環境碼別。

表 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 Window 支援

Xlib 新增支援輸入與顯示歐元符號的功能,即增加 ISO8859-15 字集的內部支援,與 11.0 上的 UTF8 支援。啟動 Xlib 應用程式時,Xlib 內部會判斷環境碼別是否設為 ISO8859-15 鈔C酥G汰AXlib 會利用 ISO8859-15 字集中的 8 個新符號進行字元查詢。目前只有與 X11R6 (X Window X11 第 6 版) 連結的應用程式才支援 ISO8859-15 字集。目前不支援舊版的 X11。

程式庫

libcXlib 程式庫支援歐元符號。

字碼集轉碼程式

新的 iconv 表支援 ISO 8859-15 與 ISO 8859-1、ucs2,及 utf8 之間的相互轉碼。HP-UX 11.0 的額外磁碟空間是 6.42 MB,不需要額外的記憶體。

雷射印表機

歐元支援的重要面向是利用現有的標準 lp(1) 機型檔案在雷射印表機上列印新符號的能力。ISO8859-15 字型集常駐在 HP 4500 彩色雷射印表機上,在位置 A4 (十六進位) 處包含歐元符號。資料檔案必須包含此字碼方能列印歐元符號。

提供新的公用程式以便將字型下載到印表機 RAM。這些字型在下次關閉系統電源後再開啟之前會常駐在印表機的 RAM 內。

利用 lp 選項 -ocs9N (或 -oscs9N) 將 ISO 8859-15 字集選為主要 (或次要) 字集。例如:

lp -dprinter_name -ocs9N -oother_options print_filename

附註: 區分大小寫,請確認使用大寫的「N」。

歐元 - ISO 10646/Unicode 支援 [11i v1]

HP-UX 11i v1 提供系統層級的 Unicode 2.1/ISO 10646 字集支援。HP 對 Unicode 的支援提供讓所有地區的使用者能在異質環境中交互使用的基礎。

ISO 10646 是定義單一編碼的業界標準,專為編碼現今世界上所有字元。Unicode 2.1 是 ISO 10646 的隨同規格。2.1 版的 Unicode 規格包括在 0x20AC 字碼點的歐元符號。

本版新增輸入、儲存、擷取、顯示,與列印歐元符號的支援。除了基本功能外,HP-UX 11i v1 亦針對歐元提供下列新功能:

  • 利用 @euro 修飾符 (modifier) 支援雙貨幣

  • UTF-8 (通用轉換格式,Universal Transformation Format,8 位元) 效能調整

  • 亞洲 UTF-8 環境碼別的歐元顯示與處理能力

  • 其他轉碼程式表

強化 localelocaledeflibcXlib,與 iconv 轉碼程式,以達到這些新功能。

修改現有歐洲環境碼別的子集為支援雙貨幣,以符合歐元標準貨幣格式。

表 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 環境碼別相較下,前者應可看到對照 (collation) 的效能獲得改善。

希臘文歐元支援 [11i v1.6]

希臘於 2000 年 6 月成為歐盟會員國,採用歐元為其貨幣,2002 年 1 月 1 日正式完成過渡。

提供系統層級支援,以允許在支援的兩個希臘文環境碼別 el_GR.utf8 與 el_GR.iso88597 內輸入、儲存、擷取、顯示,和列印歐元。透過環境碼別、iconv 轉碼程式、字型、Xlib,與 CDE 的更新程式,在 HP-UX 11i v1.6 內提供希臘文歐元支援。

為希臘文提供的歐元支援等級,與自 1999 年 5 月的 HP-UX 11.0 Extension Pack (擴充套件) 和 HP-UX 11.11 為其他西歐國家 (地區) 提供的等級類似:

  • 利用 @euro 修飾符支援雙貨幣

  • 顯示與處理歐元的能力

  • 在希臘文環境碼別內輸入歐元的能力

  • 印表機支援歐元及其他希臘文字元

啟用歐元的希臘文環境碼別

增加包括歐元在內的 4 個新字元,以強化 el_GR.utf8 與 el_GR.iso88597 環境碼別的功能。表 2-9 「新字元」 說明這 4 個新字元。

表 2-9 新字元

字元名稱

ISO-88597字碼點 UnicodeUTF-8

歐元

0xA40x20AC0xE282AC
德拉克馬符號 (Drachma Sign,dr.,希臘的貨幣符號)0xA50x20AF0xE282AF
希臘 Ypogegrammeni0xAA0x037A0xCDBA
希臘文問號0xAE0x037E0xCDBE

 

現在 el_GR.utf8 環境碼別二進位檔隨附版本出貨,先前僅提供 el_GR.utf8 源碼檔。

特定環境碼別的貨幣處理與格式

當 LANG 和 (或) LC_* 環境變數設為這些啟用歐元的環境碼別時,會使用國家貨幣格式規則以繼續支援舊式 (以希臘貨幣單位為基礎) 的應用程式。欲存取個別環境碼別內的歐元貨幣格式規則,應將 LC_MONETARY 環境變數設為具有 @euro 修飾符的所需環境碼別名稱。

例如,欲將歐元指定為希臘文 UTF-8 環境碼別內的貨幣,應將下列環境變數設為啟用貨幣格式,例如由 strfmon(3C) 使用:

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

希臘文歐元的資料轉碼 (iconv)

更新下列希臘文 iconv 轉碼程式,以支援 UTF-8 和 Unicode 轉碼中 ISO-88597 的 4 個新增字元 (請參閱「啟用歐元的希臘文環境碼別」一節的表 2-9 「新字元」):

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 (CP 875)字元

0xa5

0x20af<未定義>德拉克馬符號 (dr.)
0xaa0x037a<未定義>希臘 Ypogegrammeni
0xae0x037e<未定義>希臘文問號

 

顯示希臘文的歐元

已強化 X11R6 Xlib,以便在 el_GR.iso88597el.GR.utf8 環境碼別中執行時支援歐元。

新增圖示符號 (glyph) 以支援 ISO-88597 內的四個新字元。CDE 為 el_GR.utf8 環境碼別提供 XlocaleDB,使用此新的 XlocaleDB 時,el_GR.utf8 使用更新的 ISO-88597 字型以顯示歐元。

輸入希臘文的歐元

增加額外的鍵盤對應 (keymap) 支援,以允許希臘文-拉丁文鍵盤的使用者輸入歐元符號。此新的鍵盤對應 (PS2_DIN_Greek_Euro) 可利用 AltGr+5 順序以輸入歐元字元。或者 US 英文鍵盤的使用者可利用
PS2_DIN_US_English_Euro 鍵盤對應,其中歐元符號對映到 AltGr+4

CDE 支援輸入與顯示 iso8859-7 環境碼別中的歐元。在任何 Xserver 鍵盤對應內,額外的三個字元並沒有自訂鍵 (keybinding),因為 X Window 廠商間並沒有哪些按鍵順序應啟動那些其他符號的標準定義,因此只要業界釐清對映,即可指派其自訂鍵。

利用希臘文字元列印歐元

利用標準的 lp(1) 命令在雷射印表機上列印歐元和希臘文字元。雷射印表機應常駐內含歐元符號的希臘文字元/字型集。目前擁有此支援的雷射印表機機型包括 LaserJet 1220 與 LaserJet 2200。

利用 lp 選項 -ocs12N 選取希臘文字元/字型集。例如:

lp -dprinter_name -ocs12N -oother_options print_filename

影響

基本希臘文歐元提供內容 (安裝在所有系統上) 約需額外的 14.2 MB 磁碟空間。

以 el_GR.iso88597 或 el_GR.utf8 locales 環境碼別執行時,不需要額外的記憶體。

相容性

ISO-88597 與希臘文 EBCDIC (CP 875) 之間的 iconv 轉碼會產生與舊版不同的結果。在 11i v1.6 中,已修改這些表以提供正確的轉碼對映。

建議在移至 HP-UX 11i v1.6 系統之前,先將所有儲存在舊版 HP-UX 上、以希臘文編碼的舊型永久性資料自希臘文 EBCDIC 轉換到 ISO-88597。

可列印版本
隱私權聲明 使用範圍與著作權聲明
© 2001-2003, 2005 Hewlett-Packard Development Company, L.P.