1.2.8 Le modèle de boîte de LilyPond

Le modèle de boîte « classique » pour du texte – tel qu’en vigueur par exemple chez TeX – comporte les trois dimensions largeur, hauteur et profondeur : les glyphes sont positionnés sur une ligne de base horizontale de texte ; la hauteur d’un glyphe est l’empan vertical au-dessus de cette ligne, la profondeur l’empan au-dessous de cette ligne et la largeur représente l’étendue horizontale de ce glyphe. LilyPond y ajoute une quatrième dimension, breapth,1 pour étendre la taille horizontale quelque peu sur la gauche du « point de référence » du glyphe, noté « (0, 0) » dans l’image ci-dessous. La raison principale à cette extension tient au fait que de nombreux glyphes, tel que le point d’orgue, ont une symétrie horizontale (et sont aussi attachés symétriquement à une tête de note) et que le meilleur point de référence de tels glyphes est par conséquent le centre horizontal. D’autres glyphes, comme par exemple l’altération de quart de ton présent sur la gauche de l’image, disposent quant à eux d’un breapth considérable.

[image of music]

Comme l’indique le glyphe de guidon sur la droite de l’image, la boîte définie pour un glyphe diffère souvent et de façon considérable avec ce qui est en fait imprimé : LilyPond positionne le côté droit du glyphe de guidon à la fin d’une portée, faisant dépasser la ligne d’extension à droite dans la marge.

Ce modèle de boîte sert non seulement aux glyphes musicaux de LilyPond, mais aussi pour les markups quelle qu’en soit la nature. Les dimensions, tant horizontale que verticale, sont spécifiées en terme d’étendue ; utilisant la notation Scheme, le glyphe de gauche dans l’image ci-dessus a une étendue horizontale de #'(-9 . 26) et une étendue verticale de #'(-10 . 29).

LilyPond utilise aussi quelques extensions au modèle de boîte afin de couvrir certains cas particuliers.


Footnotes

(1)

Il s’agit d’un terme inventé, dérivé du mot anglais « breadth » (ampleur, laize) et qui est un proche synonyme de « largeur ».


GNU LilyPond – Extension des fonctionnalités v2.25.25 (development-branch).