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

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



かねこです。

>http://www.netfort.gr.jp/~dancer/diary/daily/2006-Apr-26.html.ja#2006-Apr-26-09:00:47
>
>manページとエンコーディング. Debian日本語のmanページはEUC-JPエンコー
>ディングでファイルシステム上の/usr/share/man/ja/manX/XXX.X.gzに保存さ
>れている. 現在のlocale が UTF-8 などであっても,EUC-JPで保持している
>データを iconv で処理して UTF-8 にして表示している. その処理は man-db 
>というプログラムが実施している.

というか、これは後方互換性のための処理で、これ自体は問題はないし、FC5
は暴挙だと思うけど、

>UTF-8 で man ページを提供する方法もある./usr/share/man/ja_JP.UTF-8/な
>どにおいておくと, locale が ja_JP.UTF-8の場合にはそこからファイルを見
>付けてくれる. man-db は ja_JP.UTF-8, ja_JP, ja の順番に検索してくれる. 
>ただ, ja_JP.EUC-JP の場合には,/usr/share/man/ja_JP.UTF-8/はみてくれ
>ず, /usr/share/man/ja/ に EUC-JP の man ページをおいておく必要がある. 

これ、文書の UTF-8 化を前提にするなら、バグ以外の何者でもないと思う。任
意のロカールで、デフォールトロカールディレクトリ下に man ページがないな
ら、ja_JP.UTF-8 以下を見るように実装すべき。他の言語でも。

>これは,文字コード変換することが不可能なドキュメントのために例外的に設
>けてある機構で, たとえば,ユーロ通貨記号がEURに変換されてしまうことで,
>roffのコマンドになってしまうからうまくレンダリングされない, などといっ
>た事情を想定している.

これって、せいぜい roff か man ページのバグでしょう。それを man ページの
ロカール処理で回避しようとするのは根本的に設計がおかしいのでは。

>Debianの現状としては日本語のmanページはEUC-JPで/usr/share/man/ja/以下
>に配置する,というのが正しい解. 

どう贔屓目に見ても「正しく」はないでしょう。

>しかしながら,Fedora Core などでは, 
>UTF-8 で manページのデータをおきはじめており,EUC-JPのものを見付けたら, 
>レガシーだという警告を出すようにするらしい. これを見てupstreamの開発
>者が make install でインストールできる manページをUTF-8にしはじめるか
>もしれない. docbook-xslなどでmanページを生成する場合なども,utf-8がツー
>ルとの親和性が高く,また各言語を平等に扱う場合には utf-8のほうが扱いや
>すいため,今後 utf-8 から EUC-JP(を含む各国語のlegacy encoding)に変換
>する部分の処理が発生し 面倒になる可能性はある.今後の動向を見据えて,
>ファイルシステム上にmanpageをutf-8でインストールするサポートの追加は慎
>重に検討したほうがよいだろう.

というか、個人的には正しい対処は、

(0) UTF-8 以外のロカールで、UTF-8 の man を見ないバグは直す。
(1) できるものから、UTF-8 化した man ページを 
  /usr/share/man/言語指定.UTF-8 に入れるように切り変える。
(2) UTF-8 にならない man ページは、どこかで一斉にバグ積みを行う。
(3) /usr/share/man/ja/ に突っ込むようになっているパッケは当面放置

だと思うけど、いかが。