Re: Cannot identify a missing font for desired Lilypond output
Le dimanche 14 mai 2023 à 10:59 +0200, Volodymyr Prokopyuk a écrit : > * The missing gsfonts package was the root cause of the issue Oops, gsfonts indeed and not ghostscript, sorry for the confusion. (These fonts are part of Ghostscript, but distributions can package them separately.) > By the way, what font from the gsfonts package does Lilypond use as a default > font? The cryptic names of the pdffonts do not help with finding out the name > of the default font. They are documented here: https://lilypond.org/doc/v2.25/Documentation/contributor/requirements-for-running-lilypond Namely, C059, Nimbus Sans and Nimbus Mono PS. Best, Jean signature.asc Description: This is a digitally signed message part
Re: Cannot identify a missing font for desired Lilypond output
Hi Jean, I finally managed to find the root cause (the missing gsfonts package) and fixed the problem! I provide my current working setup for others if they face similar issues - I'm using EndeavourOS with i3wm - I successfully build Lilypond v2.25.4 from source with the following commands - From the lilypond2.25.4/build directory I execute - ../autogen.sh --noconfigure - ../configure --prefix=$HOME/.lilypond --disable-documentation \ GUILE_FLAVOR=guile-3.0 - The explicitly installed minimal dependencies are yay -S ghostscript gsfonts fontforge t1utils texlive-langcyrillic - The missing gsfonts package was the root cause of the issue By the way, what font from the gsfonts package does Lilypond use as a default font? The cryptic names of the pdffonts do not help with finding out the name of the default font. Thank you, Jean, and have a great day! Vlad On Sun, May 14, 2023 at 12:43 AM Jean Abou Samra wrote: > Le samedi 13 mai 2023 à 23:56 +0200, Volodymyr Prokopyuk a écrit : > > Hi Jean, > > I think you have found the solution! You mentioned that Ghostscript > provides the default font. Ghostscript is not installed in my new system as > I thought that it is not necessary as I use the Cairo backend. I did see > the warning in the configure script about the recommendation of installing > the Ghostscript, but I ignored it. Maybe it makes sense to set Ghostscript > as a required dependency. > > Tomorrow I'll install Ghostscript, rebuild Lilypond and let you know the > outcome. > > Thank you very much for your tireless and very professional support. I > sincerely appreciate it! > > > > Ah, if you build LilyPond from source, that indeed makes sense. > > I'm not sure the configure script should really check for the fonts to be > installed. In the past, it used to do that plus copy them into internal > directories, but it was removed for good reasons; see commit > 5689c2721530c6ded22b6291ebb06d10adb5bc28. The reasons given in th commit > message mostly apply to the "installing part", but build system complexity > does apply to looking for them. Plus, not checking for them is conceptually > correct because LilyPond doesn't need them at build time. If you are a > distro packager for example, you can very well build LilyPond into an > environment without the fonts. They only need to be present at runtime. > > By the way, no need to recompile LilyPond after installing Ghostscript. > > Best, > > Jean > >
Re: Cannot identify a missing font for desired Lilypond output
Le samedi 13 mai 2023 à 23:56 +0200, Volodymyr Prokopyuk a écrit : > Hi Jean, > > I think you have found the solution! You mentioned that Ghostscript provides > the default font. Ghostscript is not installed in my new system as I thought > that it is not necessary as I use the Cairo > backend. I did see the warning in the configure script about the > recommendation of installing the Ghostscript, but I ignored it. Maybe it > makes sense to set Ghostscript as a required dependency. > > Tomorrow I'll install Ghostscript, rebuild Lilypond and let you know the > outcome. > > Thank you very much for your tireless and very professional support. I > sincerely appreciate it! Ah, if you build LilyPond from source, that indeed makes sense. I'm not sure the configure script should really check for the fonts to be installed. In the past, it used to do that plus copy them into internal directories, but it was removed for good reasons; see commit 5689c2721530c6ded22b6291ebb06d10adb5bc28. The reasons given in th commit message mostly apply to the "installing part", but build system complexity does apply to looking for them. Plus, not checking for them is conceptually correct because LilyPond doesn't need them at build time. If you are a distro packager for example, you can very well build LilyPond into an environment without the fonts. They only need to be present at runtime. By the way, no need to recompile LilyPond after installing Ghostscript. Best, Jean signature.asc Description: This is a digitally signed message part
Re: Cannot identify a missing font for desired Lilypond output
Hi Jean, I think you have found the solution! You mentioned that Ghostscript provides the default font. Ghostscript is not installed in my new system as I thought that it is not necessary as I use the Cairo backend. I did see the warning in the configure script about the recommendation of installing the Ghostscript, but I ignored it. Maybe it makes sense to set Ghostscript as a required dependency. Tomorrow I'll install Ghostscript, rebuild Lilypond and let you know the outcome. Thank you very much for your tireless and very professional support. I sincerely appreciate it! Vlad On Sat, May 13, 2023 at 11:25 PM Jean Abou Samra wrote: > Le samedi 13 mai 2023 à 23:12 +0200, Volodymyr Prokopyuk a écrit : > > Hi Jean, > > I do not use any explicit font family in the source code at all. I assume > that the desired font is the default for Lilypond and is Emmentaler. Is the > Emmentaler font installed automatically when Lilypond is installed or the > font has to be installed separately? Is it installed in the system fonts or > as a LaTeX font? > > > > Hmm... That's pretty strange. If I compile > > \markup \bold "А вже ясне сонечко" > > in 2.24.1, with the Cairo backend, I get a PDF that looks like your "old" > (good) PDF, and the font is C059. > > Note that Emmentaler is not a text font but a music font, which is indeed > LilyPond's default for music glyphs (and is developed together with > LilyPond). The default text font for serif text is the C059 font. It should > always be installed with LilyPond. In ArchLinux, that is achieved by making > ghostscript a dependency of LilyPond. > > https://archlinux.org/packages/community/x86_64/lilypond/ > > So I don't understand why the font is not found on your system. > > Can you try to narrow down the problem? There are a few things: > > - Does it give the same bad output without the Cairo backend? > - Are you indeed using the ArchLinux lilypond package? If so, can you try > the binaries from https://lilypond.org/download.html ? > - Can you send the output from "lilypond -dshow-available-fonts"? > > LilyPond's font system has nothing to do with LaTeX's, so LaTeX font > packages are irrelevant for LilyPond, only the normal system fonts are > searched. > > >
Re: Cannot identify a missing font for desired Lilypond output
Le samedi 13 mai 2023 à 23:12 +0200, Volodymyr Prokopyuk a écrit : > Hi Jean, > > I do not use any explicit font family in the source code at all. I assume > that the desired font is the default for Lilypond and is Emmentaler. Is the > Emmentaler font installed automatically when > Lilypond is installed or the font has to be installed separately? Is it > installed in the system fonts or as a LaTeX font? Hmm... That's pretty strange. If I compile \markup \bold "А вже ясне сонечко" in 2.24.1, with the Cairo backend, I get a PDF that looks like your "old" (good) PDF, and the font is C059. Note that Emmentaler is not a text font but a music font, which is indeed LilyPond's default for music glyphs (and is developed together with LilyPond). The default text font for serif text is the C059 font. It should always be installed with LilyPond. In ArchLinux, that is achieved by making ghostscript a dependency of LilyPond. https://archlinux.org/packages/community/x86_64/lilypond/ So I don't understand why the font is not found on your system. Can you try to narrow down the problem? There are a few things: - Does it give the same bad output without the Cairo backend? - Are you indeed using the ArchLinux lilypond package? If so, can you try the binaries from https://lilypond.org/download.html ? - Can you send the output from "lilypond -dshow-available-fonts"? LilyPond's font system has nothing to do with LaTeX's, so LaTeX font packages are irrelevant for LilyPond, only the normal system fonts are searched. signature.asc Description: This is a digitally signed message part
Re: Cannot identify a missing font for desired Lilypond output
Hi Jean, I do not use any explicit font family in the source code at all. I assume that the desired font is the default for Lilypond and is Emmentaler. Is the Emmentaler font installed automatically when Lilypond is installed or the font has to be installed separately? Is it installed in the system fonts or as a LaTeX font? Thank you, Vlad On Sat, May 13, 2023 at 11:06 PM Jean Abou Samra wrote: > Le samedi 13 mai 2023 à 22:49 +0200, Volodymyr Prokopyuk a écrit : > > Hi, > > I'm trying to compile a score PDF from exactly the same Lilypond source on > a different Linux Arch based system. The installation procedure of Lilypond > 2.25.4 is exactly the same on both old and new systems. The dependencies > are yay -S fontforge t1utils dblatex tex-gyre-fonts texlive-langcyrillic > exactly the same on both systems. The fonts used in the score PDF compiled > on the new system are different and not desired in comparison with the > score PDF compiled on the old system. Both score PDFs are attached. I'm > using the Cairo backend in both systems. > > I understand that some fonts are missing on the new system, but I do not > know how to check which ones are missing. Is there a way in Lilypond or the > system itself to find out which font is missing? > > > > Do you really use lots of fonts in your document? Is it impractical to > just check what fonts you are using and whether they are installed on the > new system? > > (Tools like `pdffonts` or Evince's document fonts list unfortunately don't > tell much on your PDFs; my guess is that you used a variable font that got > instantiated by Cairo.) > >
Re: Cannot identify a missing font for desired Lilypond output
Le samedi 13 mai 2023 à 22:49 +0200, Volodymyr Prokopyuk a écrit : > Hi, > > I'm trying to compile a score PDF from exactly the same Lilypond source on a > different Linux Arch based system. The installation procedure of Lilypond > 2.25.4 is exactly the same on both old and new > systems. The dependencies are yay -S fontforge t1utils dblatex tex-gyre-fonts > texlive-langcyrillic exactly the same on both systems. The fonts used in the > score PDF compiled on the new system are > different and not desired in comparison with the score PDF compiled on the > old system. Both score PDFs are attached. I'm using the Cairo backend in both > systems. > > I understand that some fonts are missing on the new system, but I do not know > how to check which ones are missing. Is there a way in Lilypond or the system > itself to find out which font is missing? Do you really use lots of fonts in your document? Is it impractical to just check what fonts you are using and whether they are installed on the new system? (Tools like `pdffonts` or Evince's document fonts list unfortunately don't tell much on your PDFs; my guess is that you used a variable font that got instantiated by Cairo.) signature.asc Description: This is a digitally signed message part