
    )iYK              	          S SK r S SKrS SKrS/rSrSrSr/ SQr/ SQr/ SQr	/ S	Qr
/ S
Qr/ SQrS rS r\S:X  a  \R                   " SS9r\R%                  SS\R&                  " S5      SS\ R(                  S9  \R%                  SS\R&                  " S5      SS\ R*                  S9  \R-                  5       r\R0                   H$  r\R4                  R7                  \" \5      5        M&     gg)    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	   द्र)   ç	   प्र)   Ár7   )xzu	   ग्र)#u   रु):u   रू)u   v‚u   ऑ)vks   ओ)vkS   औ)vk   आ)v   अ)u   b±u   ईं)   Ã   ई)bZrE   )b   इ)m   उ)   Å   ऊ)z,s   ऐ),   ए)_u   ऋ)   ôu	   क्क)d   क)DkrS   )Du   क्)[k   ख)[u   ख्)x   ग)XkrZ   )Xu   ग्)   Ä   घ)?kr^   )?u   घ्)   ³   ङ)pkSu   चै)p   च)Pkre   )Pu   च्)N   छ)t   ज)Tkrk   )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)   )   Íru   )   Îrw   )   Ïr}   )   Ñr!   )   Òr   )   Óu   ्य)   Ôr   )   Örq   r1   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   )]rN   )z~    ् )@r   )   ®r   )rC   rA   rH   rE   rJ   rL   rO   rM   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   )-rS   rW   rZ   r^   rb   re   ri   rk   ro   rs   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   r   r   r   r   r   r   r   r   )QrR   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   rR   rV   rY   rj   r   r   r   r   rU   rX   r\   r`   u   ³~rg   zN~rm   rp   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                 h     U R                  S5      $ ! [         a    U R                  S5      s $ f = f)Nutf-8unicode_escape)decodeUnicodeDecodeError)unk_txts    u/var/www/html/land-doc-ocr/venv/lib/python3.13/site-packages/indic_transliteration/font_converter/krutidev2unicode.py
getUnicoder    s5    0~~g&& 0~~.//0s    11c                    [        U 5      n U R                  SS5      n U R                  SS5      n U R                  SS5      n [        R                  " S5      nUR	                  U 5       H]  nUR                  5       nU[        U 5      S-
  :  d  M'  XR                  5       S-      [        [        -   ;  d  MM  U S	U S
-   XS-   S	 -   n M_     [         H  nU R                  US   US   5      n M     U R                  SS5      n U R                  SS5      n [        R                  " SU 5      nU(       aI  UR                  S5      nU R                  SU-   US-   5      n [        R                  " SU 5      nU(       a  MI  U R                  SS5      n U R                  SS5      n U R                  SS5      n [        R                  " SU 5      nU(       aI  UR                  S5      nU R                  SU-   US-   5      n [        R                  " SU 5      nU(       a  MI  U R                  SS5      n [        R                  " SU 5      nU(       aL  UR                  S5      nU R                  SU-   SU-   S-   5      n [        R                  " SU 5      nU(       a  ML  U R                  SS 5      n [        R                  " S!U 5      nU(       a  UR                  S5      nU R                  US -   5      nUS:  a,  X   [        ;   a   US-  nX   U-   nUS:  a  X   [        ;   a  M   U R                  US -   S"U-   5      n [        R                  " S!U 5      nU(       a  M  [         HE  nU R                  S#U-   U5      n U R                  S$U-   US$-   5      n U R                  SU-   U5      n MG     U R                  S%S&5      n U R                  S'S"5      n U R                  S(S5      n U R                  S)S#5      n U R                  S*5      $ )+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   र् rN   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	misplacedrI   r2  mappingindex_r_halantmatras          r  kru2unir;    s   & (#H 0Ht,Hc*H 

+,I)	3x=1$$'')a-)@H[^}H})}5)C/(19;2HHH *
 ##GAJ
;  	2H8H 		'8,I
OOA&	##C)OY5IJIIgx0	 )
 -H-H(89H 		(H-I
OOA&	##D9$4i.6PQIIh1	 )
 	2H 		,h7I
OOA&	##NY$>9@TW_@_`II0(;	 )
 	3/H 		'8,I
OOA&	!	C8!h&>BU&UaN 09<I !h&>BU&U ##IO^i5OPIIgx0	 ) 0##C%K7##C%K=##Hu$4e< 0
  4nEH 4nEH9H 	3/H??7##    __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/  r3  r4  unicode_consonantsr-  r.  r  r;  __name__ArgumentParserparseradd_argumentFileTypestdinstdout
parse_argsargsr?  linerD  write r<  r  <module>rX     s0   
 	 23
X *	~@ 6" ". `R h# "0^$@ z$$3TUF
i0A0A#0F|dp|  }F  }F  G
j1B1B31GP]fs  @C  @J  @J  KDwt}-   r<  