Subject: Re: bug#52979: Modular texlive has problems finding fonts

From: Ricardo Wurmus <[email-masked]>
Date: Tue, 04 Jan 2022 10:58:43 +0100

Ricardo Wurmus <[email-masked]> writes:

> Ricardo Wurmus <[email-masked]> writes:
>
>> Jelle Licht <[email-masked]> writes:
>>
>>> We can disable this optimisation by setting ST_NLINK_TRICK at compile
>>> time.
>>
>> That’s what I did, and it does let kpathsea traverse all the fonts.
>> Unfortunately, in my tests it does not fix pdflatex.  It does, however,
>> fix xelatex.
>>
>> Debbugging output suggests that pdflatex encounters the font file
>> cmr10.tfm, but for some unknown reason doesn’t seem to be satisfied with
>> it.
>
> It finds cmr10.tfm and then later proceeds to search (with
> “must_exist=1”) for bitmap fonts such as dpi656/cmr10.pk (cmr10.656pk)
> or dpi659/cmr10.pk (cmr10.659pk).
>
> That’s how it fails:
>
>   !pdfTeX error: pdflatex (file cmr10): Font cmr10 at 657 not found
>
> 657 is the resolution.  The other sizes are due to
> KPSE_BITMAP_TOLERANCE; it will also search for alternatives whose
> resolution is close enough to the intended size.
>
> I wonder why it bothers with bitmap fonts at all.

Still wondering, but….

>  And why it looks for
> this really odd resolution.  We have
> texmf-dist/fonts/pk/ljfour/public/cm/dpi600/cmr10.pk.  Why doesn’t it
> look for a font with resolution 600?  The resolution 657 must have been
> computed somewhere.

…this mystery is solved.  This document works:

--8<---------------cut here---------------start------------->8---
\documentclass[12pt]{article}
\usepackage[utf8]{inputenc}
\begin{document}
Hello frienderino's
\end{document}
--8<---------------cut here---------------end--------------->8---

But this one doesn’t:

--8<---------------cut here---------------start------------->8---
\documentclass[11pt]{article}
\usepackage[utf8]{inputenc}
\begin{document}
Hello frienderino's
\end{document}
--8<---------------cut here---------------end--------------->8---

A font size of 10pt is also fine.

When a font size of 11pt is requested, however, it probably computes a
different DPI value and tries to find matching bitmap fonts of that
size.

It should just generate new fonts then, but I guess mktexpk and all
those tools need to patch their invocations of sed and awk.

So, two things to do here:

1) patch mktexpk, mktexnam, mktexnam.opt,
share/texmf-dist/web2c/mktexupd, et al to find “sed” and “awk”.

2) figure out why pdflatex tries to use bitmap fonts at all when other
files exist.

-- 
Ricardo