[轉貼]中文列印

常言道:『飲水思源』,在 Open Source 的世界裡,我們常常需要別人的幫助,但是在您有所心得的時候請記得分享給大家,『幫助人是快樂的喔』。歡迎您在使用 debian 的過程中的任何心得分享給大家。

[轉貼]中文列印

文章moto » 週二 3月 16, 2004 10:55 am

本文轉自 Sayya linux 連線版:

代碼: 選擇全部
 作者  lloyd huang <lloyd@nomail.com>,                      看板  Linux
 標題  [FYI]中文列印
 時間  Kalug (Tue Mar 16 04:07:26 2004)
 路徑  SayYa!ctu-reader!ctu-peer!Spring!news.nctu!newsgate.cuhk.edu.hk!news.ne
 來源  218-164-124-246.hinet-ip.hinet.net

Issue Date: 二  3月 16 00:48:01 CST 2004
Doc Version: 0.1

OS: Gentoo Linux 1.4
XFree86: 4.3.0-r3
KDE: 3.2.1
CUPS:1.1.20

早先 Linux 在桌面環境下其實有很多缺點,大致上就屬 Office suite
及 printer 。這兩個一直都是 Linux 下的痛。但現在.... :-)

中文列印在 KDE 的環境下看來已經很健全了,也許已經有人知道了,
提供給大家參考,現在在 KDE 環境下中文列印已整合的更簡單方便。
以目前初探的列印情況,其中文列印環境應可擴及到 BSD 等 UNIX
環境。
□ 早期中文列印僅限於部份應用程式,CJK LaTex 、ChiTex、bg5ps 、
netscape + bg5ps。此時的中文列印以 Tex 最優,bg5ps 利用 TTF
是中文純文字下的列印好工具,Netscape + bg5ps 則透過 bg5ps 後
置處理,算是稍稍解決中文列印,但在計算字距上由於透過後置處
理其 PS 檔案始終會有中英字重疊的困擾。此時的中文列印都是利用
中文字透過 ttf 字型轉成 PS 圖檔,內嵌進 PS 檔內,這時 PS 檔內的
中文字都是圖形而非字碼。利用 ghostscript 轉成印表機檔案輸出至印
表機。此時的 CLE 修改利用 Redhat 的 printtools 的 fileter 處理中文
列印。

PS: 此時將中文字轉成圖形使得 PS 檔案變得十分龐大,其實是有違
最初 PS 檔案可攜式設計的原則。但在當時只求中文列印的 Linux 下
也算是個很了不起的解決方法。

□ 中期日本好像修正了 ghostscript 並且利用了 adobe CID Font 與 TTF
字型對應此時可以不再需要將中文字轉成中文 PS 圖檔內嵌進 PS 檔
,mozilla 、Netscape 也可事先定義中文字集輸出透過設定 CID Font
name 而不再將中文字轉成圖形。這時候最大的差異在於 PS 檔案變小
且在 ghostscript 的 gv 下可接近無段放大。這時的中文列印流程大致
上為。
--------------------------------------------------------
mozilla 定義 big5 CID Font name -> PS file -> ghostscipt (針對特定印表機)
-> 特定印表機 print file -> lpr -> print
--------------------------------------------------------
此時我的中文列印當時整合的方式是利用替換掉 lpr 將 PS file 直接利用
經過修改過的  lpr ,先利用 ghostscript 轉成印表機可列印檔案在轉至
print device。這時候也可利用 gv 作簡單的預覽列印的功能。其實這時候
已經很好用了。
--------------------------------------------------------
AP define Big5 CID Font name -> PS file -> modify lpr (gv prview) ->
printer print file -> stdout print device. (有時候也用 lpd 送)
--------------------------------------------------------
這時候最麻煩的事情就是要幫許許多多的 AP 設定Big5 CID Font name
而每個 AP 設定的方式又不竟相同。 例如 mozilla 就跟 abiword 設定方法
不同,且必須各個擊破。
此時的 LaTex 用的還是中文圖檔的 PS 檔。﹖

□ 中後期 LaTex 這一派終於也開始了採用不內崁中文圖檔的 PS ,並且
朝向內崁或不內崁中文字型的 PDF 檔案。此時的中文列印方式我已經不
很清楚了,不過大抵上我的理解應該還是利用 CID Font 對應 TTF 的方
式透過 ghostscript 列印。此時比較重大的突破我認為應該是支援中文的
xpdf 及可以閱讀中文的 adobe reader。以及相關製作中文 PDF 的技術,
包含可以有中文的 PDF index。 pdf2ps 由 ghostscript 列印。

□ 近期由於中文 PDF 及 PS 檔案製作技術已經成熟。因為我越來越懶
所以我漸漸的都活在 KDE 整合環境底下。在 KDE 底下我現在也不是很
清楚到底是 QT 解決了 PDF PS print file, 或是 KDE 解決了 PDF PS print
file 。 我只知道現在 KDE 下可以正確的產生中文的 PDF 及 PS file,且
拿至 window 下 adobe reader 可以閱讀中文,且可無段放大縮小。Linux
下 xpdf , adobe reader 都可正確顯示中文。

PS: 我印象中 QT 2.x 的年代 QT 有提供一個 print PS 的功能。但我剛剛
簡單的看了一下 kde 有個 kprint lib 到 libkdeprint.so.4 及 libfreetype.so.6
這部份已經不再我的範圍內了,我只能猜測。中文 PDF 應該在 KDE 3.1.x
就已經運作正常了。

這時候我還是傻傻的一直延用我的古老的方法。
--------------------------------------
PDF -> PDF2PS -> PS -> ghostscript -> printer print file -> lpr ->
lpd  -> printer
--------------------------------------
PDF or PS -> cp to window -> window printting.......
------------------------------------
今天在 IRC 上原本我是以很愉悅的心情說 KDE 3.2.1 果然效能表現
比 KDE 3.2 好很多,且 KDE 3.2 比 KDE 3.1 中文環境也改善了許多
並有很多好用的 K-AP 例如 address 與 Kmail 的整合,kdepim 中文
部份,中文列印,螢幕調整大小旋轉、雙螢幕設定,Kapm 電源管
理及休眠設計(這對 notebook 來說非常重要)。 KJots 筆記簡記功
能的改進,KwikDisk 可移除磁碟管理,Kdict......等等,在我正在發
瘋時,Batzmaru 問誰有中文列印的經驗,我概略的講了一下我的列
印方式,我才發覺我這樣的列印方式實在是很落後。後來簡單的翻
了一下 KDE 發覺他在列印時其實可以有不少的選擇列印方式,本想
簡單的利用 aspfilter or magicfilter 設定一下 lpd ,應該也可以簡化
很多且流程應該一致。但此時 Palatis 突然冒出一句話,為什麼不試
試 cups 這個 UNIX 通用型印表機呢? 也對為什麼不試試看呢?

翻了一下 KDE 的設定工具,在週邊上有個印表機設定,簡單的設定了
cups (我從未研究過 cups ) ,看來 cups 是屬於網路型的列印管理工具
,對於列印權限上的管理有自己的一套,並且擁有自己的印表機  driver
對應,不太像是利用 ghostscript 的作法。

我這次僅僅用了滑鼠點了幾下,天阿..中文列印就好了!! 這次很反常的
我一點都沒有用到 console + editor 。 實在是萬分感慨,linux 真的越
來越簡單了。我測試了幾個印表機的特異功能,當然都在 KDE 的環境
底下。

kprinter 下的列印測試頁
konqueror 中文列印,2 in 1, 4 in 1 , 8 in 1, 列印頁選擇 (1-2,4-10)
        反向列印(先印 4 3 2 1),預覽列印(會叫出 Kghostview),4 in 1
        加印頁框。
        (ps: konqueror 在網頁有切框架下列印還是有些問題其餘都很正常。)
knode 列印中文 news , 我印了 『Unix 痛恨者手冊』 4 in 1 , 共 7x 頁
                ,我只印了 10 張紙 (40 頁) 。粗略看過沒有掉字。
korganizer 我列印了 todo list 及本周行事曆。 4 in 1 也都正常。
kcmshell printmgr 管理列表機排序列印檔案管理。刪除列印中的檔案...

看起來 KDE 的列印上都集中透過 kprinter 管理,做出集中整合的整合環境
我想在 KDE 下 K-AP 在中文列印上應該都已經可以正常處理中文了。
(ps: 列印出來的中文字體還真的很漂亮)
Gnome  好像也有 CUPS 的管理工具,印象中 Gnome 的列印都是各自為政
,與其說是印象不如說是由外觀上每個 Gnome 的 AP 列印工具單單外觀就
不相同。不曉得是否有將 printer 集中整合。其實就算不集中整合,只要
Gnome 也能正確輸出正確的中文 PDF or PS 透過 CUPS 應該也可以很簡單
的處理掉中文列印這端看 Gnome 下的 CUPS 設定工具成熟度。

實在很感動,所以將列印出來的成品拍成兩張照片留作紀念。與其說 Linux
不如說 KDE 跨進中文桌面環境又更前進一步了。正是因為是 KDE 所以我想
一般泛 UNIX 平台應該也可以有相同的成果才是。

--
    ◢◣
□□□ ██ □□□□
□  ◢█□ 造形.空間.秩序.
□  ███◣ 主從.對比.韻律

---
Posted via news://freenews.netfront.net
Complaints to news@netfront.net

歡迎你來到MOTO學園一起討論Debian相關問題。
在post問題前可先別忘記了以下的步驟:
1:翻一下/usr/share/doc/中是否已經有解答了?
2:閱讀一下無痛起步是否已經提到了?
3:找一下google予以解答?
4:善用學園中的"搜尋"功能,往往答案就在裡面窩。
頭像
moto
摩托學園站長
摩托學園站長
 
文章: 2808
註冊時間: 週二 9月 03, 2002 3:37 am
來自: 台北

re:[轉貼]中文列印

文章zero0w » 週二 3月 16, 2004 2:47 pm

一些補充資料:

statue 寫的有關「Unix 的中文列印」文件:
http://netlab.cse.yzu.edu.tw/~statue/fr ... /print.pdf

本版有關設定 gtk2+Xft 版 Mozilla 打印的分享:
viewtopic.php?t=2751
http://linux.tnc.edu.tw/techdoc/mozilla-print-zhtw.html

還有,kprinter 是不受 GUI 環境限制的,任何程式(包括 Gnome)都可輸出 kprinter 然後才選擇列印方式-最新版的 Acrobat Reader 5.08 for Linux 也是這樣做。

一些設定 kprinter 的抓圖:
--> 在任何程式設定 kprinter 列印(英文抓圖)
zero0w
懵懂的國中生
懵懂的國中生
 
文章: 189
註冊時間: 週日 2月 15, 2004 3:38 am

re:[轉貼]中文列印

文章moto » 週三 3月 17, 2004 1:58 pm

轉錄自 Sayya :

代碼: 選擇全部
※ 本文轉錄自 [test] 看板

作者: Edward (Edward G.J. Lee) 站內: test
標題: 中文列印(番外篇)
時間: Tue Mar 16 18:19:47 2004

[註] 回到這裡,以免吵架。:-)

From: "Edward G.J. Lee" <edt1023@fastmail.fm>
Newsgroups: tw.bbs.comp.linux
Followup-To:
Subject: Re: [FYI]中文列印
Reply-To:
In-Reply-To: <c352hl$pel$1@adenine.netfront.net>
Organization: GNU/Linux/*BSD Dreamer Club

> 早先 Linux 在桌面環境下其實有很多缺點,大致上就屬 Office suite
> 及 printer 。這兩個一直都是 Linux 下的痛。但現在.... :-)

  到現在仍然是痛。原因出在轉換成印表機需要的 PDL(page description
  language)/PCL(printer command language) 的機制。和什麼應用軟體,
  其實並不是直接關係,一般軟體本身通常不負責印表驅動程式。

> □ 早期中文列印僅限於部份應用程式,CJK LaTex 、ChiTex、bg5ps 、
> netscape + bg5ps。此時的中文列印以 Tex 最優,bg5ps 利用 TTF
> 是中文純文字下的列印好工具,Netscape + bg5ps 則透過 bg5ps 後
> 置處理,算是稍稍解決中文列印,但在計算字距上由於透過後置處
> 理其 PS 檔案始終會有中英字重疊的困擾。此時的中文列印都是利用
> 中文字透過 ttf 字型轉成 PS 圖檔,內嵌進 PS 檔內,這時 PS 檔內的
> 中文字都是圖形而非字碼。利用 ghostscript 轉成印表機檔案輸出至印
> 表機。此時的 CLE 修改利用 Redhat 的 printtools 的 fileter 處理中文
> 列印。

  這些都是應用軟體製作出的檔案格式品質的問題,和列印不是直接
  的關係。真正的列印驅動程式在 gs 本身。要測試其實很簡單,把
  gs 移除或改個可執行檔的名稱,然後看哪一種應用軟體可以送印表
  機就知道了。

> 看起來 KDE 的列印上都集中透過 kprinter 管理,做出集中整合的整合環境
> 我想在 KDE 下 K-AP 在中文列印上應該都已經可以正常處理中文了。
> (ps: 列印出來的中文字體還真的很漂亮)
> Gnome  好像也有 CUPS 的管理工具,印象中 Gnome 的列印都是各自為政
> ,與其說是印象不如說是由外觀上每個 Gnome 的 AP 列印工具單單外觀就
> 不相同。不曉得是否有將 printer 集中整合。其實就算不集中整合,只要
> Gnome 也能正確輸出正確的中文 PDF or PS 透過 CUPS 應該也可以很簡單
> 的處理掉中文列印這端看 Gnome 下的 CUPS 設定工具成熟度。
>
> 實在很感動,所以將列印出來的成品拍成兩張照片留作紀念。與其說 Linux
> 不如說 KDE 跨進中文桌面環境又更前進一步了。正是因為是 KDE 所以我想
> 一般泛 UNIX 平台應該也可以有相同的成果才是。

  這和 KDE 也不是直接的關係。重點在 CUPS + ESP Ghostscript。前
  面提過了,把 gs 拿掉,由 KDE 軟體去印印看就知道了。這個部份應
  該應用軟體本身少插手最好,因為會造成作業系統本身印表流程的混
  亂,除非大家都用同一種環境(這應該是不可能吧!)。

  只要 CUPS + ESP ghostscrip 設定正確,那麼什麼軟體製作出來的文
  件送印表機都可以印,不管是不是中文,也不管裡頭有沒有內嵌字型。
  [NOTE] CUPS 不是目前唯一的印表 spooler/filter。

  BTW,GNOME 環境我測試過,是可以印。例如,ggv 可以開 pdf 檔,
  直接送印表機就可以印了,中文不內嵌也是一樣,可以測試底下這個
  檔:

  http://edt1023.sayya.org/tex/mycjk.pdf

  印不出來的,表示系統 CUPS + ESP Ghostscript 的設定有問題,和
  GNOME 無關,和 GIMP-Print 反而比較有關。

  BTW2,我 KDE/GNOME 都用,不特別擁護哪一種。雖然目前在整合方
  面 KDE 略勝一籌,但碰到像 OO.o 這類軟體就不是 KDE 所能整合
  的。所以,個人必需強調,真正的列印,重點是在 CUPS + EPS
  Ghostscript 這類軟體,只要「送印」這個過程能整合好,縱使是
  命列列,把一個中文的純文字檔,往 lpr 一送,也是可以印的。

  如果印表機不是 PostScript 印表機,那麼,有興趣的朋友,可以
  試試看,在 GNU/Linux 環境印到紙上,然後同樣機種的印表機,
  拿到 MS Windows/Mac OS 上面去印同樣的文件到紙上,然後比較
  一下他的列印品質(這裡純指中文,英文已有不錯的結果)。

  我們的重點還是在 ghostscript,不然中文印表這個關卡是不容易
  越過的。通常 RIP(raster image processor) 的工作是在有正確
  的印表驅動程式下在印表機內部在做的,但我們目前也只能由 gs
  來做,效果當然就打了折扣,除非印表機的廠商願意釋出他們的
  驅動程式或規格。



ps.我不想吵架,以上供參考,各種 xxx 的擁護者就不必太認真了。
   實際上「能用」最重要。
--
李果正

舉賢則民相軋,任知則民相盜。(莊子.庚桑楚)
--
※ Origin: SayYA 資訊站 <bbs.sayya.org>
◆ From: 218-165-181-241.hinet-ip.hinet.net

歡迎你來到MOTO學園一起討論Debian相關問題。
在post問題前可先別忘記了以下的步驟:
1:翻一下/usr/share/doc/中是否已經有解答了?
2:閱讀一下無痛起步是否已經提到了?
3:找一下google予以解答?
4:善用學園中的"搜尋"功能,往往答案就在裡面窩。
頭像
moto
摩托學園站長
摩托學園站長
 
文章: 2808
註冊時間: 週二 9月 03, 2002 3:37 am
來自: 台北


回到 share

誰在線上

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