1# -*- ruby -*- 2# 3# tkencoding.rb 4# written by ttate@jaist.ac.jp 5 6class TclTkIp 7 alias __eval _eval 8 alias __invoke _invoke 9 private :__eval 10 private :__invoke 11 12 attr_accessor :encoding 13 14 def _eval(cmd) 15 if( @encoding ) 16 _fromUTF8(__eval(_toUTF8(cmd,@encoding)),@encoding) 17 else 18 __eval(cmd) 19 end 20 end 21 22 def _invoke(*cmds) 23 if( @encoding ) 24 cmds = cmds.collect{|cmd| _toUTF8(cmd,@encoding)} 25 _fromUTF8(__invoke(*cmds),@encoding) 26 else 27 __invoke(*cmds) 28 end 29 end 30end 31 32module Tk 33 INTERP = TkCore::INTERP 34 35 def encoding=(name) 36 INTERP.encoding = name 37 end 38 39 def encoding 40 INTERP.encoding 41 end 42end 43