マニュアルページの国別文字

マニュアルページの国別文字

FreeBSDを使用して国別の文字を正しく表示しようとしています。男性。 8.1と9.0で次のコマンドを実行してみました。

# PAGER=less LANG="pl_PL.UTF-8" man -d -M. ./man.1
-- Using architecture: i386:i386
-- Using pager: less
-- Using manual sections: 1:1aout:8:2:3:n:4:5:6:7:9:l
-- Using locale paths: pl_PL.UTF-8:pl.UTF-8:en.UTF-8:.
-- Using standard page width
-- Searching for ./man.1
-- Found a usable page, displaying that
-- Command: /usr/bin/zcat -f ./man.1 | tbl | groff -S -P-h -Wall -mtty-char -man -Tascii -P-c | less

しかし、次のように印刷されます。

プログラマージョークシステムowA przeglAdarkA stron podrAcznika ekranowego.KaA1 / 4dy Argument ...

同じマンページがLinuxホストに正しく表示されます。

プログラマージョークシステム、przeglądarkąstronpodręcznikaekranowego。カズディの主張...

知識豊富な人が私に9.0のマンページを教えてくれました。とみなされる正しく表示するには。私は何を見逃していますか?

答え1

LESSCHARSET=utf-8私はあなたがあなたの環境に持っているものを見逃していると思います。少なくとも私のFreeBSDホストでは、この設定を使用してマニュアルページを正しい方法で見ることができます。

答え2

その主張はあいまいに-Tascii見えるgroff

manさらなる調査によると、このパラメータはMANPATHのマニュアルページがある場所に基づいて設定されているようです。

たとえば、私のシステムでは、-Tutf8デバッグ出力が表示されるたびに次のようになります。

Found manpage /usr/share/man/en.UTF-8/man1/...

ただし、-Tascii使用履歴を表示するとき

Found manpage /usr/share/man/man1/...

manこの場合、マニュアルページのパスにロケール名が表示されず、デフォルトがASCII / Cロケールに設定されていることが問題だと思います。

回避策として、以下を試してください。

mkdir -p pl.UTF-8/man1
cp man.1 pl.UTF-8/man
man -d -M. man

関連情報