LilyPond Internals Reference: 3.1.30 CombineTextScript

### 3.1.30 CombineTextScript

CombineTextScript objects are created by: Part_combine_engraver.

Standard settings:

> `avoid-slur` (symbol):

>   `'outside`

>   Method of handling slur collisions. Choices are `inside`, `outside`, `around`, and `ignore`. `inside` adjusts the slur if needed to keep the grob inside the slur. `outside` moves the grob vertically to the outside of the slur. `around` moves the grob vertically to the outside of the slur only if there is a collision. `ignore` does not move either. In grobs whose notational significance depends on vertical position (such as accidentals, clefs, etc.), `outside` and `around` behave like `ignore`.

> `baseline-skip` (dimension, in staff space):

>   `2`

>   Distance between base lines of multiple lines of text.

> `direction` (direction):

>   `1`

>   If `side-axis` is `0` (or `X`), then this property determines whether the object is placed `LEFT`, `CENTER` or `RIGHT` with respect to the other object. Otherwise, it determines whether the object is placed `UP`, `CENTER` or `DOWN`. Numerical values may also be used: `UP`=`1`, `DOWN`=`-1`, `LEFT`=`-1`, `RIGHT`=`1`, `CENTER`=`0`.

> `extra-spacing-width` (pair of numbers):

>       '(+inf.0 . -inf.0)

>   In the horizontal spacing problem, we pad each item by this amount (by adding the ‘car’ on the left side of the item and adding the ‘cdr’ on the right side of the item). In order to make a grob take up no horizontal space at all, set this to `(+inf.0 . -inf.0)`.

> `font-series` (symbol):

>   `'bold`

>   Select the series of a font. Choices include `medium`, `bold`, `bold-narrow`, etc.

> `outside-staff-priority` (number):

>   `450`

>   If set, the grob is positioned outside the staff in such a way as to avoid all collisions. In case of a potential collision, the grob with the smaller `outside-staff-priority` is closer to the staff.

> `padding` (dimension, in staff space):

>   `0.5`

>   Add this much extra space between objects that are next to each other.

> `parent-alignment-X` (number)

>   Specify on which point of the parent the object is aligned. The value `-1` means aligned on parent’s left edge, `0` on center, and `1` right edge, in X direction. Other numerical values may also be specified - the unit is half the parent’s width. If unset, the value from `self-alignment-X` property will be used.

> `script-priority` (number):

>   `200`

>   A key for determining the order of scripts in a stack, by being added to the position of the script in the user input, the sum being the overall priority. Smaller means closer to the head.

> `self-alignment-X` (number)

>   Specify alignment of an object. The value `-1` means left aligned, `0` centered, and `1` right-aligned in X direction. Other numerical values may also be specified - the unit is half the object width.

> `side-axis` (number):

>   `1`

>   If the value is `X` (or equivalently `0`), the object is placed horizontally next to the other object. If the value is `Y` or `1`, it is placed vertically.

> `staff-padding` (dimension, in staff space):

>   `0.5`

>   Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamics p and f) on their baselines.

> `stencil` (stencil):

>   `ly:text-interface::print`

>   The symbol to print.

> `X-offset` (number):

>   `ly:self-alignment-interface::aligned-on-x-parent`

>   The horizontal amount that this object is moved relative to its X-parent.

> `Y-extent` (pair of numbers):

>   `#<unpure-pure-container #<primitive-procedure ly:grob::stencil-height> >`

>   Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.

> `Y-offset` (number):

>   `#<unpure-pure-container #<primitive-procedure ly:side-position-interface::y-aligned-side> #<primitive-procedure ly:side-position-interface::pure-y-aligned-side> >`

>   The vertical amount that this object is moved relative to its Y-parent.

This object supports the following interface(s): font-interface, grob-interface, item-interface, outside-staff-interface, self-alignment-interface, side-position-interface, text-interface and text-script-interface.

#### Internals Reference v2.22.2 (stable-branch).