偶然気付いたのだが……。
dvipdfmx で DVI → PDF の変換をする時に -v オプションを付けると読み込まれたマップファイルが端末に出力される。適当な DVI ファイルを用いて、W32TeX と TeX Live の各々についてマップファイルを調べてみる。
C>dvipdfmx -v test.dvi <FONTMAP:psbase14.map><FONTMAP:pdfmfnt.map><FONTMAP:cid-x.map>test.dvi -> test.p df DVI Comment: TeX output 2013.01.31:1717 ……(後略)……
C>dvipdfmx -v test.dvi <FONTMAP:pdftex.map><FONTMAP:kanjix.map><FONTMAP:ckx.map>test.dvi -> test.pdf DVI Comment: TeX output 2013.01.31:1717
……なんと、TeX Live の dvipdfmx は pdfTeX 用のマップファイルを読んでいる!
詳しく言うと、W32TeX の updmap は設定ファイル(updmap.cfg)の内容に基づいて、dvipdfmx 用に pdfmfnt.map、pdfTeX 用に pdftex.map というマップファイルを作成する。確か teTeX の updmap も(内部動作はかなり異なるが)同じ結果であったはずである。TeX Live も同じだとずっと思い込んでいたが間違っていた。前回の記事で述べたように、現在の dvipdfmx は pdfTeX の形式のマップファイルも受け付ける。この仕様を利用して、TeX Live では「pdfTeX 用のマップファイル」である pdftex.map を dvipdfmx も共用する設定になっている。(pdfmfnt.map は作成すらされていない。)*1
それならば、「dvipdfmx の Base14 の埋込設定が TeX Live にない」のも納得できる。pdfTeX と共通になっているはずである。つまり、pdftexDownloadBase14 オプションを偽にすれば、dvipdfmx でも Base14 が非埋込になるはず。
……いやそれも違う。前回の「実験」で解ったように、pdfTeX 形式の「非埋込」のマップ行は dvipdfmx では正しく扱えなかったはずである。ということは、pdftexDownloadBase14 を偽にすると Base14 がビットマップになってしまう?
\documentclass[a4paper]{article} \begin{document} \usefont{T1}{ptm}{m}{n}Times! \end{document}
updmap --setoption pdftexDownloadBase14 false latex test.tes dvipdfmx test.dvi
……結果は予想通り、Times がビットマップになってしまった。うむむ、悩ましい。要するに、dvipdfmx の
pdfTeX 形式の「非埋込」のマップ行は dvipdfmx では正しく扱えない
という仕様(バグ?)が困難の原因なんだよな。(これが無ければ、「pdftexDownloadBase14 で pdfTeX と dvipdfmx の両方を設定できます」ですっきり済む話である。)