[ << デフォルトを変更する ] | [Top][Contents][Index] | [ 付表 >> ] |
[ < オブジェクトを白で描く ] | [ Up : オブジェクトの可視性 ] | [ 特別な考慮を必要とするもの > ] |
break-visibility を用いる
たいていのレイアウト オブジェクトは 1 回だけ描画されます。しかしながら、小節線、音部記号、拍子記号、それに調号などのオブジェクトは、改行が起こると 2 回描画する必要があります
– 行の最後で 1 回、次の行の最初でもう 1 回。そのようなオブジェクトは 改行可能 と呼ばれ、それらのオブジェクトが描画される可能性がある 3 つの場所
– 行の先頭、行の途中 (それらが変更された場合)、それに、行の最後 (そこで変更が行われた場合) –
における可視性を制御する break-visibility
プロパティを持ちます。
例えば、デフォルトでは拍子記号は最初の行の先頭で描画されますが、変更されない限り他の場所には描画されません。変更された場合、拍子記号は変更が行われた場所に描画されます。この変更が行の最後で行われた場合、新しい拍子記号は次の行の先頭に描画され、その前の行の最後にも忠告の拍子記号が描画されます。
この振る舞いは break-visibility
プロパティによって制御されます。このプロパティについての説明は
オブジェクトの可視性と色
を参照してください。このプロパティは 3 つのブール値からなるベクトルをとり、順に、そのオブジェクトが行の最後で描画されるかどうか、行の途中で描画されるかどうか、そして、行の先頭で描画されるかどうかを決定します。より正確には、改行の前、改行がない場合、改行の後です。
break-visibility
プロパティによって制御する代わりに、これら 8 通りの組み合わせを scm/output-lib.scm で定義されている定義済み関数によって指定することもできます。このファイルの中で、最後の 3 列がその列のヘッダで示される場所での可視性を表しています:
関数形式 | ベクトル形式 | 改行前 | 改行なし | 改行後 |
---|---|---|---|---|
all-visible | #(#t #t #t) | yes | yes | yes |
begin-of-line-visible | #(#f #f #t) | no | no | yes |
center-visible | #(#f #t #f) | no | yes | no |
end-of-line-visible | #(#t #f #f) | yes | no | no |
begin-of-line-invisible | #(#t #t #f) | yes | yes | no |
center-invisible | #(#t #f #t) | yes | no | yes |
end-of-line-invisible | #(#f #t #t) | no | yes | yes |
all-invisible | #(#f #f #f) | no | no | no |
break-visibility
のデフォルト設定はレイアウト オブジェクトによって異なります。以下の表は、break-visibility
によって影響をうけるすべてのレイアウト オブジェクトと、そのプロパティのデフォルト設定を示しています:
レイアウト オブジェクト | 通常のコンテキスト | デフォルト設定 |
---|---|---|
BarLine | Score | calculated |
BarNumber | Score | begin-of-line-visible |
BreathingSign | Voice | begin-of-line-invisible |
Clef | Staff | begin-of-line-visible |
Custos | Staff | end-of-line-visible |
DoublePercentRepeat | Voice | begin-of-line-invisible |
KeyCancellation | Staff | begin-of-line-invisible |
KeySignature | Staff | begin-of-line-visible |
ClefModifier | Staff | begin-of-line-visible |
RehearsalMark | Score | end-of-line-invisible |
TimeSignature | Staff | all-visible |
以下の例は、小節線の可視性を制御するベクトルの使用方法を示しています:
\relative { f'4 g a b f4 g a b % カレント行の最後で小節線を削除します \once \override Score.BarLine.break-visibility = ##(#f #t #t) \break f4 g a b f4 g a b }
break-visibility
をオーバライドするために使用されるベクトルの要素 3 つをすべて記述する必要がありますが、それらすべてが各レイアウト オブジェクトに対して効果を持つわけではなく、組み合わせによってはエラーになる場合もあります。以下の制限があります:
- 小節線を行の先頭に描画することはできません。
- 小節番号が
1
から始まるのでなければ、最初の行の先頭に描画することはできません。 - 音部記号 – 次のセクションを参照してください
- 2 重線のパーセント繰り返しはすべて描画するか、すべて描画しないかのどちらかです。描画するには
begin-of-line-invisible
を用い、描画しないのならall-invisible
を用います。 - Key signature – 次のセクションを参照してください
- ClefModifier – 次のセクションを参照してください
[ << デフォルトを変更する ] | [Top][Contents][Index] | [ 付表 >> ] |
[ < オブジェクトを白で描く ] | [ Up : オブジェクトの可視性 ] | [ 特別な考慮を必要とするもの > ] |