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

[debian-users:46431] 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/以下
> >に配置する,というのが正しい解. 
> 
> どう贔屓目に見ても「正しく」はないでしょう。

ここまでも現状のman-dbで正しく各言語のmanページを表示するのに何が必要か,という話しですね.
正しいか正しくないか,とかいう話し以前の話題です.

ここ以下は今後の設計方針についての話しです.

> >しかしながら,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/ に突っ込むようになっているパッケは当面放置
> 
> だと思うけど、いかが。

今後の選択として,

1. EUC-JPのままにしておく

2. /usr/share/man/ja/をEUC-JPとUTF-8の混在環境にする

 注意点:
  2-A. transitionが必要

  2-B. UTF-8/EUC-JP文字コード自動認識に対応できるように man-db の修正が必要
 
3. /usr/share/man/ja{_JP,}.UTF-8/ を UTF-8 にし,/usr/share/man/ja/ を 
  EUC-JP 専用に残しておく

 注意点:
  3-A. transitionが必要

  3-B. FCなどは/usr/share/man/ja/にUTF-8のマニュアルページをつっこんでい
  るため,upstreamの期待しているのとは違う環境になる可能性がある

  3-C. EUC-JPのときにもUTF-8のmanpageを見るようにman-dbの修正が必要.
  

がありますね.

それぞれによい点と悪い点があるかと思います.まず1を維持しておく.今後
どれくらいFCの現在の/usr/share/man/ja/にUTF-8のドキュメントをつっこむ,
というのがupstreamに支持されるのか,というのを観察してから 2,3のどちら
かを選択するという戦略が今の私にはよさそうにみえます.


上川
-- 
dancer@{debian.org,netfort.gr.jp}   Debian Project