ござるのブログ

覚え書きいろいろ

OSXにHomebrewで入れたnkfでman nkfするとfatal error: invalid device `nippon'と言われるのをなんとかする

はじめに

OSX YosemiteHomebrewnkfw3mなどを入れているのですが、

$ man nkf

とすると

/usr/bin/groff: can't find `DESC' file
/usr/bin/groff:fatal error: invalid device `nippon'

と言われて表示できません。しかし、こちらで紹介されている通りにやると、nkfのmanを日本語で閲覧することができました。

Homebrewでgroffをインストール

こちらで紹介されている通りに、Homebrewでgroffをインストールします。

$ brew tap homebrew/dupes
$ brew install groff

/etc/man.confの修正

$ sudo -e /etc/man.conf

で以下のように修正します。

--- /etc/man.conf.orig  2014-09-10 09:16:35
+++ /etc/man.conf       2014-12-03 22:10:24
@@ -92,7 +92,7 @@
 #
 TROFF          /usr/bin/groff -Tps -mandoc -c
 NROFF          /usr/bin/groff -Wall -mtty-char -Tascii -mandoc -c
-JNROFF         /usr/bin/groff -Tnippon -mandocj -c
+JNROFF         /usr/local/bin/groff -Dutf8 -Tutf8 -mandoc -mja -E
 EQN            /usr/bin/eqn -Tps
 NEQN           /usr/bin/eqn -Tascii
 JNEQN          /usr/bin/eqn -Tnippon
@@ -102,8 +102,8 @@
 PIC            /usr/bin/pic
 VGRIND
 GRAP
-PAGER          /usr/bin/less -is
-BROWSER                /usr/bin/less -is
+PAGER          /usr/bin/less -isr
+BROWSER                /usr/bin/less -isr
 HTMLPAGER      /bin/cat
 CAT            /bin/cat
 #

これで

$ man nkf

とすると

nkf(1)                                                                                              nkf(1



NAME
       nkf - ネットワーク用漢字コード変換フィルタ

SYNOPSIS
       nkf [-butjnesliohrTVvwWJESZxXFfmMBOcdILg] [file ...]

DESCRIPTION
       nkf はネットワークでメールやニュースの読み書きをするために作られた、漢字コードの変換フィルタであ
       る。

...

このように日本語で表示されるようになりました。

w3mのmanをUTF-8に変換

ところが、

$ man w3m

とすると文字化けします。/usr/local/opt/w3m/share/man/ja/man1/w3m.1EUCなのが原因なので、UTF-8に変換します。

$ nkf -w --overwrite /usr/local/opt/w3m/share/man/ja/man1/w3m.1

これで、w3mのmanも読めるようになりました。