Skip to content

Symbols

Every form the renderer draws, live, with the geometry explained. The controls apply to the whole page. For the character that produces each one, see What to type. The sample set is exported as swarlipi/samples, so what you see here is what the package's own tests and the notation app's checks use.

Sizes

The marks are CSS and SVG, not glyphs, so they scale with the letters instead of being drawn once at one size. 18px is the notation grid's beat cell.

18px · beat cellਰੇ
24pxਰੇ
40pxਰੇ
96pxਰੇ

Letters

s r g m p d n are the seven swaras. Re and Ni carry their vowel signs in the Indic scripts, ਰੇ and ਨੀ, which is why the mark lines sit where they do: the dot line clears the tallest letter in each script.

ਰੇ ਨੀs r g m p d n

Komal and tivra

Capitals flatten: R G D N draw komal Re, Ga, Dha and Ni with a line under the whole letter, vowel sign included. M is tivra Ma, a bar above. The underline and the bar share one stroke weight.

ਰੇ ਨੀR G M D N
ਰੇsRgGmM
ਨੀਨੀnNdD

Octaves

An octave marker follows its note. u puts one dot above for taar, U two for ati-taar; l and L do the same below for mandra and ati-mandra. Every dot in a script sits on the same line, whatever the letter under it.

sl su sU sL
ਨੀ nl pu Mu dL
ਰੇ ਰੇ ਨੀ ru rl nu gu
ਨੀnlsss
ਨੀsndlpl

Kan

Braces make a kan: {m}s is a grace Ma into Sa, drawn as a superscript before the note. A kan can hold more than one note, and a note can carry a kan and an octave dot at once.

{m}s
p{m}s
ਨੀ{pd}n
ਰੇਨੀ{r}s{n}d
ਨੀ{nu}s

Chhand

A chhand symbol groups the slots that follow it under one arc: @ two, # three, $ four, % five, ^ six, & seven, * eight. Notes and dashes count as slots; a kan does not. `, ! and ~ are the four-, six- and eight-slot groups drawn lower, so a group can sit inside another for layakari.

ਰੇ@sr
ਰੇ#srg
ਰੇ$srgm
ਰੇ$srgM
ਰੇ%srgmp
ਰੇ^srgmpd
ਰੇਨੀ*srgmpdns
ਨੀ$nlsss
ਰੇਰੇ$sMRuRL
ਨੀਨੀ{pd}@nn
ਰੇ@sr@gm

Dashes

- sustains the previous note for a slot. It takes part in a chhand group like a note does.

s-
s---
@s-
ਰੇ$sr--

Meend and ghaseet

q opens a meend and e closes it; the glide runs from the note after q to the note before e. Q and E do the same for a ghaseet, drawn as a square bracket. A pair closed within the beat spans its notes. When a glide crosses beats, each beat gets a fragment and the host joins them, see Cross-beat glides.

In-beat pairs span themselves. A cross-beat span renders as per-beat fragments that the host bridges (see Cross-beat glides), so a single beat here shows only its fragment end.

qse
ਰੇqsre
sqem
sq
ਨੀne
ਰੇqswrwgem
ਰੇqsWrem
ਰੇqsWruem
ਰੇQsrE
ਰੇ$qsrem
qsuem

Strokes, murki and digits

; ' [ ] \ are the mizrab bols da, ra, daa, raa and dir, set in the script. Parentheses mark a murki. Digits come out in the script's numerals.

ਦਾਰਾ;'[]
ਰੇs;r'
ਦਿਰਰੇs\r
(ਰੇ)(r)
(ਰੇ)s(r)g
123
ਰੇs_r

Half-finished entries

What an editor shows while a beat is being typed. Turn on Editing mode above to see the markers drawn over empty slots; a read view leaves them out.

A marker with nothing to attach to yet. A read view omits it; with `editing` the renderer draws it over an empty slot so a half-typed beat stays visible. An octave modifier alone draws nothing in either mode — its dot only means something on a note.

@
#
$
~
u
l
U
L
{{
}}
{{m
q
w
e

Crowded beats

The spacing case a monospaced notation font could never win: many letters in one beat, set as text.

ਰੇsssr
ਨੀਨੀਨੀnnns
ਰੇsrgM
ਨੀmpdns
ssssssss

Real beats

$mpdp
@gm
ਨੀਰੇ@nlr
su
ਰੇ ਨੀ$srgM nu
ਰੇ ਨੀRs NlDl

Everything at once

Chhand over five slots with a two-note kan, a meend that opens here with a struck continuation stacked on a taar-komal Re and closes onto ati-mandra Ma, then tivra Ma with a mandra dot and a dash; a two-slot chhand over taar-komal Ga, a murki, komal Ni, a bol, a digit and a line; a ghaseet with a stroke tick.

ਰੇ%{pd}sqWRuemLMl-
(ਰੇ)ਨੀ@Gu(r)N;2_
ਰੇQsWrE

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