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

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

- yasui kaisuke の投稿
返信数: 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を生成できるでしょうか?
よろしくお願いします。

yasui kaisuke への返信

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

- 奥村 晴彦 の投稿
mktexlsrしていないだけってことはないですよね?
奥村 晴彦 への返信

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

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

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

- Z. R. の投稿

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

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

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

Z. R. への返信

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

- yasui kaisuke の投稿
はる前と全く同じで、何も表示されません。
yasui kaisuke への返信

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

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

.TTF は OK なのに .OTF はだめみたいなのは気のせい?
前田 一貴 への返信

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

- yasui kaisuke の投稿
うまくいきました!

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

本当に助かりました。ありがとうございます。
yasui kaisuke への返信

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

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

自己レスですが,

> .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 に
直書きされていて,設定ファイル等では変更できないように見えます.
前田 一貴 への返信

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

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

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

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

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

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

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

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

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

- 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フォントの実体とライセンスをお持ちでしょうか?
Yamamoto Munehiro "munepi" への返信

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

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