[ << デフォルトを変更する ] | [Top][Contents][Index] | [ 付表 >> ] |
[ < オブジェクトを透明にする ] | [ Up : オブジェクトの可視性 ] | [ break-visibility を用いる > ] |
オブジェクトを白で描く
レイアウト オブジェクトはそれぞれ color
プロパティを持っていて、デフォルトでは black
にセットされています。このプロパティが white
にセットされてると、そのオブジェクトは白い背景と区別が付かなくなります。しかしながら、そのオブジェクトが他のオブジェクトと交差している場合、交差している場所の色はオブジェクトの描画順序によって決定されます。これにより、以下に示すように、白いオブジェクトの画像が幽霊のように浮かび上がることがあります:
\override Staff.Clef.color = #white a'1
オブジェクトの描画順序を変更することにより、これを回避することができます。すべてのレイアウト オブジェクトは layer
プロパティを持っており、このプロパティには整数がセットされています。より小さな値の layer
を持つオブジェクトが最初に描画され、より大きな値の layer
を持つオブジェクトが後になってから描画されます。このため、より大きな値を持つオブジェクトがより小さな値を持つオブジェクトを上書きします。デフォルトでは、たいていのオブジェクトの layer
には 1
が代入されています。しかしながら、いくつかのオブジェクト
– StaffSymbol
や BarLine
など –
には 0
が代入されています。同じ値の layer
を持つオブジェクトを描画する順番は不確定です。
上記の例において、白い音部記号
(この layer
のデフォルト値は 1
です)
は譜線 (この layer
のデフォルト値は 0
です)
の後に描画されます。そのため、音部記号は譜線を上書きしています。これを変更するには、Clef
オブジェクトの layer
により小さな値 – 例えば、-1
– を与えて、音部記号を先に描画させる必要があります:
\override Staff.Clef.color = #white \override Staff.Clef.layer = #-1 a'1