[問題]關於中文列印

如果您覺得您的問題不屬於 debian desktop 或是 debian server 版的範圍內,請在這裡發問。

版主: mufa

re:[問題]關於中文列印

文章訪客 » 週四 2月 13, 2003 6:59 pm

嗯,我會想辦法解決列印這方面的問題的,對了能在問個問題嗎,該如何去調整中文列印相關的字型設定呀,謝謝
訪客
 

re:[問題]關於中文列印

文章阿信 » 週四 2月 13, 2003 8:08 pm

看你是用甚麼軟體產生ps檔案的,用wprint的話,就要修改/etc/wprint.conf

如果是mozilla的話,要修改 /etc/mozilla/prefs.js

如果是openoffice的話,就無所謂了,字型換掉就可以產生該字型的ps檔。
頭像
阿信
版面大總管
版面大總管
 
文章: 4756
註冊時間: 週二 9月 03, 2002 11:58 pm
來自: 台灣 - 嘉義

re:[問題]關於中文列印

文章訪客 » 週五 2月 14, 2003 1:09 am

那我能不能在麻煩一下octapult 兄,能不能在為我們好好解說一下在debian裡,關於中文列印的相關資訊呀,因為我滿想去了解這方面的問題,我也查過任何關於linux的列印文件,但測試的結果都不能得到我想要的答案,我想關於這中文列印方面能夠有一些更好的資訊的話,應該能夠更方便推廣debian的世界.
我也繼續正在收集相關的資料,以及實驗,如果哪一天我有弄到一個好方法的話,我在分享給各位,在這先謝謝各位前輩的幫忙囉
訪客
 

re:[問題]關於中文列印

文章damon » 週五 2月 14, 2003 10:15 am

小弟前面說過了,列印方面的作法目前有N總
mozilla , OO.org , KDE...etc都有自己的一套作法,還沒有出現一套能夠與不自由軟體相比較的列印整合,應該說是完全不能比,差距太大
不自由軟體使用者不管用哪個軟體,都能夠只要按各列印功能就好,自由軟體目前.....
知道我的意思吧^^|||
不是小弟不喜歡自由軟體,而是真的目前可預見的一兩年內,自由軟體在列印尤其是有關於i18n , i10n的部分,跟不自由軟體,完全無法競爭
也許等哪天cup成為標準才有機會吧
damon
活潑的高中生
活潑的高中生
 
文章: 358
註冊時間: 週二 9月 10, 2002 5:42 pm

re:[問題]關於中文列印

文章阿信 » 週五 2月 14, 2003 10:46 am

畢竟現在的軟體都是自己做列印的方法,這樣每一套都要懂得去設定,實在有夠麻煩。

希望cups能夠取得統一,然後cups可以處理掉字型替換問題或是...xfree有辦法等,然後個個ap都能遵照cups的protocol來發展,這樣我們就不用那麼辛苦每改一套軟體,就要習慣列印的設定方法。

這也太痛苦了吧...
頭像
阿信
版面大總管
版面大總管
 
文章: 4756
註冊時間: 週二 9月 03, 2002 11:58 pm
來自: 台灣 - 嘉義

re:[問題]關於中文列印

文章阿信 » 週五 2月 14, 2003 10:48 am

Anonymous 寫:那我能不能在麻煩一下octapult 兄,能不能在為我們好好解說一下在debian裡,關於中文列印的相關資訊呀,因為我滿想去了解這方面的問題,我也查過任何關於linux的列印文件,但測試的結果都不能得到我想要的答案,我想關於這中文列印方面能夠有一些更好的資訊的話,應該能夠更方便推廣debian的世界.
我也繼續正在收集相關的資料,以及實驗,如果哪一天我有弄到一個好方法的話,我在分享給各位,在這先謝謝各位前輩的幫忙囉


octapult兄在無痛起步有提過,先看看吧。

而之前小弟有在討論區發表一篇檔案列印 + app的搭配,大部份的列印方法都有討論過,可以用search功能找一下。
頭像
阿信
版面大總管
版面大總管
 
文章: 4756
註冊時間: 週二 9月 03, 2002 11:58 pm
來自: 台灣 - 嘉義

re:[問題]關於中文列印

文章octapult » 週五 2月 14, 2003 3:06 pm

啊,被點名了。

真是抱歉,弟這幾天都在試用 FreeBSD 5.0,所以直到今天才看到這篇文章 :ooops:

老實說,弟在去年 12 月份就已經開始著手撰寫最新版本有關 Debian 中文列印的文章了,只是由於偷懶的關係,所以一直拖到現在都還沒有完成。

弟先把未完成的文章先放上來好了,再跟大家一起討論有問題的地方,繼續把它給完成。

-------------------------------------------------------
8.3 列印

安裝印表機

安裝印表機需要的套件有下面兩種方案:

* CUPS (Common Unix Printing System):

apt-get install cupsys cupsys-client foomatic-bin

在設定 foomatic-bin 的 printfilter 的時候,選擇 Automagic,其餘選擇預設值就可以了。

使用 KDE 2.2 的人要再安裝下面這個套件 (KDE 3.X 的使用者不需要安裝此套件):

apt-get install kdelibs3-cups

打開您愛用的瀏覽器,連結到 http://www.linuxprinting.org/printer_list.cgi 這個網址找尋您的印表機型號。底下以 Epson Stylus Color 460 為例子。

附圖一 http://home.kimo.com.tw/octapult/screen ... all-1.html

選擇好您的印表機型號以後,按下 "show",進入下一個畫面:

附圖二 http://home.kimo.com.tw/octapult/screen ... all-2.html

接下來您可以在附圖二這個畫面中找到 Linuxprinting 網站所推薦最適合 Epson Stylus Color 460 這台印表機的驅動程式 (Recommended driver) 為 gimp-print,點選之後進入下一個設定畫面:

附圖三 http://home.kimo.com.tw/octapult/screen ... all-3.html

在附圖三中再一次選擇 Epson Stylus Color 460,然後按下 "Generate PPD file",接下來將產生出來的 Epson-Stylus_Color_460-gimp-print.ppd 這個檔案儲存起來。

接下來以 root 的身份 (您可以使用 su - 指令),將這個檔案拷貝到 /usr/share/cups/model 底下。
切記!請使用 cp 指令而不要使用 mv 指令,以確保檔案的擁有者為 root。
接著將這個檔案的權限設為所有的人都可以讀取:

chmod a+r /usr/share/cups/model/Epson-Stylus_Color_460-gimp-print.ppd

接著以 root 的身份重新啟動 cupsys:

/etc/init.d/cupsys restart

KDE 使用者可以經由 Control Center 來設定印表機

非KDE 使用者可以由您的瀏覽器連結到 http://localhost:631 來設定印表機。
請選擇 "Manage Printers" -> "Add Printer" -> 輸入 root 的帳號和密碼 -> 接者請輸入您給印表機的名稱和
一些簡單的敘述:

附圖四 http://home.kimo.com.tw/octapult/screen ... all-4.html

接著請選擇連接到印表機的介面 (device):

附圖五 http://home.kimo.com.tw/octapult/screen ... all-5.html

接著請選擇印表機的型號和驅動程式 (model/driver):

附圖六 http://home.kimo.com.tw/octapult/screen ... all-6.html

完成後,點選您的印表機名稱,可以看到下面這個畫面,就表示您設定完成:

附圖七 http://home.kimo.com.tw/octapult/screen ... all-7.html

接下來您可以執行 "Print Test Page",看看印表機是否能夠正常列印。
假如不能正常列印的話,請回到附圖二,選擇其他的驅動程式,然後重複上面的步驟。

* Red Hat printtool:

只要下 apt-get install printtool,其餘套件會自動補齊。
然後以 root 的身份執行printtool,選好印表機型號就可以了。

註:第一種方案支援的印表機種類比較多。

設定 ghostscript/postscript

* 安裝相關套件:

請參考前面安裝中文字型的步驟,安裝好 defoma、x-ttfcidfont-conf 和
ttf-arphic-* (文鼎 big-5 和 gb 碼中文字型套件) 等相關套件,然後再安裝下列套件:
gs、gs-cjk-resource、gsfonts*、cmap-adobe-*、psfontmgr、gv。安裝好後,請檢查
/var/lib/defoma/gs.d/dirs/CMap 和 /var/lib/defoma/gs.d/dirs/fonts 的底下是否已經存在
各個相關檔案,接著請檢查 /var/lib/defoma/gs.d/dirs/fonts/CIDFnmap 是否有下面這幾行:

/ZenKai-Medium (bkai00mp.ttf) /Adobe-CNS1-Unicode ;
/ShanHeiSun-Light (bsmi00lp.ttf) /Adobe-CNS1-Unicode ;
/GBZenKai-Medium (gkai00mp.ttf) /Adobe-GB1-Unicode ;
/BousungEG-Light-GB (gbsn00lp.ttf) /Adobe-GB1-Unicode ;

接下來的設定為求簡便,所以將以 big5 碼的文鼎細上海宋和文鼎中楷為範例。

當您確定上面幾行存在時,表示 gs 和各種相關字型已經安裝完成。
接著我們來測試一下中文列印。請將下面這一段文字存成 test.ps:

%!
%% 文鼎字型列印測試檔案
/ShanHeiSun-Light-ETen-B5-H findfont 30 scalefont setfont
50 740 moveto (文鼎細上海宋標準) show
/ShanHeiSun-Light-ETen-B5-H findfont 30 scalefont setfont
1 setlinewidth 1 setlinejoin
newpath
50 700 moveto (文鼎細上海宋粗) false charpath stroke
50 700 moveto (文鼎細上海宋粗) show
/ShanHeiSun-Light-ETen-B5-H findfont [ 1 0 .3 1 0 0 ] makefont 30 scalefont setf
ont
50 660 moveto (文鼎細上海宋右斜) show
/ShanHeiSun-Light-ETen-B5-H findfont [ 1 0 .3 1 0 0 ] makefont 30 scalefont setf
ont
1 setlinewidth 1 setlinejoin
newpath
50 620 moveto (文鼎細上海宋右粗斜) false charpath stroke
50 620 moveto (文鼎細上海宋右粗斜) show
/ZenKai-Medium-ETen-B5-H findfont 30 scalefont setfont
50 580 moveto (文鼎中楷標準) show
/ZenKai-Medium-ETen-B5-H findfont 30 scalefont setfont
1 setlinewidth 1 setlinejoin
newpath
50 540 moveto (文鼎中楷粗) false charpath stroke
50 540 moveto (文鼎中楷粗) show
/ZenKai-Medium-ETen-B5-H findfont [ 1 0 .3 1 0 0 ] makefont 30 scalefont setfont
50 500 moveto (文鼎中楷右斜) show
/ZenKai-Medium-ETen-B5-H findfont [ 1 0 .3 1 0 0 ] makefont 30 scalefont setfont
1 setlinewidth 1 setlinejoin
newpath
50 460 moveto (文鼎中楷右粗斜) false charpath stroke
50 460 moveto (文鼎中楷右粗斜) show
gsave
/ZenKai-Medium-ETen-B5-H findfont [ 1 0 0 1 0 0 ] makefont 30 scalefont setfont
2 1 scale
50 420 moveto (文鼎正楷左右加寬) show
grestore
/ShanHeiSun-Light-ETen-B5-H findfont [ 1 0 0 1 0 0 ] makefont 30 scalefont
setfont
.03 setlinewidth 1 setlinejoin
newpath
50 380 moveto (文鼎細上海宋中空) true charpath stroke
/ZenKai-Medium-ETen-B5-H findfont [ 1 0 -.3 1 0 0 ] makefont 30 scalefont setfon
t
.03 setlinewidth 1 setlinejoin
newpath
50 340 moveto (文鼎中楷左斜中空) true charpath stroke
/Arphic-MingB5-ETen-B5-H findfont [ 1 0 0 1 0 0 ] makefont 30 scalefont setfont
400 650 translate
-60 rotate
1 0 0 setrgbcolor
0.5 1 scale
newpath
0 0 moveto (文鼎細上海宋中空彩色轉換旋轉) true charpath stroke
showpage

接著請執行下面的指令測試印表機是否能正常列印各種粗斜等字體的中文字型:

lp test.ps
(使用 printool 安裝印表機的使用者請將 lp 指令改成 lpr。底下將不再重複提醒。)

列印出來的中文就如下面這個附圖:
附圖七 http://home.kimo.com.tw/octapult/screen ... all-7.html

* 設定中文列印字型的粗體字與斜體字:

請到下面這個網址下載 Adobe 的 CMAP 檔案:
ftp://ftp.gyve.org/pub/gs-cjk/adobe-cmaps-200204.tar.gz

接著將這個檔案解壓縮:
tar zxvf adobe-cmaps-200204.tar.gz

由於 cmap-adobe-* 等套件已經安裝了大部份的 Adobe CMap 檔案,所以我們只需要
ai0/CMap 底下的 Identity-H 和 Identity-V 這兩個檔案。接下來請以 root 的身份
將這兩個檔案拷貝到 /usr/share/fonts/cmap/adobe-identity 底下:

mkdir /usr/share/fonts/cmap/adobe-identity
cp ai0/CMap/* /usr/share/fonts/cmap/adobe-identity

接著請建立下面兩個 symbolic link:

ln -s /usr/share/fonts/cmap/adobe-identity/Identity-H
/var/lib/defoma/gs.d/dirs/fonts/CMap/Identity-H
ln -s /usr/share/fonts/cmap/adobe-identity/Identity-V
/var/lib/defoma/gs.d/dirs/fonts/CMap/Identity-V

接著我們編寫粗體和斜體相對應的設定檔案:

ShanHeiSun-Light-Italic 細上海宋斜體的內容:

%!PS-Adobe-3.0 Resource-CIDFont
%%BeginResource: CIDFont (ShanHeiSun-Light-Italic)
/ShanHeiSun-Light-Italic
/ShanHeiSun-Light /CIDFont findresource
dup length dict begin { 1 index /FontMatrix eq { [1 0 .3 1 0 0] matrix concatmat
rix def } { def } ifelse } forall currentdict end
/CIDFont defineresource pop
%%EndResource
%%EOF

ShanHeiSun-Light-Bold 細上海宋粗體的內容:

%!PS-Adobe-3.0 Resource-CIDFont
%%BeginResource: CIDFont (ShanHeiSun-Light-Bold)
/ShanHeiSun-Light-Bold
/ShanHeiSun-Light /CIDFont findresource
16 dict begin
/basecidfont exch def
/basefont-H /.basefont-H /Identity-H [ basecidfont ] composefont def
/basefont-V /.basefont-V /Identity-V [ basecidfont ] composefont def
/CIDFontName dup basecidfont exch get def
/CIDFontType 1 def
/CIDSystemInfo dup basecidfont exch get def
/FontInfo dup basecidfont exch get def
/FontMatrix [ 1 0 0 1 0 0 ] def
/FontBBox [
basecidfont /FontBBox get cvx exec
4 2 roll basecidfont /FontMatrix get transform
4 2 roll basecidfont /FontMatrix get transform
] def
/cid 2 string def
/BuildGlyph {
gsave
exch begin
dup 256 idiv cid exch 0 exch put
256 mod cid exch 1 exch put
rootfont /WMode known { rootfont /WMode get 1 eq } { false } ifelse
{ basefont-V } { basefont-H } ifelse setfont
.03 setlinewidth 1 setlinejoin
newpath
0 0 moveto cid false charpath stroke
0 0 moveto cid show
currentpoint setcharwidth
end
grestore
} bind def
currentdict
end
/CIDFont defineresource pop
%%EndResource
%%EOF

ShanHeiSun-Light-BoldItalic 細上海宋粗斜體的內容:

%!PS-Adobe-3.0 Resource-CIDFont
%%BeginResource: CIDFont (ShanHeiSun-Light-BoldItalic)
/ShanHeiSun-Light-BoldItalic
/ShanHeiSun-Light /CIDFont findresource
16 dict begin
/basecidfont exch def
/basefont-H /.basefont-H /Identity-H [ basecidfont ] composefont def
/basefont-V /.basefont-V /Identity-V [ basecidfont ] composefont def
/CIDFontName dup basecidfont exch get def
/CIDFontType 1 def
/CIDSystemInfo dup basecidfont exch get def
/FontInfo dup basecidfont exch get def
/FontMatrix [ 1 0 0 1 0 0 ] def
/FontBBox [
basecidfont /FontBBox get cvx exec
4 2 roll basecidfont /FontMatrix get transform
4 2 roll basecidfont /FontMatrix get transform
] def
/cid 2 string def
/BuildGlyph {
gsave
exch begin
dup 256 idiv cid exch 0 exch put
256 mod cid exch 1 exch put
rootfont /WMode known { rootfont /WMode get 1 eq } { false } ifelse
{ basefont-V } { basefont-H } ifelse setfont
.03 setlinewidth 1 setlinejoin
newpath
0 0 moveto cid false charpath stroke
0 0 moveto cid show
currentpoint setcharwidth
end
grestore
} bind def
currentdict
end
dup length dict begin { 1 index /FontMatrix eq { [1 0 .3 1 0 0] matrix concatmat
rix def } { def } ifelse } forall currentdict end
/CIDFont defineresource pop
%%EndResource
%%EOF

請將上面 ShanHeiSun-Light-Italic、ShanHeiSun-Light-Bold、ShanHeiSun-Light-BoldItalic 等三個檔案放在 /var/lib/defoma/gs.d/dirs/fonts 底下,這樣 gs 就可以找到這些字型了。

其他您想要作粗體與斜體設定的字體也是依照上面的步驟辦理。例如 ZenKai-Medium-Italic、ZenKai-Medium-Bold、ZenKai-Medium-BoldItalic...等等。

* AbiWord 的中文列印:
.
.




.
.

8.4 常見問答集

如何在 Mozilla 底下列印中文

修改 /usr/lib/mozilla/defaults/pref/unix.js 的後面幾行:

pref("print.postscript.nativecode.zh-TW", "big5");
pref("print.postscript.nativefont.zh-TW",
"ShanHeiSun-Light-ETen-B5-H");

假如印出來的中文仍然是框框的話,請由 Mozilla 的 "檔案" -> "列印" -> "屬性" -> "列印命令",
請將列印命令修改如下:

ps2ps mozilla.ps out.ps ; lp out.ps

p.s. 有關列印字型的粗體和斜體的設定是採用 ttfm project 的研究成果,在此感謝這些先進們的努力,我們才能享受這些豐碩的果實。
-----------------------------------------------------

如同阿信兄說的,其實在安裝好印表機與 gs-cjk 以後,中文列印基本上已經完成了,只是各個應用程式都有它自己列印的設定方式,這邊實在是造成使用者很大的負擔。
最後由 octapult 於 週五 2月 21, 2003 2:58 pm 編輯,總共編輯了 4 次。
------BEGIN GEEK CODE BLOCK------
Version: 3.12
G! d- s+:+ a? C++(+++) UBL>++++ P L++ E+ W++ N+ o+ K- w(--)
O? M? V PS+ PE+ Y+ PGP- t 5? X++ R tv b+ DI- D+ G e? h! r-- z?
-------END GEEK CODE BLOCK-------
octapult
摩托學園!學園長們
摩托學園!學園長們
 
文章: 512
註冊時間: 週六 9月 07, 2002 10:30 pm
來自: Seyda Neen, Morrowind

re:[問題]關於中文列印

文章阿信 » 週五 2月 14, 2003 6:52 pm

octapult 寫:啊,被點名了。

真是抱歉,弟這幾天都在試用 FreeBSD 5.0,所以直到今天才看到這篇文章 :ooops:


甚麼!!!octapult兄難道要投靠FBSD,別別別...

別離開Debian阿,Debian可是會難過的... :crying:
頭像
阿信
版面大總管
版面大總管
 
文章: 4756
註冊時間: 週二 9月 03, 2002 11:58 pm
來自: 台灣 - 嘉義

re:[問題]關於中文列印

文章訪客 » 週五 2月 14, 2003 8:14 pm

對了,我忘了問件事,奇怪我在安裝gs、gs-cjk-resource、gsfonts*、cmap-adobe-*、psfontmgr、gv時,奇怪竟然找不到gsfonts*、cmap-adobe-*,是什麼問題呀,然到在unstable裡沒有嗎,

p.s:在這裡先祝賀各位情人節快樂
訪客
 

re:[問題]關於中文列印

文章louie » 週五 2月 14, 2003 11:09 pm

apt-cache search ^gsfont*
louie
快樂的大學生
快樂的大學生
 
文章: 593
註冊時間: 週一 9月 09, 2002 7:58 pm

上一頁

回到 debian misc

誰在線上

正在瀏覽這個版面的使用者:沒有註冊會員 和 1 位訪客