]> git.donarmstrong.com Git - lilypond.git/blob - Documentation/fr/user/text.itely
fdd0f9d7232575241defc3822e944305329dc7bc
[lilypond.git] / Documentation / fr / user / text.itely
1 @c -*- coding: utf-8; mode: texinfo; -*-
2 @ignore
3     Translation of GIT committish: bdf8540b74167817eab96ed3d13b35477217f9fe
4
5     When revising a translation, copy the HEAD committish of the
6     version that you are working on.  See TRANSLATION for details.
7 @end ignore
8
9 @c \version "2.11.65"
10
11 @c Translators: Jean-Charles Malahieude
12 @c Translation checkers: Valentin Villenave, John Mandereau
13
14 @node Text
15 @section Text
16
17 @lilypondfile[quote]{text-headword.ly}
18
19 Nous allons voir ici comment insérer dans une partition du texte, avec
20 différentes possibilité de formatage.
21
22 @cindex Texte, autres langues
23 Pour écrire des accents et autres caractères spéciaux, il suffit de
24 les insérer directement dans votre fichier LilyPond.  Ce fichier devra
25 être sauvegardé avec l'encodage UTF-8.  Pour plus d'informations, voir
26 @ref{Text encoding}.
27
28 @menu
29 * Writing text::                
30 * Formatting text::             
31 * Fonts::                       
32 @end menu
33
34
35 @node Writing text
36 @subsection Writing text
37
38 @menu
39 * Text scripts::                
40 * Text and line spanners::      
41 * Text spanners::               
42 * Text marks::                  
43 @end menu
44
45 @node Text scripts
46 @unnumberedsubsubsec Text scripts
47
48 @c I'm not fond of this "étiquette" wording of yours Jean-Charles;
49 @c j'utiliserais simplement l'expression "bloc \markup" afin
50 @c d'éviter toute confusion avec les \tags (qui méritent davantage
51 @c le titre d'étiquette, stricto sensu) -vv
52
53 @cindex Étiquette de texte
54 @cindex blocs de texte
55 @cindex ajout de texte
56
57 Vous pouvez placer arbitrairement des chaînes de caractères, ou
58 @ref{Formatting text} en langage LilyPond, au dessus ou au dessous des
59 notes en employant la syntaxe @code{c^"text"}.  Par défaut, ces
60 indications n'affecteront en rien l'espacement des notes, sauf à
61 utiliser la commande @code{\textLengthOn}.
62
63 @lilypond[quote,fragment,ragged-right,verbatim,relative=1]
64 c4^"longtext" \textLengthOn c4_"longlongtext" c4
65 @end lilypond
66
67 @noindent
68 Pour revenir à l'espacement par défaut, utilisez @code{\textLengthOff}.
69
70 Des constructions plus élaborées d'étiquette peuvent être obtenues en
71 ayant recours à la commande @emph{markup} :
72
73 @lilypond[fragment,ragged-right,verbatim,quote]
74 c'4^\markup { bla \bold bla }
75 @end lilypond
76
77 La commande @code{\markup} est décrite plus en détails dans la section
78 @ref{Formatting text}.
79
80
81 @predefined
82 @funindex \textLengthOn
83 @code{\textLengthOn},
84 @funindex \textLengthOff
85 @code{\textLengthOff}.
86 @endpredefined
87
88
89 @commonprop
90
91 S'assurer que tous les éléments textuels et les paroles respectent
92 les marges du document requiert des calculs relativement lourds ; c'est
93 la raison pour laquelle LilyPond, par défaut, ne s'en préoccupe pas.
94 Vous pouvez cependant l'y forcer en définissant
95
96 @example
97 \override Score.PaperColumn #'keep-inside-line = ##t
98 @end example
99
100
101 @seealso
102
103 Dans ce manuel : @ref{Formatting text}.
104
105 Référence du programme : @rinternals{TextScript}.
106
107
108 @node Text and line spanners
109 @unnumberedsubsubsec Text and line spanners
110
111 Certaines indications d'interprétation comme @i{rallentando}, 
112 @i{accelerando} ou @i{trilles}, s'incrivent textuellement et se
113 prolongent sur plusieurs mesures à l'aide d'une ligne pleine, pointillée
114 ou ondulée.
115
116 Les routines chargées de matérialiser un @emph{glissando} sont tout à
117 fait adaptées à une gestion précise, à la fois du placement du texte, et
118 du calcul de l'envergure de sa ligne d'extension.  La routine
119 @code{ly:line-interface::print} est plus particulièrement en charge de
120 déterminer les points d'ancrage de la ligne et de la dessiner selon le
121 style requis.
122   
123 Voici un exemple qui illustre les différents styles de ligne
124 disponibles, ainsi que la manière de les personnaliser.
125
126 @lilypond[relative=2,ragged-right,verbatim,fragment]
127 d2 \glissando d'2
128 \once \override Glissando #'style = #'dashed-line
129 d,2 \glissando d'2
130 \override Glissando #'style = #'dotted-line
131 d,2 \glissando d'2
132 \override Glissando #'style = #'zigzag
133 d,2 \glissando d'2
134 \override Glissando #'style = #'trill
135 d,2 \glissando d'2
136 @end lilypond
137
138 L'information qui va déterminer les extrémités est calculée à la
139 volée pour chaque objet graphique.  Il est tout à fait possible de les
140 régler vous-même :
141
142 @lilypond[relative=2,ragged-right,verbatim,fragment]
143 e2 \glissando f
144 \once \override Glissando #'(bound-details right Y) = #-2
145 e2 \glissando f
146 @end lilypond
147
148 L'objet @code{Glissando}, comme tous ceux qui utilisent la routine
149 @code{ly:line-interface::print}, comporte une liste 
150 d'associations.  Dans le code ci-dessus, la valeur de @code{Y} est
151 fixée, dans la liste d'associations, à @code{-2} pour l'ancrage à
152 droite.  Vous pouvez naturellement ajuster l'extrémité gauche en
153 remplaçant @code{right} (pour @code{droite}) par @code{left}.
154
155 Si @code{Y} n'est pas fixé, sa valeur sera calculée en fonction de la
156 hauteur du point de référence droite de la ligne.
157
158 Lorsque survient un saut de ligne, la liste des ancrages est
159 augmentée d'une liste complémentaire contenant @code{left-broken}
160 (brisure à gauche) et @code{right-broken} (brisure à droite), comme
161 dans l'exemple suivant :
162
163 @lilypond[relative=2,ragged-right,verbatim,fragment]
164 \override Glissando #'breakable = ##T 
165 \override Glissando #'(bound-details right-broken Y) = #-3
166 c1 \glissando \break
167 f1
168 @end lilypond
169
170 Vous disposez des propriétés suivantes :
171
172 @table @code
173 @item Y
174 Fixe l'ordonnée (coordonnée-Y) de l'extrémité, mesurée en taille de
175 portée.  Il s'agit par défaut du centre de l'objet de rattachement ;
176 pour un glissando, ce sera le milieu de la tête de note.
177
178 Pour des marques horizontales, telles du texte ou le trait d'un
179 trille, cette valeur est figée à 0.
180
181 @item attach-dir
182 Détermine l'endroit où la ligne commence et finit, relativement à
183 l'objet de rattachement. Autrement dit, une valeur de @code{-1} (ou
184 @code{LEFT} pour gauche) fera commencer ou finir la ligne du côté
185 gauche de la tête de note de référence.
186
187 @item X
188 Coordonnée absolue du point final. Dans la mesure où elle est calculée
189 à la volée, il n'y a pas vraiment de raison de l'outrepasser.
190
191 @item stencil
192 Sous-propriété contenant les éventuels symboles présents avant ou
193 après la ligne. Destinée à un usage interne, nous vous recommendons
194 d'utiliser plutôt @code{text}.
195
196 @item text
197 Marqueur qui sera analysé pour alimenter @code{stencil}.  On y trouve
198 habituellement les @i{cresc.} ou @i{tr} des extenseurs horizontaux.
199
200 @lilypond[quote,ragged-right,fragment,relative=2,verbatim]
201 \override TextSpanner #'(bound-details left text)
202    = \markup { \small \bold Slower }
203 c2\startTextSpan b c a\stopTextSpan
204 @end lilypond
205
206 @item stencil-align-dir-y
207 @item stencil-offset
208 Lorsqu'ils ne sont pas définis, le tracé est tout simplement
209 positionné conformément aux sous-propriétés @code{X} et @code{Y}.  En
210 fixant soit @code{stencil-align-dir-y}, soit @code{stencil-offset},
211 vous pouvez décaler le coin du marqueur par rapport à l'extrémité de
212 la ligne.
213
214 @lilypond[relative=1,fragment,verbatim]
215 \override TextSpanner #'(bound-details left stencil-align-dir-y) = #DOWN
216 \override TextSpanner #'(bound-details right stencil-align-dir-y) = #UP
217
218 \override TextSpanner #'(bound-details left text) = #"gggg"
219 \override TextSpanner #'(bound-details right text) = #"hhhh"
220 c4^\startTextSpan c c c \stopTextSpan
221 @end lilypond
222
223 @item arrow
224 Assigner à cette sous-propriété la valeur @code{vrai} (@code{#t})
225 produira une terminaison en pointe de flèche.
226
227 @item padding
228 Cette sous-propriété contrôle l'espace entre les extrémités de la
229 ligne, telles que définies, et la réalité.  Sans ce léger décalage, le
230 début et la fin d'un glissando seraient en plein milieu des têtes de note.
231
232 @end table
233
234 @seealso
235
236 Référence du programme : @rinternals{TextSpanner},
237 @rinternals{Glissando}, @rinternals{VoiceFollower},
238 @rinternals{TrillSpanner}, @rinternals{line-spanner-interface}.
239
240 Exemples : @rlsr{Expressive marks}.
241
242
243 @node Text spanners
244 @unnumberedsubsubsec Text spanners
245
246 @cindex Prolongateurs de texte
247
248 Certaines indications d'interprétation comme @i{rallentando} ou 
249 @i{accelerando} s'incrivent en toutes lettres et se prolongent sur
250 plusieurs mesures grâce à une ligne pointillée.  Les commandes
251 @code{\startTextSpan} et @code{\stopTextSpan}, respectivement
252 attachées à la première et à la dernière note qu'elles concernent,
253 déterminent l'envergure de ces prolongateurs, ou extenseurs.
254
255 La chaîne à imprimer, ainsi que son style, sont définis par des
256 propriétés, comme ici :
257
258 @lilypond[quote,ragged-right,fragment,relative=1,verbatim]
259 c1
260 \textSpannerDown
261 \override TextSpanner #'(bound-details left text) =
262   \markup { \upright "rall" } 
263 c2\startTextSpan b c\stopTextSpan a
264 \break
265 \textSpannerUp
266 \override TextSpanner #'(bound-details left text) =
267   \markup { \italic "rit" } 
268 c2\startTextSpan b c\stopTextSpan a
269 @end lilypond
270
271
272 @predefined
273 @funindex textSpannerUp
274 @code{\textSpannerUp},
275 @funindex textSpannerDown
276 @code{\textSpannerDown},
277 @funindex textSpannerNeutral
278 @code{\textSpannerNeutral}.
279 @endpredefined
280
281
282 @commonprop
283
284 Pour obtenir une ligne pleine, utilisez
285
286 @example
287 \override TextSpanner #'style = #'line
288 @end example
289
290
291 @seealso
292
293 Référence du programme : @rinternals{TextSpanner}.
294
295
296 @node Text marks
297 @unnumberedsubsubsec Text marks
298
299 @cindex coda sur une barre de mesure
300 @cindex segno sur une barre de mesure
301 @cindex point d'orgue sur une barre de mesure
302 @cindex barres de mesure, symboles au dessus de
303 @funindex \mark
304
305 La commande @code{\mark} est tout d'abord conçue pour les
306 @ref{Rehearsal marks}.  Elle peut néanmoins servir à insérer des
307 signes de coda ou de segno, ou bien un point d'orgue, au dessus d'une
308 barre de mesure.  Couplez-la alors à la commande @code{\markup} pour
309 avoir accès au symbole approprié (ils sont répertoriés dans 
310 @ref{The Feta font}).
311
312
313 @lilypond[fragment,quote,ragged-right,verbatim,relative=2]
314 c1 \mark \markup { \musicglyph #"scripts.ufermata" }
315 c1
316 @end lilypond
317
318 @noindent
319 Le résultat de @code{\mark} n'apparaîtra que sur la portée supérieure
320 d'un système.  Si vous introduisez la commande @code{\mark} au moment
321 d'une barre de mesure, la marque se placera au dessus de la barre.  Si
322 vous y faites appel au milieu d'une mesure, cette marque sera
323 positionnée entre les notes.  Si elle intervient en début de ligne,
324 elle sera placée juste avant la première note de cette portée.  Enfin,
325 une marque qui tomberait sur un saut de ligne sera imprimée au début
326 de la ligne suivante.
327 @c  IMO this is a bug; hopefully it'll be fixed soon, so I can
328 @c  delete this sentence.   -gp
329 Au cas où il n'y aurait pas de ligne à suivre, la marque ne sera pas imprimée.
330
331
332 @commonprop
333
334 Pour imprimer une marque à la fin de la portée en cours, procédez
335 ainsi :
336
337 @example
338 \override Score.RehearsalMark
339   #'break-visibility = #begin-of-line-invisible
340 @end example
341
342 @code{\mark} est souvent bien utile pour porter une indication à la
343 fin d'une mesure.  Pensez alors à modifier la propriété
344 @code{#'self-alignment}.  
345
346 @lilypond[fragment,quote,ragged-right,verbatim,relative=2]
347 \override Score.RehearsalMark
348   #'break-visibility = #begin-of-line-invisible
349 c1 c c c4 c c c
350 \once \override Score.RehearsalMark #'self-alignment-X = #right
351 \mark "D.S. al Fine "
352 @end lilypond
353
354 Les indications textuelles peuvent s'aligner par rapport à d'autres
355 objets que des barres de mesure, tels que l'armure, la clé ou le chiffre de
356 mesure : 
357
358 @lilypond[fragment,quote,ragged-right,verbatim,relative=2]
359 \relative {
360   c1
361   \key cis \major
362   \clef alto
363   \override Score.RehearsalMark #'break-align-symbols = #'(key-signature)
364   \mark "on key"
365   cis
366   \key ces \major
367   \override Score.RehearsalMark #'break-align-symbols = #'(clef)
368   \clef treble
369   \mark "on clef"
370   ces
371   \override Score.RehearsalMark #'break-align-symbols = #'(time-signature)
372   \key d \minor
373   \clef tenor
374   \time 3/4
375   \mark "on time"
376   c
377 }
378 @end lilypond
379
380 Les symboles pris en charge par @code{break-align-symbols} sont :
381 @code{ambitus}, @code{breathing-sign}, @code{clef}, @code{custos},
382 @code{staff-bar}, @code{left-edge}, @code{key-cancellation},
383 @code{key-signature}, et @code{time-signature}.
384
385 Par défaut, les indications textuelles sont alignées avec le milieu
386 des objets de notation. Bien entendu, vous pouvez modifier les
387 propriétés @code{break-align-anchor-alignment} ou
388 @code{break-align-anchor} des objets en question pour obtenir un autre
389 résultat.
390
391 @c KEEP LY
392 @lilypond[fragment,quote,ragged-right,verbatim]
393 {
394   \override Score.RehearsalMark #'break-align-symbols = #'(key-signature)
395   c1
396   \key cis \major
397
398   % La marque sera alignée sur le côté gauche de l'armure
399   \once \override Staff.KeySignature #'break-align-anchor-alignment = #LEFT
400   \mark \default
401   cis1
402   \key ces \major
403
404   % La marque sera alignée sur le côté droit de l'armure
405   \once \override Staff.KeySignature #'break-align-anchor-alignment = #RIGHT
406   \mark \default
407   ces1
408   \key cis \major
409
410   %  La marque sera alignée sur le côté gauche de l'armure,
411   % puis décalée vers la droite de 2 unités.
412   \once \override Staff.KeySignature #'break-align-anchor = #2
413   \mark \default
414   ces1
415 }
416 @end lilypond
417
418 Bien que ces indications textuelles ne soient habituellement imprimées
419 qu'au niveau de la portée supérieure, vous pouvez forcer leur
420 affectation à chacune des portées :
421
422 @lilypond[quote,ragged-right,verbatim,relative=2]
423 {
424   \new Score \with {
425     \remove "Mark_engraver"
426   }
427   <<
428     \new Staff \with {
429       \consists "Mark_engraver"
430     }
431     { c''1 \mark "foo" c'' }
432     \new Staff \with {
433       \consists "Mark_engraver"
434     }
435     { c'1 \mark "foo" c' }
436   >>
437 }
438 @end lilypond
439
440
441 @seealso
442
443 Référence du programme : @rinternals{RehearsalMark}.
444
445
446 @node Formatting text
447 @subsection Formatting text
448
449 @menu
450 * Text markup introduction::    
451 * Nested scores::               
452 * Page wrapping text::          
453 @end menu
454
455 @node Text markup introduction
456 @unnumberedsubsubsec Text markup introduction
457
458 @cindex étiquette
459 @cindex commentaire textuel
460 @cindex étiquette textuelle
461 @cindex texte ajouté
462
463 La commande @code{\markup} permet d'ajouter du texte.  Vous pouvez y
464 inclure des commandes, précédées d'un antislash @code{\} ; les
465 caractères @code{\} et @code{#} doivent être encadrés de guillemets
466 informatiques @code{"}.
467
468 @lilypond[quote,verbatim,fragment,relative=1]
469 c1^\markup { hello }
470 c1_\markup { hi there }
471 c1^\markup { hi \bold there, is \italic {anyone home?} }
472 c1_\markup { "\special {weird} #characters" }
473 @end lilypond
474
475 @noindent
476 Pour une liste des différentes commandes disponibles, consultez
477 @ref{Text markup commands}. 
478
479
480 @code{\markup} est avant tout conçu pour gérer les
481 @rinternals{TextScript}s, mais rien ne s'oppose à son utilisation
482 pour traiter du texte avec LilyPond.
483
484 @lilypond[quote,verbatim]
485 \header{ title = \markup{ \bold { foo \italic { bar! } } } }
486 \score{
487   \relative c'' {
488     \override Score.RehearsalMark
489       #'break-visibility = #begin-of-line-invisible
490     \override Score.RehearsalMark #'self-alignment-X = #right
491
492     \set Staff.instrumentName = \markup{ \column{ Alto solo } }
493     c2^\markup{ don't be \flat }
494     \override TextSpanner #'(bound-details left text) = \markup{\italic rit }
495     b2\startTextSpan
496     a2\mark \markup{ \large \bold Fine }
497     r2\stopTextSpan
498     \bar "||"
499   }
500   \addlyrics { bar, foo \markup{ \italic bar! } }
501 }
502 @end lilypond
503
504 La commande @code{\markup} peut intervenir à tout moment, y compris en
505 dehors d'un bloc @code{\score}. Voir à ce sujet 
506 @ref{Multiple scores in a book}. 
507
508 @lilypond[quote,ragged-right,verbatim]
509 \markup{ Here is some text. }
510 @end lilypond
511
512 @cindex changer de police
513
514 Le @emph{markup} de l'exemple précédent montre comment utiliser les
515 commandes de changement de police. Les commandes @code{\bold} et
516 @code{\italic} n'affectent que le premier mot qui les suit ; encadrez
517 les par des accolades si vous désirez que ces commandent s'appliquent
518 à plusieurs mots.
519
520 @example
521 \markup @{ \bold @{ c'est moi @} @}
522 @end example
523
524 @noindent
525 Une bonne habitude à prendre consiste à utiliser des accolades même
526 pour un seul mot, comme ici :
527 @example
528 \markup @{ qui \italic @{ est @} là ? @}
529 @end example
530
531 En mode @emph{markup}, vous pouvez composer des expressions comme
532 en mathématiques, des documents XML ou bien les expressions musicales.
533 Vous pouvez empiler ces expressions grâce à la commande
534 @code{\column}, ou les centrer par rapport à leur milieu avec
535 @code{\center-column}. 
536
537 @lilypond[quote,verbatim,fragment,relative=1]
538 c1^\markup { \column { a bbbb \line { c d } } }
539 c1^\markup { \center-column { a bbbb c } }
540 c1^\markup { \line { a b c } }
541 @end lilypond
542
543 Des listes non précédées de commande ne sont pas isolées. Ainsi, 
544 @example
545 \center-column @{ @{ a b @} @{ c d @} @}
546 @end example
547
548 @noindent
549
550 est la même expression que
551
552 @example
553 \center-column @{ a b c d @}
554 @end example
555
556 @noindent
557
558 L'utilisation des @code{"} ou de la commande @code{\line} permet de
559 différencier les listes de mots.
560
561 @lilypond[quote,verbatim,fragment,relative=1]
562 \textLengthOn
563 c4^\markup{ \center-column { on three lines } }
564 c4^\markup{ \center-column { "all one line" } }
565 c4^\markup{ \center-column { { on three lines } } }
566 c4^\markup{ \center-column { \line { on one line } } }
567 @end lilypond
568
569 Vous pouvez stocker les étiquettes textuelles en tant que variables,
570 et attacher ces identificateurs à des notes, comme
571 @example
572 allegro = \markup @{ \bold \large @{ Allegro @} @}
573  @{ a^\allegro b c d @}
574 @end example
575
576 Certains objets possèdent leurs propres procédures d'alignement, qui
577 annuleront toute spécification d'alignement que vous pourriez affecter
578 à un argument de type @emph{markup} que vous leur auriez fourni.  Par
579 exemple, les @rinternals{RehearsalMark} sont centrées
580 horizontalement ; de fait, utiliser 
581 @code{\mark \markup @{ \left-align .. @}} sera sans effet.
582
583 Par ailleurs, le placement vertical n'est effectué qu'après la
584 création de l'objet @emph{étiquette textuelle}. Si donc vous souhaitez
585 déplacer une étiquette, il vous faudra utiliser la propriété
586 @code{#'padding} ou créer un @qq{point d'ancrage} à l'intérieur même
587 de l'étiquette (généralement avec @code{\hspace #0}).
588
589 @lilypond[quote,verbatim,fragment,relative=1]
590 \textLengthOn
591 c'4^\markup{ \raise #5 "not raised" }
592 \once \override TextScript #'padding = #3
593 c'4^\markup{ raised }
594 c'4^\markup{ \hspace #0 \raise #1.5 raised }
595 @end lilypond
596
597 Certaines situations particulières, telles que les indications de
598 nuance, possèdent des propriétés prédéfinies quant à leur police.
599 Nous vous conseillons, en pareil cas, de réinitialiser ces propriétés
600 en utilisant @code{normal-text}.  Pour plus d'informations, consultez
601 @ref{Text markup commands}. 
602
603
604 @seealso
605
606 Dans ce manuel : @ref{Text markup commands}.
607
608 Référence du programme : @rinternals{TextScript}.
609
610 Fichiers d'initialisation : @file{scm/@/new@/-markup@/.scm}.
611
612
613 @knownissues
614
615 Le crénage ou la génération de ligatures ne sont accessibles que lors
616 d'un retraitement par @TeX{}.  Dans ce cas, LilyPond n'en tient pas
617 compte, et l'espacement de tels textes sera trop large.
618
619 Les erreurs de syntaxe sont peu loquaces.
620
621
622 @node Nested scores
623 @unnumberedsubsubsec Nested scores
624
625 Rien ne s'oppose à ce qu'une étiquette ne comporte de la musique.  Il
626 suffit que l'expression en question contienne un bloc @code{\score} et
627 un bloc @code{\layout}.
628
629 @lilypond[quote,verbatim,ragged-right]
630 \relative {
631   c4 d^\markup {
632     \score {
633       \relative { c4 d e f }
634       \layout { }
635     }
636   }
637   e f
638 }
639 @end lilypond
640
641 @node Page wrapping text
642 @unnumberedsubsubsec Page wrapping text
643 Alors que @code{\markup} s'utilise pour traiter un bloc de texte
644 insécable, @code{\markuplines} permet, employé en tête de partition,
645 d'obtenir un bloc de lignes réparties différemment et au cas où sur
646 plusieurs pages.
647
648 @verbatim
649 \markuplines {
650   \justified-lines {
651     Un long texte constitué de lignes justifiées.
652     ...
653   }
654   \justified-lines {
655     Un autre grand paragraphe justifié.
656     ...
657   }
658   ...
659 }
660 @end verbatim
661
662 @code{\markuplines} prend en argument une liste de lignes de texte,
663 qui peut elle-même consister en une suite de commandes générant à leur
664 tour des lignes de texte, comme ici :
665
666 @verbatim
667 \markuplines {
668   \line { ... }    % une ligne alignée à gauche
669   \fill-line { \line { ... } } % une ligne centrée
670   \wordwrap-lines { ... } % une liste de lignes alignées à gauche
671   \justified-lines { ... } % une liste de lignes justifiées
672 }
673 @end verbatim
674
675 Les différentes commandes permettant de générer des listes de lignes
676 se trouve dans @ref{Text markup list commands}.
677
678 @seealso
679
680 Dans ce manuel : @ref{Text markup list commands}, 
681 @ref{New markup list command definition}.
682
683
684 @predefined
685 @funindex \markuplines
686 @code{\markuplines}.
687 @endpredefined
688
689
690 @node Fonts
691 @subsection Fonts
692
693 @cindex sélection de polices
694 @cindex grossissement des polices
695 @funindex font-interface
696
697 C'est en jouant sur les propriétés des objets décrites ci-après que
698 vous pourrez sélectionner une police parmi les familles de fontes
699 préconfigurées.  LilyPond utilise par défaut la police musicale feta.
700 Pour le texte, les polices sont sélectionnées par Pango/Fontconfig.
701 C'est New Century Schoolbook qui sert de police sérif par défaut, et
702 celles définies lors de l'installation de Pango pour ce qui est du
703 sans-serif et du @q{typewriter}.
704
705
706 @itemize @bullet
707 @item @code{font-encoding}
708 symbolise le tracé des glyphes. N'utilisez cette propriété que pour
709 traiter des éléments non textuels, comme :
710
711
712 @code{fetaBraces} pour les accolades de partition pianistique,
713 @code{fetaMusic} pour de la musique (y compris musique ancienne),
714 @code{fetaDynamic} pour les nuances et @code{fetaNumber} pour les
715 chiffres. 
716
717 @item @code{font-family}
718 symbolise les différentes familles de police : @code{roman} (Computer
719 Modern), @code{sans}-serif et @code{typewriter} (espacement fixe).
720
721 @item @code{font-shape}
722 symbolise le style des caractères. En pratique, chaque famille de
723 police dispose de @code{italic}, @code{caps} (petites capitales) ou
724 @code{upright} (droit).
725
726 @item @code{font-series}
727 symbolise le niveau de gras des caractères. Chaque style dispose, pour
728 chaque famille, de @code{medium} et @code{bold} (gras).
729
730 @end itemize
731
732 Les variantes ci-dessus mentionnées font référence à une feuille de
733 style prédéfinie.  Vous pouvez cependant faire appel à une autre
734 police, en utilisant la propriété @code{font-name} :
735
736 @lilypond[fragment,verbatim]
737 {
738   \override Staff.TimeSignature #'font-name = #"Charter"
739   \override Staff.TimeSignature #'font-size = #2
740   \time 3/4
741   c'1_\markup {
742     \override #'(font-name . "Vera Bold")
743       { This text is in Vera Bold }
744   }
745 }
746 @end lilypond
747
748 @noindent
749 Vous pouvez utiliser n'importe quelle police, du moment qu'elle est
750 accessible par Pango/Fontconfig.  Pour obtenir la liste de toutes
751 les polices disponibles sur votre machine, lancez
752 @example
753 lilypond -dshow-available-fonts blabla
754 @end example
755 (quel qu'il soit, le dernier argument est obligatoire).
756
757
758 La propriété @code{font-size} permet de régler la taille de la police.
759 La taille effective que vous obtiendrez dépend de
760 @code{text-font-size} tel que défini dans le bloc @code{\paper}.
761
762 @cindex taille de police
763 @cindex police, augmenter la taille
764
765
766 Vous pouvez aussi changer la police par défaut au niveau du document.
767 Il suffit alors de faire appel à @code{make-pango-font-tree} au sein
768 du bloc @code{paper}.  Vous définirez alors la police à utiliser pour
769 du texte respectivement en roman, sans serif et monospace, comme ici : 
770
771 @cindex polices, définir 
772 @cindex Pango
773
774
775 @lilypond[verbatim]
776 \paper  {
777   myStaffSize = #20
778
779   #(define fonts
780     (make-pango-font-tree "Times New Roman"
781                           "Nimbus Sans"
782                           "Luxi Mono"
783                            (/ myStaffSize 20)))
784 }
785
786 {
787   c'^\markup { roman: foo \sans bla \typewriter bar }
788 }
789 @end lilypond
790
791 @c we don't do Helvetica / Courier, since GS incorrectly loads
792 @c Apple TTF fonts
793
794
795
796 @seealso
797
798 Exemples : @rlsr{Text}.
799