[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[debian-devel:13370] Re: xearth の国際化



At Thu, 7 Dec 2000 01:29:48 +0900,
Tomohiro KUBOTA <tkubota@xxxxxxxxxxx> wrote:
> ところで、リソースとはなんぞや、ということについて、ちょっと実験
> してみました。xearth では、まず、x11.c のなかで
> 
>    XrmDatabase db = XtDatabase(dsply);
> 
> とやって、リソースデーターベースなるものを取得しています。つぎに、
> 個々のリソースは、resource.c のなかで、
> 
>    XrmGetDatabase(db, full_name, full_class, &type, &value);
> 
> というふうにして取得しています。で、こいつはどのロケールカテゴリーに
> 従って動作するんだろう、という疑問があります。というわけで、ためしに、
> 
>    LANG=ja_JP.eucJP LC_ALL=ko_KR.eucKR xearth
> 
> というふうにしてみたら、なんと化ける化ける。日本語の地名を
> 韓国語のフォントを使って表示してしまいます。私が作った日本語
> パッチは LC_CTYPE ロケールに従って動作するので、LC_ALL=ko_KR.eucKR
> に素直に従うのですが、リソースの読み込みは、そうじゃないみたいです。
> LANG 環境変数に従っているだけ、という感じです。

LANG は LC_ALL に *いつも必ず* override されるべきです。
つまり、明らかに、以上のテスト結果はおかしな動作に見えます。

> これって、X の設計が悪いんじゃないの、って思うのですけど、じゃあ
> どのカテゴリーに従うべきなのか、というと、どれとも答えようが
> ないんですよね... まあ、実際に使われている用途の頻度から言えば、
> LC_MESSAGES が妥当かな、というところですが、そんなのを X に実装
> するなんて、汚すぎていやっぽいですよね。けっきょく、カテゴリー別に
> 設定できる C のロケールと、なんでも格納できてしまう X のリソースとは、
> うまく統合できないのでしょうか。

xearth が LANG をみている可能性があるようです。
また、ukai さんによれば X_LOCALE が定義されているとき、
そのような動作になる可能性があるそうです。

--
後藤 正徳