Virama

Virama (विराम/हलन्त ्) is a Sanskrit phonological concept to suppress the inherent vowel that otherwise occurs with every consonant letter, commonly used as a generic term for a codepoint in Unicode, representing either Unicode schemes of scripts writing Mainland Southeast Asia languages, such as that of Burmese script and of Tibetan script, generally do not group the two functions together.
 * 1) halanta, hasanta or explicit virāma, a diacritic in many Brahmic scripts, including the Devanagari and Bengali scripts, or
 * 2) saṃyuktākṣara (Sanskrit: संयुक्ताक्षर) or implicit virama, a conjunct consonant or ligature.

Names
The name is Sanskrit for "cessation, termination, end". As a Sanskrit word, it is used in place of several language-specific terms, such as:

Usage
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) virāma + ṣ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:
 * 1) क is a consonant letter, ka,
 * 2) ् is a virāma; therefore,
 * 3) क् (ka + virāma) represents a dead consonant k.
 * 1) A fully conjoined ligature of C1+C2;
 * 2) Half-conjoined—
 * 3) *C1-conjoining: a modified form (half form) of C1 attached to the original form (full form) of C2
 * 4) *C2-conjoining: a modified form of C2 attached to the full form of C1; or
 * 5) 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, 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 the 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 virāma in the sequence C1 + virāma + 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 virāma 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.
 * ka क + virāma + ṣa ष = kṣa क्ष
 * ka क + virama + ṣa ष = kṣa क्‌ष

The sequences ङ्क ङ्ख ङ्ग ङ्घ, in common Sanskrit orthography, should be written as conjuncts (the virāma 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).

End of word
The inherent vowel is not always pronounced, in particular at the end of a word (schwa deletion). No virāma 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.