Emacsでの日本語印刷
あんまりEmacsで印刷ってしなかったのです。で、どうやるのかな、と調べてみた所、
M-x print-buffer
としたら、わりとさくっとプリントアウト出来たので、まあいいかと思ったのですが、普段はエディタから出力するようなものは、紙がもったいないので、2面付けとか両面印刷にしているのですが、そういうダイアログなしで一気にプリンタに送っちゃうんですね。
どうするといいのかしら、と調べてみた所、以下サイトで詳しく教えてくれていました。ありがとうございます。
Cocoa Emacs(24.3)での日本語印刷 – tamo's blog
https://tamosblog.wordpress.com/2013/12/11/cocoa-emacs24_print/
いったんpostscriptにして、MacのデフォルトアプリケーションのPreview.appで開く、それからプリントアウトする、という手です。
僕は、環境の相違から上記サイトのままでは動かなかったので、以下のようにしました。
pdf-preview.el
まずは、pdf-preview.elを入手し、requireできる所に置きます。
http://en.sourceforge.jp/projects/macemacsjp/scm/svn/blobs/head/pdf-preview/trunk/pdf-preview.el
人によっては、次の3行だけでいけるのかもしれません。
(setq ps-multibyte-buffer 'non-latin-printer) (require 'ps-mule) (defalias 'ps-mule-header-string-charsets 'ignore)
日本語の文字化け
僕は、日本語のファイルが化けてしまったので、以下措置をしました。
terminal.appで、
locate ghostscript|grep "CIDFont"
で、自分のghostscriptのフォントの場所を探しでcdします。僕の場合は、Macportで入れていて、以下のディレクトリでした。
cd /opt/local/share/ghostscript/9.19/Resource/CIDFont
さきほどのページにならって、シンボリックリンクをはります。
sudo ln -s /System/Library/Fonts/ヒラギノ角ゴ\ ProN\ W3.otf HiraKakuProN-W3 sudo ln -s /System/Library/Fonts/ヒラギノ角ゴ\ ProN\ W6.otf HiraKakuProN-W6 sudo ln -s /System/Library/Fonts/ヒラギノ明朝\ ProN\ W3.otf HiraMinProN-W3 sudo ln -s /System/Library/Fonts/ヒラギノ明朝\ ProN\ W6.otf HiraMinProN-W6
また、さきほどの処理と同じく、以下ディレクトリを探します。
locate ghostscript|grep "Resource/Font" cd /opt/local/share/ghostscript/9.19/Resource/Font
これより下は、viでファイルを作った後、続く文字列をそのファイルの内容とする、という関係です。
sudo vi Ryumin-Light-H /Ryumin-Light-H /H /CMap findresource [/HiraMinProN-W3 /CIDFont findresource] composefont pop sudo vi Ryumin-Light-V /Ryumin-Light-V /V /CMap findresource [/HiraMinProN-W3 /CIDFont findresource] composefont pop sudo vi GothicBBB-Medium-H /GothicBBB-Medium-H /H /CMap findresource [/HiraKakuProN-W3 /CIDFont findresource] composefont pop sudo vi GothicBBB-Medium-V /GothicBBB-Medium-V /V /CMap findresource [/HiraKakuProN-W3 /CIDFont findresource] composefont pop
.emacs
.emacsには、次のようにしています。
(when (load-file (concat "path/to/" "pdf-preview.el")) (require 'pdf-preview) (setq pdf-preview-preview-command "open -a Preview.app") (global-set-key (kbd "s-P") (lambda () (interactive) (when (and (yes-or-no-p "Show current buffer by Preview.app?") (or (<= (length (buffer-string)) 10000) (and (> (length (buffer-string)) 10000) (yes-or-no-p "Current buffer is large. Preview takes quite time. Preview this?")))) (pdf-preview-buffer)))))
数万字のファイルだと、フリーズした? というくらい時間がかかったので、動作時に確認するようにしています。また、Macなので、cmd+shift+sといういかにもMacっぽいキーバインドをあてています。