Debian 新手漢化跟我來 ---- 實戰演練篇

 [版權信息]
出處:linuxfire
聯繫:[email protected]
版本:0.2
版權:GPL
轉載請註明來自 linuxfire 和 linuxsir
最後修改:2004年1月20日 (不定期更新,盡請關注:)

測試環境:
Debian sid + XFree86 4.3 + Fvwm

此篇是 “Debian 新手漢化跟我來 ---- 理論輔導篇” 的姊妹篇,由於我理論沒過關,所以先寫實踐經驗,難免出錯,還望多提意見。

漢化前,我假定你已經安裝好基本系統和 X window,如果你還沒做,請參考下面鏈接:
http://www.linuxsir.com/bbs/showthr...&threadid=14937

1、安裝語言環境 locale
apt-get install locales # 注意是複數

如果已經安裝,需要改變的話,請用下面命令:
dpkg-reconfigure locales # dpkg-reconfigure 是 dpkg 中一個很常用的工具

在配置表單中,我們只需選擇兩個 locale:
[*] en_US ISO-8859-1 # 美式英語,帶 ISO-8859-1 西歐字符集, en_GB 爲英式英語
[*] zh_CN.GBK GBK # 基於 GBK 的簡體中文環境

參考文章:
http://www.cs.uu.nl/wais/html/na-di...-1-charset.html
如果你對 locale 還沒有概念,請參考於明儉老師的文章 “ Linux 國際化本地化和中文化”
http://www.opencjk.org/~yumj/i18n.html

2、我習慣用 startx 腳本啓動 X ,把傳遞給它參數以及環境變量都寫到一個文件.xsession,此文件存放在當前用戶的 HOME 目錄下,. 開頭,故隱藏,用 ls -a 才能看到,如沒有請自行建立。

編輯 ~/.xsession 文件,加入類似語句
LANGUAGE=zh_CN.GBK
LANG=zh_CN.GBK
LC_ALL=zh_CN.GBK
export LANGUAGE LANG LC_ALL
export XMODIFIERS=@im=fcitx
fcitx&
exec fvwm2
killall fcitx


手工添加的話,對於 bash 可用命令:

$ set LANG = zh_CN.GBK
$ export LANG
$ set LC_ALL = zh_CN.GBK
$ export LC_ALL
$ echo $LANG
$ echo $LC_ALL
$ ......


配置好後,用 locale 命令檢查,範例如下:
$ locale
LANG=zh_CN.GBK
LC_CTYPE="zh_CN.GBK"
LC_NUMERIC="zh_CN.GBK"
LC_TIME="zh_CN.GBK"
LC_COLLATE="zh_CN.GBK"
LC_MONETARY="zh_CN.GBK"
LC_MESSAGES="zh_CN.GBK"
LC_PAPER="zh_CN.GBK"
LC_NAME="zh_CN.GBK"
LC_ADDRESS="zh_CN.GBK"
LC_TELEPHONE="zh_CN.GBK"
LC_MEASUREMENT="zh_CN.GBK"
LC_IDENTIFICATION="zh_CN.GBK"
LC_ALL=zh_CN.GBK


3、/etc/environment
加入
LANG=zh_CN.GBK
(有人要問,爲什麼上面寫了,這裏還寫,:(我也不知道,反正有用:)

/etc/environment 這裏可以書寫一些環境變量,作用同 ~/.bashrc,不過是系統泛讀。
例如我可以在這兩處設置 ftp_proxy 與 http_proxy 兩個環境變數
......
ftp_proxy=http://LOCAL-PROXY:PORT/
http_proxy=http://LOCAL-PROXY:PORT/
export ftp_proxy http_proxy
......

參考文章:
http://www.unet.univie.ac.at/aix/fi...environment.htm

4、fcitx 輸入法中的 locale 設置

  安裝選項有二,一是Debian官方的1.8.5版,二是非官方的2.0.1版
  (1) 安裝Debian中自帶的fcitx 1.8.5
  apt-get install fcitx
  運行一下 fcitx ,在 ~/ 下多了一個 .gWuBi 目錄。
  vi ~/.gWuBi/profile
  檢查一下里面的是不是都是 zh_CN.GBK

  (2) 安裝非官方的fcitx 2.0.1
  在/etc/apt/sources.list中添加
代碼:
deb http://211.92.88.40/apt/debian/ sid/i386/

  然後執行
代碼:
apt-get update; apt-get install fcitx

  此非官方包的顯示字體缺省使用文鼎楷體,fcitx 2.x的用戶設置是存在 %HOME/.fcitx 中。

5、配置 XFree86,是使用 xtt 模塊,去掉 freetype 模塊

$ dpkg-reconfigure xserver-xfree86
......
[ ] freetype
......[*] xtt
......


6、安裝字體渲染引擎和管理工具,以及相關中文字體

軟件簡介:

老一輩: xtt(傳統 X 字體服務器,XFree86 帶了模塊) + defoma
defoma - Debian Font Manager -- automatic font configuration framework
再也不用手工寫字體,讓 defoma 幫你管理吧
dfontmgr - GUI frontend for defoma, DEbian FOnt MAnager
一個很方便的圖形化 defoma 字體管理工具
psfontmgr - PostScript font manager -- part of Defoma, Debian Font Manager
x-ttcidfont-conf - Configure TrueType and CID fonts for X.

新生代: xft2 + fontconfig
fontconfig - generic font configuration library
libxft2 - advanced font drawing library for X
libxft2-dev - advanced font drawing library for X (development files)
libpango1.0-0 - Layout and rendering of internationalized text

自動中文編碼轉換工具:
zh-autoconvert - Chinese HZ/GB/BIG5/UNI/UTF7/UTF8 encodings auto-converter

GPL字體:
ttf-arphic-bsmi00lp :文鼎PL細上海宋(Big5 碼)
ttf-arphic-bkai00mp :文鼎PL中楷(Big5 碼)
ttf-arphic-gbsn00lp :文鼎PL簡報宋(GB 碼)
ttf-arphic-gkai00mp :文鼎PL簡中楷(GB 碼)

其它字體請看:
http://www.debian.org/intl/zh/software

xfonts-intl-chinese - International fonts for X -- Chinese.
xfonts-intl-chinese-big - International fonts for X -- Chinese big.

中文幫助:
doc-linux-zh-s - Linux HOWTOs and mini-HOWTOs in Simplified Chinese in HTML
manpages-zh - Chinese manual pages

$ apt-get install defoma dfontmgr psfontmgr x-ttcidfont-conf fontconfig libxft2 libxft2-dev libpango1.0-0 zh-autoconvert ttf-arphic-bsmi00lp ttf-arphic-bkai00mp ttf-arphic-gbsn00lp ttf-arphic-gkai00mp xfonts-intl-chinese xfonts-intl-chinese-big doc-linux-zh-s manpages-zh

7、簡單介紹:
gtk1 程序使用 xtt + defoma 來處理字體,向後兼容
gtk2 程序使用 fontconfig/xft2 來處理字體,將來的趨勢

目前,有兩種帶有不同特點的子系統:

- 原始的(已有 15 年以上歷史)子系統被稱爲“核心 X 字體子系統”。由這個子系統繪製的字體不是平滑字體,它們由 X 服務器處理,名稱類似:
-misc-fixed-medium-r-normal--10-100-75-75-c-60-iso8859-1

- 新的字體子系統被稱爲“fontconfig”。它允許應用程序直接使用字體文件。fontconfig 經常與“Xft”庫一起使用,這會允許應用程序在屏幕上繪製平滑字體。fontconfig 顯示的字體更有“人情味兒”。

隨着時間的推移,fontconfig/Xft 將會取代核心 X 字體子系統。目前,使用 Qt 3 或 GTK 2 工具包(包括 KDE 和 GNOME 應用程序)的應用程序使用fontconfig 和 Xft 字體子系統;其它部分程序(如 xmms 、gimp) 還在使用核心 X 字體。
Debian(包括 Redhat) 在未來可能會僅支持 fontconfig/Xft 作爲默認的本地字體訪問方法來取代傳統的字體服務器。

注意:以上列出的字體子系統用法有兩個例外。它們是 OpenOffice.org(使用它自己的字體繪製技術)和 Mozilla (使用 fontconfig,但不是 GTK 2)。
(以上文字摘自網上論壇)

8、使用 M$ 字體
首先準備好以下字體(win 用戶到 c:/windows/Fonts/ 拷貝):

simsun.ttc mingliu.ttc simhei.ttf tahoma.ttf

其它字體看你需要,如果嫌麻煩,只需拷貝 simsun.ttc

cd /usr/share/fonts/truetype/
mkdir DIY
這裏用來保存自定義字體,你可以隨意添加,拷貝字體到該目錄。

1) 下面我們讓 defoma 來管理這些字體:
每一種字體都需要編寫一個hints文件,爲了方便大家,我提供兩個常用的 hints:
http://211.92.88.40/public/xft/ttf-dynalab-simsun.hints
http://211.92.88.40/public/xft/ttf-...b-mingliu.hints

把它們下載到某個目錄,現在我們把每個字體的 hints 文件都註冊到 defoma
defoma-font reregister-all ttf-dynalab-simsun.hints
defoma-font reregister-all ttf-dynalab-mingliu.hints

如何知道是否註冊成功,可以用 dfontmgr 來看,絕對簡單。

修改 /etc/X11/XF86Config-4 文件,主要是在這兩個文件中增加字體的路徑,當然還要在 XF86Config-4 這個文件中用 xtt 代替 freetype 來渲染字體。
Add path:
FontPath "/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType"
FontPath "/var/lib/defoma/x-ttcidfont-conf.d/dirs/CID"

關於 hints 的製作方法請看參考文章:
losska 寫的:
http://www.linuxsir.com/bbs/showthr...ighlight=defoma
經典教程:無痛起步
http://linux.nctu.edu.tw/web/moto/t...tall-Guide.html

2) 讓 fontconfig 來管理字體
把新字體添加到 fontconfig 字體子系統比較簡單明瞭,fontconfig 使用配置文件 font.conf

這裏注意一下,由於 debian 提供幾個包在 mozilla 上的表現稍不近人如意,會出現亂碼,幾位高人做了幾個補丁,請到這裏下載:
在/etc/apt/sources.list中添加
代碼:
deb http://211.92.88.40/apt/debian/ sid/i386/
如果你在前面安裝fcitx 2.0.1時已經添加了這一行,就不必再重複了。
然後執行
代碼:
apt-get update; apt-get install libxft2

再執行
代碼:
wget http://211.92.88.40/~carlos/setting_files/dot_fonts.conf -O $HOME/.fonts.conf

以上的 $HOME/.fonts.conf 是用戶個人的細微設置,如果您希望其它用戶也使用相同設置,請將此文件複製到其 $HOME 目錄中。

單獨用戶可以把新字體複製到 ~/.fonts/ 目錄中。
複製了新字體後,使用 fc-cache 來更新字體信息緩存:

as root:
$ fc-cache -f -v
as user
$ fc-cache -v


$ fc-cache <directory>

(這裏的 <directory> 應該是 /usr/share/fonts/ 或 ~/.fonts/ 目錄。)

其它:
(還待進一步驗證)
如果字體文件名以“.gz”結尾,這表明它使用 gzip 被壓縮,因而必須使用
gunzip 來解壓後,fontconfig 字體子系統才能使用這個字體。
例:bitmap fonts in xxxxx.pcf.gz
* 拷貝相應的 xxxxx.pcf.gz 到一個新目錄
* 解壓文件 gzip -d xxxxx.pcf.gz 成 xxxxx.pcf.gz
* 在 /etc/fonts/fonts.conf 中建立 <dir> 路徑,好讓 xft 能找到 fonts
* 運行 fc-cache -f -v

9、退出 X , startx

調整好各個軟件的字體到你滿意爲止。

注意對於 gtk1 程序,還得修改一個地方:
如果你把系統的字體改爲simsun字體,需要修改 /etc/gtk/gtkrc.zh_CN 文件中的字體設置:

style "gtk-default-zh-cn" {
fontset = "-adobe-helvelica-medium-r-normal--14-*-*-*-*-*-iso8859-1,/
-dynalab-simsun-medium-r-normal--14-*-*-*-*-*-gbk-0,fixed"
}
class "GtkWidget" style "gtk-default-zh-cn"


注意:”-dynalab-simsun-medium-r-normal--14-*-*-*-*-*-gbk-0“ 是你係統裏已有的,如果你用了上面提供的 hints ,那麼填這個就不會有錯,如果你是自己做的 hints,那麼你先用 dfontmgt 查看一下。

quit X ,startx again.

10、讓我想想還得幹些什麼呢?好象沒了:)對了,感謝 Carlos 和 losska,都是他們教的,我只是代筆,希望不會太差,能看懂就給個及格吧!

屏幕抓圖:
http://211.92.88.40/home/carlos/200...9x523_scrot.png
http://211.92.88.40/photos/screensh...4x768_scrot.png
http://211.92.88.40/photos/screensh...4x768_scrot.png
http://211.92.88.40/photos/screensh...4x768_scrot.png
http://211.92.88.40/photos/screensh...4x768_scrot.png
http://211.92.88.40/photos/screensh...4x768_scrot.png
以上截圖 fvwm 窗體來得及漢化就抓了,所以標題欄是亂碼。

11、補遺

1) 使用 Bitstream 字體美化菜單欄
大家可能注意到我的 mozilla-firebird 菜單欄顯示的字體偏小偏淡,不夠美觀。
在 irc 裏熱心的 sev3n 兄向我提出了這個問題,並向我推薦用 Debian 自帶的 Bitstream 字體,簡單安裝了一下,發現果然效果明顯,漂亮很多。
這裏感謝 sev3n!

簡單介紹:
Bitstream Vera family 字體是一組免費的高質量 TrueType 字體,由 Bitstream 公司提高,以 DFSG-free 許可發佈。目的是爲了填補自由桌面環境沒有免費高質量字體的空缺。
完全覆蓋 西歐語言 ( ISO-8859-1, ISO-8859-15) 以及 Turkish (ISO-8859-9).同時還包含了一些數學和其它符號,對東歐語言提高有限支持 ( 部分 ISO-8859-2).

安裝:
apt-get install ttf-bitstream-vera
安裝是 fontsconfig 自動會幫你管理好。
查看是否安裝正確
$ fc-list
NSimSun:style=Regular
Bitstream Vera Sans Mono:style=Bold
Bitstream Vera Sans:style=Oblique

SimSun:style=Regular
Bitstream Vera Sans:style=Roman
AR PL KaitiM GB:style=Regular
Bitstream Vera Sans Mono:style=Oblique
Tahoma:style=Regular
Bitstream Vera Sans:style=Bold
AR PL KaitiM Big5:style=Regular
PMingLiU:style=Regular
Bitstream Vera Serif:style=Roman
Bitstream Vera Sans Mono:style=Bold Oblique
Bitstream Vera Sans:style=Bold Oblique
Tahoma:style=Bold
Bitstream Vera Sans Mono:style=Roman
SimHei:style=Regular
AR PL Mingti2L Big5:style=Reguler
Bitstream Vera Serif:style=Bold
MingLiU:style=Regular
[/color]

如果未發現,請運行
$ fc-cache -v -f
fc-cache: "/usr/share/fonts": caching, 0 fonts, 1 dirs
fc-cache: "/usr/share/fonts/truetype": caching, 0 fonts, 3 dirs
fc-cache: "/usr/share/fonts/truetype/DIY": caching, 4 fonts, 0 dirs
fc-cache: "/usr/share/fonts/truetype/arphic": caching, 3 fonts, 0 dirs
fc-cache: "/usr/share/fonts/truetype/ttf-bitstream-vera": caching, 10 fonts, 0 dirs
fc-cache: "/usr/X11R6/lib/X11/fonts/Type1": skipping, no such directory
fc-cache: "/root/.fonts": caching, 7 fonts, 0 dirs
fc-cache: succeeded

安裝前後效果圖比較,大家仔細看 mozilla-fire 菜單欄字體以及網頁中的英文字體:
未安裝前:
http://211.92.88.40/photos/screensh...4x768_scrot.png
安裝後:
http://211.92.88.40/photos/screensh...4x768_scrot.png

寫後感:
現在 Debian 下的漢化已經比較完美,過程也比較簡單。現在大家應該把學習的重心轉移到該花時間的地方。
如果你熱衷於漢化,不妨一起來研究一下 fontsconfig 的配置文件,如 fonts.conf。

1月20日0.2版(更新者:carlos):
1. 不再需要修改 /etc/fonts/fonts.conf 中的字體路徑,因爲 fontconfig 能跟 defoma 配合使用,自動找到用 defoma 安裝的字體
2. 使用 $HOME/.fonts.conf 來完成字體細微調整
3. 增加安裝 fcitx 2.x 選項
4. 使用~/.xsession而不是~/.xinitrc
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章