[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[debian-users:55803] Re: [Q] 日本語manページのレンダリングで困ってます...
長南です。
野島さんのメールより [debian-users:55797]
>
> [Q1] 添付のmanページの原稿をdebian sid付属のman (man-db 2.6.0.2-3)でレン
> ダリングしてみたのですが、どうやっても画面サイズにあわせて適切に改行され
> なくて困ってます。
> やってみたコマンド: man ./dh.ja.1
>
> [Q2] man がダメならひょっとしてgroffでmandocかぁーっと思いたち、
>
> やってみたコマンド: groff -mandoc -Tutf8 ./dh.ja.1 | lv
>
> してみましたが、なぜか文字化け&やっぱり改行されないという事で困っ
> てます。
> (groff-base version 2.6.0.2-3)
鍋太郎さんもおっしゃっていますが、定位置にない日本語の man page に
対して、man ./hoge.1 や man -l hoge.1 をやったときと、定位置にある
日本語 man page を読むときでは、man コマンドの処理が微妙に違う
ようですね。
わたしは、squeeze に sid の groff (1.21-4) を入れて使っているので、
事情が違うかもしれませんが、定位置以外にある日本語の man page を
読むときは、以下のようなスクリプトを使っています。
$ cat myman
#/bin/sh
case "$1" in
-*) file=$2 ;;
*) file=$1
esac
case "$file" in
*.gz) cmd=zcat ;;
*) cmd=cat
esac
(echo .mso ja.tmac && $cmd $file) |/usr/bin/zsoelim |
/usr/lib/man-db/manconv -f UTF-8:EUC-JP -t UTF-8//IGNORE |
preconv -e UTF-8 | tbl | groff -mandoc -Tutf8 |lv -c
# 最後の三行は実際には一行に書いています。こんなふうな三行でも大丈夫だ
# と思いますが。
squeeze で man -d ls 2>&1 >/dev/null |less を実行して、出てきた情報から、
コマンドを取り出したものです。sid で同じことをやっても、使っている
コマンドの情報は表示されませんでした。
squeeze では「<standard input>:69: warning [p 1, 6.0i]: cannot adjust line」
といった warning が出るので、実際にはこんなふうに使っています。
$ myman hoge.ja.1 2>/dev/null
--
長南洋一