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

[debian-users:46414] Re: Manpage encoding: UTF-8 or EUC-JP?



武藤@Debianぷろじぇくとです。

At Mon, 24 Apr 2006 20:35:39 +0900,
Junichi Uekawa wrote:
> > > > 日本のような国では /usr/share/man/ja でなく /usr/share/man/ja_JP.EUC-JP に

とりあえず、「_JP」のregionを付けるのは変な気が。

> > > Debian においては, manpage は,/usr/share/man/jaにおく,というようにしているようです.
> > > ここの部分が明文化されているところはちょっとみつけられていません.
> > 
> > 他言語の manpage についても、ピリオド以下で文字コードを指定したディレクトリが
> > 作られているところは特にないように見えますね。
> > ということは、現状では、
> > 
> > * man-db の src/encodings.c で指定されている、それぞれの言語に
> >   特有のエンコーディングを使うことが暗黙に指定されていることになり、
> >   UTF-8 の manpage を /usr/share/man 以下に置けない。
> 
> これは,/usr/share/man/ja/ についてですね.
> /usr/share/man/ja/man[1-9]/*.[1-9].gz に関しては,EUC-JPであることが必
> 要となっています.
> 
> > * たとえ新たに /usr/share/man/ja_JP.UTF-8 などを作って UTF-8 の manpage を
> >   置いたとしても、src/encodings.c の実装ゆえにロケールが ja_JP.UTF-8 のときに
> >   しか検索されない。
> >   (明文化されていないとなると、もしかしたら /usr/share/man 以下の manpage に
> >   UTF-8 のものが混ざっている可能性もある?)
> 
> この点は自信がないです,コードを追いきれてません.

Contents-i386.gzを見る限りではman/ja使っているパッケージ自体は
そう多くないのですが、だいたいEUC-JPを使っている感じ。昔rpm.deb
パッケージがUTF-8使ってバグ報告されてたようなうっすらした記憶も。

数が多くないのでこの機会にえいやっとUTF-8にtransitionするという
手もなくはないのですが、結局はrulesなりdebhelper(dh_installman)なり
いろいろメンテナが手を加えることになるので、できれば既存ディレクトリ
で共存させちゃうほうがいいのかなと思います。

一足早くからUTF-8化しているFedoraCoreではどうやっているのかな、と
開発者に聞いてみたところ、

・manページの推奨エンコーディングはUTF-8で統一
・manコマンドの内部で iconv -f UTF-8 -t UTF-8 してエラーが出るかどうかを
  調べる
・エラーが出たらjaの場合、legacyなEUC-JPと判断。legacyな旨の警告も表示

という方法を採っているということでした。
Debianのmanメンテナがこういう方法を許すかどうかは微妙ですが、
manページにはエンコーディング指示子がないため、当座の異種混在
環境の回避策としてはアリではないかと思われます。
-- 
武藤 健志@ kmuto @ kmuto.jp
           Debian/JPプロジェクト   (kmuto@debian.org, kmuto@debian.or.jp)
           株式会社トップスタジオ  (kmuto@xxxxxxxxxxxxxxx)
URI: http://kmuto.jp/ (Debianな話題など)