anything-books.elをWindowsで使う

先日の記事(anything-books.el ver 1.1 アップデート、機能追加など)にWindowsで動かないとコメントをもらいましたので、ちょっと対応してみました。

以下は Window XP (32bit) での説明です。Windows 7 や 64bit ではもしかしたら設定を変える必要があるかも知れません。

(2011/04/14追記: GSよりもMuPADの方が手軽です。GSのインストールは飛ばして、代わりにMuPDFを入れて、こちらの設定(https://gist.github.com/915070)を参考にしてみてください。@osamu2001さん、情報ありがとうございます。)

必要なもの

Windows用のEmacsについては、本家Emacs23(23.1.50.1 i386-mingw)とMeadow 3.00(22.3.1)で確認しています。本家とMeadow系で若干動作が違うところがありますので、設定に注意してください。

ImageMagickとGhostScriptはWindows用のものを入れます。インストール先はどこでも(空白付きのパスでも)結構です。

注意としてはCygwinのものでは動きません。(両方入れていても、フルパスで指定するので大丈夫だとは思います。多分。)

PDFビューアーについては、PDFファイルに関連づけがしてあれば何でも良いと思います。

各elファイルは最初の記事を参考に入れてください。deferred.elも更新してありますので、一応全部最新にしてみてください。

GhostScriptの設定

まず、install.txtの内容に従って、GSViewで憲法が表示できるところまで来てください。

次に、GhostScriptのインストールフォルダの中にあるcidfmapファイルを編集して足りないフォント情報を追加します。(今後のGSのバージョンの変化によって、今後必要な設定が変わるかも知れません。)

\gs9.00\lib\cidfmap をテキストエディタで開いて以下の行を最後に追加します。改行がLFのみなので、ちゃんとしたエディタを使う必要があります。

/MSMincho /MS-Mincho04 ;

Emacsの設定

設定の中の「xxxxx」は、適切なインストールパスに書き換えてください。
作業フォルダを「C:/temp」としていますので、以下の設定をそのまま使う場合はフォルダを作ってください。もしくは適当なフォルダに書き換えても良いと思います。

(require 'anything-books)
(setq abks:books-dir "/home/foo/bar/pdf-files") ; PDFファイルのあるディレクトリ

(setq abks:preview-temp-dir "C:/temp")
(setq abks:mkcover-cmd '("C:/xxxxx/gs9.00/bin/gswin32c.exe" "-dSAFER" "-dBATCH" "-dNOPAUSE" "-sDEVICE=png16m" "-r50" "-dLastPage=1" (format "-sOutputFile=%s" (cdr (assq 'thum data-alist))) pdf))
(setq abks:convert-cmd '("C:/Program Files/ImageMagick-xxxxx/convert.exe" "-resize" size from to))
(setq abks:mkcover-image-ext ".png")
(setq abks:copy-by-command nil)

(setq abks:open-command '("CMD.exe" "/C" file)) ; 本家Emacsの場合

(setq abks:open-command "fiber") ; Meadowの場合

(global-set-key (kbd "M-8") 'anything-books-command) ; キーバインド

これで動くはずです。動かない場合は、お使いの環境などを添えてコメントなどにどうぞ。


ここまで来ると、スタートメニューからanything出来るようにして、PDFを開く専用のランチャーみたいにしても良いのかなとか思いました。