5.5.3 ステンシルを変更する

すべてのレイアウト オブジェクトは、grob-interface の一部である stencil プロパティを持ちます。通常、デフォルトでこのプロパティには、出力でそのオブジェクトを具現化する記号を描画するための特有の関数がセットされています。例えば、MultiMeasureRest オブジェクトの stencil プロパティに対する標準設定は、ly:multi-measure-rest::print です。

stencil プロパティを変更して異なる描画関数を参照させることにより、オブジェクトの標準記号を置き換えることができます。これには LilyPond 内部機能についての高い知識が求められます。しかしながら、多くの場合にまずまずの結果を生み出すもっと簡単な方法があります。

簡単な方法では、stencil プロパティにテキストを描画する関数 -- ly:text-interface::print -- をセットし、必要な記号を生み出すマークアップ テキストを保持するよう設定された text プロパティ与えます。マークアップの自由度の高さにより、多くのことを達成できます。詳細は、マークアップ内部でのグラフィック記譜法 を参照してください。

以下の例では、この方法を用いて符頭記号を内部に×を持つ円に変更しています。

XinO = {
  \once \override NoteHead  #'stencil = #ly:text-interface::print
  \once \override NoteHead #'text = \markup {
    \combine
      \halign #-0.7 \draw-circle #0.85 #0.2 ##f
      \musicglyph #"noteheads.s2cross"
  }
}
\relative c'' {
  a a \XinO a a
}

[image of music]

\musicglyph マークアップ コマンドには、Feta フォントに含まれる任意の図柄を提供することができます。The Feta font を参照してください。

参照

記譜法リファレンス: マークアップ内部でのグラフィック記譜法, テキストをフォーマットする, Text markup commands, The Feta font


他の言語: English, deutsch, español, français, italiano
About automatic language selection.

LilyPond — 記譜法リファレンス