作者: Koichi Yamamoto
日時: 2003/10/1(20:18)
こんにちは、山本です。

"midorinoekko@... (緑の ekko)"さんは書きました:
> 新しいVer.のTclProは有償のようですが(?)、
> 無償で、日本語対応のWrapperってあるのでしょうか?

SF.netからTclPro1.4.1をダウンロードしてやってみましたが、
これを使って日本語文字列を含んだスクリプトを正常に
動かすことは可能のようです。

-- hello.tcl -----
pack [label .l -text こんにちは]
pack [label .l2 -text [encoding system]]
pack [text .t -wrap word]
.t insert end [encoding names]
-- hello.tcl -----

このスクリプトをそのままprowrapコマンドで実行形式(prowrapout.exe)に
変換すると、「こんにちは」の部分が文字化けしますが、次のようにして
やることで文字化けを回避することができます。

native2ascii hello.tcl hello2.tcl
prowrap hello2.tcl "D:\Program Files\TclPro1.4\lib\tcl8.3\encoding\*.enc" 
    -tcllibrary "D:\Program Files\TclPro1.4\lib\tcl8.3"

native2asciiはJDKに付属のコマンドで、非Latin-1文字を\uhhhhに置換します。
上記スクリプトの場合、一行目が↓のように変換されます。

pack [label .l -text \u3053\u3093\u306b\u3061\u306f]

この方法を使って作成したものは、例えば英語版のWindows2000やXPのように
非日本語のプラットフォームでも正常に日本語表示が可能になるはずです。
(スクリプトがsystem encodingに依存しなくなるため)

ちなみに、native2asciiのPure Tcl版も(私が作って)あります。


> #浦野さん、ご結婚おめでとうございます。
> #何度か浦野さんのHPのBBSに書き込もうとしたのですが、
> #なぜかできませんでした。この場をお借りするのは
> #場違いかとも思ったのですが、お許し下さい。

うらのさんご結婚おめでとうございます!!
XMLの本は残念なことになってしまったようですが(^^;

--
Koichi Yamamoto, 
http://homepage3.nifty.com/yamakox/