o
    wi6                     @   s    d dl Z d dlmZ dd ZdS )    N)brahmicc                 K   sz  |j jtjkrtjj| d} nJ|j jtjkrtjj| d} n;|j jtj	kr-tj
j| d} n,|j jtjkr<tjj| d} n|j jtjkrKtjj| d} n|j jtjkrYtjj| d} |j}|j}|j}|j}|jj}|j}|rt|jdkrdd|j d d|j f }	t|	d| } g }
d}d }}|
j }|t| kr1| |||  }|rt|dkr||v r|||  d	}n1||v r|||  d	}n$|r|d
 ||!|| d	}n||v r|r|d
 ||!| d	}|r|o||v }|t|7 }n|dd }|s|s)|r|t"t#|$  |t| k r%|| |  d}|d7 }d}|t| ks|r8|d
 d|
S )a#  Transliterate `data` with the given `scheme_map`. This function is used
  when the source scheme is a Brahmic scheme.

  :param data: the data to transliterate
  :param scheme_map: a dict that maps between characters in the old scheme
                     and characters in the new scheme
  )textr   z([%s])([%s]) 
yogavaahasz\2\1F   TaN)%from_schemenamer   GURMUKHIGurmukhiSchemereplace_addakBENGALIBengaliSchemereplace_khandaTELUGUTeluguScheme	replace_nKANNADAKannadaScheme	TAMIL_SUBTamilSchememove_before_maatraa_subscripts	TAMIL_SUP move_before_maatraa_superscriptsvowel_marksvirama
consonantsnon_marks_viraama	to_schemeis_romanmax_key_length_from_schemelenaccentsjoinkeysregexsubappendgetnextitervalues)data
scheme_mapkwr   r   r   r   to_romanr!   patternbufito_roman_had_consonantfoundr(   token r7   q/home/ubuntu/maya3_transcribe/venv/lib/python3.10/site-packages/indic_transliteration/sanscript/brahmic_mapper.py_brahmic   s|   $3
r9   )r&   'indic_transliteration.sanscript.schemesr   r9   r7   r7   r7   r8   <module>   s    