# Scanner HOWTO mtekscan

Jan
Schoenepauck

    schoenep@uni-wuppertal.de

良治
川岸

    kawagishi@pa.aix.or.jp

1997/08/10
第 1 版
1997年8月10日

MicroTek 製 SCSI スキャナ ScanMaker 用ドライバ "mtekscan v0.2" 付属の ドキュメントの翻訳

## この文書について

"mtekscan" - MicroTek 製 SCSI スキャナ用ドライバ

このドキュメントは Linux 上で MicroTek 製の SCSI スキャナ ScanMaker を使用 するためのドライバである mtekscan v0.2 に付属の下記の３つのドキュメントを 作者 Jan Schoenepauck 氏の許可を得て翻訳したものです。

1. Linux Driver for MicroTek SCSI scanners

             Copyright (c) 1996, 1997 by Jan Schoenepauck / Fast Forward Productions
             元のファイル名： README (mtekscan v0.2 に付属)
             ファイルの日付： Apr 14 1997
             作者          ： Jan Schoenepauck <schoenep@uni-wuppertal.de>

2. `mtekscan(1)`, mtekscan manual

             元のファイル名： mtekscan.1 (mtekscan v0.2 に付属)
             ファイルの日付： Apr 14 1997
             作者          ： Jan Schoenepauck <schoenep@uni-wuppertal.de>

3. Things I plan to add/improve/fix in future releases:

             元のファイル名： TODO (mtekscan v0.2 に付属)
             ファイルの日付： Apr 14 1997
             作者          ： Jan Schoenepauck <schoenep@uni-wuppertal.de>

また、mtekscan を GUI で活用するソフトとして

1. tkscan の紹介

を加えました。これは私(川岸 良治)が作成しました。

上記 (1)(2)(3)の日本語訳と(4)の著作権は 川岸 良治にあります。コピー、配布 などに関しては、以下に出てくるオリジナルの著作権表示の内容に準じます。

      作成日 ： 1997年8月10日
      翻訳者 ： 川岸 良治 (kawagishi@pa.aix.or.jp)

【訳注】ファイルの入手と展開

このソフトは下記から入手できます。

- ftp://sunsite.unc.edu/pub/Linux/apps/graphics/capture/mtekscan-x.x.tar.gz

これをダウンロードしたら次のようにして `/usr/src/` ディレクトリに展開します。

      # cd  /usr/src
      # tar xvfz ~/mtekscan-x.x.tar.gz

(上記は `tkscan-x.x.tar.gz` が、`~/` ディレクトリにある場合ですが、それ以外の時はそのディレクトリに合わせて変えて 下さい) `/usr/src/mtekscan-x.x/` ディレクトリが作られ、 そこにファイルが展開されます。

## mtekscan v0.2 に附属の `README`

### はじめに

このドライバは、Linux 上で MicroTek ScanMaker SCSI スキャナを使用できるよう にします。 画像をスキャンし、標準出力(または指定したファイル)に PBM / PGM / PPM フォー マットで出力するためのシンプルなコマンドラインのプログラムです。 WINDOWS の TWAIN ドライバや、 Macintosh のスキャニング・プラグインのような flashy なグラフィカルインタフェース(私はこれで仕事していますが)はありません が、ちゃんと動作します。

出力に変換するために pbm パッケージを使用できます。 例えば、GIF の画像ファイルを作成するには、次のようにします。

      mtekscan -f 0 0 2 2 -r 72 -c | ppmquant 256 | ppmtogif > scan.gif

あるいは、スキャンした画像を xv で直接表示するには下記のようにします。

      mtekscan -f 1 0 4.6 2.4 -r 150 -g | xv -

コマンドラインのオプションやスイッチの説明は、 man page をご覧下さい。 あるいは、

      mtekscan -h

でも良いです。

#### これはベータ版のプログラムです

このプログラムの保証は全くありません。あなたのコンピュータやスキャナが爆発し ても、あるいはあなたのシステムがクラッシュしても私は責任を持ちません。 開発中には、何回か私のシステムがクラッシュしましたが、現在のところ "私のシス テムでは" 安定して動いています。

あなたが私と異なる設定、例えば異なる SCSI ホストアダプタ、異なるカーネル／ ローレベルの SCSI ドライバ、あるいは異なるスキャナの場合、何が起こるか予言 することはできません。

SCSI ハードウェアと通信するために使われるカーネル内の汎用 SCSIドライバは、 誤操作への対策はされていません。

誤りのあるプログラムは、カーネルのパニック

【訳注1】カーネルパニックについては、JF の SCSI-HOWTO を panic で検索し 「3.2 panic()の位置を特定する」 とか、 「5.2.4.「kernel panic : cannot mount root device」というメッセージ が出る」 をご覧下さい や silent lockup 【訳注2】ロックアップについては、JF の SCSI-HOWTO の 「2.8 SCSI システムがロックアップする」 をご覧下さい。 を引き起 こす可能性があります。このプログラムはあなた自身の責任で御使用ください。 データを失うことのリスクを減らすために、ハードディスクのバックアップをとる とか、少なくともプログラムをテストする前にハードディスクのキャッシュが ディスクにフラッシュ(書き込み)されるように 'sync' を実行するというのは良い 考えです。

このプログラムは、Linux 1.2.13 と 2.0.26 が走る Pentium 100 マシンにスキャナ 附属の Adaptec AVA-1502E SCSI アダプタを使って ScanMaker E6 を接続して開発 しました。

SCSI-HOWTO では言及していませんが AVA-1502E は、AHA152x ローレベルカーネル ドライバで動作します。

(これが１００％互換性があるかどうか確信はありませんが、私の経験ではもしそう でないとしても、少し変わったふるまいをする程度に過ぎないだろうと思います) 私のスキャナは SCSI チェーンの中で唯一のデバイスとして接続され、しかも他に SCSI アダプタはインストールされていません。

従って、SCSI バスの lockup やカーネルパニック、あるいはその類の問題が出た 場合、可能ならばスキャナだけを唯一のデバイスとして接続してから、このドライ バを試してみて下さい。

### 著作権について

このプログラムは、Copyright (c) 1996, 1997 by Jan Schoenepauck です。 無料で使用、コピー、配布してかまいません。

これを変更したり、その一部を他のプログラムに使用することも、オリジナルの 作者が私であることを記載してあれば、自由です。

今後のリリースのために役立つ変更をされた場合、私に教えて下さい。 このプログラムを商用の配布に納める場合は、その旨を私に通知するとともに そのサンプルを私にお送り下さい。

### インストール

これは、カーネルレベルのドライバではありません。プログラムはユーザ領域で 動作し、SCSI ハードウェア(スキャナ)と通信するためにカーネルの中の汎用 SCSI ドライバを使用します。従ってこれを走らすためには、カーネルに汎用 SCSI ドラ イバサポートをコンパイルする必要があります。(当然 SCSI ホストアダプタ用の ローレベル SCSI ドライバも必要です) 【訳注】

- mtekscan をインストールする前に SCSI ホストアダプタの設定を済ませて おく必要があります。下記のようになっている必要があります。 これは、`make config` / `make menuconfig` / `make xconfig` の何れかで (`make xconfig` がお勧め)、次のようにして確認します。

  root でログイン

        # cd /usr/src/linux
        # make xconfig
          (SCSI support で下記のようになっていることを確認する)
            SCSI support             Y
            SCSI generic support     Y       (汎用 SCSI ドライバのサポート)
            SCSI low-level drivers   (御使用の SCSI カード用ドライバを指定)

- 上記のようになってない場合は、そのように修正後、以下のようにして カーネルを再構築します。かなり時間がかかります。

        # make dup ; make clean
        # make zlilo
        # make modules ; make modules_install

  正常に終了したら Linux をリブートし、ブートメッセージで SCSI が組み 込まれたことを確認し、同時にデバイス名(下記参照)も確認します。 正常終了しない場合は、JF の Kernel-HOWTO や SCSI-HOWTO をご覧下さい。

スキャナがどのデバイスにマップされているかを知っておく必要があります。 (これは通常、`/dev/sga, /dev/sgb ... /dev/sgh` の どれかですが、`/dev/sg0, /dev/sg1 ...` のように呼ぶ マシンも存在します) SCSI デバイスはブート時に動的に割り当てられ、若い方から順に ID が使われます。 スキャナが SCSI チェーンの中で唯一のデバイスならば、常に `/dev/sga` であり、 どんな ID がセットされていても関係ありません。 スキャナデバイスに symlink を作るのは良い考えです。 (上記の例では `/dev/sga` に `/dev/scanner` のリンクを張る ) こうすれば、デバイスのマッピングを変更(これはスキャナより若い ID の SCSI デバイスを追加接続した場合に起きます)したときに mtekscan を再コンパイルする 必要はなく単にリンクを張り直すだけで済みます。 これに付随する情報がこれより後の「SCSI の設定」の項にあるのでご覧下さい。

コンパイルする前に、`config.h` ファイルを見て下さい。 `DEFAULT_DEVICE` に正しい汎用 SCSI デバイス (あるいは シンボルリンクを張った場合は symlink) をセットして下さい。 あなたが ScanMaker E6 をお持ちなら、たぶん他に設定は必要ないでしょう。 (デフォルトのスキャンニングオプションを変更したいと思うでしょうが) しかしこれ以外の MicroTek 製スキャナでこのドライバを試してみたい場合は、 最大解像度の値の変更と、たぶん `FIX_FRAMESIZE` を 0 に セットする必要があるで しょう(スキャンした画像が間違ったサイズ、あるいは解像度だったらこの２つを 試して下さい) これより後の「他の MicroTek 製スキャナで mtekscan を使うには」の項を参照。

【訳注】 `config.h` ファイルには、コメントで各機種ごとの修正方法が 書いてあるのでそれに従って変更して下さい。 私は、ScanMaker E3 用に下記のように修正しました。

      #define  DEFAULT_DEVICE       "/dev/sga"   (これはデフォルトのまま)
      #define  FIX_FRAMESIZE        0
      #define  VENDOR_STRING        "        "   (8 個のスペースです)
      #define  MAX_BASE_RESOLUTION  300

`config.h` file の確認が終ったら、(必要に応じて) `Makefile` の先頭の設定を編集します。インクルードファイル の `sg.h` にある汎用ドライバへのパスが正しいこと を確認して下さい。これは、古いカーネルの場合はたぶん `/usr/src/linux/drivers/scsi/` または kernel v1.3.98 では、 `/usr/src/linux/include/scsi/` です。 (カーネルのソースのパスが `/usr/src/linux` である場合)

新しいカーネルバージョンでは `/usr/include/scsi` から リンクが存在する筈ですが、もし無いときは新たにそれを作る必要があります。 この方法は、`Makefile` のパスの面倒な設定をする必要が ありません。これをどうやって行うのかご存知でない場合は、`/usr/src/linux/README` をご覧下さい。

【訳注】 私の場合、カーネルは 2.0.28 ですが `/usr/src/linux/include/scsi/` の下に `sg.h` があり、 `/usr/src/mtekscan-x0.2/Makefile` の先頭も `SG_INCLUDE_PATH = /usr/src/linux/include/scsi/` となっているので 何もせずそのままです。 なお「新しいカーネルバージョンでは〜」以降の意味がよく分かりません。 `/usr/include/` ディレクトリの下には、`scsi` という名前のものは無くどうしたものか？と思ったのですが、結局 何もせず先に進んだのですがちゃんとスキャナは動作しました。

最後に '`make`' を実行します。 mtekscan を正しく インストールしたいなら root (スーパーユーザ)で ' `make install`' を実行します。 これは実行ファイルと manpage を指定した場所にコピーします。

【訳注】

      # make
      # make install

と入力するとデフォルトでは `/usr/local/bin` に実行ファイル が、`/usr/local/man` にマニュアルが、それぞれコピー されます。

それでは、スキャナデバイスがリード／ライト可能か、スキャナが接続されブート時 に起動されるか(これはブートフェーズの期間中に検出されていなければならない)を 確認して下さい。 スキャナの応答を確認するために '`mtekscan -I`' を実行して 下さい。これらの点がすべてうまくいったら、これでスキャンできる筈です。 mtekscan の多くのオプションとスキャナの設定について man ページを読んで 下さい。

### 他の MicroTek 製スキャナで mtekscan を使うには

このプログラムは ScanMaker E6 用に書かれ且つテストしましたが、基本的に同じ SCSI プログラムインタフェースを持つ MicroTek の新しいスキャナのモデルでも 動作します。

mtekscan は、ScanMaker II,ScanMaker IIXE, ScanMaker IIHR, ScanMaker E3, ScanMaker III, ScanMaker 35t+ で (そしてもちろん E6 も) 動作したと報告 されています。また、 Adara ImageStar I (Adara は MicroTek となんらかの関係があると思う) Genius ColorPage-SP2 (ScanMaker E3 と互換性があるようにみえる) Primax Deskscan Color (これは基本的に ScanMaker II と同じマシンです) でも動作します。

もちろんサポートしているのは SCSI のスキャナのみです。 異なるアダプタカードを介して接続されているスキャナは、全く動作しません。

透過原稿のスキャンニングも動作する筈ですが、私は透過原稿ユニットを持っていな いのでこのテストはしていません。 ADF (Automatic Document Feeder：自動給紙装置) のサポートもまだ対応していませ ん。私はこれを持っていませんが、ADF のサポートが必要なら私に連絡して下さい。 但し、私に連絡する前に、後述の「バグ報告」の 項にどんな事が書かれているかを見て下さい。

### SCSI の設定

汎用 SCSI カーネルドライバをコンパイルする前に、`sg.h` ファイルの `SCSI_BIG_BUF` の値として、少なくとも１スキャンライン分に含まれるデータよりも充分大きい値 (これはスキャナの最大解像度に依存します)をセットすることを推奨します。 私のカーネルソースは、これを 32768 にセットしていますがこれで OK のようです。 小さい値では、スキャナが非常に小さなかたまりでそのデータを送信しなければなら ないので、スキャンがかなり遅くなります。 `sg.h` ファイルは、古いカーネルの場合はたぶん `/usr/src/linux/drivers/scsi` にあ り、新しいバージョン (1.3.98 以上)のカーネルなら `/usr/src/linux/include/scsi` にあるでしょう。 `/usr/include/scsi` から、カーネルソースのディレクトリに 相当するリンクが存在しなければなりません。

ホストアダプタ用のローレベルの SCSI カーネルドライバと、汎用 SCSIドライバを モジュールとしてコンパイルするのは良い考えだと思います。 そうすれば古いカーネルをお使いの場合、ブートする前にスキャナの電源を ON して おかなくてもよいからです。(私はこれをよく忘れます...) ドライバモジュールを(ロードされていたなら)アンロードし、スキャナの電源を ON してから、ドライバモジュールをロードする必要があります。 そうでなければ、スキャナの電源を ON してから、リブートする必要があります。 新しいカーネルは、`/proc/scsi/scsi` の設定によって SCSI デバイスの動的な追加 と取り外しの別の方法をサポートし、且つデバイスマッピングの変更も可能である ことに注意して下さい。詳しくは、カーネルソースのドキュメント、SCSI-HOWTO, SCSI-Programming-HOWTO を参照して下さい。

Thomas Kuerten <kuerten@informatik.tu-muenchen.de> は、 Adaptec AHA-2940 カードにスキャナが接続されている場合、(ブート時に Alt-A を押して表示されるメニューで)スキャナの SCSI ID用に最大転送速度は 5 MB/s で、同期ネゴシエーションはディスエーブルにセットしなければならない と指摘しています。 おそらく、他のアダプタでもこのような設定が(出来るなら)必要でしょう。

### バグ報告

mtekscan は、現在私のシステム(ScanMaker E6) で安定して動作していますが、ま だいくつかバグがあるかもしれません。特に私自身が使うことのできないプログラ ムの一部にです。すなわち、E6 以外の MicroTek スキャナ、3パスの透過スキャン です。私には現時点ではフィックス出来ない既知のバグがいくつかあり、これは manpage の BUGS の項に書いてあります。

私宛にメールを出す前に TODO ファイルにも目を通しておいて下さい。これには、 バグ、アイデア、改良点に関し私が既に気が付いていることが書いてあります。 最後に、私は最新の変更と情報を Fast Forward の WEB サイトである http://fb4-1112.uni-muenster.de/ffwd/ の WWW のページで公開します。

もし何らかのバグを発見されたら私宛に E-mail を下さい。その際、お使いのス キャナのモデル、解像度、SCSI アダプタを教えて下さい。 `mtekscan` を `-I` スイッチを付けて実行した 時に得られるスキャナ情報のコピーも 必ず含めて下さい。そして、何かをスキャン出来るが奇妙に見える場合は、それ のコピー(もちろんあまり大きすぎないサイズ、50x50 ピクセルの画像で充分でし ょう)と、あなたが使われたコマンドラインのスイッチも送って下さい -- これは 何が悪いのかを解析するのに非常に役立ちます。 私はバグフィックスと改良の努力はしますが、"何も約束することはできません"。 現在もまた将来のバージョンに於いても、このドライバの動作は保証しません。

もちろん、アイデアや御意見は歓迎します。また、あなたがこのプログラムを 使われてハッピーであるという報告を聞くのは大好きです。

### 作者への連絡方法

      通常の郵便： Jan Schoenepauck
                   Magdalenenstr. 8
                   48143 Muenster
                   Germany

      電子メール： schoenep@uni-wuppertal.de

私たちのプロジェクトの最新情報とアップデートに関しては Fast Forward の WWW サイト http://fb4-1112.uni-muenster.de/ffwd/ をチェックして下さい。

### ソース

このプログラムは、下記のソースを参照しました。

- SCSI-Programming-HOWTO ( by Heiko Eissfeldt )

- The MicroTek SCSI Image Scanner Programmer's Reference ( MicroTek の Warren Early さんの援助に感謝します)

- Torsten Eichner さんの muscan のドライバプログラムから、その一部をもって きました。

Warwick Allison, Wolfgang Wander, Itai Nahshon, そしてこのプログラムをテストし レポート、コメント、バグフィックス、パッチ、ハードウェア情報をお送り頂いた多く の皆さんに感謝します。これらの全ての皆さんに多いに助けて頂きました。

## mtekscan v0.2 に附属のマニュアル (ファイル名： `mtekscan.1`)

             mtekscan(1)    mtekscan manual
    ==============================================================================

    NAME
           mtekscan - driver for MicroTek SCSI scanners

    SYNOPSIS (概要)
           mtekscan &lsqb;options&rsqb;

    説明
           mtekscan は、MicroTek SCSI スキャナを Linux 上で使用出来るようにするた
           めのドライバです。画像をスキャンし、標準出力(または指定したファイル)に
           出力するためのコマンドラインのユーティリティです。オリジナルは、
           MicroTek ScanMaker E6 用に開発されましたが、他の MicroTek SCSI スキャ
           ナでも動作することが確認されています。
           今までのところ下記の機種でテストされ動作しています。
           ScanMaker II,   ScanMaker III, ScanMaker E3,
           ScanMaker 35t+, ScanMaker E6,
           Adara ImageStar I, Genius ColorPage-SP2, Primax DeskScan Color.

    オプション
           全てのオプションと引数は、スペースで分離しなければなりません。
           '-cpVt' のように結合したオプションの指定はできません。
           同じコマンドライン上に互いに排他的なオプション (例えば '-c  -g' のよう
           な)が指定されると、最後のオプションが前のオプションを上書きします。
           (-T と -G オプションに関しては明示的に指定するのでなければ。下記参照)
           スキャナのモデルによっては、いくつかのオプションは使えないものがあるの
           で注意して下さい。

           -o <file>
                  これが指定されると mtekscan は標準出力の代わりに <file> に出力
                  します。

           -f <x1> <y1> <x2> <y2>
                  スキャンするフレームを、左上 <x1>,<y1> と右下 <x2>,<y2> の長方
                  形であると定義します。座標はインチで計測され、原点はスキャンエ
                  リアの左上の角です。

           -r <resolution>
                  スキャンの解像度を dpi で設定します。
                  MicroTek のスキャナは、解像度を最大値の 1% または 5% きざみで
                  設定できるので、最適な値を選択できます。

           -b     ラインアート(黒と白)のスキャンを選択します。

           -a     ハーフトーンのスキャンを選択します。原稿は -H オプションで選択
                  可能なハーフトーンのパターンを使ってディザ処理されます。

           -g     グレースケールのスキャンを選択します。

           -c     カラーのスキャンを選択します。

           -s <n> シャドウ調整の値(黒レベル)を <n> で設定します。
                   <n> は 0から255 までの10進数です。
                  この値と同じかそれ以下の全てのピクセル値は 0にセットされ、残っ
                  た値が 0から255 の範囲にマッピングされます。

                  このオプションは、マルチビット・スキャンモード(カラーまたはグ
                  レースケール)の場合のみ動作します。デフォルト値は、0です。

           -l <n> ハイライト調整の値(白レベル)を <n> で設定します。
                   <n> は 0から255 までの10進数です。
                  この値と同じかそれ以上の全てのピクセル値は 255にセットされ、
                  残った値が 0から255 の範囲にマッピングされます。

                  このオプションは、マルチビット・スキャンモード(カラーまたはグ
                  レースケール)の場合のみ動作します。デフォルト値は、255です。

           -m <n> 中間調の調整値を <n> で設定します。
                  <n> は 0から255 までの10進数です。
                  <n> と同じかそれ以上の全てのピクセル値は 128から255の範囲にマ
                  ッピングされ、<n> 以下の全てのピクセル値は 0から 127 の範囲に
                  マッピングされます。

                  このオプションは、マルチビット・スキャンモード(カラーまたはグ
                  レースケール)の場合のみ動作します。デフォルト値は、128です。

           -d <n> &lsqb; <n> <n> &rsqb;
                  デジタル輝度調整値を <n> で選択します。
                  <n> は -100 から 100 までの範囲の10進数です。
                  このオプションの次に数値が１つだけ指定された場合は全般的な輝
                  度を決定します。３つの値が指定された場合は赤、緑、青のチャネ
                  ル輝度調整を個別に決定します。

                  デフォルト値は、0です。

           -e <n> 露光時間の調整(アナログ輝度調整)を <n> で設定します。
                   <n> は、通常 -18 から 21 までの範囲の10進数です。
                  (これより高い値を受け付けるスキャナモデルもあります)
                  この値は、３の倍数でなければならないことに注意して下さい。
                  そうでない場合は、最も近い値が選択されます。

                  デフォルト値は、0です。

           -k <n> コントラストの調整を <n> で設定します。
                   <n> は、通常 -42 から 49 までの範囲の10進数です。
                  (これより高い値を受け付けるスキャナモデルもあります)
                  この値は、７の倍数でなければならないことに注意して下さい。
                  そうでない場合は、最も近い値が選択されます。

                  デフォルト値は、0です。

           -G <n> &lsqb; <n> <n> &rsqb;
                  ガンマ補正を <n> で設定します。
                  -G の後に、数値が１つだけ指定された場合は全般的なガンマ補正値で
                  ３つの値が指定された場合は赤、緑、青のチャネルのガンマを個別に
                  決定します。

                  デフォルト値は、３つのチャネル全てが 1.0です。

                   【訳注】
                     ガンマ補正とは、輝度レベルの入力と出力の関係を設定するもの
                     です。
                     1.0 は入力と出力の関係が直線的で
                     1.01 〜 4.99 だとハーフトーン(中間調)が明るく
                     0.99 〜 0.01 だと暗くなります。

           -T <file>
                  ガンマ補正テーブルを <file> からロードします。
                  これを指定すると、-G オプションで指定したガンマの設定は全て上
                  書きされます。コマンドラインで -G の前に -T オプションが指定さ
                  れた場合でも、です。

                  デフォルトでは、ファイルから補正テーブルをロードしません。

           -t     透過原稿ユニットがインストールされているときに、透過スキャンニ
                  ングを選択します。

           -n     ネガティブスキャンニング(リバースカラー：陰画)を選択します。

           -H <n> 組み込み済みのハーフトーンのパターン <n> を選択します。
                  <n> は、0 から 11 までの範囲の10進数です。
                  ハーフトーンのパターンは、中間調の画像をスキャンする (-a オプ
                  ション)際に画像をどのようにディザ処理するかを定義します。

           -p     プリスキャンモードをイネーブルにします。結果は速く得られます
                  が精密さに欠けます。

           -v <n> スキャン速度を <n> で設定します。
                   <n> は、1 から 7 までの範囲の10進数です。(大きい値ほどスキャ
                  ン時間が長くなります) 分割スキャンが必要な場合、大きい値を設定
                  するほど高画質になります。(下記の -B オプションを参照のこと)

                  デフォルト値は 1(最も高速)です。

           -B     スキャンセグメント間のバックトラッキングを禁止します。
                  汎用 SCSI ドライバの転送バッファが小さすぎる場合、スキャン処理
                  はいくつかのステップ、またはセグメントに分けられます。
                  通常、スキャンヘッドは新しいセグメントを開始する前にわずかに後
                  方に移動します。このスイッチを指定すると、これを禁止できます。
                  結果は速く得られますが、精密さに欠けます。

           -C     スキャンの開始時の再調整を禁止します。これはスキャン時間が短く
                  なりますが画質は少し落ちます。

                  このオプションを指定すると、スキャナが少なくとも一度も自分自身
                  でキャリブレートしなかった場合、(例えばスキャナが電源 ON した
                  ばかりの時) SCSI バスの lock-up を起こすことに注意して下さい。
                  このオプションを使われる前に、少なくとも一度はスキャンしておか
                  なければなりません。

           -P     '-p -C' と同じです。(上をご覧下さい)

           -V     冗長モードです。スキャナの設定と動作中の情報が標準出力に書き込
                  まれます。

           -i     スキャナによってサポートされているオプションを短いフォーマット
                  で表示します。最初の値は、原稿サイズと解像度の最大値、および受
                  け入れ可能なコントラストと露光時間の値です。続いて、スキャナに
                  よってサポートされているオプションの文字のリストです。
                  この情報は、グラフィカル・スキャンニング・フロントエンドで使用
                  するために提供されます。

           -I     スキャナ内部のデータを長い、人が解読可能なフォーマットで表示し
                  ます。

           -S     スキャナのハードウェアのセルフテストをしてから、終了します。

           -h     mtekscan が受け付けることのできるコマンドライン・オプションの
                  リストを表示します。

    バグ
          mtekscan は、カーネルパニック、システムクラッシュ、SCSI バスのロックア
          ップ、その他色々の不快なことを本当に起こす可能性があります。
          -d オプションの輝度調整で負の値を設定すると、少なくとも ScanMaker E6
          では、奇妙な(そして明らかに悪い)結果を招きます。
          輝度調整で赤、緑、青のチャネルを異なる値に設定すると、希望した結果には
          なりません、しかし全般的な輝度には作用します。
          (再度言いますが、少なくともScanMaker E6 では、です)
          そして、たぶん 1000 以上のバグがあると思います。

    作者
           mtekscan は、Copyright (C) 1996, 1997 by Jan Schoenepauck,
           <schoenep@uni-wuppertal.de> です。
           プログラムのいくつかのパーツは、Torsten  Eichner
           <eichner@rhrk.uni-kl.de> による Mustek スキャナ用の muscan ドライバか
           ら持ってきました。
           ３パス・スキャナのサポートは、Warwick Allison <warwick@cs.uq.edu.au>
           によるパッチにほとんど依存しています。

## mtekscan v0.2 に附属の `TODO`

今後のリリースで、追加／改良／フィックスしたいこと：

- 8bpp 以外 (4/10/12 bpp)のマルチビットフォーマットのサポート

  ### 【訳注】

  8bpp は、8 bits per pixel 即ち、256色。 4bpp は、16 色。10 bpp は、1024 色。12 bpp は、4096 色。

- スキャンフレームと原稿長の単位をインチ以外 (cm, mm, point, pixel)も使える ような仕様にする

- 内部フレームサイズの設定単位としてピクセルをサポートする (スキャンフレームの仕様は、現在あまり精密ではなく、特に `FIX_FRAMESIZE` は 1 にセットする必要がある)

- ADF (automatic document feeder：自動給紙装置) のサポートを追加する

- ユーザ定義のハーフトーンパターンのダウンロードをサポートする

- R, G, B の各チャネル毎に、異なるコントラスト／露出時間／シャドウ／中間調 ／ハイライト／輝度の設定をできるようにする

- デジタル輝度調整に負の値を設定すると非常に奇妙な結果になる

- コマンドラインスイッチで、オプションファイルの指定をできるようにする

- 先にキャリブレーションせずにスキャンしたとき SCSI バスがロックアップするのを フィックスする。 (不可能なら、ダミースキャンするスイッチを付加する。即ち強制的にキャリブレー ションさせるために、即時 START SCAN し、続いて STOP SCAN する)

- スキャナデバイスの自動検出を付加する(たぶん、`/proc/scsi/scsi` を通して)

- ネガティブスキャン用の "`-n`" スイッチのフィックスにトライ する。( 35t では動作しない) (現在は `INVERT_USING_GAMMA` オプションでできる)

- `lut_download()` 関数の戻り値をチェックする

- E6 では、青の値が正しくない

- ソフトウェア補間／推論、特に拡張解像度スキャンを追加する (このモードでは垂直方向に画像の伸長処理をする)

- ガンマテーブルのファイルを作るためのシンプルなツールを作る： スキャナと共に供給されるテスト画像で使用されるキャリブレーションツールに なるかもしれない(遠い、遠い先のこと...)

## tkscan の紹介

mtekscan ドライバはコマンドラインのプログラムですが、これを GUI で動作させる ための TkScan というプログラムがあります。 作者は、Hang-Bae Kim (hbkim@delta.ft.uam.es) です。

TkScan は、コマンドライン・スキャナドライバ用の tcl/tk GUI です。 現時点のバージョン 0.8 (7,Jun,97) では以下のものをサポートしています。

- `ep_scan' を使用した Epson SCSI スキャナ

- `hpscanpbm' を使用した HP SCSI スキャナ

- `mtekscan' を使用した Microtek SCSI スキャナ

- `scanimage'(SANE) か `mscan' を使用した Mustek フラットベッドスキャナ

TkScan では、以下のようなことが出来ます。

- スキャンする画像を小さなキャンバス(サイズとモードを選択)上でプレビューする。

- スキャナとドライバによってサポートされているスキャンモード／解像度／ その他のオプションを、マウスクリックで調整する。

- プレビュー画像のキャンバス上でスキャンする範囲を１つまたは複数選択する。 スキャンエリアを複数選択すると TkScan はそれらを上手にスキャンします。 TkScan は、希望する画面ピクセルと、画像の生データサイズをいくつかの長さ の単位 (mm,cm,pt,inch)で真の長さと同様に表示します。

- 生データを希望するところにダイレクトに出力します。

  - 画像エディタ (XV, ImageMagic, GIMP)に出力

  - 指定したフォーマットでファイルに出力

  - サイズと位置を調整して postscript フォーマットのプリンタまたは ghostscript(ghostview, gv)に出力

  - ファックス送信用として直接ファックスモデムに出力

  - OCR 処理をするために OCR ソフトに出力 (このバージョンではまだ実装していません)

- スキャンの進行度合を、グラフィック、パーセントの数字、ファイルサイズ で表示します。

- ストップボタンでスキャンを中止できます。

- 好みに応じた TkScan の設定ができます。

私は、mtekscan と TkScan を併用していますが、やはり GUI だと使い勝手がかなり 向上します。mtekscan が動作することが確認できたら、次にこの TkScan も試して みることをお勧めします。

私は、この TkScan のドキュメントも Scanner-HOWTO-tkscan として翻訳しました。 入手先、インストール方法も書いてありますので御参照下さい。

なお、このバージョン 0.8 の中の Microtek mtekscan 用プログラムにはバグがあり そのままでは動作しませんが、対策方法も Scanner-HOWTO-tkscan に書きました。 おそらく、これ以降のバージョンでは修正され、そのままで動作するようになるだろ うと思われます。

    =====================================================
     Ryoji Kawagishi   E-Mail: kawagishi@pa.aix.or.jp
                               KFA02544@niftyserve.or.jp
    =====================================================

(sgml conversion, y.senda, ysenda@pop01.odn.ne.jp, 2001/09)