ams
ams****@smile*****
2004年 4月 3日 (土) 01:20:51 JST
はじめまして 白方さん お返事遅れて申し訳ありません。色々、ごそごそやっていたのですが、、、 argra****@ub32***** wrote: > 私自身 JNH が GNOME で動くことすら知らなかったぐらいなので、ある意味 > 当然かもです(^^;) ^^;; そうだったのですか。X 版と違って、gnome(gtk+)版は、GUI なところを 除けば、自前で 32 x 32 のタイルも用意しなければならないし、そもそも Nethacker には邪道かもしれませんね。 32 x 32 は、今の 3.4.3 には同梱されなくなりましたから、Windows 用のも のを貰って来ています。 > 位置的に称号が表示される部分っぽいので、それを頼りにソースを見て > みたところ、win/gnome/gnstatus.c:440 あたりからの部分のようです。 > (ここまでは既知かも?(^^;)) > 具体的には、458 行目で使われている rank_of() 関数が JNH では > 日本語を返すので、それが化けているようです。 この、rank_of() 関数について、内部のデータを調べましたら、職業は ascii の ISO-8859-1 みたいです。つまり、そのまんまオリジナルと同じです。 printf() デバッグ(古いなぁ)で調べてみました。 で、strcat() で文字列を連結しても buf の中身は、英文の職業だけです。つ いでに、男女のフラグは、タイトルに反映されていません。 しかし、Terminal 版では、きちんと表示されますね。 gdk_font_load() は、ローカライズの際は、gdl_fontsetl_load() とするのが 常道なので、そうしてみましたが、タイトルの表示が、かなり複雑な入れ子構 造になっており、まだ、本来のものになりません。 printf("s" , &buf); だと Archeologist Root the 鉱員 といった化け方です。むしろ、男女のフラグか ら、文字列を生成する時に、おかしくなっているみたいです。 その他、 ようこそroot,NetHackの世界へ!このゲームではあなたは人間の考古学者(秩 序の男性)だ. と、テキストウィンドウには、きちんと出てますが、編集メニューの Inventory でも、きちんとした日本語の文字列は出ていますが、その内容は化 けています。 これは、少々困ったなと思いつつ、gnmain.c とか見ると、i18N 対応しようと して、 #if 0 で書きかけのまま放置されています。おぉぉいですが、ソース の随所に同様な箇所がありますから、現在調整中なのかもしれませんね。 > > ということで、解決法としてはこのラベルを日本語表示が出来るように > 変更する(フォントの変更?)といけそうな感じです。 > 前述の通り GNOME はさっぱりですので具体的にはわかりません(^^;) > うまくいったらぜひ方法を教えてください(^^;) 何とかしたいのですが、gtk+/gdk のソースコードの変更と、gnome 関係の コードを、I18N 完全対応にしなければ、折角の JNethack が無惨なことにな りますね。 しかも、I18N 対応している部分も結構あります。gnome のマクロ機能を使用 して、gnmain.c 210 などGNOME_APP_UI_ITEM, N_("Inventory") と、N_("Inventory")として、I18N 対応になっています。 これだけ、進めているのだから、gnome 版の作者は、将来 I18N 対応を完全に する気なのか、それとも、単なるバグの連発なのか判断がつきません。 少し、様子を見てみようかなとも思います。作者は、そのつもりなのかもしれ ませんし。完全に gnome 版を日本語対応するとなると、元々の日本語パッチ との連携が不可欠ですが、このあたり、win/gnome の大改造が必要でしょうね。 > Qt 版に関しては sl-zaurus 版 (http://randy3.hp.infoseek.co.jp/zaurus/)が > 結構対応しているみたいです。こちらも私はよくわからないのですが(^^;) 元々、Qt の方がやりやすいかも。最近、Qt ばかり触っていて、gtk+ , gnome は、数年ぶりなんですが、gnome より、gtk2+ にして欲しいものです。 Mozilla じゃないですけど、すっきりした構造が、I18N に持たせられない と、辛いかなと。 Qt 3.x.x は、ローカライズが進んでいて、C++ ですから、クラスのメンバー のオーバーライドで、意外と楽ですから。ともあれ、gnome 版は、構造を一新 しないと、あちこちちぐはぐですねぇ。。。 以前の gtk+ 版を参考に、gtk2+ 版を探った方が良いかもと思いました。とま れ、いずれにしても、日本語パッチの問題では無く、純粋にフロントエンドの 不備だと言うことだけは、はっきりしました。 それにしても、、、 gnome lib も、変更が激しいから、gtk2+ にしない理由 が、良く分からないです。 -- mailto: ams <ams****@smile*****>