2003/06/08(日) [n年前の日記]
#2 [pc][prog] ActivePerl+Tkで文字が表示されない場合
fontを指定すれば大丈夫だった。
_こちらのサイト
で懇切丁寧に解説されてた。
*1
全体についてfont指定をする場合は、
$top = MainWindow->new(); $top->optionAdd( '*font' => 'FixedSys 14' );みたいな。例えば Labelに対してfont指定をするなら、
$top->optionAdd( '*Label.font' => 'FixedSys 14' );といった感じになるらしい。更に、空白を含んだfont名を指定するとマズイらしく、そういう場合は、
$top->fontCreate('MS', -family => 'MS ゴシック' ); $top->optionAdd( '*Button.font' => 'MS 12' );のようにする、と解説されてた。おかげさまで、text widget 中でも右クリックメニューの各文字列がバッチリ表示されたし、ボタン文字列等も日本語で表記可能になった。ありがたや。感謝感激。
◎ Tcl/TkやRuby/Tkについても調査検討中 :
font指定をした事で、AtivePerl+Tkでも漢字表示可能という事が判ったのはいいのだけど、text widgetで2バイト文字の上をカーソル移動した場合にヒョコタンヒョコタンと文字化けする。これではツールを作ったとしても親父さんに使わせるわけにはいかない。なので、そのへん正常に動くのであればと、他の 〜/Tk についても調べ始めた。あるいはJava、BCB、Delphiも視野に入れて検討した方がいいのかもしれないけど。
◎ Ruby/Tk,Ruby/GTKってどんな状況なのだろう :
日本語による解説ページ、特にチュートリアル関係が軒並み404。もしかして初心者お断りの風潮にでも変化したのかしら。あるいは普及する見通しが立たなくて皆撤退しちゃったとか。なんにせよこれはマズイ状況のような気が。
◎ その手があったか :
Perl/Tkで、
_2バイト文字の間を避ける処理をしながらカーソル移動
をしてるらしい。なるほどなぁ。
*1: 自分が昔書いたスクリプトでもちゃんと指定してあった。何故。と思ったが、おそらく当時、上記サイトの解説を見ながらやってたのかも。すっかり忘れてる。
[ ツッコむ ]
以上です。