Améliorations en matière de fontes et de mise en forme du texte
- La nouvelle commande de markup
\bar-linepermet d’imprimer une barre de mesure dans du texte.\markup { \override #'(word-space . 2) \line { Exemples \fontsize #-5 \translate-scaled #'(0 . 2) { \bar-line ":|." \bar-line ".|:" \bar-line ";!S!;" \bar-line "]{|}[" } } }
- La syntaxe permettant de modifier les fontes musicales et textuelles a
changé. Au lieu de
\paper { #(define fonts (set-global-fonts #:music "Nom de la fonte musicale" #:brace "Nom de la fonte musicale d'accolades" #:roman "Nom de la fonte à empattements" #:sans "Nom de la fonte sans empattements" #:typewriter "Nom de la fonte monospace")) }ou
\paper { #(define fonts (make-pango-font-tree "Nom de la fonte à empattements" "Nom de la fonte sans empattements" "Nom de la fonte monospace" factor)) }la syntaxe consacrée est dorénavant
\paper { property-defaults.fonts.music = "Nom de la fonte musicale" property-defaults.fonts.serif = "Nom de la fonte à empattements" property-defaults.fonts.sans = "Nom de la fonte sans empattement" property-defaults.fonts.typewriter = "Nom de la fonte monospace" }Contrairement aux anciennes pratiques, la nouvelle syntaxe n’interfère en rien dans la taille des fontes, qui doit se gérer séparément à l’aide de
set-global-staff-sizeoulayout-set-staff-size.La liste associative ne comporte pas de clé
brace; les glyphes d’accolade sont désormais toujours pris dans la fonte musicale. Il est néanmoins possible d’y déroger en utilisant une famille de fontes supplémentaire, comme dans l’exemple suivant (la fonte LilyJAZZ doit alors être disponible) :\layout { \context { \Score \override SystemStartBrace.font.music = "lilyjazz" } } \new PianoStaff << \new Staff { c' } \new Staff { c' } >> \markup \override #'(fonts . ((music . "lilyjazz"))) \left-brace #20Dans la mesure où
fontsest une simple propriété, il est possible de lui porter dérogation sur la base d’un objet graphique, comme par exemple\layout { \override Score.SectionLabel.fonts.roman = "Custom font" }Ceci s’avère préférable à l’utilisation de la propriété
font-name, cette dernière rendant ineffectives les commandes telles que\boldet requérant d’inclure « Bold » dans la chaîne defont-name. L’utilisation defontsne provoque pas de tels effets. - La commande de markup
\lookupn’est désormais disponible que pour les accolades ; pour les autres glyphes, c’est la commande\musicglyphqu’il faut utiliser. Au lieu de\lookup, il vaut d’ailleurs mieux lui préférer\left-brace. - Lorsqu’une fonte musicale est utilisée dans un markup –
typiquement pour une indication de nuance – et qu’un glyphe en était
absent, celui-ci était rendu dans une fonte textuelle normale. Ceci
n’est plus le cas, et un avertissement est alors émis quant au glyphe
manquant. Afin d’utiliser une fonte textuelle, il faut utiliser l’une
des commande de markup
\serif,\sansou\typewriter, comme ici par exemple.dolceP = #(make-dynamic-script #{ \markup { \serif \normal-weight dolce p } #}) { c'\dolceP }
- Les petites capitales s’obtiennent désormais en réglant
font-variantsursmall-caps, plutôt qu’en fixantfont-shapeàcaps. Dans la mesure où la raison d’être defont-shapeest de pouvoir accéder à l’italique, ce changement rend possible l’utilisation conjointe de petites capitales et de l’italique. - La propriété
font-seriesest désormais plus flexible et accepte des valeurs telles quesemiboldetlighten plus des seulesnormaletbold.La valeur
mediumest désormais une valeur intermédiaire entrenormaletboldplutôt qu’un équivalent denormal. Par conséquent, la commande de markup\mediuma été renommée en\normal-weight. - La nouvelle propriété
font-stretchpermet de sélectionner une fonte resserrée ou expansée. - Le texte d’un objet
VoltaBrackettel que défini par un\override Score.VoltaBracket.text = …ou\set Score.repeatCommands = …n’est plus automatiquement rendu dans une fonte musicale ; il faut pour cela utiliser la commande de markup\volta-numbersur les parties qui le nécessitent. Il faudra donc, par exemple, convertir\set Score.repeatCommands = #'((volta "2, 5"))
en
\set Score.repeatCommands = #`((volta ,#{ \markup { \concat { \volta-number 2 , } \volta-number 5 } #})) - Dans un markup, les doigtés (
\markup \finger) et chiffrages d’accord (\markup \figured-bass) sont désormais adaptés à la taille du texte normal en présence d’un\fontsize.myText = \markup { The fingering \finger { 5-4 } for a \figured-bass { 7 "6\\" } … } \myText \markup\fontsize #6 \myText
Le comportement antérieur peut être retrouvé en activant les variables globales
legacy-figured-bass-markup-fontsizeetlegacy-finger-markup-fontsize, soit :#(set! legacy-figured-bass-markup-fontsize #t) #(set! legacy-finger-markup-fontsize #t) myText = \markup { The fingering \finger { 4-5 } for a \figured-bass { 5+ 6 } … } \myText \markup\fontsize #6 \myText
- Pour plus de clarté, la commande de markup
\romana été renommée en\serif. Aussi, pour modifier une propriétéfont-familyréglée àsansoutypewriter, il faut la définir àserif, non plus àroman. - La commande de markup
\texta été supprimée. Doivent être utilisées en remplacement les commandes\serif,\sansou\typewriter. Si ces commandes permettaient de définir le style de fonte uniquement lorsqu’une fonte textuelle était utilisée (non une fonte musicale comme pour les nuances), elles déterminent désormais à la fois le style de fonte et l’utilisation d’une fonte textuelle. - La taille de la police utilisée par la commande de markup
\volta-numbera été réduite afin de mieux s’harmoniser avec le texte environnant. Par la même occasion, la taille du crochet de reprise (qui utilise\volta-numberpour son formatage par défaut) a été augmentée en proportion inverse afin de compenser dans les cas habituels. - Certains glyphes, tels que « one » ou « accidentals.hufnagelM1 », de la fonte Emmentaler avaient une boîte englobante excessivement large en raison d’un bogue dans la chaîne de production des fontes. Ceci est désormais corrigé, mais certaines différences pourraient apparaître dans la typographie puisque des boîtes englobantes plus étroites peuvent entraîner une typographie plus resserrée.
- De nouvelles commandes pour imprimer une représentation textuelle des
altérations ont été ajoutées :
\text-doubleflat,\text-flat,\text-natural,\text-sharp,\text-doublesharpainsi que de manière plus générale\text-accidental.\markuplist \override #'(padding . 1) \table #'(-1 -1 -1 -1 -1 -1) { "Altérations pour du texte :" \text-doubleflat \text-flat \text-natural \text-sharp \text-doublesharp "Altérations dans la musique :" \doubleflat \flat \natural \sharp \doublesharp }
- La commande de markup
\circleaccepte désormais une propriétébbox. Lorsque cette propriété est activée, la boîte englobant ses argument est utilisée pour définir le diamètre du cercle.\markup { \circle { \center-column { "court" "court" "très très long" } } \override #'(bbox . #t) \circle { \center-column { "court" "court" "très très long" } } }
- La commande
\tagest désormais fonctionnelle dans les environnements\markup. De nouvelles commandes de markup sont ajoutées pour filtrer (\keep-with-taget\remove-with-tag) et insérer des makups dans un contexte de markup (\push-to-taget\append-to-tag) ou dans un contexte musical (\pushToTagMarkupet\appendToTagMarkup).test = \markup { \tag #'a a \tag #'b b c } music = \relative { c'^\test c c c } \keepWithTag #'a \music \removeWithTag #'a \music \pushToTagMarkup #'a push \music \appendToTagMarkup #'a append \music \markup { \keep-with-tag #'a \test } \markup { \remove-with-tag #'a \test } \markup { \push-to-tag #'a push \test } \markup { \append-to-tag #'a append \test } \markup { \keep-with-tag #'a \score { \music } }