PDFのビューアーである xpdf は高性能というわけでもないが、 X11 のクライアントなので、リモートマシンの PDF を見ることが出来て、 重宝して来た。
sudo port install xpdf-japanese +autoactivate |
xpdf に pdftotext というツールが付属しているのを知った。 これを使うと PDF ファイルからテキスト・データを抽出できる。
pdftotext なんとか.pdf かんとか.txt(実はコマンド名は xpdf-pdftotext である。) |
それで久しぶりに xpdf を使ってみて、 表示できない PDF があることに気づいた。 フォント周りの設定が壊れている。
設定ファイルのサンプルには、kochi フォントを使うようになっていたので、 それを試して見る (まあ、最近はフォント埋め込みされた PDF ファイルも増えて来たけれど)。
kochi フォントは MacPorts で簡単にインストール出来る。
sudo port install kochi-substitute |
fontFile Adobe-Japan1 /opt/local/share/fonts/kochi-substitute/kochi-mincho-subst.ttf |
% diff /opt/local/etc/{xpdfrc.org,xpdfrc} 99a100,101 > #fontFile Adobe-Japan1 /usr/local/texlive/texmf-local/fonts/truetype/cjk-gs-integrate/ipaexg.ttf > fontFile Adobe-Japan1 /opt/local/share/fonts/kochi-substitute/kochi-mincho-subst.ttf |
Ryumin-Light-某, GothicBBB-Medium-某 という名前のフォントを 使うようになっている PDF ファイルも多い。 これらを表示するためには、例えば以下のような設定を追加する。
fontFile Ryumin-Light "/opt/local/share/fonts/kochi-substitute/kochi-mincho-subst.ttf" fontFile Ryumin-Light-H "/opt/local/share/fonts/kochi-substitute/kochi-mincho-subst.ttf" fontFile Ryumin-Light-V "/opt/local/share/fonts/kochi-substitute/kochi-mincho-subst.ttf" fontFile Ryumin-Light-Identity "/opt/local/share/fonts/kochi-substitute/kochi-mincho-subst.ttf" fontFile Ryumin-Light-Identity-H "/opt/local/share/fonts/kochi-substitute/kochi-mincho-subst.ttf" fontFile Ryumin-Light-Identity-V "/opt/local/share/fonts/kochi-substitute/kochi-mincho-subst.ttf" fontFile HeiseiMin-W3H "/opt/local/share/fonts/kochi-substitute/kochi-mincho-subst.ttf" fontFile FutoMinA101-Bold "/opt/local/share/fonts/kochi-substitute/kochi-mincho-subst.ttf" fontFile FutoMinA101-Bold-H "/opt/local/share/fonts/kochi-substitute/kochi-mincho-subst.ttf" fontFile FutoMinA101-Bold-V "/opt/local/share/fonts/kochi-substitute/kochi-mincho-subst.ttf" fontFile GothicBBB-Medium "/opt/local/share/fonts/kochi-substitute/kochi-gothic-subst.ttf" fontFile GothicBBB-Medium-H "/opt/local/share/fonts/kochi-substitute/kochi-gothic-subst.ttf" fontFile GothicBBB-Medium-V "/opt/local/share/fonts/kochi-substitute/kochi-gothic-subst.ttf" fontFile GothicBBB-Medium-Identity "/opt/local/share/fonts/kochi-substitute/kochi-gothic-subst.ttf" fontFile GothicBBB-Medium-Identity-H "/opt/local/share/fonts/kochi-substitute/kochi-gothic-subst.ttf" fontFile GothicBBB-Medium-Identity-V "/opt/local/share/fonts/kochi-substitute/kochi-gothic-subst.ttf" fontFile HeiseiKakuGo-W5H "/opt/local/share/fonts/kochi-substitute/kochi-gothic-subst.ttf" fontFile FutoGoB101-Bold "/opt/local/share/fonts/kochi-substitute/kochi-gothic-subst.ttf" fontFile FutoGoB101-Bold-H "/opt/local/share/fonts/kochi-substitute/kochi-gothic-subst.ttf" fontFile FutoGoB101-Bold-V "/opt/local/share/fonts/kochi-substitute/kochi-gothic-subst.ttf" fontFile MS-Gothic "/opt/local/share/fonts/kochi-substitute/kochi-gothic-subst.ttf" fontFile MS-PGothic "/opt/local/share/fonts/kochi-substitute/kochi-gothic-subst.ttf" fontFile MS-Mincho "/opt/local/share/fonts/kochi-substitute/kochi-mincho-subst.ttf" fontFile MS-PMincho "/opt/local/share/fonts/kochi-substitute/kochi-mincho-subst.ttf" fontFile HGSoeiKakugothicUB "/opt/local/share/fonts/kochi-substitute/kochi-gothic-subst.ttf" fontFile HeiseiMin-W3-Identity-H "/opt/local/share/fonts/kochi-substitute/kochi-mincho-subst.ttf" fontFile MSゴシック "/opt/local/share/fonts/kochi-substitute/kochi-gothic-subst.ttf" fontFile MSゴシック,Bold "/opt/local/share/fonts/kochi-substitute/kochi-gothic-subst.ttf" fontFile @MSゴシック,Bold "/opt/local/share/fonts/kochi-substitute/kochi-gothic-subst.ttf" fontFile MSPゴシック "/opt/local/share/fonts/kochi-substitute/kochi-gothic-subst.ttf" fontFile MS明朝 "/opt/local/share/fonts/kochi-substitute/kochi-mincho-subst.ttf" fontFile MS明朝,Bold "/opt/local/share/fonts/kochi-substitute/kochi-mincho-subst.ttf" #Japanese PDF resources |
http://nalab.mind.meiji.ac.jp/~mk/20180818/xpdfrc に置いておく。
(2018/9/19) いつのまにかうまく表示できなくなっていることに気づいた。 日本語の設定部分は良いのだけれど、それ以外の設定部分が変わっていた。 http://nalab.mind.meiji.ac.jp/~mk/20180919/xpdfrc に置いておく。
色々書いたけれど、まとめると次の4コマンドを実行すれば良い。
sudo port install xpdf-japanese +autoactivate sudo port install kochi-substitute curl -O http://nalab.mind.meiji.ac.jp/~mk/20180919/xpdfrc sudo cp -p xpdfrc /opt/local/etc |
もちろん kochi でなくて、 /usr/local/texlive/texmf-local/fonts/truetype/ipaexg.ttf, /usr/local/texlive/texmf-local/fonts/truetype/ipaexm.ttf を使うことも出来る。
(設定ファイルについては、 ~/.xpdfrc があればそれを読む。 それがなければ /opt/local/etc/xpdfrc を読む。 追加にはならないんだ。コピーしてから書き換えるのが正しい?)
上の対応策はスマートでないと考えている (本当に長たらしいパスをたくさん書かないといけないの?)。 そのうち検討しよう。
フォントをいじっていて気がついたのだけど、 pdffonts というツールもある。 MacPorts で xpdf をインストールすると、 xpdf-pdffonts という名前でインストールされる (名前の衝突を避けるために xpdf- がつくのだとか)。
同じようなものが他にも色々ある。まとめておく。
pdffonts | PDF のフォント情報を表示 |
pdfimages | PDF から画像を抽出する |
pdfinfo | PDF の文書情報を表示 |
pdftops | PDF を PostScript ファイルに変換 |
pdftotext | PDF からテキストを抽出 |
pdftoppm | PDF を PPM 画像形式に変換 |
pdfdetach | PDF にアタッチされた部分をファイルとして抜き出すプログラム |
別名定義 (bash用) |
alias pdffonts=xpdf-pdffonts alias pdfimages=xpdf-pdfimages alias pdfinfo=xpdf-pdfinfo alias pdftops=xpdf-pdftops alias pdftotext=xpdf-pdftotext alias pdftoppm=xpdf-pdftoppm alias pdfdetach=xpdf-pdfdetach |
Xpdf には、Poppler という派生ソフトもあるとのこと。 そちらの日本語対応はどうなっているのかな。
(2018/12/13)
おや?
Syntax Error: Couldn't find a font for 'KozMinPro-Regular-Acro' |
fontFile KozMinPro-Regular-Acro "/opt/local/share/fonts/kochi-substitute/kochi-mincho-subst.ttf" |
(2021/2/26追記)
http://nalab.min
d.meiji.ac.jp/~mk/misc/20220226/xpdfrcというのを作った。
http://nalab
.mind.meiji.ac.jp/~mk/knowhow-2021/node56.htmlを参照せよ。
sudo port install xpdf-japanese +autoactivate sudo port install kochi-substitute curl -O http://nalab.mind.meiji.ac.jp/~mk/20181213/xpdfrc sudo cp -p xpdfrc /opt/local/etc |
桂田 祐史