summaryrefslogtreecommitdiff
path: root/ext/tk/lib/tktext.rb
diff options
context:
space:
mode:
authornagai <nagai@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2003-09-02 05:04:30 +0000
committernagai <nagai@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2003-09-02 05:04:30 +0000
commit9388ed284d600f2225a745dfb3edb6ac1758fdb8 (patch)
tree1b7b09cfaa93e97d9e38389ddec7657418aa17ac /ext/tk/lib/tktext.rb
parent645d4abf426fb2ef4ae72d0d46c24607b71be3a8 (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.rb36
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