Le 03/10/2022 à 17:43, Vincent Gay a écrit :
Le 03/10/2022 à 16:58, Jean Abou Samra a écrit :
ça a l'air de mieux fonctionner en ajoutant (ne me demande pas
pourquoi) :
ben je te ne le demande pas pourquoi si tu ne sais pas mais comment
tu as trouvé la solution ? Sorcellerie ?
En tous cas merci.
Je ne crois pas à la sorcellerie :-)
Je le répète, je ne suis pas expert en polices, et il est probable
que ce que je dis ne soit pas juste à 100%, mais voici la manière dont
je comprends ce qui se passe. Pour le rendu du texte à partir d’une
police, avec les innombrables subtilités que cela comporte (espacement,
ligatures, accents et diacritiques, texte de droite à gauche, etc),
LilyPond recourt à une bibliothèque nommée Pango. Par contre, Pango est
faite pour le texte, et pas pour la musique, donc les polices musicales
sont gérées de manière complètement séparée et spécifique à LilyPond.
L'utilisation ou non de Pango dépend de la valeur de font-encoding. Avec
la valeur 'fetaText, LilyPond va chercher dans les polices musicales
(par défaut, la police Feta développée et distribuée avec LilyPond).
Comme le grob VoltaBracket s'affiche normalement avec un chiffre
musical — avec cette forme très caractéristique comme les doigtés,
pas du tout habituelle pour du texte normal —, VoltaBracket.font-encoding
est mis à fetaText par défaut. Or, apparemment, soit LilyJAZZ ne contient
pas les glyphes de lettre dans la partie musicale, soit ils ne sont
pas sous la forme attendue par LilyPond. Toujours est-il que LilyPond
ne les trouve pas. Par contre, avec 'latin1, LilyPond appelle Pango
qui va les chercher comme dans une police textuelle normale, et là
ça marche.