1 / 34

Linux 中文化架構與原理

Linux 中文化架構與原理. 概說 名辭 原理 實作 其它. What is “ 中文化” 在基礎的英文版作業系統上做出修正的工作,來達到中文方面的需求! 就是在國際化( I18N) 的架構上加入中文區域化( L10N) 支援的工作!. (一)概說. 中文化方法. 外掛式中文系統 藉著 LD_PRELOAD 的機制來達成外掛式的中文環境 xa+cv (CLE), zhWinPro(TurboLinux) 撰寫獨立的中文程式 修改程式,直接讓每個程式都支援中文的使用 cpine , cxterm , emacs

hewitt
Download Presentation

Linux 中文化架構與原理

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Linux 中文化架構與原理 • 概說 • 名辭 • 原理 • 實作 • 其它

  2. What is “中文化”在基礎的英文版作業系統上做出修正的工作,來達到中文方面的需求!就是在國際化(I18N)的架構上加入中文區域化(L10N)支援的工作! (一)概說

  3. 中文化方法 • 外掛式中文系統藉著 LD_PRELOAD 的機制來達成外掛式的中文環境xa+cv (CLE), zhWinPro(TurboLinux) • 撰寫獨立的中文程式修改程式,直接讓每個程式都支援中文的使用cpine, cxterm ,emacs • I18N & L10NI18N(程式國際化)L10N(資料基本化)

  4. (二)名詞解釋 • I18N -- InternationalizatioN (國際化)系統底層的函式庫 ( libc 函式庫) 中實作一組標準的函式介面,可以讓程式存取各地區語系的種種資訊。libc 必須配合 locale 的支援,才能向 I18N 起步。

  5. (二)名詞解釋 • L10N -- LocalizatioN (區域化)程式的輸出可以直接反應地方區域性的文化。包括字元內碼, 字型顯示, 日期時間, 訊息語言, 數字表示, 貨幣格式 .... 等。

  6. (二)名詞解釋 • Locale Database (區域化環境資料庫)簡單說就是一組「地區語言」的資訊。當我們在 shell prompt 下,直接設好環境變數,我們就能馬上切換到那個語文了。在加入適當的 locale data 之後, libc 就能正確地處理它。

  7. (二)名詞解釋 • Xi18n上層的函式庫 XFree86 libc。X Locale 必須架構在 libc locale 之上運作, 它裡頭除了定義一些字元對應,最重要的就是內碼與字型的對應。

  8. 字集 (Character Set)一組符號或文字的組合。 編碼 (Encoding)將這一組符號或文字以適當的方式編入位元組中,以便電腦能夠表示與儲存。 (二)名詞解釋

  9. 字集 • 一組符號或文字的組合 • 例:zh_TW.Big5zh_TW 繁體中文字集Big5 編碼

  10. 常用的編碼系統 • BIG5 • EUC-TW • BIG5HKSCS • GB2312 • GBK • GB18030 • Unicode • UTF-8

  11. 區域化資料庫名稱和語系設定 • 格式:<語系名>_<地區名> [.<編碼系統名>] • 釋義zh_TW.Big5zh 「中文語系」TW 「台灣地區」Big5 「使用 Big5 編碼系統」

  12. 繁體中文zh_TWzh_TW.Big5zh_HKzh_HK.BIG5HKSCS 簡體中文zhzh_CNzh_CN.GB2312zh_CN.GBKzh_CN.GB18030 環境變數

  13. 環境變數優先順序 • 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)

  14. 區域化環境資料庫 • locale database Localization Environment database

  15. 區域化環境類別 (categories) • LC_CTYPE: 字元分類及處理方式。 • LC_COLLATE: 字元順序與字串比較。 • LC_MESSAGES: 程式中用何種語言來 顯示訊息。 • LC_MONETARY: 貨幣顯式格式。 • LC_NUMERIC: 數字顯式格式。 • LC_TIME: 日期與時間的顯式格式。

  16. 區域化環境類別 (categories) • LC_ALL: 此類別可以一次設定以上所有 的類別。 • LANG: 作用類似 LC_ALL,也可用來一次設定所有的 locale 環境。

  17. 區域化環境類別 (categories) • Glibc-2.2 以後增加部份 • LC_NAME: • LC_ADDRESS: • LC_TELEPHONE: • LC_MEASUREMENT: • LC_IDENTIFICATION:

  18. 參考網站 • http://xcin.linux.org.tw/i18n/index.htmlhttp://xcin.linux.org.tw/i18n/intro.htmlhttp://xcin.linux.org.tw/i18n/slat/encoding.htmlhttp://xcin.linux.org.tw/i18n/slat/i18n.htmlhttp://xcin.linux.org.tw/i18n/slat/glibc.htmlhttp://xcin.linux.org.tw/i18n/slat/Xlib.html

  19. (三)原理 • 基本架構libc + localedata + locale settings + Xi18n • 中文字型 • 中文輸入法程式 • 中文應用程式及其它

  20. (三)原理 • What is “基本架構” • 系統底層 libc • 區域化資料庫 locale data • locale environment variable • X lib & XLC_LOCALE

  21. 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/

  22. 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/

  23. 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

  24. 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.Big52. 自行安裝,參考網址http://www.candyz.idv.tw/docs/RH7+Chinese.txt

  25. Locale 環境變數設定 • Default:C 或 POSIX ,訊息為英文顯示,字元內碼為 ASCII 。bash: export LC_ALL=POSIXtcsh: setenv LC_ALL=POSIX • 繁體中文:zh_TW.Big5 ,繁體中文訊息顯示,字元內碼為 Big5 。bash: export LANG=zh_TW.Big5tcsh: setenv LANG=zh_TW.Big5

  26. X lib • XFree86 3.3.3 版以前無 zh_TW.Big5 的區域化環境資料,所以須再安裝 X 的中文區域化資料 • How to solve??1.patch Xlib2.i18n_tool 的 lcGen.so • 參考網址http://xcin.linux.org.tw/i18n/i18n_tool/README.old.Big5.html

  27. X lib • XFree86 3.3.4 版以後已有zh_TW.Big5 的區域化環境資料,無須再安裝 X 的中文區域化資料 • 參考網址http://xcin.linux.org.tw/i18n/i18n_tool/README.Big5.html

  28. 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

  29. XLC_LOCALE • XLC_LOCALE 格式XLC_FONTSET -- fs0, fs1XLC_LOCALE -- cs0, cs1 • locale.dir 定義方式zh_TW.big5/XLC_LOCALE: zh_TW.big5zh_TW.big5/XLC_LOCALE: zh_TW.Big5 • locale.alias 定義方式zh_TW: zh_TW.big5zh_TW.big5: zh_TW.big5

  30. (四)實作 • 系統安裝(Slackware 8.0)六大步驟1.ADDSWAP2.TARGET3.SOURCE4.SELECT5.INSTALL6.CONFIGURE

  31. (四)實作 • 中文套件 (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

  32. 參考網址 • gs-cjk: http://www.gyve.org/gs-cjk/ • gs-cjk: http://www.aihara.co.jp/~taiji/tops/ • Adobe: http://partners.adobe.com/asn/developer/technotes/fonts.html • 文鼎 http://www.arphic.com.tw/

  33. (五)其它 • 中文化相關議題 • CLE 未來發展 • Any Questions?? • Discuss!!

  34. 粽子節快樂 ^_^ 下次再會...

More Related