ε-ARK printer についての全体の説明がないままこのエントリを書くのもいまいちですが、今はとにかく過去を掘り起こしてまとめたいと思っています。
以下は、ε-ARK printer をどうやって Mac OS X のプリンタ環境に組み込むかをプロジェクトメンバに説明したメールです。いま(2013年2月)から4年間のことになります。末尾で QRコードを自動挿入するサービスについて言及していますが、これは翌年に完成し、X4iD 対応のデジタル文書管理システムとして情報処理学会のデジタルドキュメント研究会で報告しています。
========================================
差出人: Hiroyuki OHNO
件名: [e-ark:632] MW-260 プリンタの実装について
日時: 2009年2月12日 01:07:23JST
ε-ARK プリンタへ至るプリンタまわりの話です.
# ε-ARKプリンタの開発を促進するための情報共有を目的にメールさせていただきます.
# 前半は,これまでにもメールで説明したかと思いますが,後半は新ネタです.
brother MW-260 (A6モノクロ USB/IrDA/Bluetooth 感熱プリンタ)は,自前のプリンタドライバを作ったことで,Zark (Zaurus SL-C3100) で快適に動いていることはみなさんご存知のとおりです.
このドライバは C で書き,Zaurus 上の GCC でセルフコンパイルした単なるアプリケーションプログラムで,XBM 形式の 1152×1660ドットのビットマップファイルを標準入力から読み込み,これをMW-260 独自のラスター形式に変換した上で,いくつかの制御コードとともに Bluetooth シリアルポートに書き出しているだけです.
# 実際にはもうちょっと仕事をさせてますが,概略は上記のとおりです ^_^;
# 上記の制御コードは brother社独自のものですが,これ以外にも ESC/P 形式の制御コードを受け付けるモードもあります.
# しかし,ghostscript に含まれる ESC/P プリンタドライバではうまく動きませんでした.
こういう事情ですので,このプリンタドライバを Mac OS X に移のも容易で,すでに実現していますが,これをどうやって CUPS や lpd と組み合わせるかについては課題になっていました.で,ここからが新報告ですが,いろいろ調べるうちに CUPS-LPD という疑似プリンタドライバがあることを知りました.port でインストールできます.ちなみに port info cups-pdf を実行すると,以下のような説明が得られます.
————————————————————
This software is designed to produce PDF files in a heterogeneous network by providing a PDF printer on the central fileserver.
Homepage: http://www.cups-pdf.de/
————————————————————
これをインストールすると,CUPS-PDF というプリンタが作られます.
このプリンタは,論理的には存在しますが,物理的には存在せず,任意のアプリケーション上の印刷画面で,このプリンタを指定して印刷すると,あらかじめ config ファイルで指定したディレクトリに PDF ファイルが書き出されます (たしか Windows だとAdobeAcrobat の商用版とかで同じような機能があったように思います).
嬉しいことに,CUPS-PDF は単に PDF ファイルとして書き出すだけでなく,書き出し後に任意のプログラムを起動する機能(postprocessing 機能) があるので「PDF ファイルを XBM 形式に変換した上で,MW-260 プリンタドライバを起動する」スクリプトを書きさえすれば,CUPS 環境に組み込めそうです.
MW-260 が CUPS のプリンタの一つになれば,どのアプリケーションからも MW-260 に印刷できますし,他の Macintosh や Windows 機からの印刷もMac OS X のプリンタ共有の枠組でできますから,一気に使い勝手がよくなります.
本来の使い方に立ち戻り,Zark に接続した MW-260 に対して印刷する場合ですが,残念ながら Zark では CUPS が動いていません.Zaurus SL-C3100/3200 で動いたという報告も見当たりません.
対応方法は以下の 2つです.
(1) Zark 上で CUPS と CUPS-PDF をビルドしてインストールする. あとは MW-260 を Macintosh に接続した場合と同じ.
(2) CUPS-PDF の postprocessing 機能を活用することにし,まずは Macintosh 上の CUPS-PDF で PDF 化し,これを Macintosh から Zark に送りこみ,PDF 形式から XBM 形式を経てプリンタ駆動までを Zaurus 上で行う.Zaurus への送り込みには,独自プロトコルを使う方法と,lpd を使う方法を検討中.ちなみに lpd は,Zark にインストール済み.
上記 (1) は,CUPS と CUPS-PDF をインストールできるかどうかを確認する必要があります.もしインストールできるなら,この方法で決まりです.一方 (2) は,確実に実現できるものの,ネットワーク上に CUPS-PDF をインストールした Macintosh が 最低 1台は必要というあまりスマートでない問題を抱えます.もっとも,当分はZark が動いている環境には大野の Macintosh が必ずあると思うし,大量のデータを送り込まれかねない場合には,Zaurus の手前に流量制限するしかけがどのみち必要でしょうから.(2) という選択は捨てた物じゃないかもしれません.
このあたりを整理して,MW-260 の利用環境の整備を急ぎます.
この環境整備が終われば,昨年末に東京駅のそばのカフェでひろのぶと相談した「QR コードを自動挿入するサービス」もようやく実装できます.
大野 浩之 (Hiroyuki Ohno, Ph.D.)
国立大学法人 金沢大学 総合メディア基盤センター 情報基盤部門長・教授
( PGP fingerprint = D9 2A E9 BB D8 62 16 0F 38 AB A8 C4 4F 46 3E A0 )
—