Re: Cannot identify a missing font for desired Lilypond output

2023-05-14 Thread Jean Abou Samra
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

2023-05-14 Thread Volodymyr Prokopyuk
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

2023-05-13 Thread Jean Abou Samra
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

2023-05-13 Thread Volodymyr Prokopyuk
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

2023-05-13 Thread Jean Abou Samra
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

2023-05-13 Thread Volodymyr Prokopyuk
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

2023-05-13 Thread Jean Abou Samra
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