Skip to content

Cross-beat glides

A meend or ghaseet often starts in one beat and ends in another. The renderer only ever sees one beat, so it draws what that beat knows: an opening hook on the note the glide leaves, a bar through a beat it passes, a closing hook on the note it arrives at. swarlipi/bridge joins those fragments into one line once the host says where the beat cells are and which beats pair. The samples below are bridged by that module, live, from the spans each sample declares — uncheck Join the fragments to see what the renderer emitted on its own.

w — plain continuation
qs
w
ਰੇer
W — stroke on a lone continuation beat
qs
W
ਰੇer
W on a note, with a taar dot

The tick must clear the dot.

qs
ਰੇWru
ਰੇer
W on Ni with a taar dot

Bengali's Ni takes a dot line higher than every other letter. The bar does not move for a tick, so the ticked-Ni rule drops that dot back to the normal line to keep the dash off it.

qs
ਨੀWnu
ਰੇer
Two continuations
qs
w
w
ਰੇer
W then w
qs
ਰੇWr
w
ਰੇer
Adjacent beats — no w needed
sq
ਰੇer
Unmarked gap — does not pair, so no bridge
sq
m
ਰੇer
Ghaseet across beats
Qs
w
ਰੇEr
Two spans sharing a boundary beat — only the first is ticked

The middle beat closes the first span and opens the second. The two bars must read as two unbroken lines: a step, if any, only between the spans, never inside one.

qs
ਰੇWru
geq
w
pe

Which beats pair

That is the host's rule. The notation app pairs an opener with a closer when the beats are adjacent, or when every beat between them carries a dangling w or W continuation; an unmarked gap does not pair, so a stray marker forty beats away cannot connect. A later opener replaces a pending one. A beat can close one glide and open the next, in which case both bridges meet on that beat and must read as two unbroken lines.

Drawing the bridge

measureBridges runs a bar from the right edge of each zone to the left edge of the next along the span, at the zone's height, with the band's thickness from MEEND_BAR_RATIO, and anchor-pins it to both zones so print re-derives the geometry. The Integration page shows the call.

Code MIT · Fonts OFL 1.1 · Inspired by the Omenad Bhatkhande fonts