Linux 中文化架構與原理 概說 名辭 原理 實作 其它
(一)概說 What is “中文化” 在基礎的英文版作業系統上做出修正的工作,來達到中文方面的需求! 就是在國際化(I18N)的架構上加入中文區域化(L10N)支援的工作!
中文化方法 外掛式中文系統 藉著 LD_PRELOAD 的機制來達成外掛式的中文環境 xa+cv (CLE), zhWinPro(TurboLinux) 撰寫獨立的中文程式 修改程式,直接讓每個程式都支援中文的使用 cpine, cxterm , emacs I18N & L10N I18N(程式國際化) L10N(資料基本化)
(二)名詞解釋 I18N -- InternationalizatioN (國際化) 系統底層的函式庫 ( libc 函式庫) 中實作一組標準的函式介面,可以讓程式存取各地區語系的種種資訊。 libc 必須配合 locale 的支援,才能向 I18N 起步。
(二)名詞解釋 L10N -- LocalizatioN (區域化) 程式的輸出可以直接反應地方區域性的文化。 包括字元內碼, 字型顯示, 日期時間, 訊息語言, 數字表示, 貨幣格式 .... 等。
(二)名詞解釋 Locale Database (區域化環境資料庫) 簡單說就是一組「地區語言」的資訊。 當我們在 shell prompt 下,直接設好環境變數,我們就能馬上切換到那個語文了。 在加入適當的 locale data 之後, libc 就能正確地處理它。
(二)名詞解釋 Xi18n 上層的函式庫 XFree86 libc。 X Locale 必須架構在 libc locale 之上運作, 它裡頭除了定義一些字元對應,最重要的就是內碼與字型的對應。
(二)名詞解釋 字集 (Character Set) 一組符號或文字的組合。 編碼 (Encoding) 將這一組符號或文字以適當的方式編入位元組中,以便電腦能夠表示與儲存。
字集 一組符號或文字的組合 例: zh_TW.Big5 zh_TW 繁體中文字集 Big5 編碼
常用的編碼系統 BIG5 EUC-TW BIG5HKSCS GB2312 GBK GB18030 Unicode UTF-8
區域化資料庫名稱和語系設定 格式: <語系名>_<地區名> [.<編碼系統名>] 格式: <語系名>_<地區名> [.<編碼系統名>] 釋義 zh_TW.Big5 zh 「中文語系」 TW 「台灣地區」 Big5 「使用 Big5 編碼系統」
環境變數 繁體中文 zh_TW zh_TW.Big5 zh_HK zh_HK.BIG5HKSCS 簡體中文 zh zh_CN zh_CN.GB2312 zh_CN.GBK zh_CN.GB18030
環境變數優先順序 LC_ALL > LC_CTYPE > LANG 例 (1) export LANG=zh_TW.Big5 (2) export LC_CTYPE=zh_TW.Big5 (3) export LC_ALL=zh_TW.Big5 順序: (3) > (2)> (1)
區域化環境資料庫 locale database Localization Environment database
區域化環境類別 (categories) LC_CTYPE: 字元分類及處理方式。 LC_COLLATE: 字元順序與字串比較。 LC_MESSAGES: 程式中用何種語言來 顯示訊息。 LC_MONETARY: 貨幣顯式格式。 LC_NUMERIC: 數字顯式格式。 LC_TIME: 日期與時間的顯式格式。
區域化環境類別 (categories) LC_ALL: 此類別可以一次設定以上所有 的類別。 LANG: 作用類似 LC_ALL,也可用來一次設定所有的 locale 環境。
區域化環境類別 (categories) Glibc-2.2 以後增加部份 LC_NAME: LC_ADDRESS: LC_TELEPHONE: LC_MEASUREMENT: LC_IDENTIFICATION:
參考網站 http://xcin.linux.org.tw/i18n/index.html http://xcin.linux.org.tw/i18n/intro.html http://xcin.linux.org.tw/i18n/slat/encoding.html http://xcin.linux.org.tw/i18n/slat/i18n.html http://xcin.linux.org.tw/i18n/slat/glibc.html http://xcin.linux.org.tw/i18n/slat/Xlib.html
(三)原理 基本架構 libc + localedata + locale settings + Xi18n 中文字型 中文輸入法程式 中文應用程式及其它
(三)原理 What is “基本架構” 系統底層 libc 區域化資料庫 locale data locale environment variable X lib & XLC_LOCALE
Glibc glibc-2.0.7 ~ glibc-2.1.x Locale name path /usr/share/locale Locale Data /usr/share/locale/zh_CN.GB2312/ /usr/share/locale/zh_TW.Big5/
Glibc glibc-2.1.9x ~ glibc-2.2.x Locale name path /usr/lib/locale Locale Data /usr/lib/locale/zh_CN/ /usr/lib/locale/zh_TW/ /usr/share/locale/zh_TW/LC_MESSAGES/ /usr/share/locale/zh_TW.Big5/LC_MESSAGES/
Locale Data glibc-2.0.7 ~ glibc-2.1.x How to create? 1. 安裝 locale_zh rpm (CLE 0.9 or 0.9p1) 2. 自行安裝,參考網址 http://xcin.linux.org.tw/i18n/i18n_tool/README.Big5.html
Locale Data glibc-2.1.9x ~ glibc-2.2.x How to create? 1. 已內建, 自行連結即可 ln -sf /usr/lib/locale/zh_TW /usr/lib/locale/zh_TW.Big5 2. 自行安裝,參考網址 http://www.candyz.idv.tw/docs/RH7+Chinese.txt
Locale 環境變數設定 Default: C 或 POSIX , 訊息為英文顯示,字元內碼為 ASCII 。 bash: export LC_ALL=POSIX tcsh: setenv LC_ALL=POSIX 繁體中文: zh_TW.Big5 ,繁體中文訊息顯示,字元內碼為 Big5 。 bash: export LANG=zh_TW.Big5 tcsh: setenv LANG=zh_TW.Big5
X lib XFree86 3.3.3 版以前 無 zh_TW.Big5 的區域化環境資料,所以須再安裝 X 的中文區域化資料 How to solve?? 1.patch Xlib 2.i18n_tool 的 lcGen.so 參考網址 http://xcin.linux.org.tw/i18n/i18n_tool/README.old.Big5.html
X lib XFree86 3.3.4 版以後 已有 zh_TW.Big5 的區域化環境資料,無須再安裝 X 的中文區域化資料 參考網址 http://xcin.linux.org.tw/i18n/i18n_tool/README.Big5.html
X Locale Data X Locale Path /usr/X11R6/lib/X11/locale/zh /usr/X11R6/lib/X11/locale/zh_CN /usr/X11R6/lib/X11/locale/zh_TW.big5 /usr/X11R6/lib/X11/locale/locale.dir /usr/X11R6/lib/X11/locale/locale.alias XLC_LOCALE
XLC_LOCALE XLC_LOCALE 格式 XLC_FONTSET -- fs0, fs1 XLC_LOCALE -- cs0, cs1 locale.dir 定義方式 zh_TW.big5/XLC_LOCALE: zh_TW.big5 zh_TW.big5/XLC_LOCALE: zh_TW.Big5 locale.alias 定義方式 zh_TW: zh_TW.big5 zh_TW.big5: zh_TW.big5
(四)實作 系統安裝(Slackware 8.0) 六大步驟 1.ADDSWAP 2.TARGET 3.SOURCE 4.SELECT 5.INSTALL 6.CONFIGURE
(四)實作 中文套件 (CLE v1.0) 安裝 1.中文訊息及顯示(字型) 2.中文輸入(XCIN) 3.中文列印(GS-CJK) 4.中文處理(UTF-Conveter) 5.其他 5-1.OpenOffice-1.0 5-2.StarSuite-6.0-beta 5-3.Xine
參考網址 gs-cjk: http://www.gyve.org/gs-cjk/ Adobe: http://partners.adobe.com/asn/developer/technotes/fonts.html 文鼎 http://www.arphic.com.tw/
(五)其它 中文化相關議題 CLE 未來發展 Any Questions?? Discuss!!
粽子節快樂 ^_^ 下次再會...