From: ttate@... Date: 1999-08-06T13:09:59+09:00 Subject: [ruby-list:15919] Ruby/Tk Encoding (Re: Re: ruby/tk on cygwin /w Tk8.1) 立石です。 Date: Fri, 6 Aug 1999 09:51:20 +0900 From: たむら けんいち tamura-r>  これは、確かにそう思いますので、日本語の文字列を別ファイルに UTF8 で tamura-r> 用意しておく方法も試してみます。 きっとこちらの解決方法がいいでしょう。 tamura-r> ttate> fconfigureってメソッドをtk.rb側で実装しますか? > Ruby/Tk使ってる方々 と思ったのですがfconfigureってなんか意味が異なるようにも 思えるので、Widgetへのunicodeへの変換だけでいいならこんな のはどうでしょうか? Takaaki Tateishi 使用方法:----------------------------- require 'tk' require 'tkencoding' Tk.encoding = "euc-jp" # "shiftjis" r = TkRoot.new l = TkLabel.new(r,"text"=>"テキスト") l.pack Tk.mainloop -------------------------------------- tkencoding:----------------------------------------------- # -*- ruby -*- # # tkencoding.rb # class TclTkIp alias __eval _eval alias __invoke _invoke private :__eval private :__invoke attr_accessor :encoding def _eval(cmd) if( @encoding ) _fromUTF8(__eval(_toUTF8(cmd,@encoding)),@encoding) else __eval(cmd) end end def _invoke(*cmds) if( @encoding ) cmds = cmds.collect{|cmd| _toUTF8(cmd,@encoding)} _fromUTF8(__invoke(*cmds),@encoding) else __invoke(*cmds) end end end module Tk INTERP = TkCore::INTERP def encode=(name) INTERP.encoding = name end def encode INTERP.encoding end end