フォントの埋め込みがうまくいかない

フォントの埋め込みがうまくいかない

by yasui kaisuke -
Number of replies: 12
フォントの埋め込みに失敗し、PDFを生成できず困っています。
環境は、Ubuntu、TeX Live 2016 です。

\documentclass{jsarticle}
\usepackage{otf}
\begin{document}
テスト。
\end{document}

という内容のsample.texをdviファイルに変換したのち、
dvipdfmx -f otf-yu.map sample
とすると、次のようなエラーが出てPDFを作成できません。

[1
dvipdfmx:warning: Could not locate a virtual/physical font for TFM "hminr-h".
dvipdfmx:warning: >> This font is mapped to a physical font "JJSYuMinchoPr6N-R.OTF".
dvipdfmx:warning: >> Please check if kpathsea library can find this font: JJSYuMinchoPr6N-R.OTF
dvipdfmx:fatal: Cannot proceed without .vf or "physical" font for PDF output...

Output file removed.



自分なりに解決策を探しましたが、うまくゆきませんでした。

$ kpsewhich -progname=dvipdfmx -format=.otf JJSYuMinchoPr6N-R.OTF
を実行しても空行しか表示されないので、適切な場所にotfファイルが置かれていないのだろうと考え、
$ kpsewhich -progname=dvipdfmx -show-path=.otf
を実行し、ここで表示されたディレクトリのうちの一つである /usr/local/texlive/texmf-local/fonts/opentype 以下にフォントファイルのシンボリックリンクを貼りましたが、全く解決になりませんでした。


どうすればうまくフォントを埋め込んでPDFを生成できるでしょうか?
よろしくお願いします。

In reply to yasui kaisuke

Re: フォントの埋め込みがうまくいかない

by 奥村 晴彦 -
mktexlsrしていないだけってことはないですよね?
In reply to 奥村 晴彦

Re: フォントの埋め込みがうまくいかない

by yasui kaisuke -
ないと思います。mktexlsrについてあんまりよくわかっていないのですが、とりあえず今回のエラーの解決になりそうな操作をしたあとは随時
$ sudo mktexlsr
を実行するようにしていました。
In reply to yasui kaisuke

Re: フォントの埋め込みがうまくいかない

by Z. R. -

シンボリックリンクを張った後に

kpsewhich -progname=dvipdfmx -format=.otf JJSYuMinchoPr6N-R.OTF

を再度実行した結果はどうなるでしょうか?

In reply to Z. R.

Re: フォントの埋め込みがうまくいかない

by yasui kaisuke -
はる前と全く同じで、何も表示されません。
In reply to yasui kaisuke

Re: フォントの埋め込みがうまくいかない

by 前田 一貴 -
JJSYuMinchoPr6N-R.OTF のファイル名を JJSYuMinchoPr6N-R.otf に変更するとどうでしょうか.
手元で touch で空ファイルを作って試してみただけですが,拡張子が大文字だと kpsewhich でひっかからないような気がします.

.TTF は OK なのに .OTF はだめみたいなのは気のせい?
In reply to 前田 一貴

Re: フォントの埋め込みがうまくいかない

by yasui kaisuke -
うまくいきました!

シンボリックリンクの拡張子を.otfと小文字にし、それに合わせてmapファイル内に記されたフォント名も小文字にしたら、無事、フォントが埋め込まれたPDFが生成されました。

本当に助かりました。ありがとうございます。
In reply to yasui kaisuke

Re: フォントの埋め込みがうまくいかない

by 前田 一貴 -
うまくいったようでよかったです.

自己レスですが,

> .TTF は OK なのに .OTF はだめみたいなのは気のせい?

気のせいではなくて,そう設定されているようです.

$ kpsewhich -help-formats
kpathsea version 6.2.2

Recognized Kpathsea format names and their (abbreviations) and suffixes:
...
truetype fonts: .ttf .ttc .TTF .TTC .dfont  [variables: TTFONTS TEXFONTS]
...
opentype fonts: .otf  [variables: OPENTYPEFONTS TEXFONTS]
...

基本的に拡張子は小文字じゃないといけないけれど,.TTF と .TTC は
例外ということでしょうか.ちなみに,これらは tex-file.c に
直書きされていて,設定ファイル等では変更できないように見えます.
In reply to 前田 一貴

Re: フォントの埋め込みがうまくいかない

by nekurai -
Windows を無視してよければ小文字だけでもいいのかもしれないけど
C:/Windows/fonts の中に山ほど .TTF やら .TTC がいたりするので
例外にしないとマズいのかもしれません。
In reply to nekurai

Re: フォントの埋め込みがうまくいかない

by aminophen -
windows での kpathsea(TeX のファイルサーチシステム)は
大文字と小文字を区別しないので、どちらで検索かけても
ヒットします。むしろ Unix 系で大文字と小文字が区別される
からこそ、例外扱いが必要なのだと思います。

Unix 系で .otf と .OTF の両方を検索できるように、2017 以降の
kpathsea を仕様変更するという可能性はあるのでしょうか?
In reply to aminophen

Re: フォントの埋め込みがうまくいかない

by Akira Kakuto -
> Unix 系で .otf と .OTF の両方を検索できるように

foo.OTF というファイルが Unix system にどの
くらいあるのか知りませんが,追加して困ること
は無いと思いますので,追加しておきました。
In reply to yasui kaisuke

Re: フォントの埋め込みがうまくいかない

by Yamamoto Munehiro "munepi" -
> 環境は、Ubuntu、TeX Live 2016 です。
(snip)
> [1
> dvipdfmx:warning: Could not locate a virtual/physical font > for TFM "hminr-h".
> dvipdfmx:warning: >> This font is mapped to a physical > font "JJSYuMinchoPr6N-R.OTF".
> dvipdfmx:warning: >> Please check if kpathsea library can find this font: JJSYuMinchoPr6N-R.OTF
> dvipdfmx:fatal: Cannot proceed without .vf or "physical" font for PDF output...

お手元の Linux distro である Ubuntu において、該当の游明朝!?OpenTypeフォントの実体とライセンスをお持ちでしょうか?
In reply to Yamamoto Munehiro "munepi"

Re: フォントの埋め込みがうまくいかない

by yasui kaisuke -
実体もライセンスも、恐らく問題ないはずです。LibreOfficeではちゃんとフォントを使用することができています。