dvipdfmxでC:\Windows\Fontsのフォントが使えない

dvipdfmxでC:\Windows\Fontsのフォントが使えない

- - - の投稿
返信数: 6
はじめまして。

w32texをWindows 7 Professional 64bit環境で構築しているのですが、OTFパッケージ(ヒラギノ)を利用してdvipdfmxを実行すると、下記のエラーがでます。
実行中: C:\w32tex\bin\dvipdfmx.exe document.dvi
dvipdfm.exe> document.dvi -> document.pdf
dvipdfm.exe> [1
dvipdfm.exe> ** WARNING ** File "c:/windows/fonts/HiraKakuProN-W3.otf/rsrc" found but I could not open that...
dvipdfm.exe> ** WARNING ** Could not locate a virtual/physical font for TFM "hgothr-h".
dvipdfm.exe> ** WARNING ** >> This font is mapped to a physical font "HiraKakuProN-W3.otf".
dvipdfm.exe> ** WARNING ** >> Please check if kpathsea library can find this font: HiraKakuProN-W3.otf
dvipdfm.exe> ** ERROR ** Cannot proceed without .vf or "physical" font for PDF output...
dvipdfm.exe>
dvipdfm.exe> Output file removed.
C:\Windows\fontsにはHiraKakuProN-W3.otfは入っており、またHiraKakuProN-W3.otfを{$TEXMF}\fonts\opentype以下にコピーすると、エラーは出ず、PDFが生成されます。

Windows 7の環境で、{$TEXMF}\fonts\opentype以下にシンボリックリンクやコピーを作成しないで、PDFを生成することは不可能なのでしょうか。

この問題についてご存知の方がいらっしゃれば、ご指導のほどよろしくお願いいたします。
- - への返信

Re: dvipdfmxでC:\Windows\Fontsのフォントが使えない

- TDC e の投稿

Windows NT6.x 系であれば、32 / 64bit の別を問わず、UNIXでは聞いたことのある機能で「シンボリックリンク」作成機能というものがあります。XP(NT5.1)・XP x64 Edition(NT5.2) のような NT5.x 系のようにこれがないのでどうしよう、ということであれば、別の方法を提示するところですが、これがありますから、有効活用してみてはいかがでしょうか?

管理者権限でコマンド プロンプトを立ち上げ, C:\w32tex\share\texmf\fonts\opentype\hiraginoにcdを使って移動します(このフォルダがない場合はエクスプローラーでもいいので必要なフォルダを新規作成してください)。

そこで、コマンド プロンプトで

mklink HiraKakuProN-W3.otf C:\Windows\Fonts\HiraKakuProN-W3.otf

と入力すると、C:\w32tex\share\texmf\fonts\opentype\hiraginoのフォルダ内にHiraKakuProN-W3.otfのシンボリックリンクができてると思います。

これでHiraKakuProN-W3.otfが本来のシステムフォルダ以外にC:\w32tex\share\texmf\fonts\opentype\hiraginoのフォルダ内にもあるように内部的にはみえます(通常のコピー&ペーストとは違います)。

コマンド プロンプトのコマンド集がなくて、使ったことがあまりないようでしたら、「Windows Vista コマンド プロンプト ポケットリファレンス」(ISBN-13:9784774131894)を参考になさってください。Vista(NT6.0)はNT6.x 系ですから Windows 7(NT6.1)にもほぼ同様のコマンドが利用できるかと思います。

>Windows 7の環境で、{$TEXMF}\fonts\opentype以下にシンボリックリンクやコピーを作成しないで、PDFを生成することは不可能なのでしょうか。

できなくもないのですが、NT5.x 系の利用ではないということでしたので、それよりは比較的平易であるシンボリックリンクの活用を提案させていただきました。

TDC e への返信

Re: dvipdfmxでC:\Windows\Fontsのフォントが使えない

- - - の投稿
「シンボリックリンク」ですね。
私がVistaを使っていた頃は,TDC eさんの仰る通り,シンボリックリンクを使っておりました。
ただ,フォントが増えるとシンボリックリンクをその度に設定しなければならないので,システムフォントをそのまま利用できればと思いまして,質問させていただきました。

奥村先生のTeX WikiのOTFパッケージの説明部分 (http://oku.edu.mie-u.ac.jp/~okumura/texwiki/?OTF#gb0b4cc5)を見ますと,Microsoft Windows ならば,システムにフォントをインストールしておいても良いでしょう。とありますし,『改定第5版LaTeX2e美文書作成入門』のp.231を見ましても同じような記述がありましたので,システムフォントがそのまま利用できるのではないかと思っております。

やはりシンボリックリンクが一番よい選択(方法)なのでしょうか…。
- - への返信

Re: dvipdfmxでC:\Windows\Fontsのフォントが使えない

- Akira Kakuto の投稿
> "c:/windows/fonts/HiraKakuProN-W3.otf/rsrc"
よく知りませんが、最後の /rsrc は何ですか?

対処法:
texmf/web2c/texmf.cnf
というファイルを編集し、

% Opentype outline fonts.
OPENTYPEFONTS = .;$TEXMF/fonts/opentype//

となっている部分を探し、これを以下のようにしてみて下さい。

% Opentype outline fonts.
OPENTYPEFONTS = .;$TEXMF/fonts/opentype//;$SYSTTF

余談:
間違っている可能性が高いですが、Vista で試したとき、
シンボリックリンクでは失敗した記憶があります。
ハードリンクでは成功しました。
Windows 7 はまた違うかもしれません。

Akira Kakuto への返信

Re: dvipdfmxでC:\Windows\Fontsのフォントが使えない

- TDC e の投稿

角藤先生、NT6.x 系のシンボリックリンクの件ですが、Vista Home Premium x86・7 Professional x64のいずれにおいても当方ではシンボリックリンクに関しては何ら問題はありませんでした。ハードリンクは張っておりませんので検証できませんが…。ただ、フォントライセンスとの絡みで考えたとき、所定のフォルダ以外への配置・移動を認めていないケースもないわけではないのでシンボリックリンクを使うようにしています(NT5.x 系の場合にはこれで困ることがあります。以下の件でなくともですが)。

texmf.cnfで修正すればできるのは知っておりましたが、W32TeXのアップデートをかけたときに書き換わることがあるので、あえて NT6.x 系の強みである「シンボリックリンク」の活用を優先的に考えました。

TDC e への返信

Re: dvipdfmxでC:\Windows\Fontsのフォントが使えない

- - - の投稿
> texmf.cnfで修正すればできるのは知っておりましたが、W32TeXのアップデートをかけたときに書き換わることがあるので、あえて NT6.x 系の強みである「シンボリックリンク」の活用を優先的に考えました。
W32TeXのアップデートをかけたときに書き換わることがあるんですね。
勉強になりました!

TDC eさん,角藤先生,対処法や有益な情報をありがとうございました。
今後ともよろしくお願いいたします。
Akira Kakuto への返信

Re: dvipdfmxでC:\Windows\Fontsのフォントが使えない

- - - の投稿
> よく知りませんが、最後の /rsrc は何ですか?
私もわかりません。申し訳ありません。

対処法,ありがとうございます。
texmf.cnfを修正したところ,私が望むとおり,システムフォントが使えるようになりました。
ありがとうございました!!