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

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



小林です。

お返事ありがとうございます。

> > > > DocBook/XML で書かれたドキュメントから日本語 manpage を吐く、
> > > > Aptitude の manpage 生成系をいじっています。
> > >
> > > man -Tnippon -l XXXX.X.X
> > > man -Tutf8 -l XXXX.X.X
> > > あたりで確認してみるとどうですか?
> >
> > ロケールが ja_JP.UTF-8 の場合はうまく表示されることがわかりました。
> > 他方で、EUC-JP 環境においてはうまく表示できません。
> > 
> > * LANG=ja_JP.EUC-JP → 文字化け
> > * LANG=ja_JP.EUC-JP + -Tnippon → 文字化け
> > * LANG=ja_JP.EUC-JP + -Tutf8 → 文字化け
> > * LANG=ja_JP.UTF-8 → UTF-8 で出力
> 
> これ,手もとで文字化けしました.正確なコマンドラインはどうしていますか?
> 
> > * LANG=ja_JP.UTF-8 + -Tnippon → UTF-8 で出力
> > * LANG=ja_JP.UTF-8 + -Tutf8 → UTF-8 で出力

LANG=ja_JP.UTF-8 man -l ./aptitude.ja.8
LANG=ja_JP.UTF-8 man -Tnippon -l ./aptitude.ja.8
(他も同様) などとやっています。
何か勘違いや問題がありましたら指摘していただけるとありがたいです。
それから、このように /usr/share/man 以外のファイルを直接指定なので、
もしかしたら以下の 2. で上川さんが書かれている状況に当てはまらないのかな、
と思います。

> man-db の 2.4.0-1 の changelog とか,
> src/encodings.c を見ていると:
> 
> 1. どんなlocaleであっても, jaの場合は,EUC-JP がソースエンコーディングで
> あることを前提としている.
> 
> 2. UTF-8 manpage をおくのであれば,/usr/share/man/ja_JP.UTF-8/manX
>  (ピリオドがあり,その後にcharset情報がついている場合は special-case している)

となると、例えばファイル直接指定などの場合は、EUC-JP でなくてはいけない
のでしょうか。そうすると、報告したぼくの環境での現象は変かもしれませんね。
昨日さんざん確かめたはずなのですが、もう一度確認してみます。
ついでに気になったのですが、
etch での UTF-8 化というのは、manpage のソースエンコーディングを UTF-8 に
する必要はないのでしょうか?
それともあくまでロケールの話で、さすがにソースについては問わないのでしょうか。

> ソース中のコメントで例として下記が書いてあります:
> 
>  *   /usr/share/man/ja_JP.EUC-JP, locale ja_JP.UTF-8
>  *     page encoding = EUC-JP
>  *     source encoding = EUC-JP
>  *     roff encoding = UTF-8
>  *     output encoding = UTF-8
>  *     EUC-JP -> iconv -> UTF-8 -> groff -Tutf8 -> UTF-8

/usr/share/man/ja 以下の EUC-JP の manpage は、
ロケール ja_JP.UTF-8 では man <SOMETHING> できちんと表示される (UTF-8 で
出てくる) ことを確認しました。

-- 
|:  Noritada KOBAYASHI
|:  Dept. of General Systems Studies,
|:  Graduate School of Arts and Sciences, Univ. of Tokyo
|:  E-mail: nori1@xxxxxxxxxxxxxxxxxxxxxxx (preferable)
|:          nori@xxxxxxxxxxxxxxxxxxx
|:  Key fingerprint = AB26 9533 81DA 997B 3C06  4380 19BB ADA0 695C 9F53