o
    ÅN iÐ  ã                   @   sB   d dl mZ ddlZdddœZe e¡ZdgZG dd	„ d	eƒZdS )
é   )ÚBaseIndoArabicTransliteratoré    Nu   Ù†u   Ù„)u   Ý¨u   à£‡zhindustani_consonants.csvc                       sB   e Zd Z‡ fdd„Zdd„ Zddd„Zddd	„Zdd
d„Z‡  ZS )ÚHindustaniTransliteratorc                    s@   t ƒ  t¡ d| jjd< d| jjd< d| jjd< d| jjd< d S )	Nu   Ûu   à¤¹u   ÛØ§u   à¤¹à¤¾u   ÛÙ‘u	   à¤¹à¥à¤¹u   ÛÙ‘Ø§u   à¤¹à¥à¤¹à¤¾)ÚsuperÚ__init__ÚCONSONANT_MAP_FILESÚ$arabic_to_devanagari_converter_pass2Úreverse_translation_dictÚ$arabic_to_devanagari_converter_pass1)Úself©Ú	__class__© úZ/home/ubuntu/.local/lib/python3.10/site-packages/indo_arabic_transliteration/hindustani.pyr      s
   z!HindustaniTransliterator.__init__c                 C   s.   t  dd|¡}t  dd|¡}t  dd|¡}|S )Nu
   (\b)Ùˆ(\b)u   \1à¤µ\2u   (\b)Ú©ÛŒÚº(\b)u   \1à¤•à¥€à¤‚\2u   (\b)Ù†ÛÛŒÚº(\b)u   \1à¤¨à¤¹à¥€à¤‚\2)ÚreÚsub)r   Útextr   r   r   Ú+transliterate_ambiguous_urdu_words_to_hindi   s   zDHindustaniTransliterator.transliterate_ambiguous_urdu_words_to_hindiFc                 C   s’   |   |¡}|  |¡}| j |¡}| j |¡}| j |¡}| j |¡}| j |¡}| j |¡}| j	 |¡}| j
 |¡}| j
 |¡}|rG|  |¡}|S )N)Úarabic_normalizer   Ú&initial_arabic_to_devanagari_converterÚ	translateÚ#hamza_combo_to_devanagari_converterÚhamza_to_devanagari_converterr
   Ú$final_arabic_to_devanagari_converterr   Ú"arabic_to_devanagari_final_cleanupÚdevanagari_postprocessorÚdevanagari_nativize©r   r   Únativizer   r   r   Ú transliterate_from_urdu_to_hindi   s   


z9HindustaniTransliterator.transliterate_from_urdu_to_hindic                 C   s¼   |   |¡}t dd|¡}| j |¡}| j |¡}| j |¡}|  |¡}| dd¡}| j	 |¡}| dd¡ dd¡ d	d
¡}| j
 |¡}| dd¡}| j |¡}| j |¡}|r\| t¡}|S )Nu   ((^|[^à¤€-à¥£à¥²-à¥¿]))à¤u   \1Ø§ÛŒu   à¤¾u   Ø§u   à¥€u   ÛŒu   à¥‹u   Ùˆu   à¥‡u   Û’u   à¤“u   Ø¤)Údevanagari_normalizer   r   r   Úreverse_translater   r
   Údevanagari_remove_short_vowelsÚreplacer   r   r   r   r   Úurdu_postprocessorr   r   r   r   Ú transliterate_from_hindi_to_urdu1   s    


z9HindustaniTransliterator.transliterate_from_hindi_to_urduc                 C   s    |dkr
|   ||¡S |  ||¡S )NÚur)r%   r   )r   r   Úsrc_langÚ	dest_langr   r   r   r   Ú__call__G   s   z!HindustaniTransliterator.__call__)F)	Ú__name__Ú
__module__Ú__qualname__r   r   r   r%   r)   Ú__classcell__r   r   r   r   r      s    	

r   )	Úbaser   r   ÚURDU_POSTPROCESS_MAPÚstrÚ	maketransr$   r   r   r   r   r   r   Ú<module>   s    ý
