moto 兄,關於 Debiam 無痛起步法中有關列印的部份,不知道能不能將列印部份的內容修改成下面這樣:
-------------------------------------------------------------
8.3 列印
安裝印表機
安裝印表機需要的套件有下面兩種方案:
* CUPS (Common Unix Printing System):
apt-get install foomatic cupsys cupsys-client cupsys-bsd cupsomatic-ppd
使用 KDE 2.2 的人要再加上:
apt-get install kdelibs3-cups
打開您愛用的瀏覽器,執行 http://localhost:631 來設定印表機,裡面有線上說明,很方便。(KDE 使用者也可以經由 Control Center 來設定印表機)
* Red Hat printtool:
只要下 apt-get install printtool,其餘套件會自動補齊。然後以 root 的身份執行printtool,選好印表機型號就可以了。
第一種方案支援的印表機種類比較多。
設定 ghostscript/postscript
1. 安裝相關套件:
安裝 defoma 和 x-ttfcidfont-conf 等相關套件,然後再安裝下列套件:gs、gs-cjk-resource、gsfonts* 、cmap-adobe-*、psfontmgr、gv。
2. 相關設定:
關於這一方面, Defoma 和其相關套件真的是很方便的工具。只要安裝了 Defoma、x-ttcidfont-conf、psfontmgr、cmap-adobe-* 等套件,以後我們在安裝 truetype 字型時,系統就會自動幫我們設定好 X 和 gs 的字型。但是還是少了一個步驟,因為 gs 會跟我們抱怨它找不到字型,我們必須為各字型編寫相對應的 gsf 字型描述檔,底下是 Arphic-Kai-ETen-B5-H.gsf 內容:
/Arphic-Kai-ETen-B5-H
/ZenKai-Medium (ZenKai-Medium)
/ETen-B5-H (ETen-B5-H)
1 index /CMap resourcestatus
{pop pop pop}
{runlibfile} ifelse
/CMap findresource
3 1 roll
1 index /CIDFont resourcestatus
{pop pop pop}
{runlibfile} ifelse
/CIDFont findresource
[ exch ] composefont pop
底下是 Arphic-Kai-ETen-B5-V.gsf 的內容:
/Arphic-Kai-ETen-B5-V
/ZenKai-Medium (ZenKai-Medium)
/ETen-B5-V (ETen-B5-V)
1 index /CMap resourcestatus
{pop pop pop}
{runlibfile} ifelse
/CMap findresource
3 1 roll
1 index /CIDFont resourcestatus
{pop pop pop}
{runlibfile} ifelse
/CIDFont findresource
[ exch ] composefont pop
底下是 Arphic-Ming-ETen-B5-H.gsf 的內容:
/Arphic-Ming-ETen-B5-H
/ShanHeiSun-Light (ShanHeiSun-Light)
/ETen-B5-H (ETen-B5-H)
1 index /CMap resourcestatus
{pop pop pop}
{runlibfile} ifelse
/CMap findresource
3 1 roll
1 index /CIDFont resourcestatus
{pop pop pop}
{runlibfile} ifelse
/CIDFont findresource
[ exch ] composefont pop
底下是 Arphic-Ming-ETen-B5-V.gsf 的內容:
/Arphic-Ming-ETen-B5-V
/ShanHeiSun-Light (ShanHeiSun-Light)
/ETen-B5-V (ETen-B5-V)
1 index /CMap resourcestatus
{pop pop pop}
{runlibfile} ifelse
/CMap findresource
3 1 roll
1 index /CIDFont resourcestatus
{pop pop pop}
{runlibfile} ifelse
/CIDFont findresource
[ exch ] composefont pop
編寫完 gsf 檔以後,將上面四個檔案放在 /var/lib/defoma/gs.d/dirs/fonts/ 這個目錄底下。接下來在自己家目錄底下的 .bashrc 裡面加入:
export GS_FONTPATH=/home/username/
(/home/username 就是您的家目錄囉)
接著在自己的家目錄增加一個檔案 Fontmap,其內容加下 (注意分號之前必須要有一個空格):
/Arphic-Kai-ETen-B5-H (Arphic-Kai-ETen-B5-H.gsf) ;
/Arphic-Kai-ETen-B5-H (Arphic-Kai-ETen-B5-H.gsf) ;
/Arphic-Ming-ETen-B5-H (Arphic-Ming-ETen-B5-H.gsf) ;
/Arphic-Ming-ETen-B5-H (Arphic-Ming-ETen-B5-H.gsf) ;
/MSung-Light-B5-H /Arphic-Ming-ETen-B5-H ;
以上是以普通使用者的身份去作設定,所以只有這位使用者可以使用這個設定。假如您想要讓系統裡所有的使用者都可以使用這個設定的話,您可以登入成系統管理者的身份,將 Fontmap 放在您自訂的目錄裡 (例如 /usr/local/etc/Fontmap),並且在 /etc/bash.bashrc 設定好您要 export GS_FONTPATH 的路徑就可以了 (例如 export GS_FONTPATH=/usr/local/etc/)。這樣的設定方式的好處是我們再也不必擔心每次有任何 ttf 字型套件或是 gs 套件的更新,我們又要修改一次設定了。
另外值得一提的是 Windows 的 mingliu 不能拿來做列印使用,雖然在 X 下的字型小於 20 的顯示效果很棒,但是列印出來的都是支離破碎的字體。如果有將 mingliu 注冊到 Defoma 的網友可能必須將 /var/lib/defoma/gs.d/dirs/fonts/CIDFnmap 裡面的 /MOESung-Regular /MingLiU-Medium 給去掉,免得應用程式在使用 MOESung 時會被 MingLiU 給取代。
附註
* 註 1: 安裝 cupsys 的網友在執行非 KDE 的應用程式來作列印工作之前,要檢查送出來的列印指令為 lp 而不是 lpr (例如Mozilla、Abiword、gv、gedit....等等)
* 註 2: 有些文字編輯器在列印或是輸出成 ps 檔時是預設使用 MSung-Light-B5-H。您也可以按照下列網址的步驟安裝教育部的字型 (感謝李柏鋒兄的文章):
http://lists.debian.org/debian-chinese/ ... 00057.html
(裡面的下載網址有誤,要把 orilly 改成 oreilly,CMap 不必下載,因為已經有 cmap-adoube-* 等套件)。在 /home/username/Fontmap (或是您自己設定的檔名) 裡面您可以自行決定要把 MSung-Light-B5-H 指向 Arphic-MingB5 或是 MOESung-Regular-ETen-B5-H。以下是小弟的 Fontmap 範例:
/MOEKai-Regular-ETen-B5-H (MOEKai-Regular-ETen-B5-H.gsf) ;
/MOEKai-Regular-ETen-B5-V (MOEKai-Regular-ETen-B5-V.gsf) ;
/MOESung-Regular-ETen-B5-H (MOESung-Regular-ETen-B5-H.gsf) ;
/MOESung-Regular-ETen-B5-V (MOESung-Regular-ETen-B5-V.gsf) ;
/MSung-Light-B5-H /MOESung-Regular-ETen-B5-H ;
/Arphic-Kai-ETen-B5-H (Arphic-Kai-ETen-B5-H.gsf) ;
/Arphic-Kai-ETen-B5-V (Arphic-Kai-ETen-B5-V.gsf) ;
/Arphic-Ming-ETen-B5-H (Arphic-Ming-ETen-B5-H.gsf) ;
/Arphic-Ming-ETen-B5-V (Arphic-Ming-ETen-B5-V.gsf) ;
* 註 3:Filter (driver) 的問題
這邊只是補充說明,已經安裝 "cups + cupsomatic-ppd" 或是 "printtool + printfilter-ppd" 的使用者可以不用管這邊的說明。
使用哪個 Filter (driver) 跟 gv 能不能顯示中文應該是沒有關係 ,只要上面所提的設定弄好後,應該就可以正常顯示中文了;可是 Filter (driver) 卻跟印表機可不可以印出中文有很大的關係。原本小弟使用 cupsys-driver-gimpprint 的 "EPSON Stylus Color 460, CUPS+GIMP-Print V4.1.99-b1",即使 gv 可以正常顯示 ps 檔裡面的中文,可是印出來的還是框框。但是小弟改用 cupsomatic-ppd 的 "Epson Stylus Color 460, Foomatic+stc.upp"後就可以印出漂亮的中文了,小弟也不清楚為什麼。
以上是針對 cups 的使用者,如果是使用 printtool 和 printfilter-ppd 的人就沒有這個問題,他們可以直接列印中文,但是 printtool + printfilter-ppd 所支援的印表機型號比較少。
* 註 4:
測試環境為 Debian testing,使用的套件皆為 testing 裡面的套件。
8.4 常見問答集
如何在 Mozilla 下列印中文
修改 /usr/lib/mozilla/defaults/pref/unix.js 的後面幾行:
pref("print.postscript.nativecode.zh-TW", "big5");
pref("print.postscript.nativefont.zh-TW", "Arphic-Ming-ETen-B5-H");
-------------------------------------------------------------
對不起,排版方面又需要您費心了。
另外希望各位還沒設定好列印功能的網友可以測試上面的設定看看可不可以正常列印,也請各位將您發現的問題提出來,大家一起來討論