5.2.2 レイアウト インターフェイス

前のセクションで見た HTML ページには、Fingering と呼ばれるレイアウト オブジェクトについての記述がありました。そのようなオブジェクトは楽譜で記号となります。レイアウト オブジェクトは (太さや向きのような) 数値を保持するプロパティを持っていますが、関連オブジェクトへのポインタも持っています。レイアウト オブジェクトは Grob – これはグラフィカル オブジェクトを縮めたものです – とも呼ばれます。Grob についての詳細は、grob-interface を参照してください。

Fingering のページは、Fingering オブジェクトの定義をリストアップしています。例えば、このページには以下のような記述があります:

padding (dimension, in staff space):

0.5

これは、この運指記号は少なくとも符頭の 0.5 倍の距離を保つということを意味します。

各レイアウト オブジェクトは、記譜要素あるいは写植要素としての機能をいくつか持つ場合があります。例えば、Fingering オブジェクトは以下の側面を持っています:

これらの側面はそれぞれ、いわゆる インターフェイス として捉えられます。それらは、Fingering ページの最下部でリストアップされています。

This object supports the following interfaces:

(このオブジェクトは以下のインターフェイスをサポートします:)

item-interface, self-alignment-interface, side-position-interface, text-interface, text-script-interface, font-interface, finger-interface, and grob-interface.

リンクのいずれかをクリックすると、それぞれのオブジェクト インターフェイスのページに行くことができます。各インターフェイスはいくつかのプロパティを持ちます。それらプロパティの中には、ユーザにとって役に立たないもの (‘内部プロパティ’) もありますが、それ以外は変更可能です。

これまで Fingering オブジェクトについて話してきましたが、これは実際にはそれほど多くのことをしているわけではありません。初期化ファイル (その他の情報源 を参照してください) scm/define-grobs.scm がこの ‘オブジェクト’ の本質を示しています:

(Fingering
  . ((padding . 0.5)
     (avoid-slur . around)
     (slur-padding . 0.2)
     (staff-padding . 0.5)
     (self-alignment-X . 0)
     (self-alignment-Y . 0)
     (script-priority . 100)
     (stencil . ,ly:text-interface::print)
     (direction . ,ly:script-interface::calc-direction)
     (font-encoding . fetaText)
     (font-size . -5) 		; don't overlap when next to heads.
     (meta . ((class . Item)
     (interfaces . (finger-interface
                    font-interface
                    text-script-interface
                    text-interface
                    side-position-interface
                    self-alignment-interface
                    item-interface))))))

見て取ることができるように、Fingering オブジェクトは変数設定の塊に過ぎず、内部リファレンスの中にある Web ページは、この定義から直接生成されたに過ぎません。


LilyPond 記譜法リファレンス v2.25.22 (development-branch).