[Tex/LaTex] TeX Live 2018 not finding font Inconsolata

texlive-2018

I am installing Tex Live for the first time. I am able to generate PDFs for the basic LaTeX files sample2e.tex, small2e.tex, testpage.tex, and nfssfont.tex, mentioned here.

When I try to build a book from R using the code below I get this (very long) error:

>system("xelatex -interaction=batchmode r-packages ")
This is XeTeX, Version 3.14159265-2.6-0.99999 (TeX Live 2018/W32TeX) (preloaded format=xelatex)
 restricted \write18 enabled.
entering extended mode
name = Inconsolata, rootname = Inconsolata, pointsize = 
mktexmf: empty or non-existent rootfile!

kpathsea: Running mktexmf Inconsolata.mf

The command name is C:\texlive\2018\bin\win32\mktexmf
Cannot find Inconsolata.mf.
name = Inconsolata, rootname = Inconsolata, pointsize = 
mktexmf: empty or non-existent rootfile!

kpathsea: Running mktexmf Inconsolata.mf

The command name is C:\texlive\2018\bin\win32\mktexmf
Cannot find Inconsolata.mf.
name = Inconsolata, rootname = Inconsolata, pointsize = 
mktexmf: empty or non-existent rootfile!

kpathsea: Running mktexmf Inconsolata.mf

The command name is C:\texlive\2018\bin\win32\mktexmf
Cannot find Inconsolata.mf.
name = Inconsolata/BI, rootname = Inconsolata/BI, pointsize = 
mktexmf: empty or non-existent rootfile!

kpathsea: Running mktexmf Inconsolata/BI.mf

The command name is C:\texlive\2018\bin\win32\mktexmf
Cannot find Inconsolata/BI.mf.
name = Inconsolata, rootname = Inconsolata, pointsize = 
mktexmf: empty or non-existent rootfile!

kpathsea: Running mktexmf Inconsolata.mf

The command name is C:\texlive\2018\bin\win32\mktexmf
Cannot find Inconsolata.mf.
name = Inconsolata/B, rootname = Inconsolata/B, pointsize = 
mktexmf: empty or non-existent rootfile!

kpathsea: Running mktexmf Inconsolata/B.mf

The command name is C:\texlive\2018\bin\win32\mktexmf
Cannot find Inconsolata/B.mf.
name = Inconsolata, rootname = Inconsolata, pointsize = 
mktexmf: empty or non-existent rootfile!

kpathsea: Running mktexmf Inconsolata.mf

The command name is C:\texlive\2018\bin\win32\mktexmf
Cannot find Inconsolata.mf.
name = Inconsolata/I, rootname = Inconsolata/I, pointsize = 
mktexmf: empty or non-existent rootfile!

kpathsea: Running mktexmf Inconsolata/I.mf

The command name is C:\texlive\2018\bin\win32\mktexmf
Cannot find Inconsolata/I.mf.
name = Inconsolata, rootname = Inconsolata, pointsize = 
mktexmf: empty or non-existent rootfile!

kpathsea: Running mktexmf Inconsolata.mf

The command name is C:\texlive\2018\bin\win32\mktexmf
Cannot find Inconsolata.mf.
name = Inconsolata, rootname = Inconsolata, pointsize = 
mktexmf: empty or non-existent rootfile!

kpathsea: Running mktexmf Inconsolata.mf

The command name is C:\texlive\2018\bin\win32\mktexmf
Cannot find Inconsolata.mf.
name = Inconsolata, rootname = Inconsolata, pointsize = 
mktexmf: empty or non-existent rootfile!

kpathsea: Running mktexmf Inconsolata.mf

The command name is C:\texlive\2018\bin\win32\mktexmf
Cannot find Inconsolata.mf.

kpathsea: Running mktextfm Inconsolata

The command name is C:\texlive\2018\bin\win32\mktextfm
kpathsea: Appending font creation commands to missfont.log.

kpathsea: Running mktextfm Inconsolata

The command name is C:\texlive\2018\bin\win32\mktextfm

kpathsea: Running mktextfm Inconsolata

The command name is C:\texlive\2018\bin\win32\mktextfm

kpathsea: Running mktextfm Inconsolata/BI

The command name is C:\texlive\2018\bin\win32\mktextfm

kpathsea: Running mktextfm Inconsolata

The command name is C:\texlive\2018\bin\win32\mktextfm

kpathsea: Running mktextfm Inconsolata/B

The command name is C:\texlive\2018\bin\win32\mktextfm

kpathsea: Running mktextfm Inconsolata

The command name is C:\texlive\2018\bin\win32\mktextfm

kpathsea: Running mktextfm Inconsolata/I

The command name is C:\texlive\2018\bin\win32\mktextfm

kpathsea: Running mktextfm Inconsolata

The command name is C:\texlive\2018\bin\win32\mktextfm

kpathsea: Running mktextfm Inconsolata

The command name is C:\texlive\2018\bin\win32\mktextfm

kpathsea: Running mktextfm Inconsolata

The command name is C:\texlive\2018\bin\win32\mktextfm

I think the relevant part of the error message is:

name = Inconsolata, rootname = Inconsolata, pointsize = 
mktexmf: empty or non-existent rootfile!
kpathsea: Running mktexmf Inconsolata.mf
The command name is C:\texlive\2018\bin\win32\mktexmf
Cannot find Inconsolata.mf.
name = Inconsolata, rootname = Inconsolata, pointsize = 
mktexmf: empty or non-existent rootfile!

I've tried running the code suggested here, which seems to find Inconsolata on my computer:

C:\Users...>tlmgr search --global --all Inconsolata
  tlmgr.pl: package repository 
  http://ftp.math.purdue.edu/mirrors/ctan.org/systems/texlive/tlnet (not
  verified: gpg unavailable)
  inconsolata - A monospaced font, with support files for use with TeX
  inconsolata:
        texmf-dist/fonts/opentype/public/inconsolata/InconsolataN-Bold.otf
        texmf-dist/fonts/opentype/public/inconsolata/InconsolataN-Regular.otf
        texmf-dist/fonts/opentype/public/inconsolata/Inconsolatazi4-Bold.otf
        texmf-dist/fonts/opentype/public/inconsolata/Inconsolatazi4-Regular.otf
        texmf-dist/fonts/type1/public/inconsolata/Inconsolata-zi4b.pfb
        texmf-dist/fonts/type1/public/inconsolata/Inconsolata-zi4r.pfb
        texmf-dist/fonts/type1/public/inconsolata/InconsolataN-Bold.pfb
        texmf-dist/fonts/type1/public/inconsolata/InconsolataN-Regular.pfb
C:\Users...>tlmgr search --global --file Inconsolata.mf
  tlmgr.pl: package repository 
  http://ftp.math.purdue.edu/mirrors/ctan.org/systems/texlive/tlnet (not
  verified: gpg unavailable)
C:\Users...>tlmgr install tlmgr.pl
  tlmgr.pl: package repository 
  http://ftp.math.purdue.edu/mirrors/ctan.org/systems/texlive/tlnet (not
  verified: gpg unavailable)
  tlmgr.pl install: package tlmgr.pl not present in repository.
  tlmgr.pl: action install returned an error; continuing.
  tlmgr.pl: An error has occurred. See above messages. Exiting.

And when I run tlmgr-gui.exe it lists the Inconsolata package as already being installed. So why do I get the error `Cannot find Inconsolata.mf.'? Thanks.

Best Answer

There is a inconsolata.fontspec in the package, which is used if you try to load the font by name. But it works for me on windows only correctly, if I call the font with a lowercase i, with uppercase I it breaks with your error message:

\documentclass{article}

\usepackage{fontspec}
%\setmainfont{Inconsolata} %breaks
\setmainfont{inconsolata}  %works
\begin{document}
abc

\end{document}