TeX Live 2016: XeLaTeX + bxjsarticle on Cygwin x64 (Windows 7 x64) で fontspec error: "font-not-found"

TeX Live 2016: XeLaTeX + bxjsarticle on Cygwin x64 (Windows 7 x64) で fontspec error: "font-not-found"

- Ogino Masanori の投稿
返信数: 4
次の文書を `xelatex test.tex`で処理すると、IPAex明朝が見つからなかった旨のfontspec errorで処理が停止します。
処理環境はWindows 7 x64上のCygwin x64版です。

% test.tex
\documentclass[xelatex,ja=standard]{bxjsarticle}
\begin{document}
\end{document}

`xelatex -version` の出力は以下の通りです。

XeTeX 3.14159265-2.6-0.99996 (TeX Live 2016)
kpathsea version 6.2.2
Copyright 2016 SIL International, Jonathan Kew and Khaled Hosny.
There is NO warranty. Redistribution of this software is
covered by the terms of both the XeTeX copyright and
the Lesser GNU General Public License.
For more information about these matters, see the file
named COPYING and the XeTeX source.
Primary author of XeTeX: Jonathan Kew.
Compiled with ICU version 57.1; using 57.1
Compiled with zlib version 1.2.8; using 1.2.8
Compiled with FreeType2 version 2.6.3; using 2.6.3
Compiled with Graphite2 version 1.3.8; using 1.3.8
Compiled with HarfBuzz version 1.2.6; using 1.2.6
Compiled with libpng version 1.6.21; using 1.6.21
Compiled with poppler version 0.42.0
Compiled with fontconfig version 2.11.94; using 2.11.95

処理時の出力を添付します。
Ogino Masanori への返信

Re: TeX Live 2016: XeLaTeX + bxjsarticle on Cygwin x64 (Windows 7 x64) で fontspec error: "font-not-found"

- aminophen の投稿
ツイッターで昨日あたり誰かが呟いていたのですが
Cygwin の TL2016 でなぜか platex と uplatex が消えた
→ アップデートしたら治った
というのがあったので、たぶん同じトラブルで ipaex パッケージが消えたのだと思います。
ここでいうアップデートが tlmgr なのか Cygwin 本体なのかはよくわかりません。
なんか関係あるかもしれないので一応。
aminophen への返信

Re: TeX Live 2016: XeLaTeX + bxjsarticle on Cygwin x64 (Windows 7 x64) で fontspec error: "font-not-found"

- Ogino Masanori の投稿
ご指摘ありがとうございます。
確かに、私も以前のTeX Liveで似たようなことが起きた経験があります。

ただ、次のコマンドの出力からすると、今回はipaexパッケージの消失ではなさそうです。

$ ls /usr/local/texlive/2016/texmf-dist/fonts/truetype/public/ipaex/
ipaexg.ttf ipaexm.ttf ipag.ttf ipagp.ttf ipam.ttf ipamp.ttf

また、先ほど試したところ、upLaTeX + dvipdfmxとLuaLaTeXでほぼ同等(クラスファイルのオプションはエンジンに合わせて変更したもの)の文書を処理させるとエラーなく終了し、適当な本文を加えるとIPAexフォントが埋め込まれているのを確認しました。LuaLaTeXで処理した際の出力を添付します。

なお、上のテストはTeX Live、Cygwin共に報告時からアップデートせずに行いました。
Ogino Masanori への返信

Re: TeX Live 2016: XeLaTeX + bxjsarticle on Cygwin x64 (Windows 7 x64) で fontspec error: "font-not-found"

- aminophen の投稿
ありがとうございます。XeTeX だけ、ということは
「fontconfig だけがフォント発見に失敗した」ということですよね…
いったん fc-cache -v(だったかな?)してみるとどうなりますか?

あと、ググるとこんなのも:
http://nixeneko.hatenablog.com/entry/2016/05/12/235948
aminophen への返信

Re: TeX Live 2016: XeLaTeX + bxjsarticle on Cygwin x64 (Windows 7 x64) で fontspec error: "font-not-found"

- Ogino Masanori の投稿
ありがとうございます。`fc-list` でキャッシュの状態を確認しようとしたところ、以前のTeX Liveをセットアップする際にインストールしていたはずのfontconfigが(恐らくsetup.exeの誤操作で)アンインストールされていたことに気付きました。お騒がせしてすみません。

この状況から正常に処理できるようにするまでの手順を探るべくいくつか試したところ、

1. fontconfig をインストール後テスト→失敗
2. `fc-cache -v`でキャッシュを再生成後テスト→失敗
3. `tlmgr update --all --self`でアップデート後テスト→失敗
4. texmf-var/fonts/conf/texlive-fontconfig.confを/etc/fonts/conf.d内にコピーしてから`fc-cache -v`でキャッシュを再生成後テスト→成功

という結果になりました。

今回はTeX Live内のフォントファイルを読み込ませたかったので採用しませんでしたが、リンク先の記事で提案されている手法も4.に思い至る過程で参考になりました。ありがとうございます。