TeX: utf/otf package and dvipdfmx
(Japanese only; this topic talks about the problem that the dvipdfmx causes an error if a target tex source contains characters which cannot be coded as MS932 (a.k.a. Shift_JIS) )
年末に書店へ行ったら、奥村晴彦著「[改訂第4版]LaTeX2e美文書作成入門」が並べてあったので、買ってきました。第2版から買い続けているものの、未だに細かいところでアップデートが行われているので、買っておいて損はないと思います。
今回の改版は、私の感じたところでは、PDF関係やUnicode関係が主な変更点だと思います。
(大学院時代に Mac でヒラギノを埋め込んで「すげーきれいだー」とか悦に入ってたのを思い出す)
残念ながら、今現在でも「utf/otf パッケージとdvipdfm(x) を使って、 Unicode でしか表現できない文字を PDF 出力する」のは簡単ではないようです。少なくともこの「美文書作成入門」のCD-ROMから単純にインストールしただけでは PDF 出力できません(dvipdfmxがエラーを吐く)。以下の問題があります。
(「美文書作成入門」から Windows XP 環境にインストールした場合)
- dvipdfmxに、Unicode 用のフォントエンコーディングファイルがない
- dvipdfmxのフォントマップ(map)には、Unicode 文字列を表現するためのフォントが "KozMinPro-Regular-Acro.otf" と指定されているが、このフォントは TEXMF ディレクトリにインストールされない
まず (1) の問題に対処します。
(以下の例は、すべてのソフトウェアをデフォルト位置にインストールした場合の例です。インストール位置を変更している場合は読み替えてください)
対処方法 (1)
- Adobe Reader 8をインストールする。(脆弱性が発見されているので Adobe Reader 7 はダメ!)
C:\Program Files\Adobe\Acrobat 8.0\Resource\CMap の中身を C:\usr\local\share\texmf-local\dvipdfm\cmap 以下にコピー(もしくはシンボリックリンク)する。
Adobe Reader 付属の CMap ファイルは再配布可能ということなので、コピーしてもライセンス上の問題は発生しないと思います。
続いて (2) ですが、こちらは二つの対処法があります。おすすめは「フォントを埋め込まない方法」です。理由はライセンス上の問題が発生しにくいことと、できあがった PDF ファイルが軽くなることです。
対処方法 (2a) フォントを埋め込まないように map ファイルを作る
- リュウミンライトと中ゴシックBBB を指定した map ファイル(TeX Wiki の dvipdfm 向けフォント埋め込みなしサンプル)を c:\usr\local\share\texmf-local\fonts\map\dvipdfm\local\cid-x-local.map として保存する。
以下のいずれかの方法をとる
- dvipdfmx 実行時に、毎回 dvipdfmx -f cid-x-local.map foo.tex と指定する
- C:\usr\local\share\texmf\dvipdfm\config\dvipdfmx.cfg の最後に "f cid-x-local.map" という行を追加する
対処方法 (2b) フォントを texmf ディレクトリに用意する
- Adobe Reader 8をインストールする。(脆弱性が発見されているので Adobe Reader 7 はダメ!)
C:\Program Files\Adobe\Acrobat 7.0\Resource\CIDFont の中身を C:\usr\local\share\texmf-local\fonts\opentype 以下にコピー(もしくはシンボリックリンク)する。
これで小塚明朝を埋め込んだ PDF を dvipdfmx を使って生成できます。ただし、Adobe Reader 付属のフォントは埋め込み用途を想定していないとのことなので(参考)、実用上は、ライセンス的に問題のないフォント(Mac OS X にプリインストールのヒラギノなど)を埋め込み用に使う必要がありそうです。