[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[debian-users:36077] Re: dvipdfmxでpdfが作成できない



岩井です。長文失礼します。

Atsuhito Kohda <kohda@xxxxxxxxxxxxxxxxxxxx> wrote:
Message-ID: <20030127.210934.41647805.kohda@xxxxxxxxxxxxxxxxxxxx>

> > あと、/etc/texmf/dvipdfm/dvipdfmx.cfg の最後に
> >  
> >  f jis-cjk.map
> 
> 最新の dvipdfmx は fontmaps を読むようになっています。
> それでこの手の設定は fontmaps で行なうべきなんでしょうが
> ちょっとディレクトリ構成がマズイので
> 
> /etc/texmf/dvipdfm/fontmaps に上記の設定した上,
> /usr/share/texmf/dvipdfm にリンクを張ってやらないと
> 駄目なようです。

/etc/texmf/dvipdfm/fontmaps を変更しても、同様に pdf が作成できました。
ただ手元の環境では /etc/texmf/dvipdfm/fontmaps から
/usr/sahre/texmf/dvipdfm へのリンクを必要としないようです。
(strace で追いかけてみても、
読みこんでいるのは /usr/share/texmf/dvipdfm/config/fontmaps)

あと /etc/texmf/dvipdfm/fontmaps についてハマったことを少し書かせてく
ださい。要は、ファイルに書かれた順にフォントが使われるということなので
すが、デフォルトで /etc/texmf/dvipdfm/fontmaps は、ptex-jisfonts
が postinst で作成した以下の内容になっていると思います。

  %-- ptex-jisfonts begin
  f jis.map
  %-- ptex-jisfonts end

ここで末尾に f jis-cjk.map を追加します。

  %-- ptex-jisfonts begin
  f jis.map
  %-- ptex-jisfonts end
  f jis-cjk.map
  ^^^^^^^^^^^^^

このとき dvipdfmx を起動すると、最終的に以下の4つの設定が読み込まれます。

  rml-jis none Ryumin-Light
  gbm-jis none GothicBBB-Medium
  rml-jis H Ryumin-Light
  gbm-jis H GothicBBB-Medium

ここで pdf を作るときに、rml-jis に対しては最初の設定(すなわち 
rml-jis none Ryumin-Light)から使われますが、これが dvipdfmx に関しては
正しい設定ではない(dvipdfmx で ENCNAME が none になることは許されない)
ため、pdf への変換に失敗します。

ここで /etc/texmf/dvipdfm/fontmaps から f jis.map という行を取り除くか、
f jis.map と f jis-cjk.map の順序を逆にしてやると、dvipdfmx で変換がで
きるようになります。しかし、今度は dvipdfm が Can't find encoding file: H
というふうにエラーになってしまいます。

> ところで(話はズレます)少し前にも話が出たのですが teTeX 2.0 
> から dvipdfm は tetex-* に含まれます。そして日本語サポートは
> 無くなります。
> 
> その場合もフォントパッケージ関係のために fontmaps を読む
> ようにはしておく予定なのですが,dvipdfmx と共有すると日本語
> フォントの設定など問題起こしそうな気がします。
> 
> (これに気が付かずに dvipdfmx に fontmaps をサポートして
> 貰ってしまったのですが ^^;)
> 
> fontmaps は既に dvipdfm で使ってた名前なので dvipdfmx の方を
> fontmapx とか別名にして貰うべきかな,と思うのですがどんな
> ものでしょうか? (面倒なだけ?)
> 
> 良くご存知の方の意見を御聞かせいただければと思います。

全くの素人の意見ですいませんが、dvipdfmx は別のファイルを使った方が良
いと思います。dvipdfm と dvipdfmx は map ファイルの書式 (ENCNAME の扱
い)が違うので、同じファイルを使うのは混乱のもとだと思います。もっとも、
普通は dvipdfmx の方が動けば dvipdfm を敢えて使う必要はないのかも知れ
ませんが...

--
 Hidetaka Iwai
 tyuyu@xxxxxxxx