|
Tclkitとは、
wishと必要なライブラリを1つの実行形式(exe)にまとめたプログラムです。
Tcl/TkをインストールしていないPCであっても、
これとTclスクリプトさえあれば、
Tcl/Tkに基本的に備わった機能なら何でも実行することができます。
ダウンロードは、上記ホームページからリンクされている、
こちらか、
こちらから。
私は前者から「tclkit-8.5.8-win32.upx.exe」をダウンロードしました。
これは圧縮アーカイブなどではなくて、実行形式そのものです。
使い方は簡単で、
「tclkit-8.5.8-win32.upx.exe hello.tcl」
のようにすれば、
wish85.exeと同じように実行できます。
ただし、そのままのTclkitでは日本語の処理がうまくいかず、
文字化けしてしまうことがあります。
これは内蔵しているencodingファイルに、いくつか足りないものがあるためで、
それを補うために次の方法でexeを作り直す必要があります。
-
以下の作業を行うには、Tcl/Tkの「本物」の処理系が必要です。
-
まず、SDX(sdx.kit)というスクリプトを入手します。
これは、
Getting Started
からリンクされている
sdx.kit
をそのままダウンロードして保存します。
ここでは、
tclkit-8.5.8-win32.upx.exe と sdx.kit を同じディレクトリに配置したものとします。
(分かりやすいので)
-
コマンドプロンプトで
「tclsh85 sdx.kit unwrap tclkit-8.5.8-win32.upx.exe」
を実行します。
「tclkit-8.5.8-win32.upx.vfs」というディレクトリができます。
-
そのディレクトリ内のlib/tcl8.5/encoding に、
「本物」の同じディレクトリから、欠けている.encファイルをコピーして補います。
このバージョンでは、cp932とiso2022-jpは最初からありましたが、
euc-jpとshiftjisが欠けていたので、コピーしました。
-
次にこのコマンドを実行します:
「tclsh85 sdx.kit mksplit tclkit-8.5.8-win32.upx.exe」
tclkit-8.5.8-win32.upx.tail と、
tclkit-8.5.8-win32.upx.head という2つのファイルができます。
-
tclkit-8.5.8-win32.upx.exe をダミーに改名退避しておきます。
-
最後に、
tclsh85 sdx.kit wrap tclkit-8.5.8-win32.upx.exe -runtime tclkit-8.5.8-win32.upx.head
で元と同じ名前のexeに修正版ができました。
なお私はファイル名が長いので、こうして作った新しいexeをtclkit.exe、
配布されている元のexeはそのままの名前で残すことにしました。
(first uploaded 2010/05/30 last updated 2010/05/30, MISUMI URANO)
|