2. インストール

先ずは、「第1部 README.tcl」をお読み下さい。

2.1. インストール

  1. スキャナドライバ・セットを下記の中から選んで下さい。

      epson-ep_scan  hp-hpscanpbm      microtek-mtekscan
      mustek-mscan   mustek-scanimage

    そしてその内容が、スキャナとドライバに適合するかをよく見て必要に応じて 変更して下さい。 スキャナドライバ・セットが見当たらないときは、自分でそれを書いて下さい。 ものすごく簡単ですから。

  2. `maketkscan' を実行します。

    スキャナドライバ・セットを選択するように促されます。番号を選ぶと選択し たスキャナドライバ用の `tkscan' スクリプトが作ら れます。

  3. 好きなところに `tkscan' をコピーし、 エンジョイして下さい。

2.2. 使い方

tkscan を実行し、Help メニューのガイド、またはこの ドキュメントの 「第3部 GUIDE.tcl」をご覧下さい。

2.3. 【訳注3】TkScan Version 0.8 の mtekscan 用 プログラムのバグ修正

TkScan Version 0.8 の mtekscan 用プログラムにはバグがあり、そのままでは 動作しません。mtekscan 用に使用される方は、 microtek-mtekscan.tcl の以下 に示す箇所を修正して下さい。

    (1) 58行目
       (誤) set file "-o $c(tkscandir)/$file.pnm"
       (正) set file ">  $c(tkscandir)/$file.pnm"
    (2) 59行目と60行目の間に下記のように if 文を2つ追加します。
       foreach j {tx ty bx by} { set $j [pixelto inch [expr $s($j$i)-$s(o)]]}
       if { $bx>8.499 }  { set bx 8.499 }
       if { $by>11.599 } { set by 11.599 }
       set geometry "-f $tx $ty $bx $by"
    (3) 70行目
       (誤) if {$s(backtracking) == "no"} {append option " -B"}
       (正) if {$s(backtrack)    == "no"} {append option " -B"}
    (4) 77行目: 下記のように修正します。(上は誤りで、下のように直す)
        gamma   { if {$s(gamma_support)==0} {append option " -G $s(gamma)}}
        gamma   { if {$s(gamma_support)==0} {append option " -G $s(gamma)"}} 

2.4. 【訳注4】TkScan Version 0.8 の ep_scan 用 プログラムのバグ修正

これは、伊佐治 哲さん <isaji@mxu.meshnet.or.jp>から頂いた情報です。

     TkScan Version 0.8 の ep_scan 用プログラムにはバグがあり、そのままでは動作
     しません。ep_scan 用に使用される方は、以下に示す箇所を修正して下さい。

    (1) epson-ep_scan.tcl ファイルの53行目
         (誤) set wd [expr $bx-$tx]
         (正) set wd [expr int(($bx-$tx+8)/8)*8]
    (2) epson-ep_scan.tcl ファイルの65行目 (上は誤りで、下のように直す)
       gamma       { if {$s(gamma_support)==0} {append option " -g $s(gamma)}}
       gamma       { if {$s(gamma_support)==0} {append option " -g $s(gamma)"}}
    (3) initファイルの保存のために tkscan-lib.tcl の6行目
         (誤) set file [open "$c(userconf)" w]
         (正) set file [open $c(userconf) w]

2.5. 【訳注5】オンラインヘルプを日本語化するには

下記のようにすれば簡単に日本語化できます。但し、これには当然のことながら 日本語版の Tcl/Tk がインストールされていることが必要条件となります。

「第2部 インストール」に書いてある手順 で `maketkscan' を実行すると `tkscan' スクリプトが作られます(英語版)。この ` tkscan' は README.tcl や GUIDE.tcl を含むいくつかの *.tcl ファイルを 結合したものです。 スキャナの機種に依存する部分は機種ごとにファイルがあり、これらの一つ が選択されて結合されます。
     (1) この `tkscan' を `tkscanJP' という名前でコピーします。
     (2) 次に `tkscanJP' の先頭にある README.tcl と GUIDE.tcl に相当する
         部分を以下のように日本語訳と置き換えます。

         オリジナルの README.tcl は、ファイルの拡張子からわかるように Tcl
         のファイルです。このファイルを見てみると最初の15行ぐらいのあと

         set readme_tkscan "

         という行の次から説明文が続いて、最終行に

         "
         だけの行があります。つまり readme_tkscan という変数に長〜い長〜
         い何10行にもわたる文字列を代入しているのです。
         従って、この " と " で囲まれた部分を、以下の日本語に翻訳したもの
         「第1部 README.tcl」と置き換えるだけで良いのです。簡単でしょ?

     (3) 同様に、GUIDE.tcl ファイルの方も4行目の
         set usage_tkscan "
         という行と、最終行の
         "
         の間の部分を「第3部 GUIDE.tcl」の日本語訳で置き換えます。

     (4) これでとりあえず日本語版ができるわけですが、ヘルプのウィンドウの
         幅が68文字になっているため各行が折り返して表示されてしまいます。
         これを80文字にするには次のようにします。

         オリジナル(結合前)の window-help.tcl というファイルに
         readmeWindow  と usageWindow という関数があって、その25行目と44
         行目の -width 68 を 80 に変更すればよいのです。

         14行目  proc readmeWindow {} {global readme_tkscan l
         25行目      text .readme.u.t -width 68 -height 20 -font $l(f1) \
         25行目      text .readme.u.t -width 80 -height 20 -font $l(f1) \

         33行目  proc usageWindow {} {global usage_tkscan l
         44行目      text .usage.u.t -width 68 -height 20 -font $l(f1) \
         44行目      text .usage.u.t -width 80 -height 20 -font $l(f1) \

         念のためオリジナルのファイルは修正せずに `tkscanJP' の900行目付近
          (スキャナの機種によって異なる)の方を修正して下さい。