DigitalDJ のフォントをリソースファイルから指定する

DigitalDJ の文字化けを解消する - (((memo))) での残件だった

本当はハードコードせずに ~/.gtkrc あたりで変更できるようにしたかったんだけど、どうもうまくいかない

を解決。ってかソース側の変更はほぼ問題なくて GTK のリソースファイルの書き方が間違ってるだけでした orz

今回は gtk_event_box に名前を付けて、それに style を指定したかったんだけど、その場合のリソースの書き方って

widget "name"

じゃなくて

widget "*name*"

でないといけないのね。

ってかリソースファイルのドキュメントが内容不足すぎっスよ。あれだけじゃ判んねーっス。それとも俺が GTK の基本を知らなすぎなんだろうか…。なにはともあれ、フォントの調整が再コンパイルなしでできるようになった。

~/.gtkrc に(なければ作って)以下のような記述を追加すれば日本語が化けずに表示されると思います。ここで指定しなかった場合はデフォルトのフォントが使われます。

style "ddj_LCD" {
  fontset = "-B&H-LucidaTypewriter-Medium-R-Normal-Sans-18-180-75-75-M-110-ISO8859-1,\
             -misc-gothic-bold-r-normal--16-*-*-*-*-*-jisx0208.1983-0"
}
widget "*ddj LCD*" style "ddj_LCD"

style "ddj_TV" {
  fontset = "-Adobe-Helvetica-Medium-R-Normal--24-240-75-75-P-130-ISO8859-1,\
             -*-*-*-r-*-*-24-*-*-*-*-*-jisx0208.1983-0"
}
widget "*ddj TV*" style "ddj_TV"

併せて

日本語の曲名だと文字幅が異なるためスクロール表示がぎこちない

の件も調整してみました。やり方はちょっと美しくないけど見た目は美しくなったかな。

赤い色は大嫌いです

パッチはこちらに置いときます。→ http://www.geocities.jp/emacsjjjj/ddj/patches/ddj.c.diff.gz