o
    wiXK                     @   s   d dl Z d dlZd dlZdgZdZdZdZg dZg dZg dZ	g d	Z
g d
Zg dZdd Zdd ZedkroejddZejddeddde jd ejddeddde jd e ZejD ]Zejee qddS dS )    NzNehal J Wani, Raveesh MotlanizDCopyright 2015, Language Techonology Research Center, IIIT HyderabadzNehal J Waniznehaljw.kkd1@gmail.com))   ñ   ॰)zQ+ZzQZ+)sassa)aaa)z)Zu   र्द्ध)ZZZ)   ‘")   ’r   )   “')   ”r   )   åu   ०)u   ƒu   १)u   „u   २)u   …u   ३)u   †u   ४)u   ‡u   ५)u   ˆu   ६)u   ‰u   ७)u   Šu   ८)u   ‹u   ९)u   ¶+u   फ़्)zd+   क़)z[+k   ख़)z[+u   ख़्)zx+   ग़)zT+u	   ज़्)zt+   ज़)M+   ड़)<+   ढ़)zQ+   फ़)z;+   य़)zj+   ऱ)zu+   ऩ)u   Ùku	   त्त   Ùu   त्त्)   äu	   क्त)u   –u   दृ)u   —   कृ)   éu	   न्न)u   ™u   न्न्)z=kkz=k)zf=kzf=)   àu	   ह्न)   áu	   ह्य)   âu   हृ)   ãu	   ह्म)u   ºzu	   ह्र)   ºu   ह्)   í	   द्द)z{ku	   क्ष){u   क्ष्)=u	   त्र)   «u   त्र्)u   Nîu	   छ्य)u   Vîu	   ट्य)u   Bîu	   ठ्य)u   Mîu	   ड्य)u   <îu	   ढ्य)|u	   द्य)Ku	   ज्ञ)}u	   द्व)Ju	   श्र)u   Vªu	   ट्र)u   Mªu	   ड्र)u   <ªªu	   ढ्र)u   Nªu	   छ्र   Øu	   क्र)   Ýu	   फ्र)nzZu   र्द्र)   æu	   द्र)   ç	   प्र)   Ár6   )xzu	   ग्र)#u   रु):u   रू)u   v‚u   ऑ)vks   ओ)vkS   औ)vk   आ)v   अ)u   b±u   ईं)   Ã   ई)bZrD   )b   इ)m   उ)   Å   ऊ)z,s   ऐ),   ए)_u   ऋ)   ôu	   क्क)d   क)DkrR   )Du   क्)[k   ख)[u   ख्)x   ग)XkrY   )Xu   ग्)   Ä   घ)?kr]   )?u   घ्)   ³   ङ)pkSu   चै)p   च)Pkrd   )Pu   च्)N   छ)t   ज)Tkrj   )Tu   ज्)>   झ)   ÷   झ्)   ¥   ञ)   ê	   ट्ट)   ë	   ट्ठ)V   ट)B   ठ)   ì	   ड्ड)   ï	   ड्ढ)r   u   ड़)r   u   ढ़)M   ड)<   ढ).k   ण).u   ण्)r   त)Rkr   )Ru   त्)Fk   थ)Fu   थ्))u	   द्ध)n   द)/k   ध)/   ध्)   Ër   )   èr   )u   न)Ukr   )Uu   न्)i   प)Ikr   )Iu   प्)Q   फ)   ¶u   फ्)c   ब)Ckr   )Cu   ब्)Hk   भ)Hu   भ्)e   म)Ekr   )Eu   म्);   य)   ¸u   य्)j   र)y   ल)Ykr   )Yu   ल्)G   ळ)o   व)Okr   )Ou   व्)'k   श)r      श्)"k   ष)r   u   ष्)l   स)Lkr   )Lu   स्)g   ह)   È   ीं)sazu   ्रें)z   ्र)   Ìr(   )   Írt   )   Îrv   )   Ïr|   )   Ñr    )   Òr   )   Óu   ्य)   Ôr~   )   Örp   r0   r   )u   Ükr   )   Ür   )u   ‚u   ॉ)kasu   ों)ks   ो)kS   ौ)u   ¡ku   ाँ)aku   kं)k   ा)ahr   )h   ी)aqu   ुं)q   ु)awu   ूं)u   ¡wu   ूँ)w   ू)`   ृ)u   ̀r   )asu   ें)u   ±su   s±)s   े)aS   ैं)S   ै)u   aªu	   ्रं)   ªr   )fau   ंf)r      ं)   ¡   ँ)%r:   )W   ॅ)u   •   ऽ   ·r   )u   ∙r   r   )~jr   )~   ्)\r_   )+u   ़)^r
   )*r   )   Þr   )   ßr   )(r   )   ¼r  )   ½r   )   ¿r)   )   Àr.   )   ¾r*   )Au   ।)-r   )&r
  )r     µ)u   μr
  )u   Œr   )]rM   )z~    ् )@r   )   ®r   )rB   r@   rG   rD   rI   rK   rN   rL   r<   r>   r      िr   r   r   r   r   r   r   r   r      ःr   r   )r   r  r   r   r   r   r   r   r   r   r   r  r   r   )-rR   rV   rY   r]   ra   rd   rh   rj   rn   rr   rx   rz   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r      ऴr   r   r   r   r   r   r   r   r   r   r   r   r   )QrQ   rU   rX   r^   r`   rc   rg   ri   rm   rq   rw   ry   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r   r   r   r   r   rQ   rU   rX   ri   r   r   r   r   rT   rW   r[   r_   u   ³~rf   zN~rl   ro   u   ¥~zV~zB~zM~z<~r   r   r   zn~r   r   r   r   r   r   r   r   r   r   r	   r   r   r   r   r   r   r&   )r   fr   r   r   r   r   r   r   r   r   r   r   r   c                 C   s*   z|  dW S  ty   |  d Y S w )Nutf-8unicode_escape)decodeUnicodeDecodeError)unk_txt r  x/home/ubuntu/maya3_transcribe/venv/lib/python3.10/site-packages/indic_transliteration/font_converter/krutidev2unicode.py
getUnicode  s
   r  c                 C   s  t | } | dd} | dd} | dd} td}|| D ]*}| }|t| d k rJ| | d  tt vrJ| d	| d
 | |d d	  } q t	D ]}| |d |d } qM| dd} | dd} t
d| }|r|d}| d| |d } t
d| }|sn| dd} | dd} | dd} t
d| }|r|d}| d| |d } t
d| }|s| dd} t
d| }|r|d}| d| d| d } t
d| }|s| dd } t
d!| }|r,|d}| |d  }|dkr| | tv r|d8 }| | | }|dkr| | tv s| |d  d"| } t
d!| }|stD ]}| d#| |} | d$| |d$ } | d| |} q.| d%d&} | d'd"} | d(d} | d)d#} | d*S )+u  Convert the KrutiDev text to Unicode text.

    Args:
        kru_text: Text in KrutiDev.
    Returns:
        Text converted into Unicode.

    NOTE :  The assumption is that the input text is 100% Krutidev. If it
            contains any other Latin characters, then they will be converted
            according to the KrutiDev 2 Unicode mapping.
            Example:
            "(i) egkfuns'kky; dh osclkbV (www.shipping.gov.in) ij gS"
            will become...
            ";पद्ध महानिदेशालय की वेबसाइट ;ूूूणेीपचचपदहण्हवअण्पदद्ध पर है"

            Therefore, check the input text before passing it to this function.

    u    ªr   z ~jr   z zr   u   [—–]   Nr  r      ±u   Zं   Æu   र्fzf(.?)r  r     Çr      ¯   Éu   र्fazfa(.?)u   िं   Êu   ीZu
   ि्(.?)u   ि्r   u   ्Zr	   z(.?)Zu   र् rM   u	   ््रr   u	   ्र्u   ््r  r  )r  replacerecompilefinditerstartlenkrutidev_consonantskrutidev_unattached_vowel_signsk2usearchgroupindexunicode_vowel_signsunicode_unattached_vowel_signsencode)kru_text	misplacedrH   r0  mappingindex_r_halantmatrar  r  r  kru2uni  sr   
( 





r9  __main__zKrutidev2Unicode Font Convertor)descriptionz-iz--inputr   
input_filez
Input File)typedesthelpdefaultz-oz--outputr   output_filezOutput File)sysr&  argparse
__author____copyright____maintainer__	__email__r-  r1  r2  unicode_consonantsr+  r,  r  r9  __name__ArgumentParserparseradd_argumentFileTypestdinstdout
parse_argsargsr<  linerA  writer  r  r  r  <module>   s4      0T`
