Subject: layout-set-staff-size et define fonts sont dans un layout, et cela ne marche pas toujours

From: "F. Moinard" <[email-masked]>
Date: Thu, 6 May 2021 12:03:18 +0400

Bonjour,

En 2.23.2, j'ai besoin de redéfinir la taille du layout et de repréciser 
les polices pour chaque partie d'un book.

L'opération échoue parfois d'une manière que je n'arrive pas trop à 
résumer. Exemple court :

%%%%%%%%%%%%%%%%%%%%
\version "2.23.2"

oui = { a2 b }
non = { a2 b' }

\score {
   {
     %  \oui
     \non
   }
   \layout {
     #(layout-set-staff-size 18)
     #(define fonts
        (set-global-fonts
         #:music "lilyjazz"
         #:factor (/ staff-height pt 20)
         ))
   }
}
%%%%%%%%%%%%%%%%%%%%

La compilation provoque une erreur que Frescobaldi résume par

Analyse...

Interprétation en cours de la musique...

Pré-traitement des éléments graphiques...

Arrêté avec le code de retour 11.

tandis que lilypond -V termine par

[/usr/local/lilypond/usr/share/lilypond/current/fonts/otf/lilyjazz-20.otf
nom CFF de la fonte LilyJAZZ-20 identique.]Erreur de segmentation

Idem avec une autre police comme mtf-cadence ("nom CFF de la fonte 
MTF-Cadence-20 identique.]Erreur de segmentation")

Mais ça-marche™ avec la variable \oui. Partant d'un fichier un peu 
longuet, j'ai eu du mal à isoler ce qui clochait. Cette syntaxe \score 
{... \layout { <size> <fonts> } } ne fonctionne plus ou autrement ?

Cordialement, Frédéric

---

From: Jean Abou Samra <[email-masked]>
Date: Thu, 6 May 2021 13:44:09 +0200

Le 06/05/2021 à 10:03, F. Moinard a écrit :
>
> Bonjour,
>
> En 2.23.2, j'ai besoin de redéfinir la taille du layout et de 
> repréciser les polices pour chaque partie d'un book.
>

Bonjour,

Une erreur de segmentation (« segmentation fault » en anglais ou
simplement « segfault » pour les intimes) indique une mauvaise
gestion de la mémoire en C++. C'est donc un bogue, car LilyPond
est censé ne jamais planter de cette façon brutale. Pourriez-vous
envoyer le fichier lilyjazz que vous utilisez pour que nous puissions
analyser le souci ?

Merci !

Jean

---

From: Jean Abou Samra <[email-masked]>
Date: Thu, 6 May 2021 21:06:56 +0200

Le 06/05/2021 à 13:44, Jean Abou Samra a écrit :
>> longuet, j'ai eu du mal à isoler ce qui clochait. Cette syntaxe 
>> \score {... \layout { <size> <fonts> } } ne fonctionne plus ou 
>> autrement ?
>>
>> Cordialement, Frédéric
>>
>
> Bonjour,
>

Désolé pour la demande inutile, j'ai finalement trouvé des fichiers
LilyJazz permettant de reproduire le problème sur 
https://github.com/OpenLilyPondFonts/lilyjazz

C'est donc bien un bogue, apparu dans la branche de développement
à la suite d'un changement qui constituait une étape vers la prise
en charge de SMuFL (le standard actuel pour les polices musicales).
Le formatdes métadonnées a changé légèrement, si bien que les hampes
versle bas produisent ce plantage lorsque la police n'a pas été prévue
pour cela. Je l'ai ajouté au tracker :

https://gitlab.com/lilypond/lilypond/-/issues/6136

La solution pour l'instant est de repasser à la version stable
LilyPond 2.22.

Merci encore pour l'information ! Il est rudement utile que des
utilisateurs comme vous testent les versions de développement.

Cordialement,
Jean

---

From: "F. Moinard" <[email-masked]>
Date: Fri, 7 May 2021 11:01:02 +0400

Bonjour Jean-Adbou,

Merci pour le débogage !
Les hampes vers le bas, donc...

Je vais donc reprendre une 2.22 pour ces fichiers.

Cordialement,
Frédéric