[ << 出力を調整する ] | [トップ][目次][インデックス][ ? ] | [ テンプレート >> ] | ||
[ < レイアウト オブジェクトのプロパティ ] | [ 上へ : 内部リファレンス マニュアル ] | [ プロパティのタイプ > ] |
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 つ挙げます。font-shape
の値はシンボルなので、シングル アポストロフィ '
を付ける必要があるということに注意してください。その理由は、以前の例での thickness
や font-shape
の前にアポストロフィを付ける必要がある理由と同じです。それらも両方ともシンボルです。シンボルは LilyPond によって内部的に読み取られます。それらのいくつかは thickness
や font-shape
のようなプロパティの名前であり、他のものは italic
のようにプロパティに与えられる値として使用されます。任意のテキスト文字列との違い – 任意のテキスト文字列は "a text string"
のような形で表記されます – に注意してください。シンボルと文字列についてのより詳細な説明は、@ref{Scheme チュートリアル} を参照してください。
さて、それでは歌詞をイタリック体で譜刻するために必要となる
\override
コマンドは以下のようになります:
\override LyricText #'font-shape = #'italic
そして、これは以下のように影響を与える歌詞の前に、そして近くに置くべきです:
{ \time 6/8 { r4 b8 b[( g]) g | g[( e]) e d[( f]) a | a g } \addlyrics { \override LyricText #'font-shape = #'italic The man who feels love's sweet e -- mo -- tion } }
これで歌詞がすべてイタリック体で譜刻されました。
歌詞モードの中でコンテキストを指定する
歌詞の場合、以前のようなコマンドの発行の仕方の中でコンテキストを指定しようとしても失敗するでしょう。歌詞モードの中で入力される音節はスペース、改行、数字のいずれかで区切られます。他のすべての文字は音節の一部と見なされます。これが、終端の }
の前にはスペースか改行を置かなければならない理由です。そうしないと、終端の }
は最後の音節の一部に含まれてしまいます。同様に、コンテキスト名とオブジェクト名を区切るために、ピリオドまたはドット ‘.’ の前と後ろにスペースを挿入しなければなりません。さもないと 2 つの名前は一緒になってしまい、インタプリタはそれらを認識できなくなります。そのため、コマンドは以下のようにすべきです:
\override Lyrics . LyricText #'font-shape = #'italic
Note: 歌詞の中では、最後の音節と終端の波括弧の間に常にスペースを置いてください。
Note: 歌詞の中のオーバライドでは、コンテキスト名とオブジェクト名の間にあるドットの両側に常にスペースを置いてください。
参照
学習マニュアル: @ref{Scheme チュートリアル}
[ << 出力を調整する ] | [トップ][目次][インデックス][ ? ] | [ テンプレート >> ] | ||
[ < レイアウト オブジェクトのプロパティ ] | [ 上へ : 内部リファレンス マニュアル ] | [ プロパティのタイプ > ] |
他の言語: English, deutsch, español, français, nederlands