Virama (Sanskrit: विराम, virāma ?) is a generic term for the diacritic in many Brahmic scripts, including Devanagari and Eastern Nagari script, that is used to suppress the inherent vowel that otherwise occurs with every consonant letter. The name is Sanskrit for "cessation, termination, end". As a Sanskrit word, it is used in place of several language-specific terms, such as halant (Hindi: हलन्त्, halant ?), hôshonto (Bengali: হসন্ত, hoshonto ?), halanta (Telugu: హలంత, halanta ?), pulli (Tamil: புள்ளி, puḷḷi ?), chandrakkala (Malayalam: ചന്ദ്രക്കല, candrakkala ?), halant (Kannada: ಹಲಂತ, halanta ?), halanta (Oriya: ହଳନ୍ତ, haḷanta ?), a that (Burmese: အသတ်, a.sat IPA: [ʔa̰θaʔ], lit. "sound killer") and phinthu (Thai: –ฺ พินทุ).
In Devanagari and many other Indic scripts, a virama is used to cancel—or “kill”—the inherent vowel of a consonant letter and represent a consonant without a vowel, so-called a “dead” consonant. For example, in Devanagari,
- क is a consonant letter, ka,
- ् is a virama; therefore,
- क् (ka + virama) represents a dead consonant k.
If this k क् is further followed by another consonant letter, for example, ṣa ष, the result might look like क्ष, which represents kṣa as ka + (visible) virama + ṣa. In this case, two elements k क् and ṣa ष are simply placed one by one, side by side. Alternatively, kṣa can be also written as a ligature क्ष, which is actually the preferred form.
Generally, when a dead consonant letter C1 and another consonant letter C2 are conjoined, the result may be either:
- A fully conjoined ligature of C1+C2;
- C1-conjoining: a modified form (half form) of C1 attached to the original form (full form) of C2
- C2-conjoining: a modified form of C2 attached to the full form of C1; or
- Non-ligated: full forms of C1 and C2 with a visible virama.
If the result is fully or half-conjoined, the (conceptual) virama which made C1 dead becomes invisible, only logically existing in a character encoding scheme such as ISCII or Unicode. If the result is non-ligated, a virama is visible, attached to C1, actually written.
Basically, those differences are only glyph variants and three forms are semantically identical. Although there may be a preferred form for a given consonant cluster in each language and some scripts do not have some kind of ligatures or half forms at all, it is generally acceptable to use a non-ligature form instead of a ligature form even when the latter is preferred, if the font does not have a glyph for the ligature. In some other cases, whether to use a ligature or not is merely a matter of taste.
The virama in the sequence C1 + virama + C2 may thus work as an invisible control character to ligate C1 and C2 in Unicode. For example,
- ka क + virama + ṣa ष = kṣa क्ष
is a fully conjoined ligature. It is also possible that the virama does not ligate C1 and C2, leaving the full forms of C1 and C2 as they are:
- ka क + virama + ṣa ष = kṣa क्ष
is an example of such a non-ligated form.
The sequences ङ्क ङ्ख ङ्ग ङ्घ [ŋka ŋkʰa ŋɡa ŋɡʱa] in correct Devanagari handwriting should be written as conjuncts (the virama and the top cross line of the second letter disappear, and what is left of the second letter is written under the ङ and joined to it).
See also 
- Constable, Peter (2004). "Clarification of the Use of Zero Width Joiner in Indic Scripts" (PDF). Public Review Issue #37. Unicode, Inc. Retrieved 2009-11-19.