2014年2月23日に次のように書いた。(追記あり)
□不具合
jman で日本語マニュアルのないマニュアルを読もうとすると、左上の "NAME" が "1mNAME0m" のように表示される。
FreeBSD 9.2-RELEASE-p3
□原因
おそらく、太字にするなどの整形処理がうまくないのだろう。
FreeBSD 9ぐらいからの問題らしく、grotty の処理が関係するらしい。
ということで、man grotty を見る。
デフォルトでは、テキスト属性 (ボールド、イタリック、色) を変えるために、
grotty は SGR エスケープシーケンスを出力します。(略)
昔の動作に戻すには -c を使用してください。(略)
同じ効果を得るには、環境変数 GROFF_NO_SGR を設定するか、(略)
つまり、整形にSGRを使っているので、不具合が生じている。
SGRを使わず、以前の形式で出力するようにすれば良い。
manにはlessにオプションをつけるなどの例があったが、私の環境では解決できず。
□対策
alias を利用し man を実行する時だけ、GROFF_NO_SGR=1 を設定することにした。
また、man に w3mman を利用しているので、あわせたものを、.zshrc に記述。
alias jman="GROFF_NO_SGR=1 W3MMAN_MAN=jman w3mman"
〔追記(2018/05/28)〕
現在、jman では上記の不具合がなくなり、w3mman でのみ不具合が残った。
またw3mmanを使っていると発生する不具合を解消できなかった。
□不具合1:manのキャッシュの文字化け
過去に見た man を再度見ると、文字化けすることがある。
たとえば/usr/share/man/man1/man.1.gz であれば /usr/share/man/cat1/man.1.gz ができる。
catフォルダのファイルを削除すれば文字化けしなくなる。
w3mmanで見るために、 GROFF_NO_SGR=1 をしているが、これが原因かもしれない。
何度か原因を特定しようと試みたが、再現できなかった。
w3mman ではなく、jman であれば GROFF_NO_SGR を指定しなくても日本語は文字化けしない。
□不具合2:w3mman のプチ文字化けがなおらない
w3mmanで見ると「名称」や「書式」「解説」といった太字の部分が、下のように微妙に文字化けする。
太字が途中で普通の文字になったりもしている。jman では文字化けしない。
jman → w3mman
名称 → 名松
書式 → 十饉式
解説 → 臆鮴説
色々環境変数などを見直してみたが、これも原因を特定できず。
結局、man でオリジナル(英語、オプション"-o"を利用)、 jman で日本語マニュアルと使い分けることにした。
w3mmanのリンク機能はとても便利だが、PAGER に w3m を使うだけにして、w3mman の使用はあきらめた。
□不具合
jman で日本語マニュアルのないマニュアルを読もうとすると、左上の "NAME" が "1mNAME0m" のように表示される。
FreeBSD 9.2-RELEASE-p3
□原因
おそらく、太字にするなどの整形処理がうまくないのだろう。
FreeBSD 9ぐらいからの問題らしく、grotty の処理が関係するらしい。
ということで、man grotty を見る。
デフォルトでは、テキスト属性 (ボールド、イタリック、色) を変えるために、
grotty は SGR エスケープシーケンスを出力します。(略)
昔の動作に戻すには -c を使用してください。(略)
同じ効果を得るには、環境変数 GROFF_NO_SGR を設定するか、(略)
つまり、整形にSGRを使っているので、不具合が生じている。
SGRを使わず、以前の形式で出力するようにすれば良い。
manにはlessにオプションをつけるなどの例があったが、私の環境では解決できず。
□対策
alias を利用し man を実行する時だけ、GROFF_NO_SGR=1 を設定することにした。
また、man に w3mman を利用しているので、あわせたものを、.zshrc に記述。
alias jman="GROFF_NO_SGR=1 W3MMAN_MAN=jman w3mman"
〔追記(2018/05/28)〕
現在、jman では上記の不具合がなくなり、w3mman でのみ不具合が残った。
またw3mmanを使っていると発生する不具合を解消できなかった。
□不具合1:manのキャッシュの文字化け
過去に見た man を再度見ると、文字化けすることがある。
たとえば/usr/share/man/man1/man.1.gz であれば /usr/share/man/cat1/man.1.gz ができる。
catフォルダのファイルを削除すれば文字化けしなくなる。
w3mmanで見るために、 GROFF_NO_SGR=1 をしているが、これが原因かもしれない。
何度か原因を特定しようと試みたが、再現できなかった。
w3mman ではなく、jman であれば GROFF_NO_SGR を指定しなくても日本語は文字化けしない。
□不具合2:w3mman のプチ文字化けがなおらない
w3mmanで見ると「名称」や「書式」「解説」といった太字の部分が、下のように微妙に文字化けする。
太字が途中で普通の文字になったりもしている。jman では文字化けしない。
jman → w3mman
名称 → 名松
書式 → 十饉式
解説 → 臆鮴説
色々環境変数などを見直してみたが、これも原因を特定できず。
結局、man でオリジナル(英語、オプション"-o"を利用)、 jman で日本語マニュアルと使い分けることにした。
w3mmanのリンク機能はとても便利だが、PAGER に w3m を使うだけにして、w3mman の使用はあきらめた。