[Tex/LaTex] My system can’t find installed otf and ttf fonts

fontsluatexopentypetexlivexetex

I have texlive 2019 on windows 10 OS, I tried several times to install True Type Font or Open Type Font and after installation my system couldn't find them (the problem did not occur with my previous distribution texlive 2018).

For example I installed Gidole font from http://gidole.github.io/ then run

fc-cache

After that

fc-list Gidole 

And I don't get a result, trying to use the font with xetex or luatex do not succeed.

Best Answer

TeX Live on Windows can only find fonts that are installed in system directories. You must Install for All Users, which requires Administrator privileges. The default installation will put them in a hidden user directory, which doesn’t work. If you do not want to install a file system-wide as an administrator, you can instead put it in a project directory and use the Path = command option of fontspec.

You could also put it in a subdirectory of your local TeX Live directory, normally C:\texlive\texmf-local\fonts. Re-run fc-cache -fsv and luaotfload-tool -f -u -v to update your font caches. (I can confirm that luaotfload checks texmf-local, but I am not sure about fc-cache. On the other hand, fc-cache checks %WINDIR%\Fonts\Deleted and will sometimes match a version of the font you removed instead of the one you installed to replace it.)

Having a shadow copy of the font, which might go out of date, is a bad idea. If you reinstall a font for all users, you should remove the user-installed copy from the Fonts control panel.

A properly-configured TeX Live on Linux has no such limitation, and I am honestly not sure what the reason is for it on Windows. The documentation for fc-cache and luaotfload-tool list options that are supposed to search local directories for fonts, but do not work.