color プロパティ

最後に、小節線の色を白にすることによって小節線を不可視にしてみましょう。(これには白い小節線が譜線と交差したところで譜線を見えたり見えなくしてしまうかもしれないという問題があります。以下のいくつかの例で、このことを予測することはできないと思うかもしれません。そうなる理由と、それを制御する方法についての詳細は、Painting objects white でカバーされています。しかしここでは色について学んでいるところなので、オブジェクトを白で描くことの限界を受け入れるだけにしてください。)

grob-interface はカラー プロパティの値はリストであると指定しています。しかしながら、そのリストが何であるべきなのかの説明はありません。カラー プロパティで必要とされるリストは実際のところ内部ユニットの中にある値のリストです。しかし、内部ユニットの中にある値を知らなくても済むように、カラーを指定するための手段がいくつか用意されています。最初の方法は List of colors にある最初の表でリスト アップされている ‘標準’ のカラーの 1 つを使用する方法です。小節線を白にするには以下のように記述します:

\relative {
  \time 12/16
  \override Staff.BarLine.color = #white
  c''4 b8 c d16 c d8 |
  g,8 a16 b8 c d4 e16 |
  e8
}

[image of music]

今度も再び小節線は見えなくなりました。white の前にアポストロフィは付かないということに注意してください – これはシンボルではなく変数です。この変数は評価される時、小節線の色を白にセットするのに必要な内部的な値のリストを提供します。標準カラー リストにある他のカラーもまた変数です。小節線の色をこのリストの中にある他の変数に変更することで、これが機能することをあなた自身で納得できます。

カラーを変えるための 2 つ目の方法は、List of colors の 2 番目のリストの中にある X11 カラー名のリストを使用する方法です。しかしながら、X11 カラー名は関数 x11-color によって実際の値にマッピングされます。x11-color は以下のように X11 カラー シンボルを内部値のリストに変換します:

\relative {
  \time 12/16
  \override Staff.BarLine.color = #(x11-color 'white)
  c''4 b8 c d16 c d8 |
  g,8 a16 b8 c d4 e16 |
  e8
}

[image of music]

この場合、関数 x11-color はシンボルを引数として扱うので、変数として評価されないようシンボルの前にアポストロフィを付ける必要があり、関数呼び出し全体を括弧で囲む必要があるということに注意してください。

もう 1 つ関数があります。RGB 値を内部カラーに変換する rgb-color 関数です。この関数は赤、緑、青の輝度を表す 3 つの引数をとります。これらの引数は 0 から 1 までの値をとります。ですから、カラーを赤にセットする場合の値は (rgb-color 1 0 0) となり、白の場合は (rgb-color 1 1 1) となります:

\relative {
  \time 12/16
  \override Staff.BarLine.color = #(rgb-color 1 1 1)
  c''4 b8 c d16 c d8 |
  g,8 a16 b8 c d4 e16 |
  e8
}

[image of music]

最後に、X11 カラー セットの一部であるグレー スケールを用いる方法もあります。グレー スケールの範囲は黒 'grey0 から白 'grey100 まで 1 段階ずつあります。グレー スケールの使用方法を示すために、例の中にあるすべてのレイアウト オブジェクトのカラーをさまざまな濃度のグレーにセットしてみましょう:

\relative {
  \time 12/16
  \override Staff.StaffSymbol.color = #(x11-color 'grey30)
  \override Staff.TimeSignature.color = #(x11-color 'grey60)
  \override Staff.Clef.color = #(x11-color 'grey60)
  \override Voice.NoteHead.color = #(x11-color 'grey85)
  \override Voice.Stem.color = #(x11-color 'grey85)
  \override Staff.BarLine.color = #(x11-color 'grey10)
  c''4 b8 c d16 c d8 |
  g,8 a16 b8 c d4 e16 |
  e8
}

[image of music]

各レイアウト オブジェクトに関連付けされているコンテキストに注意してください。これらのコンテキストを正しく取得することが重要であり、そうしなければコマンドは機能しません!コンテキストの中には特定のエングラーバが置かれているということを忘れないでください。エングラーバに対するデフォルト コンテキストを見つけ出すには、内部リファレンスのレイアウト オブジェクトからスタートして、そこからそれを作り出すエングラーバのページに行きます。エングラーバのページには、通常はどのコンテキストにそのエングラーバが含まれているのかが記述されています。


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