Thanks for that explanation.

Now that I am looking at Hindi and Punjabi I am surprised at the
number of different things the virama codepoint seems to do with a
glyph visually. Its function is to remove the vowel but in Hindi the
first consonant becomes a half form and in Punjabi the r,h and v are
subjoined as the second consonant in the conjunct. So the virama
does both those things besides sometimes appearing as itself?