cmap-adobe-japan1を入れて解決

Debian -- Error
は依存ファイルが多い。フォントも入っている。しかし、エラーはcmapというのが関係しているようだ。(参考:pdftotextで PDFからのテキスト抜き出し - reservoirのブログ
ということは、やはりxpdf-japaneseが依存していて、いかにもそれっぽい名前の
Debian -- Error
を入れれば良いのでは、と思い直した。いずれにせよこの二つはnon-freeと書いてあるので、どうやらapt-getでは取れないようだ。

ということで後者をダウンロードしてきて、aptitudeでインストール*1

degas@debian:~$ sudo dpkg -i cmap-adobe-japan1_0+20040605-3_all.deb 
未選択パッケージ cmap-adobe-japan1 を選択しています。
(データベースを読み込んでいます ... 現在 46580 個のファイルとディレクトリがインストールされています。)
(cmap-adobe-japan1_0+20040605-3_all.deb から) cmap-adobe-japan1 を展開しています...
cmap-adobe-japan1 (0+20040605-3) を設定しています ...

しかしこの後もまだ同じく

Error: Unknown character collection 'Adobe-Japan1'

が出る。

どこにこのcmapが有るのか分からないのが問題なのだろう。では設定が載っていると思われる辺りを調査。

degas@debian:/etc/xpdf$ ls -alF
合計 52
drwxr-xr-x  2 root root 4096 2008-10-02 16:24 ./
drwxr-xr-x 75 root root 4096 2008-10-02 16:00 ../
-rw-r--r--  1 root root  398 2008-07-29 21:59 includes
-rw-r--r--  1 root root 3324 2007-08-04 02:02 xpdfrc
-rw-r--r--  1 root root  151 2007-08-04 01:22 xpdfrc-arabic
-rw-r--r--  1 root root  231 2007-08-04 01:22 xpdfrc-cyrillic
-rw-r--r--  1 root root  222 2007-08-04 01:22 xpdfrc-greek
-rw-r--r--  1 root root  222 2007-08-04 01:22 xpdfrc-hebrew
-rw-r--r--  1 root root 5652 2004-08-18 22:58 xpdfrc-japanese.dpkg-new
-rw-r--r--  1 root root  143 2007-08-04 01:22 xpdfrc-latin2
-rw-r--r--  1 root root  196 2007-08-04 01:22 xpdfrc-thai
-rw-r--r--  1 root root  154 2007-08-04 01:22 xpdfrc-turkish

/etc/xpdf/xpdfrcを読みに行くようなのだが、Adobe-Japan1のありかが書かれているのは/etc/xpdf/xpdfrc-japanese.dpkg-new。

degas@debian:/etc/xpdf$ cat xpdfrc
#========================================================================
#
# System-wide xpdfrc file
#
# The Xpdf tools look for a config file in two places:
# 1. ~/.xpdfrc
# 2. /etc/xpdf/xpdfrc
#
# Note that if ~/.xpdfrc exists, Xpdf will NOT read the system
# configuration file /etc/xpdf/xpdfrc. You may wish to include it
# from your ~/.xpdfrc using:
#    include /etc/xpdf/xpdfrc
# and then add additional settings.
#
# For complete details on config file syntax and available options, 
# please see the xpdfrc(5) man page.
#
# http://www.foolabs.com/xpdf/
#
#========================================================================

#----- display fonts

# These map the Base-14 fonts to the Type 1 fonts that ship with
# ghostscript (gsfonts package).

displayFontT1 Times-Roman		/usr/share/fonts/type1/gsfonts/n021003l.pfb
(以下略)
degas@debian:/etc/xpdf$ more xpdfrc-japanese.dpkg-new 
#----- begin Japanese support package (2004-jul-27)
cidToUnicode	Adobe-Japan1	/usr/share/xpdf/japanese/Adobe-Japan1.cidToUnicode
unicodeMap	ISO-2022-JP	/usr/share/xpdf/japanese/ISO-2022-JP.unicodeMap
unicodeMap	EUC-JP		/usr/share/xpdf/japanese/EUC-JP.unicodeMap
unicodeMap	Shift-JIS	/usr/share/xpdf/japanese/Shift-JIS.unicodeMap
cMapDir		Adobe-Japan1	/usr/share/fonts/cmap/adobe-japan1
toUnicodeDir			/usr/share/fonts/cmap/adobe-japan1
(以下略)

ということで、/etc/xpdf/xpdfrcに追加。~/.xpdfrcに/etc/xpdf/xpdfrcを含める際の書式を参考。

include /etc/xpdf/xpdfrc-japanese.dpkg-new 

これでpdftotextが動くようになった。ので/usr/bin/estfxpdftohtmlもちゃんと日本語が読めるようになるはず。

*1:なぜapt-getじゃないかというと、aptitudeのほうが賢いらしいというのを知ったので。