Разделение гласных и согласных в индийских /abugida скриптах с использованием Python
Я пытаюсь создать программу, которая поможет мне конвертировать скрипт unicode abugida в список гласных и согласных. Я добился разделения фонетических звуков, используя следующий сценарий, взятый из игры вокруг персонажей деванагари
#!/usr/bin/python
# -*- coding: utf-8 -*-
import unicodedata, sys
def splitclusters(s):
"""Generate the grapheme clusters for the string s. (Not the full
Unicode text segmentation algorithm, but probably good enough for
Devanagari.)
"""
virama = u'\N{DEVANAGARI SIGN VIRAMA}'
cluster = u''
last = None
for c in s:
cat = unicodedata.category(c)[0]
if cat == 'M' or cat == 'L' and last == virama:
cluster += c
else:
if cluster:
yield cluster
cluster = c
last = c
if cluster:
yield cluster
name_in_indic = raw_input('Enter your name in devanagari: ').decode('utf8')
print (','.join(list(splitclusters(name_in_indic))))
Однако я намерен пойти дальше и отделить все гласные и согласные.
E.g हिंदी = ह+इ+न+द+ई
что аналогично тому, как хинди становится h+i+n+d+i только в индийских скриптах, которые каждая фонема рассматривает как символ
Как мне это сделать?