Miktex-makemf error: source file could not be found

fontsmiktexpdf

After I updated MiKTeX (on Windows 10) im am no longer able to process a LaTeX file with a custom font that I had installed myself. I receive the infamous "Font … not found" error. In my case:

!pdfTeX error: pdflatex.exe (file NeoSansStd-Bold--base): Font NeoSansStd-Bold--base at 480 not found

Up to now everything has run smoothly after previous updates, but not after this one.

I read about similar problems here on stackexchanged for hours and checked the usual suspects:

I refreshed both the file name database and the font map files. I tried this from the MiKTeX Console as well as from the command line. I tried it as Admin and for the local user. I tried updmap.exe, updmap.exe --admin and updmap.exe --force. I checked initexmf --edit-config-file updmap, first only with Admin, than both with Admin and the local user; always followed by initexmf --mkmaps. I tried miktex fontmaps configure. I re-checked for typos.

When tracking down the error throught the logs I end up at miktex-makemf.log, which showed a "source file could not be found" error:

2022-02-21 15:44:52,202+0100 INFO  miktex-makemf - this process (2924) started by miktex-makepk in directory C:\Users\geodev\AppData\Local\Temp\mik60 with command line: miktex-makemf.exe --miktex-enable-installer --miktex-disable-maintenance --miktex-disable-diagnose --verbose NeoSansStd-Regular--base
2022-02-21 15:44:52,213+0100 FATAL miktex-makemf - The NeoSansStd-Regular--base source file could not be found.
2022-02-21 15:44:52,214+0100 FATAL miktex-makemf - The NeoSansStd-Regular--base source file could not be found.
2022-02-21 15:44:52,214+0100 FATAL miktex-makemf - Info: 
2022-02-21 15:44:52,214+0100 FATAL miktex-makemf - Source: 
2022-02-21 15:44:52,214+0100 FATAL miktex-makemf - Line: 0
2022-02-21 15:44:52,229+0100 INFO  miktex-makemf - this process (2924) finishes with exit code 1

However, pdftex.map seems to be ok. It starts with the line (after the initial comments):

NeoSansStd-Bold--base NeoSansStd-Bold " AutoEnc_jiru4vhj66oz3izelvwqyw7peb ReEncodeFont " <[a_jiru4v.enc <NeoSansStd-Bold.pfb

I checked that the font directory is known to MikTeX, which is the case: In the MiKTeX Console the directory is set to a folder NeoSansStd_font_for_MiKTeX that includes the NeoSansStd-Bold.pfb in its subfolder fonts\type1\Monotype\NeoSansStd. The whole directory remained (and worked) unchanged in the last ten years.

I also tried

  miktex-makepk --enable-installer --verbose NeoSansStd-Regular--base 600 600 magstep(0.0)

directly from the command line, both as Admin and as user, but it did not work.

I tried lualatex instead of pdflatex, but the same error appeared.

The installation and all of its packages are up-to-date. The system is configured so that missing packages are installed on the fly.

What else should I try?

EDIT:

A typical entry in miktex-makepk.log looks like this:

2022-02-21 15:02:18,884+0100 INFO  miktex-makepk - this process (13060) started by pdflatex in directory [... omitted ...] with command line: miktex-makepk --enable-installer --verbose NeoSansStd-Bold--base 480 600 0+480/600
2022-02-21 15:02:18,892+0100 INFO  makepk - Trying to make PK font NeoSansStd-Bold--base at 480 DPI...
2022-02-21 15:02:18,910+0100 INFO  makepk - The METFAONT mode is: ljfour
2022-02-21 15:02:18,926+0100 INFO  makepk - Running miktex-makemf.exe...
2022-02-21 15:02:18,926+0100 INFO  makepk - running: miktex-makemf.exe --miktex-enable-installer --miktex-disable-maintenance --miktex-disable-diagnose --verbose NeoSansStd-Bold--base
2022-02-21 15:02:18,927+0100 INFO  miktex-makepk.core - start process: miktex-makemf.exe --miktex-enable-installer --miktex-disable-maintenance --miktex-disable-diagnose --verbose NeoSansStd-Bold--base
2022-02-21 15:02:20,253+0100 INFO  makepk - Running miktex-ttf2pk.exe...
2022-02-21 15:02:20,253+0100 INFO  makepk - running: miktex-ttf2pk.exe --miktex-enable-installer --miktex-disable-maintenance --miktex-disable-diagnose -q -t NeoSansStd-Bold--base
2022-02-21 15:02:20,253+0100 INFO  miktex-makepk.core - start process: miktex-ttf2pk.exe --miktex-enable-installer --miktex-disable-maintenance --miktex-disable-diagnose -q -t NeoSansStd-Bold--base
2022-02-21 15:02:21,771+0100 FATAL miktex-makepk - PK font NeoSansStd-Bold--base could not be created.
2022-02-21 15:02:21,771+0100 FATAL miktex-makepk - PK font NeoSansStd-Bold--base could not be created.
2022-02-21 15:02:21,772+0100 FATAL miktex-makepk - Info: 
2022-02-21 15:02:21,772+0100 FATAL miktex-makepk - Source: 
2022-02-21 15:02:21,772+0100 FATAL miktex-makepk - Line: 0
2022-02-21 15:02:21,802+0100 INFO  miktex-makepk - this process (13060) finishes with exit code 1

The pdflatex log includes the lines:

LaTeX Font Info:    Trying to load font information for LY1+NeoSansStd on input
 line 53.
 
(C:\Users\Public\NeoSansStd_font_for_MiKTeX\tex/latex/NeoSansStd\ly1neosansstd.
fd
File: LY1NeoSansStd.fd Monotype NeoSansStd font definitions
)

which is the correct path.

SOLUTION:

The solution for the problem was pointed out by Ulrike Fischer below in the comments. The directory structure of the font to be installed had changed. My old folder structure was:

   NeoSansStd_font_for_MiKTeX
   ├── dvips/
   │   └── Monotype/
   │       ├── a_jiru4v.enc
   │       └── Monotype.map
   ├── fonts/
   │   ├── tfm/
   │   │   └── ...
   │   ├── type1/
   │   │   └── ...
   │   └── vf/
   │       └── ...
   └── tex/
       └── ...

which had to be changed into:

   NeoSansStd_font_for_MiKTeX
   ├── fonts/
   │   ├── enc/
   │   │   └── a_jiru4v.enc
   │   ├── map/
   │   │   └── dvips/
   │   │       └── Monotype/
   │   │           └── Monotype.map
   │   ├── tfm/
   │   │   └── ...
   │   ├── type1/
   │   │   └── ...
   │   └── vf/
   │       └── ...
   └── tex/
       └── ...

Best Answer

A few locations regarding fonts installation have changed:

Most importantly map files should go from dvips to fonts/map/dvips and enc files should go into fonts/enc/dvips.