fontspec error: "font-not-found"

fontspec error: "font-not-found"

- kondo yuzo の投稿
返信数: 16
Macのtexliveのxelatexで"hello.tex"というファイルのコンパイルを試みましたが、題名のエラーメッセージが出て完遂できません
回避方法を教えていただけませんでしょうか?

--------hello.tex------
\documentclass{article}

\usepackage{xltxtra}
\setmainfont{IPAPMincho}
\setsansfont{IPAPGothic}
\setmonofont{IPAGothic}
\XeTeXlinebreaklocale "ja"

\begin{document}
こんにちは世界
\end{document}
---------------------------

エラーメッセージ


bash-3.2$ xelatex hello.tex
This is XeTeX, Version 3.14159265-2.6-0.99998 (TeX Live 2017) (preloaded format=xelatex)
restricted \write18 enabled.
entering extended mode
(./hello.tex
LaTeX2e <2017-04-15>
Babel <3.15> and hyphenation patterns for 84 language(s) loaded.
(/usr/local/texlive/2016/texmf-dist/tex/latex/base/article.cls
Document Class: article 2014/09/29 v1.4h Standard LaTeX document class
(/usr/local/texlive/2016/texmf-dist/tex/latex/base/size10.clo))
(/usr/local/texlive/2016/texmf-dist/tex/latex/xltxtra/xltxtra.sty
(/usr/local/texlive/2016/texmf-dist/tex/generic/oberdiek/ifluatex.sty)
(/usr/local/texlive/2016/texmf-dist/tex/generic/ifxetex/ifxetex.sty)
(/usr/local/texlive/2016/texmf-dist/tex/latex/fontspec/fontspec.sty
(/usr/local/texlive/2016/texmf-dist/tex/latex/l3packages/xparse/xparse.sty
(/usr/local/texlive/2016/texmf-dist/tex/latex/l3kernel/expl3.sty
(/usr/local/texlive/2016/texmf-dist/tex/latex/l3kernel/expl3-code.tex)
(/usr/local/texlive/2016/texmf-dist/tex/latex/l3kernel/l3xdvipdfmx.def)))
(/usr/local/texlive/2016/texmf-dist/tex/latex/fontspec/fontspec-xetex.sty
(/usr/local/texlive/2016/texmf-dist/tex/latex/base/fontenc.sty
(/usr/local/texlive/2016/texmf-dist/tex/latex/base/tuenc.def))
(/usr/local/texlive/2016/texmf-dist/tex/latex/fontspec/fontspec.cfg)))
(/usr/local/texlive/2016/texmf-dist/tex/latex/realscripts/realscripts.sty)
(/usr/local/texlive/2016/texmf-dist/tex/latex/metalogo/metalogo.sty
(/usr/local/texlive/2016/texmf-dist/tex/latex/graphics/graphicx.sty
(/usr/local/texlive/2016/texmf-dist/tex/latex/graphics/keyval.sty)
(/usr/local/texlive/2016/texmf-dist/tex/latex/graphics/graphics.sty
(/usr/local/texlive/2016/texmf-dist/tex/latex/graphics/trig.sty)
(/usr/local/texlive/2016/texmf-dist/tex/latex/graphics-cfg/graphics.cfg)
(/usr/local/texlive/2016/texmf-dist/tex/latex/graphics-def/xetex.def)))))
kpathsea: Running mktextfm IPAPMincho
/usr/local/texlive/2016/texmf-dist/web2c/mktexnam: Could not map source abbreviation I for IPAPMincho.
/usr/local/texlive/2016/texmf-dist/web2c/mktexnam: Need to update /usr/local/texlive/2016/texmf-dist/fonts/map/fontname/special.map?
mktextfm: Running mf-nowin -progname=mf \mode:=ljfour; mag:=1; nonstopmode; input IPAPMincho
This is METAFONT, Version 2.7182818 (TeX Live 2017) (preloaded base=mf)


kpathsea: Running mktexmf IPAPMincho
! I can't find file `IPAPMincho'.
<*> ...four; mag:=1; nonstopmode; input IPAPMincho
 
Please type another input file name
! Emergency stop.
<*> ...four; mag:=1; nonstopmode; input IPAPMincho
 
Transcript written on mfput.log.
grep: IPAPMincho.log: No such file or directory
mktextfm: `mf-nowin -progname=mf \mode:=ljfour; mag:=1; nonstopmode; input IPAPMincho' failed to make IPAPMincho.tfm.
kpathsea: Appending font creation commands to missfont.log.


!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!
! fontspec error: "font-not-found"
!
! The font "IPAPMincho" cannot be found.
!
! See the fontspec documentation for further information.
!
! For immediate help type H <return>.
!...............................................
 
l.4 \setmainfont{IPAPMincho}
 
?


kondo yuzo への返信

Re: fontspec error: "font-not-found"

- Akira Kakuto の投稿
フォント名ではなくて、ファイル名を指定してみて下さい:

\setmainfont{IPAPMincho}
\setsansfont{IPAPGothic}
\setmonofont{IPAGothic}

を以下のように変更する:

\setmainfont{ipamp.ttf}
\setsansfont{ipagp.ttf}
\setmonofont{ipag.ttf}

もしこれでだめだったら

\setmainfont{[ipamp.ttf]}
\setsansfont{[ipagp.ttf]}
\setmonofont{[ipag.ttf]}
Akira Kakuto への返信

Re: fontspec error: "font-not-found"

- kondo yuzo の投稿
早速のご教示ありがとうございます

\setmainfont{ipamp.ttf}
\setsansfont{ipagp.ttf}
\setmonofont{ipag.ttf}

でうまくいきました

手持ちのファイルの多くがファイル名でフォント指定しています
設定を変更するなどして、フォント名指定のファイルを処理できませんでしょうか?
kondo yuzo への返信

Re: fontspec error: "font-not-found"

- 奥村 晴彦 の投稿
システムにインストールされたフォントなら大丈夫だと思います。PostScript名で

\setmainfont{IPAexMincho}
\setsansfont{IPAexGothic}

みたいに。
奥村 晴彦 への返信

Re: fontspec error: "font-not-found"

- 和田 勇 の投稿
ふ〜ん、そうか、と言うことで試してみました

kpsewhich ipaexg.ttf とかしてフォントのパスを出してフォントをインストールしてみた。

FontBook.app でインストールしてみると確かに PostScript名でもできますね。

FontBook を使わず kpsewhich で表示されたパスを $HOME/Library/Fonts/ に copy でも OK でした。

当然、削除すると再びエラーになります。
和田 勇 への返信

Re: fontspec error: "font-not-found"

- 奥村 晴彦 の投稿
\setmainfont{IPAex明朝}

でもいいみたいですね。
奥村 晴彦 への返信

Re: fontspec error: "font-not-found"

- 和田 勇 の投稿
と言うことは fulename / Spostsriptname / file で OK なのですね
と言うか先ほどまで fish でやっていましたが bash 風にすると下のようなことしてあれこれ眺めていました。
osascript -e 'tell application "Font Book" to get typefaces' | tr , '\n' | rg -i IPA
とか
find /usr/local/texlive/2020/ -iname '*.ttf' | while read ff ; do
     fc-scan  --format "\n{\n\t\"fullname\":       \"%{fullname}\",\n\t\"postscriptname\": \"%{postscriptname}\",\n\t\"file\":           \"%{file}\"\n}" $ff
done  | rg -C1 IPA
奥村 晴彦 への返信

Re: fontspec error: "font-not-found"

- kondo yuzo の投稿
投稿ありがとうございます

英・日・中が混在する文書をxelatexで作成したくて次のようなファイルを作りました
--------------------------------------------------------
\documentclass[a4paper]{book}

\usepackage{fontspec}
\usepackage{xltxtra,url}
\usepackage{graphicx}
\usepackage[]{pdfpages}

\usepackage{polyglossia}
\setmainlanguage[variant=american]{english}

\fontspec[Letters=SmallCaps]{TeX Gyre Termes}
\setromanfont[Mapping=tex-text]{TeX Gyre Termes} % Times substitute
\fontspec[Letters=SmallCaps]{TeX Gyre Heros}
\setsansfont[]{TeX Gyre Heros} % Helvetica substitute
\setmonofont[]{TeX Gyre Cursor} % Courier substitute

\newfontfamily\japanesefont[BoldFont={IPAPGothic}]{Hiragino Mincho Pro}
\newcommand{\jpn}[1]{{\japanesefont #1}}

\newfontfamily\chinesefont[BoldFont={MS Hei}]{STSong}
\newcommand{\chin}[1]{{\chinesefont #1}}

\begin{document}

hello
こんにちは
你好

\end{document}
--------------------------------------------------------------

タイプセットを試みたところ以下のエラーのように
フォントを使うことができません
対応方法を教えていただけませんでしょうか?

-------------------------------------------------------------
This is XeTeX, Version 3.14159265-2.6-0.99998 (TeX Live 2017) (preloaded format=xelatex)
restricted \write18 enabled.
entering extended mode
(./sample.tex
LaTeX2e <2017-04-15>
Babel <3.15> and hyphenation patterns for 84 language(s) loaded.
(/usr/local/texlive/2016/texmf-dist/tex/latex/base/book.cls
Document Class: book 2014/09/29 v1.4h Standard LaTeX document class
(/usr/local/texlive/2016/texmf-dist/tex/latex/base/bk12.clo))
(/usr/local/texlive/2016/texmf-dist/tex/latex/fontspec/fontspec.sty
(/usr/local/texlive/2016/texmf-dist/tex/latex/l3packages/xparse/xparse.sty
(/usr/local/texlive/2016/texmf-dist/tex/latex/l3kernel/expl3.sty
(/usr/local/texlive/2016/texmf-dist/tex/latex/l3kernel/expl3-code.tex)
(/usr/local/texlive/2016/texmf-dist/tex/latex/l3kernel/l3xdvipdfmx.def)))
(/usr/local/texlive/2016/texmf-dist/tex/latex/fontspec/fontspec-xetex.sty
(/usr/local/texlive/2016/texmf-dist/tex/latex/base/fontenc.sty
(/usr/local/texlive/2016/texmf-dist/tex/latex/base/tuenc.def))
(/usr/local/texlive/2016/texmf-dist/tex/latex/fontspec/fontspec.cfg)))
(/usr/local/texlive/2016/texmf-dist/tex/latex/xltxtra/xltxtra.sty
(/usr/local/texlive/2016/texmf-dist/tex/generic/oberdiek/ifluatex.sty)
(/usr/local/texlive/2016/texmf-dist/tex/generic/ifxetex/ifxetex.sty)
(/usr/local/texlive/2016/texmf-dist/tex/latex/realscripts/realscripts.sty)
(/usr/local/texlive/2016/texmf-dist/tex/latex/metalogo/metalogo.sty
(/usr/local/texlive/2016/texmf-dist/tex/latex/graphics/graphicx.sty
(/usr/local/texlive/2016/texmf-dist/tex/latex/graphics/keyval.sty)
(/usr/local/texlive/2016/texmf-dist/tex/latex/graphics/graphics.sty
(/usr/local/texlive/2016/texmf-dist/tex/latex/graphics/trig.sty)
(/usr/local/texlive/2016/texmf-dist/tex/latex/graphics-cfg/graphics.cfg)
(/usr/local/texlive/2016/texmf-dist/tex/latex/graphics-def/xetex.def)))))
(/usr/local/texlive/2016/texmf-dist/tex/latex/url/url.sty)
(/usr/local/texlive/2016/texmf-dist/tex/latex/pdfpages/pdfpages.sty
(/usr/local/texlive/2016/texmf-dist/tex/latex/base/ifthen.sty)
(/usr/local/texlive/2016/texmf-dist/tex/latex/tools/calc.sty)
(/usr/local/texlive/2016/texmf-dist/tex/latex/eso-pic/eso-pic.sty
(/usr/local/texlive/2016/texmf-dist/tex/generic/oberdiek/atbegshi.sty
(/usr/local/texlive/2016/texmf-dist/tex/generic/oberdiek/infwarerr.sty)
(/usr/local/texlive/2016/texmf-dist/tex/generic/oberdiek/ltxcmds.sty)
(/usr/local/texlive/2016/texmf-dist/tex/generic/oberdiek/ifpdf.sty))
(/usr/local/texlive/2016/texmf-dist/tex/latex/xcolor/xcolor.sty
(/usr/local/texlive/2016/texmf-dist/tex/latex/graphics-cfg/color.cfg)))
(/usr/local/texlive/2016/texmf-dist/tex/latex/pdfpages/ppxetex.def))
(/usr/local/texlive/2016/texmf-dist/tex/latex/polyglossia/polyglossia.sty
(/usr/local/texlive/2016/texmf-dist/tex/latex/etoolbox/etoolbox.sty)
(/usr/local/texlive/2016/texmf-dist/tex/latex/makecmds/makecmds.sty)
(/usr/local/texlive/2016/texmf-dist/tex/latex/xkeyval/xkeyval.sty
(/usr/local/texlive/2016/texmf-dist/tex/generic/xkeyval/xkeyval.tex
(/usr/local/texlive/2016/texmf-dist/tex/generic/xkeyval/xkvutils.tex))))
(/usr/local/texlive/2016/texmf-dist/tex/latex/polyglossia/gloss-english.ldf)kpathsea:make_tex: Invalid fontname `TeX Gyre Termes', contains ' '


!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!
! fontspec error: "font-not-found"
!
! The font "TeX Gyre Termes" cannot be found.
!
! See the fontspec documentation for further information.
!
! For immediate help type H <return>.
!...............................................
 
l.11 \fontspec[Letters=SmallCaps]{TeX Gyre Termes}
 
?

kondo yuzo への返信

Re: fontspec error: "font-not-found"

- 和田 勇 の投稿
ソースをみると次のフォントをお使いのようですので、えらーとなるフォントをインターネットから適宜ダウンロードしてインストールしてください。

IPAPGothic
MS Hei .... FontBook だと文句を言われるかもしれませんが ...
TeX Gyre Heros
TeX Gyre Termes
TeX Gyre Cursor
和田 勇 への返信

Re: fontspec error: "font-not-found"

- kondo yuzo の投稿
ご教示ありがとうございます
該当のフォントをMACにインストールして早速タイプセットしてみました
タイプセットには成功するのですが、出来上がったPDFには「hello」のみ表示されて「こんにちは」や「你好」が表示されません
解決策をご教示願えないでしょうか?

bash-3.2$ xelatex hello.tex
This is XeTeX, Version 3.14159265-2.6-0.99998 (TeX Live 2017) (preloaded format=xelatex)
restricted \write18 enabled.
entering extended mode
(./hello.tex
LaTeX2e <2017-04-15>
Babel <3.15> and hyphenation patterns for 84 language(s) loaded.
(/usr/local/texlive/2016/texmf-dist/tex/latex/base/book.cls
Document Class: book 2014/09/29 v1.4h Standard LaTeX document class
(/usr/local/texlive/2016/texmf-dist/tex/latex/base/bk10.clo))
(/usr/local/texlive/2016/texmf-dist/tex/latex/fontspec/fontspec.sty
(/usr/local/texlive/2016/texmf-dist/tex/latex/l3packages/xparse/xparse.sty
(/usr/local/texlive/2016/texmf-dist/tex/latex/l3kernel/expl3.sty
(/usr/local/texlive/2016/texmf-dist/tex/latex/l3kernel/expl3-code.tex)
(/usr/local/texlive/2016/texmf-dist/tex/latex/l3kernel/l3xdvipdfmx.def)))
(/usr/local/texlive/2016/texmf-dist/tex/latex/fontspec/fontspec-xetex.sty
(/usr/local/texlive/2016/texmf-dist/tex/latex/base/fontenc.sty
(/usr/local/texlive/2016/texmf-dist/tex/latex/base/tuenc.def))
(/usr/local/texlive/2016/texmf-dist/tex/latex/fontspec/fontspec.cfg)))
(/usr/local/texlive/2016/texmf-dist/tex/latex/xltxtra/xltxtra.sty
(/usr/local/texlive/2016/texmf-dist/tex/generic/oberdiek/ifluatex.sty)
(/usr/local/texlive/2016/texmf-dist/tex/generic/ifxetex/ifxetex.sty)
(/usr/local/texlive/2016/texmf-dist/tex/latex/realscripts/realscripts.sty)
(/usr/local/texlive/2016/texmf-dist/tex/latex/metalogo/metalogo.sty
(/usr/local/texlive/2016/texmf-dist/tex/latex/graphics/graphicx.sty
(/usr/local/texlive/2016/texmf-dist/tex/latex/graphics/keyval.sty)
(/usr/local/texlive/2016/texmf-dist/tex/latex/graphics/graphics.sty
(/usr/local/texlive/2016/texmf-dist/tex/latex/graphics/trig.sty)
(/usr/local/texlive/2016/texmf-dist/tex/latex/graphics-cfg/graphics.cfg)
(/usr/local/texlive/2016/texmf-dist/tex/latex/graphics-def/xetex.def)))))
(/usr/local/texlive/2016/texmf-dist/tex/latex/url/url.sty)
(/usr/local/texlive/2016/texmf-dist/tex/latex/pdfpages/pdfpages.sty
(/usr/local/texlive/2016/texmf-dist/tex/latex/base/ifthen.sty)
(/usr/local/texlive/2016/texmf-dist/tex/latex/tools/calc.sty)
(/usr/local/texlive/2016/texmf-dist/tex/latex/eso-pic/eso-pic.sty
(/usr/local/texlive/2016/texmf-dist/tex/generic/oberdiek/atbegshi.sty
(/usr/local/texlive/2016/texmf-dist/tex/generic/oberdiek/infwarerr.sty)
(/usr/local/texlive/2016/texmf-dist/tex/generic/oberdiek/ltxcmds.sty)
(/usr/local/texlive/2016/texmf-dist/tex/generic/oberdiek/ifpdf.sty))
(/usr/local/texlive/2016/texmf-dist/tex/latex/xcolor/xcolor.sty
(/usr/local/texlive/2016/texmf-dist/tex/latex/graphics-cfg/color.cfg)))
(/usr/local/texlive/2016/texmf-dist/tex/latex/pdfpages/ppxetex.def))
(/usr/local/texlive/2016/texmf-dist/tex/latex/polyglossia/polyglossia.sty
(/usr/local/texlive/2016/texmf-dist/tex/latex/etoolbox/etoolbox.sty)
(/usr/local/texlive/2016/texmf-dist/tex/latex/makecmds/makecmds.sty)
(/usr/local/texlive/2016/texmf-dist/tex/latex/xkeyval/xkeyval.sty
(/usr/local/texlive/2016/texmf-dist/tex/generic/xkeyval/xkeyval.tex
(/usr/local/texlive/2016/texmf-dist/tex/generic/xkeyval/xkvutils.tex))))
(/usr/local/texlive/2016/texmf-dist/tex/latex/polyglossia/gloss-english.ldf)
No file hello.aux.
(/usr/local/texlive/2016/texmf-dist/tex/latex/oberdiek/pdflscape.sty
(/usr/local/texlive/2016/texmf-dist/tex/latex/graphics/lscape.sty)) [1]
(./hello.aux) )
(see the transcript file for additional information)
Output written on hello.pdf (1 page).
Transcript written on hello.log.

kondo yuzo への返信

Re: fontspec error: "font-not-found"

- 奥村 晴彦 の投稿
ソースからすれば,おやりになりたかったことはきっと

hello
\jpn{こんにちは}
\chin{你好}

ということだと思うのですが。
奥村 晴彦 への返信

Re: fontspec error: "font-not-found"

- 奥村 晴彦 の投稿
ついでにですが,CJKが混在するものを扱いたいというだけであれば,むしろこういう感じにするのがいいかも。

%#! lualatex
\documentclass[a4paper]{book}
\usepackage[sourcehan]{luatexja-preset}
\begin{document}

Hello!

こんにちは!

你好!你好吗?

안녕하세요, 어떻게 지내세요?

\end{document}
奥村 晴彦 への返信

Re: fontspec error: "font-not-found"

- 奥村 晴彦 の投稿
すみません,こっちのつもりで書いたのですけれど,どちらでも同じような感じです。

%#! lualatex
\documentclass[a4paper]{book}
\usepackage{fontspec}
\setmainfont{SourceHanSerif}
\begin{document}

Hello!

こんにちは!

你好!你好吗?

안녕하세요, 어떻게 지내세요?

\end{document}
奥村 晴彦 への返信

Re: fontspec error: "font-not-found"

- 奥村 晴彦 の投稿
言葉足らずでしたが,xelatexをお使いのようですが,後者はxelatexでもまったく同じで使えますので,おすすめです。実際,うちのオンラインシラバスを自動でPDF化していたころはxelatexでこういうことをしていました。
奥村 晴彦 への返信

Re: fontspec error: "font-not-found"

- kondo yuzo の投稿
ありがとうございます
大変参考になりました
いましばらくは多言語をあつかうにはuptexよりxetexなどですかね?
kondo yuzo への返信

Re: fontspec error: "font-not-found"

- Z. R. の投稿

もし「Polyglossiaパッケージを利用して、言語によって自動的にフォントを切り替える」ことを意図しているのなら、次のような感じになるはずです。

\documentclass[a4paper]{book}

\usepackage{polyglossia}
\setmainlanguage[variant=american]{english}
\setotherlanguages{japanese}
%↓\textjapanese は長いので \textJA とする
\setlanguagealias{japanese}{JA}

\setromanfont[Mapping=tex-text]{TeX Gyre Termes} % Times substitute
\setsansfont[]{TeX Gyre Heros} % Helvetica substitute
\setmonofont[]{TeX Gyre Cursor} % Courier substitute
\newfontfamily\japanesefont[BoldFont={IPAPGothic}]{Nishiki-teki}

\begin{document}
This document contains English and \textJA{日本語}.

Hello hello!

\begin{JA}こんにちはこんにちは!\end{JA}
\end{document}

ただ、この方針には次のような問題があります。

  • 確かにフォントの切替は自動になるが、今度は言語の切替を明示する必要がある。言語を自動的に判定することは(日本語と中国語の混在を考えると明らかなように)できないので。
  • Polyglossiaが中国語に対応していない。日本語や中国語をまともに組版するには専用のパッケージ(xeCJKなど)が必要になる。だから恐らく、Polyglossiaで対応する必要が薄いと考えられているのだろう。

なので、恐らくは、やりたいこととは合致してないのだと思います。

kondo yuzo への返信

Re: fontspec error: "font-not-found"

- aminophen の投稿
font-not-found エラーが出る前に

> kpathsea:make_tex: Invalid fontname `TeX Gyre Termes', contains ' '

という警告が出ているので,当該フォントを適宜コンピュータの中で探して
インストールする(=FontBook.app が認識する状態にする)と良いのだと思います。

おそらく TeX Gyre フォント群は texmf-dist/font 以下にインストールされていると思います。
しかし,それらは fullname(※ここに空白文字が含まれる)では認識されていないということでしょう。

----

私も完全には把握できていませんが,xelatex はシステム(バイナリのコンパイル方法)に依存します。

Windows / Linux の xelatex は以下が使える:
・fontconfig ライブラリが認識するフォントのファイル名 / fullname / postscriptname
・texmf-dist 以下のフォントのファイル名(※ fullname / postscriptname は不可)

macOS の xelatex は以下が使える:
・システムにインストールされている(=FontBook.app が認識する)フォントのファイル名 / fullname / postscriptname
・texmf-dist 以下のフォントのファイル名(※ fullname / postscriptname は不可)