[ << Retouche de partition ] | [Racine][Table des matières][Index][ ? ] | [ Travail sur des projets LilyPond >> ] | ||
[ < Taille des objets ] | [ Plus haut: Apparence des objets ] | [ Positionnement des objets > ] |
4.3.3 Longueur et épaisseur des objets
Dans LilyPond, les écartements et longueurs sont généralement mesurés en
« intervalles de lignes » (staff-spaces en anglais),
c’est-à-dire l’écartement qui sépare deux lignes adjacentes dans la
portée – plus rarement, il est question de demi-intervalles de lignes.
Les propriétés d’épaisseur (thickness
), quant à elles, sont
généralement mesurées en unités d’une propriété interne appelée
« épaisseur de ligne » (line-thickness
). Par exemple, les
lignes de crescendo/decrescendo présentent par défaut une épaisseur de 1
unité de line-thickness
, alors que l’épaisseur d’une hampe est de
1,3. Toutefois, certaines propriétés d’épaisseur sont différentes : par
exemple, l’épaisseur des ligature se mesure en espaces de portée.
Dans ces conditions, comment ajuster les longueurs à la taille des
polices de caractères ? La solution consiste à utiliser une fonction
spéciale appelée magstep
– pseudo facteur de zoom –, créée
précisément dans ce but. Elle comporte un argument, le changement de
taille de police (#-2 dans l’exemple précédent), à partir duquel elle
applique un facteur de mise à l’échelle qui réduit, ou augmente, les
objets en proportion. Voici comment elle s’utilise :
\new Staff ="main" { \relative g' { r4 g8 g c4 c8 d | e4 r8 << { f c c } \new Staff \with { alignAboveContext = #"main" \override Clef #'stencil = ##f \override TimeSignature #'stencil = ##f fontSize = #-2 % Reduce stem length and line spacing to match \override StaffSymbol #'staff-space = #(magstep -2) } { f8 f c } >> r4 | } }
Puisque la longueur des hampes et plusieurs autres propriétés de
longueur sont calculées par rapport à la valeur de la propriété
staff-space
, elles sont automatiquement mises à l’échelle. Vous
remarquerez que cela n’affecte que la dimension verticale de l’ossia –
la dimension horizontale étant déterminée par les objets de la portée
principale de façon à rester synchronisée vis-à-vis d’elle, elle n’est
pas affectée par tous ces changements de taille. Bien sûr, si l’échelle
de toute la portée principale était modifiée, tout le placement
horizontal s’en trouverait affecté. Il en sera question plus bas dans
cette section.
Voilà qui complète la création d’une ossia. Les tailles et longueurs de tous les objets peuvent être modifiées de manière analogue.
Pour de petits changements d’échelle, comme dans l’exemple ci-dessus, il
n’est généralement pas utile d’ajuster l’épaisseur des différentes
lignes telles que les barres de mesure, les ligatures, les soufflets de
crescendo/decrescendo, les liaisons, etc. Si l’épaisseur d’un objet en
particulier doit être ajustée, le mieux est de modifier sa propriété
thickness
. Nous avons vu plus haut, dans
Propriétés des objets de rendu, un exemple de modification de
l’épaisseur des liaisons. L’épaisseur de tous les objets tracés
(c’est-à-dire ceux qui ne proviennent pas d’une police de caractère)
peut être changée de la même manière.
[ << Retouche de partition ] | [Racine][Table des matières][Index][ ? ] | [ Travail sur des projets LilyPond >> ] | ||
[ < Taille des objets ] | [ Plus haut: Apparence des objets ] | [ Positionnement des objets > ] |