gimp-print

もうgutenprintという名前に変わっちゃうことが決定したらしい。 ただ、gutenprintのリリース候補版を取って来てもうまく動かないので 現状では gimp-print を ghostscriptのstpドライバ経由で使うのしか うまくいかなかった。

言い訳を先に済ませて、さて、 gimp-print(gutenprint) とは、印刷系のデバイスをPC-Unixでほぼ完ぺきに使っちゃおうぜ、おーー、 というパッケージ。最初はGIMPのプラグインだったらしいが、独立して GIMP以外でも使えるようになった、と、そんな感じらしい。

一昨日EPSONプリンタでの文書印刷の設定を したばかりでインクジェットレベルでの品質には満足した。のだが、 意味もなく写真入りの文書をgs経由で印刷し、Mac OS Xの純正ドライバのものと 比べてみた。写真がすこーしまだら模様っぽくなっちゃう。でも 「まあこんなもんでいい じゃん」と思った。だって写真入り文書なんか出さないもの。出さないもの。 出さないもの。書かないもの。書かないもの。

ということで、まずdvipsのオプションでDPIを細かくしてみる。 PM-D770は最小でも1440dpiはあるみたいなので「dvips -D 1440 ……」としてみ た。明らかに改善された。写真にあったまだら模様が消えた。でも画像が 全体的に暗い。でもべつに写真入り文書なんか出さないから気にしない。 気にしない。気にしない。気にしない。放っておこう。

次にgimp-printを持って来た。これをgsで使うには、

の2通りがある。gimp-printがgutenprintに移行する今後は、ijsのほうに なるらしいけど、安定動作させられなかったのでstpで使う方を選択。 gutenprintの正式版が出る頃にはijsに移行せにゃならんかな。まいいや。

まずgimp-printを持って来る。gimp-printという名前での最終版は gimp-print-4.2.7.tar.gz なので、それを探して 展開して configure&&make する。

stpで使うためには ghostscript-7.0系が いちばん楽。まず、 gs7で日本語がきれいに出るように設定する。これは各所のWebに書いてあるので 省略。まずはstpなしで頑張って日本語表示ができるようにしないと混乱する。

ちゃんと日本語表示ができたら stpドライバを組み込む。gs7のソースディレクトリに移動して configureをやりなおす。

% ./configure --prefix=/どこか/そこら --with-gimp-print

Makefileに DEVICE_DEVS* という行がたっぷり 並んでいるところがあるのでそこに stp.dev の記述があるか探す。なければ、

DEVICE_DEVS5=$(DD)stp.dev

とか追加する。

で、makeする。ただ、gimp-printのライブラリやら、ヘッダファイルやら 自動で探してくれないかもしれないので

% gp=/gimp-printを入れたPREFIX
% gmake CC="gcc -I$gp/include -L$gp/lib -R$gp/lib"

とすると最後まで進める。で、できあがった bin/gs を インストールする。gmake install すると苦労していじくった 日本語フォントの設定などが消えちゃうのでちうい。

% gs -h

として出てくるドライバ一覧の中に stp があれば成功。

使い方

gsのオプションで -sDEVICE=stp -sModel=機種名 のようにして使う。 ということで、おととい作成したインプットフィルタが 以下のように書き換えられた。

#!/bin/sh
# lpd input filter with gdevstp
#
setoffset() {
cat<<_EOF_
<<
%% /PageOffset [0.0 00.00]
/.HWMargins [0 0 0 0]
>>
setpagedevice
_EOF_
}

PATH=/usr/local/gs/bin:$PATH
read firstline
case "$firstline" in
  %!*)
	printf '\000\000\000\033\001@EJL 1284.4\n@EJL     \n\033@'
	(echo "$firstline"; setoffset; cat) | \
	  gs -sDEVICE=stp -sModel=ecsp2-pm770c -sOutputFile=- -dNOPAUSE -q -sBATCH -
	;;
  *)
	(echo "$firstline"; cat) && exit 0 ;;
esac
exit 2

もしかして1284.4ほげほげっていうwake upコードは要らないのかな。 ま、何度送っても害はないらしいから残しとくか。


叱咤激励感想ツッコミはゲストブック

Generated with mkdiary.rb
yuuji@example.org
Fingerprint16 = FF F9 FF CC E0 FE 5C F7 19 97 28 24 EC 5D 39 BA
HIROSE Yuuji - ASTROLOGY / BIKE / EPO / GUEST BOOK / YaTeX [Tweet]