Mac (Catalina) にXpdfをインストールして日本語対応


MacにXpdfをインストールする方法を調べたのでまとめました。

PDFの扱いを勉強している中でMacでpdffontsコマンドを使う必要が出てきたため、pdffontsを含むパッケージのXpdfのインストール方法を調べました。新しい情報でうまくまとまったものがありませんでしたので、この記事を読んで皆さまがスムーズにXpdfのインストールできることを願います。

環境

  • macOS Catalina 10.15.15
  • パッケージマネージャー Homebrew

Xpdfのインストール

Homebrewを使います。

brew install xpdf

依存パッケージが多いようで少し時間がかかりました。最近はbrew installすると自動でupdateしてくれてますね。

日本語の表示

言語パッケージをダウンロード

さっそくコマンドを試してみます。日本語を含むファイルで試してみます。

> cd ~/testDir
> pdffonts test.pdf

Syntax Error: Unknown character collection 'Adobe-Japan1'

エラーが出てしまいます。日本語を表示するためにはLanguage support packageをダウンロードしてくる必要があるようです。

Download Xpdf and XpdfReaderのからJapaneseのパッケージをダウンロードします。

/usr/local/share/xpdf/japanese ディレクトリを作成します。
先ほどダウンロードしたJapaneseのパッケージを解凍して、中身を /usr/local/share/xpdf/japanese に移します。
これだけではまだ日本語表示できません。設定ファイルを作る必要があります。

設定ファイルを作る

~/.pdfrc ファイルを作ります(自分はこのファイル名を.pdffrcとしていてハマりました)。このファイルに先ほど解凍した中にあるテキストファイルadd-to-xpdfrcの内容を追加します。またtextEncoding UTF-8も書き加えます。

~/.pdfrc
textEncoding UTF-8

#----- begin Japanese support package (2011-sep-02)
cidToUnicode    Adobe-Japan1    /usr/local/share/xpdf/japanese/Adobe-Japan1.cidToUnicode
unicodeMap  ISO-2022-JP /usr/local/share/xpdf/japanese/ISO-2022-JP.unicodeMap
unicodeMap  EUC-JP      /usr/local/share/xpdf/japanese/EUC-JP.unicodeMap
unicodeMap  Shift-JIS   /usr/local/share/xpdf/japanese/Shift-JIS.unicodeMap
cMapDir     Adobe-Japan1    /usr/local/share/xpdf/japanese/CMap
toUnicodeDir            /usr/local/share/xpdf/japanese/CMap
#fontFileCC Adobe-Japan1    /usr/..../NotoSansCJKjp-Regular.otf
#----- end Japanese support package

他にもオプションが必要であればxpdfrcを参考にしましょう。これで日本語を含むPDFを扱えるようになりました。たとえばフォント情報を見ると次のようになります。

> pdffonts example.pdf

name                                           type              emb sub uni prob object ID
---------------------------------------- ----------------- --- --- --- ---- ---------
IMEOLT+Century                           TrueType          yes yes no            8  0
FJHSNS+HiraMinPro-W3                     CID Type 0C       yes yes no            9  0
UBNOQH+PalatinoLinotype-Italic           TrueType          yes yes yes          11  0

参考リンク

ハマったところ

言語パッケージをどこに置くのか

Homebrewでインストールしたから/usr/local/Cellar/xpdf以下に言語パッケージを置く必要があるのかなと迷走しました。結論としてはどちらでも良いが、/usr/local/shareに置く方がちょいとベターだと考えています。根拠はHomebrewで管理しているものに手を加えるのはよくないかもしれないからです。

設定ファイルの場所

調べた範囲では設定ファイルを/usr/local/etc/xpdfrcとするサイトばかりでした(日本語では)。ただ公式xpdfrcを読んでみると

All of the Xpdf tools read a single configuration file. If you have a .xpdfrc file in your home directory, it will be read. Otherwise, a system-wide configuration file will be read from /usr/local/etc/xpdfrc, if it exists. (This is its default location; depending on build options, it may be placed elsewhere.)

要約すると

  • ~/.xpdfrc があれば読み込む。こちらはユーザーごとの設定。
  • なければ/usr/local/etc/xpdfrcを読み込む。こちらはシステム全体の設定。

個人的にはユーザーごとに設定を変える可能性を考えるので、~/.xpdfrcを設定ファイルとしました。

以上、しょーもないハマったところでした。