X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=Documentation%2Fnotation%2Ftext.itely;h=739abbdf4956a1dd25d75fe6f1188b7b85e52f92;hb=c39d188d28fdc84cef8cbaea7b8d6e2fb718c30f;hp=2a11b04e626c39fd29f76643e940587a8b9245df;hpb=32f4f9e832ded3ed6fd7ec6c92800a40e85bb3e8;p=lilypond.git diff --git a/Documentation/notation/text.itely b/Documentation/notation/text.itely index 2a11b04e62..739abbdf49 100644 --- a/Documentation/notation/text.itely +++ b/Documentation/notation/text.itely @@ -3,10 +3,11 @@ Translation of GIT committish: FILL-IN-HEAD-COMMITTISH When revising a translation, copy the HEAD committish of the - version that you are working on. See TRANSLATION for details. + version that you are working on. For details, see the Contributors' + Guide, node Updating translation committishes.. @end ignore -@c \version "2.12.0" +@c \version "2.17.6" @node Text @section Text @@ -62,19 +63,18 @@ in @ref{Direction and placement}. a8^"pizz." g f e a4-"scherz." f @end lilypond -This syntax is actually a shorthand; more complex text -formatting may be added to a note by explicitly using a -@code{\markup} block, as described in @ref{Formatting text}. +This syntax is actually a shorthand; more complex text formatting may be +added to a note by explicitly using a @code{\markup} block, as described +in @ref{Formatting text}. @lilypond[quote,verbatim,relative=2] a8^\markup { \italic pizz. } g f e a4_\markup { \tiny scherz. \bold molto } f @end lilypond -By default, text indications do not influence the note spacing. -However, their widths can be taken into account: -in the following example, the first text string does not affect -spacing, whereas the second one does. +By default, text indications do not influence the note spacing. However, +their widths can be taken into account: in the following example, the +first text string does not affect spacing, whereas the second one does. @lilypond[quote,verbatim,relative=2] a8^"pizz." g f e @@ -98,14 +98,14 @@ articulations, see @rlearning{Placement of objects}. @code{\textLengthOff}. @endpredefined - @seealso Learning Manual: @rlearning{Placement of objects}. Notation Reference: @ref{Formatting text}, -@ref{Direction and placement}. +@ref{Direction and placement}, +@ref{Articulations and ornamentations}. Snippets: @rlsr{Text}. @@ -113,22 +113,18 @@ Snippets: Internals Reference: @rinternals{TextScript}. - @cindex text outside margin @cindex margin, text running over @cindex text, keeping inside margin @cindex lyrics, keeping inside margin - @knownissues - Checking to make sure that text scripts and lyrics are within the -margins is a relatively large computational task. To speed up -processing, LilyPond does not perform such calculations by -default; to enable it, use +margins requires additonal calculations. In cases where slightly faster +performance is desired, use @example -\override Score.PaperColumn #'keep-inside-line = ##t +\override Score.PaperColumn.keep-inside-line = ##f @end example @@ -139,11 +135,12 @@ default; to enable it, use Some performance indications, e.g., @notation{rallentando} or @notation{accelerando}, are written as text and are extended over -multiple notes with dotted lines. Such objects, called @qq{spanners}, -may be created from one note to another using the following syntax: +multiple notes with dotted lines. Such objects, called +@qq{spanners}, may be created from one note to another using the +following syntax: @lilypond[verbatim,quote,relative=2] -\override TextSpanner #'(bound-details left text) = "rit." +\override TextSpanner.bound-details.left.text = "rit." b1\startTextSpan e,\stopTextSpan @end lilypond @@ -154,11 +151,11 @@ e,\stopTextSpan @noindent The string to be printed is set through object properties. By default it is printed in italic characters, but different formatting can be -obtained using @code{\markup} blocks, as described in @ref{Formatting -text}. +obtained using @code{\markup} blocks, as described in +@ref{Formatting text}. @lilypond[quote,relative=2,verbatim] -\override TextSpanner #'(bound-details left text) = +\override TextSpanner.bound-details.left.text = \markup { \upright "rit." } b1\startTextSpan c e,\stopTextSpan @@ -167,7 +164,6 @@ e,\stopTextSpan The line style, as well as the text string, can be defined as an object property. This syntax is described in @ref{Line styles}. - @funindex \textSpannerUp @funindex textSpannerUp @funindex \textSpannerDown @@ -182,14 +178,26 @@ object property. This syntax is described in @ref{Line styles}. @code{\textSpannerNeutral}. @endpredefined +@knownissues +LilyPond is only able to handle one text spanner per voice. + +@snippets + +@lilypondfile[verbatim,quote,texidoc,doctitle] +{dynamics-text-spanner-postfix.ly} + +@lilypondfile[verbatim,quote,texidoc,doctitle] +{dynamics-custom-text-spanner-postfix.ly} @seealso Notation Reference: @ref{Line styles}, -@ref{Dynamics}. +@ref{Dynamics}, +@ref{Formatting text}. Snippets: -@rlsr{Text}. +@rlsr{Text}, +@rlsr{Expressive marks}. Internals Reference: @rinternals{TextSpanner}. @@ -212,8 +220,8 @@ Internals Reference: @funindex \markup @funindex markup -Various text elements may be added to a score using -the syntax described in @ref{Rehearsal marks}: +Various text elements may be added to a score using the syntax described +in @ref{Rehearsal marks}: @c \mark needs to be placed on a separate line (it's not @c attached to an object like \markup is). -vv @@ -247,31 +255,37 @@ or fermata, by specifying the appropriate symbol name as explained in @end lilypond @noindent -Such objects are only typeset above the top staff of the score; depending on -whether they are specified at the end or the middle of a bar, they -can be placed above the bar line or between notes. When specified at a -line break, the mark will be printed at the beginning of the next line. +Such objects are only typeset above the top staff of the score; +depending on whether they are specified at the end or the middle of a +bar, they can be placed above the bar line or between notes. When +specified at a line break, the mark will be printed at the beginning of +the next line. -@lilypond[quote,verbatim,relative=2] +@lilypond[quote,verbatim,relative=2,ragged-right] \mark "Allegro" c1 c \mark "assai" \break c c @end lilypond +@funindex \markLengthOn +@funindex markLengthOn +@funindex \markLengthOff +@funindex markLengthOff + +@predefined +@code{\markLengthOn}, +@code{\markLengthOff}. +@endpredefined @snippets -@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle] +@lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle] {printing-marks-at-the-end-of-a-line.ly} -@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle] -{aligning-marks-with-various-notation-objects.ly} - -@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle] +@lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle] {printing-marks-on-every-staff.ly} - @seealso Notation Reference: @ref{Rehearsal marks}, @@ -302,8 +316,8 @@ Internals Reference: @funindex markup A @code{\markup} block can exist by itself, outside of any -any @code{\score} block, as a @qq{top-level -expression}. This syntax is described in @ref{File structure}. +@code{\score} block, as a @qq{top-level expression}. This syntax +is described in @ref{File structure}. @lilypond[verbatim,quote] \markup { @@ -336,21 +350,20 @@ requires, are described in @ref{Multi-page markup}. @funindex \markup @funindex markup -@funindex \markuplines -@funindex markuplines +@funindex \markuplist +@funindex markuplist @predefined @code{\markup}, -@code{\markuplines}. +@code{\markuplist}. @endpredefined @snippets -@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle] +@lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle] {stand-alone-two-column-markup.ly} - @seealso Notation Reference: @ref{Formatting text}, @@ -397,11 +410,11 @@ syntax called @qq{markup mode}. @cindex markup expressions @cindex expressions, markup @cindex markup syntax -@cindex synatax, markup +@cindex syntax, markup The markup syntax is similar to LilyPond's usual syntax: a -@code{\markup} expression is enclosed in curly braces @code{@{ -@dots{} @}}. A single word is regarded as a minimal expression, +@code{\markup} expression is enclosed in curly braces +@code{@{@dots{} @}}. A single word is regarded as a minimal expression, and therefore does not need to be enclosed with braces. Unlike simple @qq{quoted text} indications, @code{\markup} blocks may @@ -429,7 +442,7 @@ c A @code{\markup} block may also contain quoted text strings. Such strings are treated as minimal text expressions, and therefore any -markup command or special character (such as @code{\} and @code{#}) +markup command or special character (such as @code{\} and@tie{}@code{#}) will be printed verbatim without affecting the formatting of the text. Double quotation marks themselves may be printed by preceding them with backslashes. @@ -470,7 +483,6 @@ allegro = \markup { \bold \large Allegro } An exhaustive list of @code{\markup}-specific commands can be found in @ref{Text markup commands}. - @seealso Notation Reference: @ref{Text markup commands}. @@ -478,12 +490,10 @@ Notation Reference: Snippets: @rlsr{Text}. -Installed files: -@file{scm/@/markup@/.scm}. - +Installed Files: +@file{scm/markup.scm}. @knownissues - Syntax errors for markup mode can be confusing. @@ -516,6 +526,7 @@ f1 d2 r @cindex font size @cindex text size +@funindex \abs-fontsize @funindex \fontsize @funindex fontsize @funindex \smaller @@ -525,38 +536,41 @@ f1 d2 r @funindex \magnify @funindex magnify -The size of the characters can also be altered in different ways: -@itemize -@item -the font size can be set to predefined standard sizes, +The font size can be altered, relative to the global staff size, in a +number of different ways -@item -the font size can be set to an absolute value, +It can be set to predefined size, -@item -the font size can also be changed relatively to its previous value. -@end itemize +@lilypond[quote,verbatim,relative=2] +b1_\markup { \huge Sinfonia } +b1^\markup { \teeny da } +b1-\markup { \normalsize camera } +@end lilypond -@noindent -The following example demonstrates these three methods: +It can be set relative to its previous value, -@lilypond[quote,verbatim,relative=1] -f1_\markup { - \tiny espressivo - \large e - \normalsize intenso -} -a^\markup { - \fontsize #5 Sinfonia - \fontsize #2 da - \fontsize #3 camera -} -bes^\markup { (con - \larger grande - \smaller emozione - \magnify #0.6 { e sentimento } ) -} -d c2 r8 c bes a g1 +@lilypond[quote,verbatim,relative=2] +b1_\markup { \larger Sinfonia } +b1^\markup { \smaller da } +b1-\markup { \magnify #0.6 camera } +@end lilypond + +It can be increased or decreased relative to the value set by the +global staff size, + +@lilypond[quote,verbatim,relative=2] +b1_\markup { \fontsize #-2 Sinfonia } +b1^\markup { \fontsize #1 da } +b1-\markup { \fontsize #3 camera } +@end lilypond + +It can also be set to a fixed point-size, regardless of the global staff +size, + +@lilypond[quote,verbatim,relative=2] +b1_\markup { \abs-fontsize #20 Sinfonia } +b1^\markup { \abs-fontsize #8 da } +b1-\markup { \abs-fontsize #14 camera } @end lilypond @cindex subscript @@ -566,6 +580,8 @@ d c2 r8 c bes a g1 @funindex super @funindex \sub @funindex sub +@funindex \normal-size-super +@funindex normal-size-super Text may be printed as subscript or superscript. By default these are printed in a smaller size, but a normal size can be used as well: @@ -600,11 +616,11 @@ example, there is no difference between the first and the second word. @noindent Some of these font families, used for specific items such as numbers -or dynamics, do not provide all characters, as mentioned in @ref{New -dynamic marks} and @ref{Manual repeat marks}. +or dynamics, do not provide all characters, as mentioned in +@ref{New dynamic marks} and @ref{Manual repeat marks}. @c \concat is actually documented in Align (it is not -@c a font-switching command). But we need it here. -vv +@c a font-switching command). But we need it here. -vv When used inside a word, some font-switching or formatting commands may produce an unwanted blank space. This can easily be solved by @@ -660,7 +676,6 @@ Defining custom font sets is also possible, as explained in @code{\larger}. @endpredefined - @seealso Notation Reference: @ref{Font}, @@ -668,14 +683,20 @@ Notation Reference: @ref{Manual repeat marks}, @ref{Fonts}. +Installed Files: +@file{scm/define-markup-commands.scm}. + Snippets: @rlsr{Text}. Internals Reference: @rinternals{TextScript}. -Installed files: -@file{scm/@/define@/-markup@/-commands@/.scm}. +@knownissues +Using the font sizing commands @code{\teeny}, @code{\tiny}, +@code{\small}, @code{\normalsize}, @code{\large}, and +@code{\huge} will lead to inconsistent line spacing compared to +using @code{\fontsize}. @node Text alignment @@ -737,7 +758,8 @@ a,-\markup { \halign #2 poco } @noindent Some objects may have alignment procedures of their own, and therefore are not affected by these commands. It is possible to move such -markup objects as a whole, as shown for instance in @ref{Text marks}. +markup objects as a whole, as shown for instance in +@ref{Text marks}. @cindex text, vertical alignment @cindex vertical text alignment @@ -889,7 +911,7 @@ as shown in the following example. \line \bold { Acto I } \wordwrap \italic { (La escena representa el corral de una casa de - gitanos en el Albaicín de Granada. Al fondo una + gitanos en el Albaicín de Granada. Al fondo una puerta por la que se ve el negro interior de una Fragua, iluminado por los rojos resplandores del fuego.) @@ -899,7 +921,7 @@ as shown in the following example. \line \bold { Acto II } \override #'(line-width . 50) \justify \italic { - (Calle de Granada. Fachada de la casa de Carmela + (Calle de Granada. Fachada de la casa de Carmela y su hermano Manuel con grandes ventanas abiertas a través de las que se ve el patio donde se celebra una alegre fiesta) @@ -915,7 +937,6 @@ as shown in the following example. An exhaustive list of text alignment commands can be found in @ref{Align}. - @seealso Learning Manual: @rlearning{Moving objects}. @@ -924,15 +945,15 @@ Notation Reference: @ref{Align}, @ref{Text marks}. +Installed Files: +@file{scm/define-markup-commands.scm}. + Snippets: @rlsr{Text}. Internals Reference: @rinternals{TextScript}. -Installed files: -@file{scm/@/define@/-markup@/-commands@/.scm}. - @node Graphic notation inside markup @unnumberedsubsubsec Graphic notation inside markup @@ -1074,7 +1095,7 @@ Advanced graphic features include the ability to include external image files converted to the Encapsulated PostScript format (@emph{eps}), or to directly embed graphics into the input file, using native PostScript code. In such a case, it may be useful to -explicitely specify the size of the drawing, as demonstrated below: +explicitly specify the size of the drawing, as demonstrated below: @lilypond[quote,verbatim,relative=1] c1^\markup { @@ -1099,11 +1120,15 @@ c An exhaustive list of graphics-specific commands can be found in @ref{Graphic}. - @seealso Notation Reference: @ref{Graphic}, -@ref{Editorial annotations}. +@ref{Editorial annotations}, +@ref{Align}. + +Installed Files: +@file{scm/define-markup-commands.scm}, +@file{scm/stencil.scm}. Snippets: @rlsr{Text}. @@ -1111,10 +1136,6 @@ Snippets: Internals Reference: @rinternals{TextScript}. -Installed files: -@file{scm/@/define@/-markup@/-commands@/.scm}, -@file{scm/@/stencil@/.scm}. - @node Music notation inside markup @unnumberedsubsubsec Music notation inside markup @@ -1151,11 +1172,7 @@ in markup mode: @lilypond[quote,verbatim,relative=1] g1 bes -ees-\markup { - \finger 4 - \tied-lyric #"~" - \finger 1 -} +ees\finger \markup \tied-lyric #"4~1" fis_\markup { \dynamic rf } bes^\markup { \beam #8 #0.1 #0.5 @@ -1169,8 +1186,8 @@ d-\markup { More generally, any available musical symbol may be included separately in a markup object, as demonstrated below; an exhaustive -list of these symbols and their names can be found in @ref{The Feta -font}. +list of these symbols and their names can be found in +@ref{The Feta font}. @lilypond[quote,verbatim,relative=2] c2 @@ -1181,8 +1198,9 @@ c16 c2^\markup { \musicglyph #"timesig.neomensural94" } @end lilypond -Another way of printing non-text glyphs is described in @ref{Fonts -explained}. This is useful for printing braces of various sizes. +Another way of printing non-text glyphs is described in +@ref{Fonts explained}. This is useful for printing braces of various +sizes. The markup mode also supports diagrams for specific instruments: @@ -1197,10 +1215,10 @@ c^\markup { c c^\markup { \combine - \musicglyph #"accordion.accDiscant" + \musicglyph #"accordion.discant" \combine - \raise #0.5 \musicglyph #"accordion.accDot" - \raise #1.5 \musicglyph #"accordion.accDot" + \raise #0.5 \musicglyph #"accordion.dot" + \raise #1.5 \musicglyph #"accordion.dot" } @end lilypond @@ -1230,24 +1248,23 @@ c d e f An exhaustive list of music notation related commands can be found in @ref{Music}. - @seealso Notation Reference: @ref{Music}, @ref{The Feta font}, @ref{Fonts explained}. +Installed Files: +@file{scm/define-markup-commands.scm}, +@file{scm/fret-diagrams.scm}, +@file{scm/harp-pedals.scm}. + Snippets: @rlsr{Text}. Internals Reference: @rinternals{TextScript}. -Installed files: -@file{scm/@/define@/-markup@/-commands@/.scm}, -@file{scm/@/fret@/-diagrams@/.scm}, -@file{scm/@/harp@/-pedals@/.scm}. - @node Multi-page markup @unnumberedsubsubsec Multi-page markup @@ -1257,8 +1274,8 @@ Installed files: @cindex markup text, multi-page @cindex text spread over multiple pages -@funindex \markuplines -@funindex markuplines +@funindex \markuplist +@funindex markuplist @funindex \justified-lines @funindex justified-lines @funindex \wordwrap-lines @@ -1269,7 +1286,7 @@ makes it possible to enter lines of text that can spread over multiple pages: @lilypond[quote,verbatim] -\markuplines { +\markuplist { \justified-lines { A very long text of justified lines. ... @@ -1295,29 +1312,27 @@ a list of markup lists. An exhaustive list of markup list commands can be found in @ref{Text markup list commands}. - @seealso Notation Reference: -@ref{Text markup list commands}, +@ref{Text markup list commands}. + +Extending LilyPond: +@rextend{New markup list command definition}. + +Installed Files: +@file{scm/define-markup-commands.scm}. Snippets: @rlsr{Text}. -Extending: -@rextend{New markup list command definition}. - Internals Reference: @rinternals{TextScript}. -Installed files: -@file{scm/@/define@/-markup@/-commands@/.scm}. - - -@funindex \markuplines -@funindex markuplines +@funindex \markuplist +@funindex markuplist @predefined -@code{\markuplines}. +@code{\markuplist}. @endpredefined @@ -1358,10 +1373,8 @@ a1^\markup { \vcenter { \override #'(font-encoding . fetaBraces) \lookup #"brace120" - \override #'(font-encoding . fetaNumber) - \column { 1 3 } - \override #'(font-encoding . fetaDynamic) - sf + \override #'(font-encoding . fetaText) + \column { 1 3 sf } \override #'(font-encoding . fetaMusic) \lookup #"noteheads.s0petrucci" } @@ -1382,9 +1395,17 @@ left braces; right braces may be obtained by rotation, see @ref{Rotating objects}. Three families of text fonts are made available: the @emph{roman} -(serif) font, that defaults to New Century Schoolbook, the @emph{sans} -font and the monospaced @emph{typewriter} font -- these last two -families are determined by the Pango installation. +(serif) font, that defaults to New Century Schoolbook, the +@emph{sans} font and the monospaced @emph{typewriter} font -- these +last two families are determined by the Pango installation. + +@warning{There are no default fonts associated with the @emph{sans} +and @emph{typewriter} font-families. An input file that specifies +either of these can lead to different output on different computers. +To ensure consistent output among multiple platforms, fonts must be +specified by name, and those fonts must be available on any system +that processes the file. See @ref{Single entry fonts} and +@ref{Entire document fonts}.} Each family may include different shapes and series. The following example demonstrates the ability to select alternate families, shapes, @@ -1392,19 +1413,19 @@ series and sizes. The value supplied to @code{font-size} is the required change from the default size. @lilypond[quote,verbatim,relative=2] -\override Score.RehearsalMark #'font-family = #'typewriter +\override Score.RehearsalMark.font-family = #'typewriter \mark \markup "Ouverture" -\override Voice.TextScript #'font-shape = #'italic -\override Voice.TextScript #'font-series = #'bold +\override Voice.TextScript.font-shape = #'italic +\override Voice.TextScript.font-series = #'bold d2.^\markup "Allegro" -\override Voice.TextScript #'font-size = #-3 +\override Voice.TextScript.font-size = #-3 c4^smaller @end lilypond @noindent A similar syntax may be used in markup mode; however in this case it -is preferable to use the simpler syntax explained in @ref{Selecting -font and font size}: +is preferable to use the simpler syntax explained in +@ref{Selecting font and font size}: @lilypond[quote,verbatim] \markup { @@ -1432,11 +1453,11 @@ Although it is easy to switch between preconfigured fonts, it is also possible to use other fonts, as explained in the following sections: @ref{Single entry fonts} and @ref{Entire document fonts}. - @seealso Notation Reference: @ref{The Feta font}, @ref{Music notation inside markup}, +@ref{Rotating objects}, @ref{Selecting font and font size}, @ref{Font}. @@ -1448,8 +1469,8 @@ Any font that is installed on the operating system and recognized by FontConfig may be used in a score, using the following syntax: @lilypond[quote,verbatim,relative=2] -\override Staff.TimeSignature #'font-name = #"Bitstream Charter" -\override Staff.TimeSignature #'font-size = #2 +\override Staff.TimeSignature.font-name = #"Bitstream Charter" +\override Staff.TimeSignature.font-size = #2 \time 3/4 a1_\markup { @@ -1465,14 +1486,13 @@ a1_\markup { @funindex show-available-fonts -The following command displays a list of all available fonts on the -operating system: +Running lilypond with the following option displays a list of all +available fonts on the operating system: @example lilypond -dshow-available-fonts x @end example - @seealso Notation Reference: @ref{Fonts explained}, @@ -1482,8 +1502,8 @@ Snippets: @rlsr{Text}. @c A source file gets never installed... -@c Installed files: -@c @file{lily/@/font@/-config@/-scheme@/.cc}. +@c Installed Files: +@c @file{lily/font-config-scheme.cc}. @node Entire document fonts @@ -1491,8 +1511,9 @@ Snippets: It is possible to change the fonts to be used as the default fonts in the @emph{roman}, @emph{sans} and @emph{typewriter} font families by -specifying them, in that order, as shown in the example below. For an -explanation of fonts, see @ref{Fonts explained}. +specifying them, in that order, as shown in the example below, which +automatically scales the fonts with the value set for the global staff +size. For an explanation of fonts, see @ref{Fonts explained}. @cindex font families, setting @cindex fonts, changing for entire document @@ -1501,12 +1522,11 @@ explanation of fonts, see @ref{Fonts explained}. @lilypond[verbatim,quote] \paper { - myStaffSize = #20 #(define fonts (make-pango-font-tree "Times New Roman" "Nimbus Sans" "Luxi Mono" - (/ myStaffSize 20))) + (/ staff-height pt 20))) } \relative c'{ @@ -1520,7 +1540,6 @@ explanation of fonts, see @ref{Fonts explained}. @c we don't do Helvetica / Courier, since GS incorrectly loads @c Apple TTF fonts - @seealso Notation Reference: @ref{Fonts explained},