GNU LilyPond 学習マニュアル: 4.2.2 インタフェイスの中で見つかるプロパティ

### 4.2.2 インタフェイスの中で見つかるプロパティ

今度は歌詞をイタリック体で譜刻したいということにします。そうするには `\override` コマンドをどのように使う必要があるのでしょうか？以前と同様に、まず ‘すべてのレイアウト オブジェクト’ をリストアップしている内部リファレンス ページを開き、歌詞をコントロールしていそうなオブジェクトを探します。`LyricText` がそれであるようです。これをクリックすると、歌詞のテキストに対してセットすることができるプロパティが表示されます。そこには `font-series` と `font-size` が含まれますが、歌詞をイタリック体にするためのプロパティらしきものはありません。これは、形に関するプロパティはすべてのフォント オブジェクトに共通なものであり、そのため、各レイアウト オブジェクトに含まれているのではなく、他の同様な共通プロパティと一緒にグループ化されていて、インタフェイス の 1 つ `font-interface` の中に置かれているからです。

そのため、インタフェイスのプロパティを見つける方法と、どのオブジェクトがこれらのインタフェイス プロパティを使うのかを調べる方法を学ぶ必要があります。

`LyricText` について記述している内部リファレンスのページを再び開いてください。そのページの最後に `LyricText` がサポートするインタフェイスへのリンクがリスト アップされています。そのリストには `font-interface` を含むいくつかの要素があります。このリンクをクリックすると、このインタフェイスに関連付けされているプロパティのところに行きます。これらのプロパティは `LyricText` を含む `font-interface` をサポートするすべてのオブジェクトのプロパティでもあります。

`font-shape(symbol)` を含むフォントを制御するユーザが設定可能なプロパティをすべて見つけました。`font-shape(symbol)` では `symbol` を `upright`, `italics`, あるいは `caps` にセットすることができます。

そこには、`font-series` と `font-size` もリスト アップされていることに気づくでしょう。そこで次のような疑問が湧いてきます: 共通フォントプロパティ `font-series` と `font-size` は `LyricText` とインタフェイス `font-interface` の両方でリスト アップされているのに、なぜ `font-shape` はそうでないのか？その答えは、`font-series` と `font-size` は、`LyricText` オブジェクトが作成されるときに、それらのグローバルなデフォルト値から変更されるのに対して、`font-shape` はそうではないからです。`LyricText` の中にあるエントリから `LyricText` に適用されるそれら 2 つのプロパティの値がわかります。`font-interface` をサポートする他のオブジェクトは、それらのオブジェクトが作成されるときに、それらのプロパティを異なる値にセットします。

今度は歌詞をイタリック体に変更するように `\override` コマンドを構築できるかどうかを見ていきましょう。オブジェクトは `LyricText` であり、プロパティは `font-shape` であり、セットする値は `italic` です。前と同様に、コンテキストを省略します。

話は逸れますが重要なことを 1 つ挙げます。プロパティには値としてシンボル (例えば `italic`) を取るものがあります。シンボルの前にはアポストロフィ `'` を置く必要があり、そうすることで内部的に LilyPond に読み込まれます。任意のテキスト文字列との違い – 任意のテキスト文字列は `"a text string"` のような形で表記されます – に注意してください。シンボルと文字列についてのより詳細な説明は Scheme tutorial を参照してください。

さて、それでは歌詞をイタリック体で譜刻するために必要となる `\override` コマンドは以下のようになります:

>     \override LyricText.font-shape = #'italic

そして、これは以下のように影響を与える歌詞の前に、そして近くに置くべきです:

>     {
>       \key es \major
>       \time 6/8
>       \relative {
>         r4 bes'8 bes[( g]) g |
>         g8[( es]) es d[( f]) as |
>         as8 g
>       }
>       \addlyrics {
>         \override LyricText.font-shape = #'italic
>         The man who | feels love's sweet e -- | mo -- tion
>       }
>     }

これで歌詞がすべてイタリック体で譜刻されました。

Note: 歌詞の中では、最後の音節と終端の波括弧の間に常にスペースを置いてください。

#### 参照

拡張: Scheme tutorial

#### LilyPond — 学習マニュアル v2.22.2 (安定版).