Writing Systems of the World 7, Exercise 2: Devanagari vowel signs Code (run with py -X utf8): import unicodedata for s in ["कु", "कू", "के"]: print(s, len(s), [unicodedata.name(c) for c in s]) Output from the run: कु 2 ['DEVANAGARI LETTER KA', 'DEVANAGARI VOWEL SIGN U'] कू 2 ['DEVANAGARI LETTER KA', 'DEVANAGARI VOWEL SIGN UU'] के 2 ['DEVANAGARI LETTER KA', 'DEVANAGARI VOWEL SIGN E'] The same in each: the consonant letter KA, always first. What changes: only the vowel sign that follows it (U, UU, E). That is the abugida idea in code: one consonant symbol, plus a dependent vowel sign, stored as a separate code point.