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

[debian-devel:12059] Re: ja_JP.eucJP



From: Tomohiro KUBOTA <kubota@xxxxxxxxxxxxxxxxxxxxx>
Subject: [debian-devel:12057] Re: ja_JP.eucJP
> 問題がひとつあって、これは目をつぶってもいいかもしれないんですが、
> 修正を進める過程で、/usr/X11R6/lib/X11/ja_JP.ujis という名前の
> シンボリックリンクを持つパッケージと、同名のディレクトリを持つ
> パッケージの両方が存在する瞬間が存在するはずです。その両方を
> インストールした場合、なにか不具合が起きるかもしれないと
> 思っているのですが、どうでしょうか?

そうですね。確かにその通りだと思います。

> とりあえず、シンボリックリンクの作成には失敗するので、新しいパッケージ
> は .ujis では動かないということになります。そのあと、古いパッケージを
> アンインストールすると、/usr/X11R6/lib/X11/ja_JP.ujis は消えますが、
> シンボリックリンクは存在しないままになります。その後で
> シンボリックリンクを持つパッケージをインストールすればいいですが。

もし解決するならば、/usr/X11R6/lib/X11/ja_JP.ujis をシンボリックリンク
するのではなく、/usr/X11R6/lib/X11/ja_JP.ujis/app-defaults の中の
各ファイルをリンクする形になるのでしょうか。

> どうせ unstable な woody なので、このへんは目をつぶるという
> 手もありますが、woody がリリースされる時、potato から stable woody
> へのアップグレードの際に問題が生じそうな気がします。

これは考えていませんでした (^^;
こういう場合にもっともエレガントな解決方法って
何なのでしょうか? > 識者の皆様

> > ところで話は少しそれるのですが、
> > /usr/X11R6/lib/X11/ja_JP.eucJP へのシンボリック
> > リンクを /usr/X11R6/lib/X11/ja_JP.ujis に張るとして、
> > /usr/X11R6/lib/X11/ja もシンボリックリンクとして
> > 作った方が良いでしょうか?
> > 
> > LANG が regexp で ja.* と書ける場合、つまり先頭が ja で
> > 後に0文字以上の文字がつくような場合に当てはまる時は、
> > 自動的に X application の app-default などの default
> > locale を eucJP と見なしてしまおうということです。
> > 
> > 現在 ja_JP.SJIS や .ISO-2022-JP は実質的にないわけで、
> > LANG=ja_JP.eucjp や LANG=ja とされたときも
> > ユーザーは意識せずに EUC-JP を利用することができる
> > からです。
> 
> いくつか確認したい点があります。
> 
> (1) もしそれをすると、/usr/X11R6/lib/X11/ja_JP.SJIS とかは
>     使えなくなってしまうのでしょうか?

大丈夫です。最初に locale の full name なパスが選択されるため、
locale が ja_JP.SJIS の場合、このディレクトリが
優先的に選択されるはずです。
# X app を strace したところ、そのような実装になってるようですし。

> (2) /usr/X11R6/lib/X11/ja_JP.SJIS とかは、単に現在 Debian には
>     存在しないだけなのでしょうか。それとも、理論的にそういう
>     プログラムを作ることはありえないのでしょうか。(将来的には、
>     /usr/X11R6/lib/X11/ja_JP.UTF-8 とかができる可能性もあります)。

理論的にも、将来的にも存在しうる名称だと思います。
また UTF-8 も同様にありうると思います。

> つまり、もし .SJIS とか .UTF-8 とかを持つパッケージが現れた
> とき、ja -> ja_JP.eucJP へのシンボリックリンクを、やっぱりやめた、
> というふうにすることは望ましくないと思うのです。そういう問題が
> ないのなら、やっても構わないと思います。

はい。それは一理あります。

この措置は、あくまでも ja_JP.ujis または
ja_JP.eucJP という locale が使用されるという範囲内で
適用されることを考えていました。

しかしながら、確かにご指摘の通り ja_JP.eucJP と ja_JP.UTF-8 の
両方に app-defaults/foo があれば良いのですが、eucJP の方しか
foo が無かった場合に locale=UTF-8 として動作させると、
eucJP のデータが読まれてぐちゃぐちゃに表示されるということが
ありえますね。
こういうことを鑑みると ja を ja_JP.eucJP にリンクしてしまうのは
どうかとは思いますが、現状で UTF-8 も SJIS もほとんど使われて
いないことを考えて、あっても良いのではないかなぁ、というのが
私の意見です。ただ X 的に奨められることなのかどうかは、ちょっと
何とも言えません…。

まあ現状で ja がなくて困っているわけではないので、
敢えて追加する意味はほとんどないかもしれませんが。

--
後藤 正徳