LilyPond 記譜法リファレンス: 5.5.3 ステンシルを変更する

### 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 {
>       a' a \XinO a a
>     }

`\musicglyph` マークアップ コマンドで、Emmentaler フォントに含まれる任意の Feta グリフを使用することができます。Emmentaler フォント を参照してください。

‘`EPS`’ ファイルや Postscript コマンドを、それぞれ `\epsfile` や `\postscript` マークアップ コマンドを使って行内に埋め込むことができます。Graphic を参照してください。

#### 参照

記譜法リファレンス: マークアップ内部でのグラフィック記譜法, テキストをフォーマットする, \markup コマンドの一覧, Emmentaler フォント, Graphic

#### LilyPond — 記譜法リファレンス v2.22.2 (安定版).

- 2. 専門的な記譜法
- 3. 入出力全般
- 4. スペースの問題
- 5. デフォルトを変更する
- A. 付表
- B. カンニング ペーパー
- C. GNU Free Documentation License
- D. LilyPond コマンド インデックス
- E. LilyPond インデックス