diff options
author | nagai <nagai@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2003-09-02 05:04:30 +0000 |
---|---|---|
committer | nagai <nagai@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2003-09-02 05:04:30 +0000 |
commit | 9388ed284d600f2225a745dfb3edb6ac1758fdb8 (patch) | |
tree | 1b7b09cfaa93e97d9e38389ddec7657418aa17ac /ext/tk/lib/tktext.rb | |
parent | 645d4abf426fb2ef4ae72d0d46c24607b71be3a8 (diff) |
* ext/tcltklib/tcltklib.c (ip_invoke): fixed bug on passing a exception
* ext/tk/lib/{tk.rb, tkcanvas.rb, tkfont.rb, tktext.rb} :
bug fix and improvement of font control
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4480 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext/tk/lib/tktext.rb')
-rw-r--r-- | ext/tk/lib/tktext.rb | 36 |
1 files changed, 29 insertions, 7 deletions
diff --git a/ext/tk/lib/tktext.rb b/ext/tk/lib/tktext.rb index 9f1ad24665..cf4fc68ddc 100644 --- a/ext/tk/lib/tktext.rb +++ b/ext/tk/lib/tktext.rb @@ -331,11 +331,17 @@ class TkText<TkTextWin when 'text', 'label', 'show', 'data', 'file' tk_call(@path, 'tag', 'cget', tag, "-#{key}") when 'font', 'kanjifont' - fnt = tk_tcl2ruby(tk_send('tag', 'cget', tag, "-#{key}")) + #fnt = tk_tcl2ruby(tk_send('tag', 'cget', tag, "-#{key}")) + fnt = tk_tcl2ruby(tk_send('tag', 'cget', tag, '-font')) unless fnt.kind_of?(TkFont) fnt = tagfontobj(tag, fnt) end - fnt + if key.to_s == 'kanjifont' && JAPANIZED_TK && TK_VERSION =~ /^4\.*/ + # obsolete; just for compatibility + fnt.kanji_font + else + fnt + end else tk_tcl2ruby(tk_call(@path, 'tag', 'cget', tag, "-#{key}")) end @@ -356,7 +362,11 @@ class TkText<TkTextWin key == 'kanjifont' || key == :kanjifont || key == 'latinfont' || key == :latinfont || key == 'asciifont' || key == :asciifont - tagfont_configure(tag, {key=>val}) + if val == None + tagfontobj(tag) + else + tagfont_configure(tag, {key=>val}) + end else tk_send 'tag', 'configure', tag, "-#{key}", val end @@ -450,11 +460,17 @@ class TkText<TkTextWin when 'text', 'label', 'show', 'data', 'file' tk_send('window', 'cget', index, "-#{slot}") when 'font', 'kanjifont' - fnt = tk_tcl2ruby(tk_send('window', 'cget', index, "-#{slot}")) + #fnt = tk_tcl2ruby(tk_send('window', 'cget', index, "-#{slot}")) + fnt = tk_tcl2ruby(tk_send('window', 'cget', index, '-font')) unless fnt.kind_of?(TkFont) fnt = tagfontobj(index, fnt) end - fnt + if slot.to_s == 'kanjifont' && JAPANIZED_TK && TK_VERSION =~ /^4\.*/ + # obsolete; just for compatibility + fnt.kanji_font + else + fnt + end else tk_tcl2ruby(tk_send('window', 'cget', index, "-#{slot}")) end @@ -878,11 +894,17 @@ class TkTextTag<TkObject when 'text', 'label', 'show', 'data', 'file' tk_call @t.path, 'tag', 'cget', @id, "-#{key}" when 'font', 'kanjifont' - fnt = tk_tcl2ruby(tk_call(@t.path, 'tag', 'cget', @id, "-#{key}")) + #fnt = tk_tcl2ruby(tk_call(@t.path, 'tag', 'cget', @id, "-#{key}")) + fnt = tk_tcl2ruby(tk_call(@t.path, 'tag', 'cget', @id, '-font')) unless fnt.kind_of?(TkFont) fnt = tagfontobj(@id, fnt) end - fnt + if key.to_s == 'kanjifont' && JAPANIZED_TK && TK_VERSION =~ /^4\.*/ + # obsolete; just for compatibility + fnt.kanji_font + else + fnt + end else tk_tcl2ruby(tk_call(@t.path, 'tag', 'cget', @id, "-#{key}")) end |