From: Hidetoshi NAGAI Date: 2007-10-23T04:30:14+09:00 Subject: [ruby-list:44141] Re: ruby-tk with tcltk8.5b1 永井@知能.九工大です. 報告をありがとうございます. 早いところ Tcl/Tk8.5b1 をテストできる環境を用意しないといけないですね. 手元の環境は,事情あってもう暫くの間は変更できないのですが, できるだけ早くになんとかするようにします. # なんだか,やるべきことが溜まる一方ですねぇ...(^_^; From: Ryutaro Amano Subject: [ruby-list:44140] Re: ruby-tk with tcltk8.5b1 Date: Mon, 22 Oct 2007 23:42:34 +0900 Message-ID: > 起動に際して、エラーは出ませんが、8.5b1では、出てくるウィ > ンドウが思いっきり横長になります。 > 8.4.16をソースからインストールするとそんなことはありません。 > また、8.5b1でも、demos-en/widgetではそのようなことは > ありません。 う〜む. フォントの actual と configure との動作結果が少し変わったのでしょうね. 今後の m17n 化のことも鑑みて, 8.5 以降では latin フォント + kanji フォントの指定の場合に kanji フォント指定を単純に無視するようにした方が良さそうです. 両フォントを指定する機能は tk8.0jp に対応するためのものであり, tk8.4 が一般的となった現在ではこれが必要 or 使っているソースは ほぼゼロでしょうから,そうした仕様変更が問題になることもないでしょう. 推測が間違いでなければ demo-jp/widget のフォント設定部分を --------------------------------------------------------------------- when /^8.*/ $font = TkFont.new('Helvetica -12') $kanji_font = $font TkOption.add('*kanjiFont', knjfont, 'startupFile') $msg_kanji_font=TkFont.new('Helvetica 16') --------------------------------------------------------------------- というように指定変更することでまともな表示になるのではないかと思います. # もしそれでもまともにならなければ, # 別の深刻な問題が存在するのかもしれません. > テキストの3、ハイパーテキスト(タグバインド)で実際にテキストを > クリックするとエラー。 ごめんなさい.これは単なるバグです. demo-*/widget のデモ実行で仮想トップレベル (PseudoToplevel_Evaluate) なんてものを使うようにした際に,修正し忘れてしまったものです. テキストタグのバインディングを設定している部分,例えば --------------------------------------------------------------------- d1.bind('1', proc{ eval(`cat #{[$demo_dir,'items.rb'].join(File::Separator)}`, _null_binding) }) --------------------------------------------------------------------- を --------------------------------------------------------------------- d1.bind('1', proc{ eval_samplecode(`cat #{[$demo_dir,'items.rb'].join(File::Separator)}`) }) --------------------------------------------------------------------- などとというように修正すれば動くようになるはずです. > テキストの3、「ハイパーテキスト(タグバインド)」 > の > 頭の説明文の「説明文が光り」の「光」がウィンドウをリサイズすると > 化ける。 これはフォント設定の問題が波及しているように思えます. もし可能であれば,上記のようにフォント設定を修正してみて 試してみていただけると助かります. > アニメーションの3振り子でエラーになる(たまに動くこともある)。 canvas ウィジェットの Configure イベントに対するバインディングが 一度も起動されないままに振り子表示が行われて, @psh と @psw が初期化されないままになっていると思われます. タイミングの問題...かなぁ... binding の定義とその他のいずれかの処理の実行との順序を入れ替えると うまく動くようになりそうな気がします. > 注目点。 > ダイアログウィンドウの1、メッセージボックスで、OSX特有の > Sheetが出てきます。 > これは8.4.10のバイナリーも同じだったが、以前は、何度も押す > と固まった、今回はそれがありません。tkのバージョンが上がっ > たせいでしょうか? これはいいニュースかもしれませんね. 実際にその通りであれば嬉しいのですが.(^_^) -- 永井 秀利 (九工大 知能情報) nagai@ai.kyutech.ac.jp