Subject: FontConfig ne fonctionne pas

From: Olivier Leschenne <[email-masked]>
Date: Thu, 9 Feb 2023 12:29:43 +0000 (UTC)

Bonjour !

J'essaye désespérément de changer la police des paroles dans ma partition, mais les commandes usuelles n'ont aucun effet. Le Pdf est produit sans aucun message d'erreur mais n'utilise pas la police demandée.
Ci-dessous, <EB Garamond> est la police .OTF issue de TexLive. Je l'ai bien sûr installée dans <C:\Windows\Fonts>.
Windows 11 (21H2)
Lilypond 2.22
Frescobaldi 3.1.3

A ----------------------------------------

\paper {
#(define fonts
   (make-pango-font-tree "EB Garamond"
                       "EB Garamond"
                       "EB Garamond"
                       (/ staff-height pt 16))) }

ne produit rien ; la police utilisée est C059.

B --------------------------------------------

\paper {
   #(define fonts
     (set-global-fonts
       #:roman "EB Garamond"
       #:sans "EB Garamond"
       #:typewriter "EB Garamond"
       #:factor (/ staff-height pt 16))) }

ne produit rien ; la police utilisée est encore C059.

C ----------------------------------------------

\layout {    
    \override Lyrics.LyricText.font-name = "EBGaramond-Regular"    }

ne produit rien, mais cette fois-ci la police utilisée est Verdana !!!!

Je précise que la commande  #(ly:font-config-display-fonts)  produit une liste correcte (on y trouve EB Garamond avec ses 4 styles).
Visiblement aucune configuration perso des polices n'est possible ; quelqu'un a-t-il une explication et une solution ?
Merci !

---

From: Jean Abou Samra <[email-masked]>
Date: Thu, 09 Feb 2023 14:07:06 +0100

> Visiblement aucune configuration perso des polices n'est possible ; quelqu'un a-t-il une explication et une solution ?  

Bonjour,

Ma première suggestion, ce serait de mettre à jour LilyPond vers
la version 2.24, qui est la version stable actuelle. Il se peut
que la version de Fontconfig dans LilyPond 2.22 ne soit pas
assez à jour pour votre système. (Je précise que vous pouvez tout
à fait garder la 2.22 en parallèle pour d'autres partitions.)

C'est par là :

[https://lilypond.org/download.fr.html](https://lilypond.org/download.fr.html)

[https://lilypond.org/doc/v2.24/Documentation/learning/graphical-setup-under-windows.fr.html](https://lilypond.org/doc/v2.24/Documentation/learning/graphical-setup-under-windows.fr.html)

Cordialement,

Jean

---

From: Olivier Leschenne <[email-masked]>
Date: Thu, 9 Feb 2023 14:21:14 +0000 (UTC)

Le jeudi 09 février 2023 à 14:07, Jean Abou Samra a écrit :
----------------------------------------------------------------------------------
Bonjour,
Ma première suggestion, ce serait de mettre à jour LilyPond vers la version 2.24, qui est la version stable actuelle. Il se peut que la version de Fontconfig dans LilyPond 2.22 ne soit pas assez à jour pour votre système. (Je précise que vous pouvez tout à fait garder la 2.22 en parallèle pour d'autres partitions.)

C'est par là :

https://lilypond.org/download.fr.html

https://lilypond.org/doc/v2.24/Documentation/learning/graphical-setup-under-windows.fr.html

Cordialement,

Jean------------------------------------------------------------------------------------------

Merci pour cette réponse rapide ! 
Je viens juste de mettre à jour vers Lilypond 2.24 et Frescobaldi 3.2.Le workflow est très fluide et agréable, malheureusement le résultat ne change pas : les fonctions #(define fonts ....) n'ont aucun effet, et mon Pdf  utilise seulement les fontes par défaut C059, Verdana...Il n'y a aucune config. perso dans le dossier de l'appli <C:\Lilypond-224\etc [ou share]> et il n'y a aucun dossier perso <C:\Users\Olivier\.lilypond-fonts.cache>. D'ailleurs la description de la structure dans <C:\Lilypond-224\etc\fonts\conf.d\README> ne correspond pas (aucun dossier /usr/share/fontconfig/conf.avail).
C'est vraiment dommage ! 
SOS !!

Olivier L.

---

From: Jean Abou Samra <[email-masked]>
Date: Thu, 09 Feb 2023 15:48:54 +0100

Le jeudi 09 février 2023 à 14:21 +0000, Olivier Leschenne a écrit :
> Je viens juste de mettre à jour vers Lilypond 2.24 et Frescobaldi 3.2.  
> Le workflow est très fluide et agréable, malheureusement le résultat ne change pas : les fonctions #(define fonts ....) n'ont aucun effet, et mon Pdf  utilise seulement les fontes par défaut C059, Verdana...  
> Il n'y a aucune config. perso dans le dossier de l'appli <C:\Lilypond-224\etc [ou share]> et il n'y a aucun dossier perso <C:\Users\Olivier\.lilypond-fonts.cache>. D'ailleurs la description de la structure dans <C:\Lilypond-224\etc\fonts\conf.d\README> ne correspond pas (aucun dossier /usr/share/fontconfig/conf.avail).  
> C'est vraiment dommage !  
> SOS !!

Pour le /usr/share/fontconfig/conf.avail, c'est parfaitement normal, cela
se réfère à une installation de Fontconfig globale sur un ordinateur GNU/Linux,
ce qui est la manière la plus courante d'utiliser Fontconfig, alors que
LilyPond l'utilise de manière différente, en l'embarquant.

Une chose qui pourrait aider à débugguer, ce serait d'avoir la sortie
de LilyPond avec la variable d'environnement `FC_DEBUG` mise à 4. Moi,
je suis sous GNU/Linux et je connais peu Windows, mais a priori, une
manipulation comme celle-ci devrait le faire :

[https://docs.oracle.com/en/database/oracle/machine-learning/oml4r/1.5.1/oread/creating-and-modifying-environment-variables-on-windows.html#GUID-DD6F9982-60D5-48F6-8270-A27EC53807D0](https://docs.oracle.com/en/database/oracle/machine-learning/oml4r/1.5.1/oread/creating-and-modifying-environment-variables-on-windows.html#GUID-DD6F9982-60D5-48F6-8270-A27EC53807D0)

Après avoir changé la variable, en compilant le fichier, vous devriez
avoir dans le log des tonnes d'information, qu'il faudrait poster ici
avant de supprimer le réglage de `FC_DEBUG`.

Cordialement,

Jean

---

From: Olivier Leschenne <[email-masked]>
Date: Thu, 9 Feb 2023 17:09:17 +0000 (UTC)

Le jeudi 9 février 2023 à 15:48:58 UTC+1, Jean Abou Samra <[email-masked]> a écrit : -------------------------------------------------------------------------------

Pour le /usr/share/fontconfig/conf.avail, c'est parfaitement normal, celase réfère à une installation de Fontconfig globale sur un ordinateur GNU/Linux,ce qui est la manière la plus courante d'utiliser Fontconfig, alors queLilyPond l'utilise de manière différente, en l'embarquant.

Une chose qui pourrait aider à débugguer, ce serait d'avoir la sortiede LilyPond avec la variable d'environnement FC_DEBUG mise à 4. Moi,je suis sous GNU/Linux et je connais peu Windows, mais a priori, unemanipulation comme celle-ci devrait le faire :

https://docs.oracle.com/en/database/oracle/machine-learning/oml4r/1.5.1/oread/creating-and-modifying-environment-variables-on-windows.html#GUID-DD6F9982-60D5-48F6-8270-A27EC53807D0

Après avoir changé la variable, en compilant le fichier, vous devriezavoir dans le log des tonnes d'information, qu'il faudrait poster iciavant de supprimer le réglage de FC_DEBUG.

Cordialement,
Jean

-------------------------------------------------------------------------------

Merci à nouveau pour votre retour rapide. 
J'ai testé ma partition avec la variable envir. indiquée (FC_DEBUG=4) ; ci-joint le fichier Log.
Pour info : j'ai aussi une machine macOS (10.14.6 = Mojave) avec Lilypond 2.22 et Frescobaldi 3.1. J'ai testé les mêmes fichiers. 
<EB Garamond> est correctement installée, mais là non plus Lilypond ne parvient pas à l'utiliser ... (C059 à la place)J'en perds mon latin !
Cordialement, Olivier

---

From: Jean Abou Samra <[email-masked]>
Date: Thu, 09 Feb 2023 19:17:47 +0100

> <EB Garamond> est correctement installée, mais là non plus Lilypond ne parvient pas à l'utiliser ... (C059 à la place)  

Pfff. J'ai essayé votre partition elle-même, alors que jusqu'ici,
j'avais seulement testé avec les exemples minimalistes au début
de votre message, et j'ai pu reproduire le problème et comprendre.

a) Concernant le `\paper` : il faut mettre #(set-global-staff-size 20) *après*
   set-global-fonts, car set-global-staff-size réinitialise les polices.

b) Concernant le `\override Lyrics.LyricText.font-name` : mettre
   `"EBGaramond Regular"` et non pas `"EBGaramond-Regular"`.

Cordialement,

Jean

---

From: Jean Abou Samra <[email-masked]>
Date: Thu, 09 Feb 2023 19:21:02 +0100

> a) Concernant le `\paper` : il faut mettre #(set-global-staff-size 20) *après*

Pardon, je voulais dire *avant*.