LilyPond Internals Reference: 3.2.9 bar-line-interface

### 3.2.9 bar-line-interface

Bar line.

Print a special bar symbol. It replaces the regular bar symbol with a special symbol. The argument bartype is a string which specifies the kind of bar line to print. Options are `|`, `:|`, `|:`, `:|:`, `:|.|:`, `:|.:`, `.`, `||`, `|.`, `.|`, `.|.`, `|.|`, `:`, `dashed`, `'` and `S`.

These produce, respectively, a normal bar line, a right repeat, a left repeat, a thick double repeat, a thin-thick-thin double repeat, a thin-thick double repeat, a thick bar, a double bar, a start bar, an end bar, a thick double bar, a thin-thick-thin bar, a dotted bar, a dashed bar, a tick as bar line and a segno bar.

In addition, there is an option `||:` which is equivalent to `|:` except at line breaks, where it produces a double bar (`||`) at the end of the line and a repeat sign (`|:`) at the beginning of the new line.

For segno, `S` produces a segno sign except at line breaks, where it produces a double bar (`||`) at the end of the line and a segno sign at the beginning of the new line. `|S` is equivalent to `S` but produces a simple bar line (`|`) instead of a double bar line (`||`) at line breaks. `S|` produces the segno sign at line breaks and starts the following line without special bar lines.

`S|:` and `:|S` are used for repeat/segno combinations that are separated at line breaks. Alternatively, `.S|:` and `:|S.` may be used which combine repeat signs and segno at the same line in case of a line break. `:|S|:` is a combination of a left repeat (`:|`), a segno (`S`) and a right repeat `|:` which splits before the segno at line breaks; `:|S.|:` splits after the segno sign.

If bartype is set to `empty` then nothing is printed, but a line break is allowed at that spot.

`gap` is used for the gaps in dashed bar lines.

#### User settable properties:

> `allow-span-bar` (boolean)

>   If false, no inter-staff bar line will be created below this bar line.

> `gap` (dimension, in staff space)

>   Size of a gap in a variable symbol.

> `kern` (dimension, in staff space)

>   Amount of extra white space to add. For bar lines, this is the amount of space after a thick line.

> `thin-kern` (number)

>   The space after a hair-line in a bar line.

> `hair-thickness` (number)

>   Thickness of the thin line in a bar line.

> `thick-thickness` (number)

>   Bar line thickness, measured in `line-thickness`.

> `glyph` (string)

>   A string determining what ‘style’ of glyph is typeset. Valid choices depend on the function that is reading this property.

> `glyph-name` (string)

>   The glyph name within the font.

#### Internal properties:

> `bar-extent` (pair of numbers)

>   The Y-extent of the actual bar line. This may differ from `Y-extent` because it does not include the dots in a repeat bar line.

This grob interface is used in the following graphical object(s): BarLine and SpanBar.

#### Internals Reference