2009年11月5日木曜日

dvipdfmxでのしおり文字化け

beamerでつくったPDFのスライドの日本語のしおりが文字化けしとる.
プリアンブルに下記の行を入れとけば,今まで化けなかったんだけど.
\AtBeginDvi{\special{pdf:tounicode EUC-UCS2}}
これは,TeXのディストリビューション(texlive2008とかに)にEUC-UCS2というmapファイルが抜けてるかららしい.
下がdivpdfmx hogehoge.pdfのエラー.
** WARNING ** Failed to load ToUnicode mapping: EUC-UCS2
** WARNING ** Interpreting special command tounicode (pdf:) failed.
** WARNING ** >> at page="1" position="(72, 200.126)" (in PDF)
** WARNING ** >> xxx "pdf:tounicode EUC-UCS2"

Mac OS XでSpotlightで検索すると,EUC-UCS2ってファイルはあるんだけどね.
どうもパスが通ってないらしい?よく分からない.

そこで,このEUC-UCS2ってファイルをTeXのソースファイルのあるフォルダに置いてやる.
そうすると無事に文字化けせずに出てきました.

これは!と思い適当に,パスが通ってそうなところにコピーしまくったんですが,どこにコピーしても治りませんでした.
残念だよ.いつも期待通りに動いてくれないよ.
当分はソースファイルと一緒に所に置いとくしかなさそうです.

ちなみにfinkの場合,stableのままplatexをインストールすると,そのままでは文字化けしない.
(unstableにすると,texlive2008がインストールされるので化ける.)

あと,プリアンブルにこんな感じのことを書くと,化けない可能性あり.
\usepackage{atbegshi}
\ifnum 42146=\euc"A4A2
\AtBeginShipoutFirst{%
\special{pdf:tounicode EUC-UCS2}}
\else
\AtBeginShipoutFirst{%
\special{pdf:tounicode 90ms-RKSJ-UCS2}}
\fi

それかいざとなったら\sectionを書くときに,
\section[Introduction]{はじめに}
みたいな感じに書くと,しおりにはInroductionが使われるので,化ける心配無し.
ただし,beamerのouterthemeにも英語の方が使われるので,なんか気まずい.

0 件のコメント:

コメントを投稿