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

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

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

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

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

そこには、font-seriesfont-size もリスト アップされていることに気づくでしょう。そこで次のような疑問が湧いてきます: 共通フォントプロパティ font-seriesfont-sizeLyricText とインタフェイス font-interface の両方でリスト アップされているのに、なぜ font-shape はそうでないのか?その答えは、font-seriesfont-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
  }
}

[image of music]

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

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

参照

拡張: Scheme tutorial


GNU LilyPond 学習マニュアル v2.25.22 (development-branch).