Virama (Sanskrit: , vir?ma ? ?) is a generic term for the diacritic in many Brahmic scripts, including Devanagari and Bengali script, 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 ? ?); halanta (Marathi: ?, halanta ? ?), hoshonto (Bengali: , hôsôntô ? ?); (Assamese: or , hoxonto or hosonto ? ?); (Sylheti: , o?onto ?); pollu (Telugu: , Pollu ? ?); pulli (Tamil: , pui ? ?), chandrakkala or viraamam (Malayalam: ?/, candrakkala/viraamam ? ?); halanta (Kannada: ?, halanta ? ?); halanta (Odia: , ha?anta ?); halant (Punjabi: ?, halant ? ?); hal kirima (Sinhala: , hal kir?ma ?); a that (Burmese: ?, a.sat IPA: [?aa?], lit. "nonexistence" ?); karan (Thai: ?,pinthu (), lit. "point" or "dot" or thanthakhat (?)); and pangkon (Javanese: ?).
In Devanagari and many other Indic scripts, a virama is used to cancel the inherent vowel of a consonant letter and represent a consonant without a vowel, a "dead" consonant. For example, in Devanagari,
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:
If the result is fully or half-conjoined, the (conceptual) virama which made C1 dead becomes invisible, logically existing only in a character encoding scheme such as ISCII or Unicode. If the result is not 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 nonligature 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 just 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,
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:
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).
The inherent vowel is not always pronounced, in particular at the end of a word (schwa deletion). No virama is used for vowel suppression in such cases. Instead, the orthography is based on Sanskrit where all inherent vowels are pronounced, and leaves to the reader of modern languages to delete the schwa when appropriate.