xpdfでPDFファイルにSJISで記述されたフォント名"MS明朝"を含んでいる場合の対応方法  



"SVF for Java Print"で作成されたPDFを読めずにいたので、これをxpdfで読めるように何とかした。 この問題はPDFが埋め込みフォントではなく、MS明朝を参照しているところにある。しかもフォント名がSJISだ。 pdffontsでみるとその様が解る。
>pdffonts XXXX.pdf|nkf -u
name                                 type              encoding         emb sub uni object ID
------------------------------------ ----------------- ---------------- --- --- --- ---------
MS明朝                             CID TrueType      90ms-RKSJ-H      no  no  no       8  0
MS明朝,Bold                        CID TrueType      90ms-RKSJ-H      no  no  no       5  0
解決方法は~/.xpdfrcにてMS明朝を定義すればよい。

/.xpdfrcに
cidToUnicode Adobe-Japan1 /usr/local/share/xpdf/japanese/Adobe-Japan1.cidToUnicode
cMapDir     Adobe-Japan1    /usr/local/share/fonts/adobe-cmaps/aj16/CMap
fontFile MS明朝 /usr/local/share/texmf-dist/fonts/truetype/public/ipaex/ipaexm.ttf
fontFile MS明朝,Bold /usr/local/share/texmf-dist/fonts/truetype/public/ipaex/ipaexm.ttf
を記入する。ただし、この設定ファイルをSJISにしておく必要がある。