むとうと申します。

On Wed, 14 Mar 2001 08:03:21 +0900 "[ruby-list:28747] Ruby/Gtk 日本語表示と色変更を同時にするには?"
Yoshihisa Yamamoto <yyama / nyc.odn.ne.jp> wrote:

> はじめまして、山本と申します。
> 
> Ruby/Gtk を勉強中なのですが、不明な点があって困っています。
> ボタンを日本語表示させ、なおかつ色変更を同時にするにはどのように
> すればできるのでしょうか?なにか情報がありましたら教えてください。
> 環境は、Windows NT 4.0WS SP5 + Cygwin版Ruby です。

私の環境はLinuxで、Windows版では試していないので
もしかしたらはずしているかもしれませんが、
以下のようにすると意図通りに表示されませんでしょうか。

----
require 'gtk'
require 'uconv'

window = Gtk::Window.new
window.signal_connect("delete_event") do
  Gtk.main_quit
end
 
style = Gtk::Style.new
#ここに以下の一行を追加。
style.set_font(Gdk::Font.fontset_load("-unknown-*-*-r-normal-*-*-100-*-*-*-*-windows-shiftjis"))
style.set_fg(Gtk::STATE_NORMAL, 65535, 0, 0)
style.set_bg(Gtk::STATE_NORMAL, 65535, 65535, 65535)
button = Gtk::Button.new(Uconv.sjistou8("やあ。"))
button.set_style(style)
button.child.set_style(style)
button.signal_connect("clicked") do
  print "やあ。\n"
end
 
window.add(button)
window.show_all
Gtk.main
----

ちなみに、Gtk::Style.newした場合、フォント情報などは特に指定されていないようですので
上記のように自分でGtk::Style.newする場合はフォントもきちんと設定しないといけないようです。
それと、背景については、button.childに対して指定する必要があります。

RCを使う方法だと以下のようにするとうまくいくかもしれません。

---
require 'gtk'
require 'uconv'

Gtk::RC::parse_string <<EOS
  style "default"
  {
    font = "-unknown-*-*-r-normal-*-*-100-*-*-*-*-windows-shiftjis"
    fg[NORMAL] = {0.75, 0, 0}
  }
  widget_class "*" style "default"
EOS

window = Gtk::Window.new
button = Gtk::Button.new(Uconv.sjistou8("やあ。"))
 
window.add(button)
window.show_all
Gtk.main

---

> また、Ruby/Gtk についての書籍、ウェブサイトなどお勧めのものが
> ありましたらそれも知りたいです。
> 今までは、下記のウェブサイトを参考にしてきました。
> Ruby/Gtk <http://www.ruby-lang.org/gtk/ja/>
> Ruby/Gtk によるプログラミング <http://ruby.freak.ne.jp/gtk/>

私は、上記URLとGTK+のサイト(http://www.gtk.org/)のリファレンスマニュアル等
で勉強中です。

なお、手前味噌で恐縮ですが、私自身も少しずつメモを残していますので
もしかしたら参考にしていただけるかもしれません(ただし、Linuxでしか
動作確認していませんが)
URLは、http://home2.highway.ne.jp/mutoh/tips/index.html です。

それでは。

----
○● むとう まさお(MUTOH Masao)    
●○ E-Mail:mutoh / highway.ne.jp