| 站 內 搜 尋 |
|
日 曆 |
||||||||||||||||||||||||||||||||||||||||||
| 近 期 文 章 |
| 文 章 分 類 |
在 GNU/Linux 上設定字型 (中) - 安裝與設定 X11 字型
在 Debian GNU/Linux 裡,要安裝 X11 Core Font 管理程式只要一行指令就夠:
aptitude install x-ttcidfont-conf libft-perl libttf2 defoma
其中的 defoma 套件全名為 Debian Font Manager,Debian GNU/Linux 的使用者可以利用它來方便得管理 X11 Core Font。而在安裝 X Window 的過程中,應該已經安裝了以上套件才是。
以下所列出的是一些由 Debian 官方所提供的、建議中文桌面使用者安裝的 X11 Core Font:
xfonts-75dpi:有些應用程式可能會用到。預設上應該會安裝。
xfonts-intl-chinese:包含了 GB2312、GB8565-88、BIG5 (ETen)、SiSheng 等字型。XCIN 的使用者可能會用到。
unifont:一個常見的 UTF-8 字型。如果您是以中文語系來安裝 Debian Etch 的話,預設上應該會安裝。
xfonts-wqy:一個常見的 UTF-8 字型。即著名的文泉驛字型。
而這些字型也是一行指令搞定:
aptitude install xfonts-75dpi xfonts-intl-chinese unifont xfonts-wqy
另外,也能讓 defoma 支援 TTF 字型。但因為這種方法不管在效能及美觀上都有著重大缺陷,在此就略過不提了。
在安裝完 X11 Core Font 後,您可以利用 xlsfonts 指令來得知系統上已安裝了哪些字型。例如以下指令可以找出在系統裡安裝了哪些 iso10646 (UTF-8) 字型:
xlsfonts | grep iso10646
沒有意外的話,您應該可以看到 unifont 及 wenquanyi 出現在列表裡。
對於使用者而言,也許無法滿意於 Debian GNU/Linux 所提供的字型。其實您也可以自行手動安裝 X11 Core Font。以螢火飛 (Firefly) 前輩所提供、以 GPL 授權的 螢火飛新宋體 為例:
首先,先建立一個放點陣字的子目錄:
mkdir -p ~/.fonts/bitmap 將您所下載到的字型搬到這個目錄裡:(以大小為 16 之點陣字為例)
mv fireflyR16.pcf.gz ~/.fonts/bitmap 然後,在該目錄下產生必須的字型資訊:
cd ~/.fonts/bitmap
mkfontdir接下來,在您的 ~/.xinitrc 裡新增如下一行:
#!/bin/sh
# $Xorg: xinitrc.cpp,v 1.3 2000/08/17 19:54:30 cpqbld Exp $
xset fp+ ~/.fonts/bitmap
# invoke global X session script
. /etc/X11/Xsession然後重新啟動 X Window,就能用 xlsfonts 看到大小為 16 的螢火飛新宋體了:
-firefly-firefly new sung-medium-r-normal--0-0-75-75-p-0-iso10646-1
-firefly-firefly new sung-medium-r-normal--16-150-75-75-p-159-iso10646-1
另外,您也可以利用像是 gbdfed 之類的 X11 Core Font 編輯程式來由 TTF 字型裡匯出點陣字、或是自行繪製 X11 Core Font。
修正 Xorg 的錯誤編碼:
由於一些(愚不可及)的因素,在 Xorg 裡的 zh_TW.UTF-8 編碼是壞的,所以一些使用 X11 Core Font的應用程式,像是 XMMS 或是 ePSXe 在 UTF-8 環境下所顯示的全是亂碼。
解決方案:請下載正確的 XLC_LOCALE 檔案並蓋過 /usr/share/X11/locale/zh_TW.UTF-8/XLC_LOCALE 即可。
Gtk+ 1.x 應用程式(例如 ePSXe):
您可以修改 ~/.gtkrc.utf-8 來設定在 UTF-8 環境下的 Gtk+ 1.x 應用程式所使用的字型。例:
style "default-text" {
fontset = "-firefly-firefly new sung-medium-r-normal--16-150-75-75-p-159-iso10646-1"
}
class "GtkWidget" style "default-text"以及修改 ~/.gtkrc.zh_TW 來設定在 zh_TW.Big5 環境下的 Gtk+ 1.x 應用程式所使用的字型。例:
style "gtk-default-zh-tw" {
fontset = "-sony-*-16-*-iso8859-1,
-eten-*-medium-r-*-16-*-c-*-big5-0"
}
class "GtkWidget" style "gtk-default-zh-tw"
XMMS:
XMMS 是極受歡迎的音樂播放程式。由於 XMMS 是 Gtk+ 1.x based 的程式,所以在設定 XMMS 的字型之前,請參考上文修正好 Xorg 的錯誤編碼,並設定好 ~/.gtkrc.utf-8 或 ~/.gtkrc.zh_TW。
設定 XMMS 的字型畫面如下所示:
MLTerm
MLTerm 是現今 GNU/Linux 裡少數能完全支援 UTF-8 的 X Window Emulator。您可以在 ~/.mlterm/font 裡設定 MLTerm 在未啟用 Anti-Alias 字型時所使用的字型名稱:
ISO8859_1 = -sony-*-16-*-iso8859-1;
ISO10646_UCS4_1 = -sony-fixed-medium-r-normal--16-150-75-75-c-80-iso8859-1;
ISO10646_UCS4_1_BIWIDTH = -freetype-ar pl new sung-reguler-r-normal--16-160-72-72-p-149-iso10646-1;
感謝Tetralet
現在安裝點陣字的方法跟以前不一樣了
路徑變了
mlterm的字看起來很不習慣
還好有您這篇文章指點迷津
我自己試了一下按照您的步驟修改mlterm未啟用Anti-Alias(圓滑字型)時所使用的字型名稱時
mlterm還是不能顯示firefly的點陣字型
後來參考您之前的文章更改了一下就可以了
更改如下
ISO8859_1 = -gnu-unifont-medium-r-normal--16-160-75-75-c-80-iso10646-1;
ISO10646_UCS4_1 = -gnu-unifont-medium-r-normal--16-160-75-75-c-80-iso10646-1;
ISO10646_UCS4_1_BIWIDTH =-firefly-firefly new sung-medium-r-normal--16-150-75-75-p-159-iso10646-1
請問第一行跟第二行是指定什麼字型呢?
謝謝您的分享讓mlterm又順眼多了
[回應] silice @ 23/12/2006, 16:40