o
    'Ni,                     @   s  d Z i dddgdddgddd	gd d
dgdddgdddgdddgdddgdddgdddgdddgdddgdddgdddgd d!d"gd#d!d"gZg d$Zg d%Zg d&Zd'd(gd)d*gd+d,gd-d.ggZd/Zd0Zd1Zd0Z	d2Z
d3Zd4Zd5Zd6Zd7Zd8d9gZd:d;gZd<d=gZd>d?gZd@dAgZg dBZg dCZg dDZg dEZg dFZg dGZg dHZdIdJ ZdKdL ZdMdN ZdOdP ZdQdR Z dSdT Z!dUdV Z"dWdX Z#dYdZ Z$d[d\ Z%d]d^ Z&d_d` Z'dadb Z(dcdd Z)dedf Z*dgdh Z+didj Z,dkdl Z-dmdn Z.dodp Z/dqdr Z0dsdt Z1dudv Z2dwdx Z3dydz Z4d{d| Z5d}d~ Z6dd Z7dd Z8dd Z9dd Z:dd Z;dd Z<dd Z=dd Z>dd Z?dd Z@dd ZAdd ZBdd ZCdd ZDdd ZEdd ZFdS )tapai 
  i
  gui
  i
  ori   i  i  i  tei   i  kni  i  mli   i  sii  i  hii 	  i	  mrkKsanesdbni	  i	  as)r   r   r   r   )r	   r
   r   r   r   r   r   r   r   r   r   r   )r   r   r	   r   r   r   r   r   i   i  iP  i  iP  i  ip  i      o   f   M   P   <   i   id	  ie	                 #   $   )   *   .   )
            !   "   &   '   ,   -   )
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*   )6   7   8   )/   0   1   2   3   4   5   c                 C      | t v S )zU
    Returns True if danda/double danda is a possible delimiter for the language
    )DANDA_DELIM_LANGUAGES)lang r>   E/home/ubuntu/.local/lib/python3.10/site-packages/indicnlp/langinfo.pyis_danda_delimK      r@   c                 C   s   t | t| d  S 5
    Applicable to Brahmi derived Indic scripts 
    r   )ordSCRIPT_RANGEScr=   r>   r>   r?   
get_offsetQ      rH   c                 C   s   t | t| d  S rB   )chrrE   rF   r>   r>   r?   offset_to_charW   rI   rK   c                 C   s   | t ko| tkS )rC   )!COORDINATED_RANGE_START_INCLUSIVECOORDINATED_RANGE_END_INCLUSIVEc_offsetr>   r>   r?   in_coordinated_range]      rP   c                 C   s2   t | |}|dkr|dkpt| tkpt| tkS )rC   r      )rH   rD   DANDADOUBLE_DANDArG   r=   or>   r>   r?   is_indiclang_charc   s   
(rW   c                 C      t | |}|dko|dkS )z"
    Is the character a vowel
          rH   rU   r>   r>   r?   is_vowel      
r\   c                 C   rX   )1
    Is the character a vowel sign (maatraa)
    >   L   r[   rU   r>   r>   r?   is_vowel_sign   r]   ra   c                 C      t | |}|tkS z0
    Is the character the halanta character
    )rH   HALANTA_OFFSETrU   r>   r>   r?   
is_halanta      
re   c                 C   rb   rc   )rH   NUKTA_OFFSETrU   r>   r>   r?   is_nukta  rf   rh   c                 C   rb   )r^   )rH   
AUM_OFFSETrU   r>   r>   r?   is_aum  rf   rj   c                 C   rX   )z&
    Is the character a consonant
    r   9   r[   rU   r>   r>   r?   is_consonant  r]   rl   c                 C   "   t | |}|td ko|td kS )z"
    Is the character a velar
    r      )rH   VELAR_RANGErU   r>   r>   r?   is_velar     
rp   c                 C   rm   )z$
    Is the character a palatal
    r   rn   )rH   PALATAL_RANGErU   r>   r>   r?   
is_palatal!  rq   rs   c                 C   rm   )z&
    Is the character a retroflex
    r   rn   )rH   RETROFLEX_RANGErU   r>   r>   r?   is_retroflex(  rq   ru   c                 C   rm   )z#
    Is the character a dental
    r   rn   )rH   DENTAL_RANGErU   r>   r>   r?   	is_dental/  rq   rw   c                 C   rm   )z#
    Is the character a labial
    r   rn   )rH   LABIAL_RANGErU   r>   r>   r?   	is_labial6  rq   ry   c                 C      t | |}|tv S )z-
    Is the character a voiced consonant
    )rH   VOICED_LISTrU   r>   r>   r?   	is_voiced=  rf   r|   c                 C   rz   )z/
    Is the character a unvoiced consonant
    )rH   UNVOICED_LISTrU   r>   r>   r?   is_unvoicedD  rf   r~   c                 C   rz   )z0
    Is the character a aspirated consonant
    )rH   ASPIRATED_LISTrU   r>   r>   r?   is_aspiratedK  rf   r   c                 C   rz   )z2
    Is the character a unaspirated consonant
    )rH   UNASPIRATED_LISTrU   r>   r>   r?   is_unaspiratedR  rf   r   c                 C   rz   )z,
    Is the character a nasal consonant
    )rH   
NASAL_LISTrU   r>   r>   r?   is_nasalY  rf   r   c                 C   rz   )z0
    Is the character a fricative consonant
    )rH   FRICATIVE_LISTrU   r>   r>   r?   is_fricative`  rf   r   c                 C   rz   )z3
    Is the character an approximant consonant
    )rH   APPROXIMANT_LISTrU   r>   r>   r?   is_approximantg  rf   r   c                 C   rX   )z#
    Is the character a number
    r   r   r[   rU   r>   r>   r?   	is_numbern  r]   r   c                 C      | dko| dkS )z
    Is the offset a vowel
    rY   rZ   r>   rN   r>   r>   r?   is_vowel_offsetx  rQ   r   c                 C   r   ).
    Is the offset a vowel sign (maatraa)
    r_   r`   r>   rN   r>   r>   r?   is_vowel_sign_offset~  rQ   r   c                 C      | t kS z*
    Is the offset the halanta offset
    )rd   rN   r>   r>   r?   is_halanta_offset  rA   r   c                 C   r   r   )rg   rN   r>   r>   r?   is_nukta_offset  rA   r   c                 C   r   )r   )ri   rN   r>   r>   r?   is_aum_offset  rA   r   c                 C   r   )z#
    Is the offset a consonant
    r   rk   r>   rN   r>   r>   r?   is_consonant_offset  rQ   r   c                 C      | t d ko| t d kS )z
    Is the offset a velar
    r   rn   )ro   rN   r>   r>   r?   is_velar_offset     r   c                 C   r   )z!
    Is the offset a palatal
    r   rn   )rr   rN   r>   r>   r?   is_palatal_offset  r   r   c                 C   r   )z#
    Is the offset a retroflex
    r   rn   )rt   rN   r>   r>   r?   is_retroflex_offset  r   r   c                 C   r   )z 
    Is the offset a dental
    r   rn   )rv   rN   r>   r>   r?   is_dental_offset  r   r   c                 C   r   )z 
    Is the offset a labial
    r   rn   )rx   rN   r>   r>   r?   is_labial_offset  r   r   c                 C   r;   )z*
    Is the offset a voiced consonant
    )r{   rN   r>   r>   r?   is_voiced_offset  rA   r   c                 C   r;   )z,
    Is the offset a unvoiced consonant
    )r}   rN   r>   r>   r?   is_unvoiced_offset  rA   r   c                 C   r;   )z-
    Is the offset a aspirated consonant
    )r   rN   r>   r>   r?   is_aspirated_offset  rA   r   c                 C   r;   )z/
    Is the offset a unaspirated consonant
    )r   rN   r>   r>   r?   is_unaspirated_offset  rA   r   c                 C   r;   )z)
    Is the offset a nasal consonant
    )r   rN   r>   r>   r?   is_nasal_offset  rA   r   c                 C   r;   )z-
    Is the offset a fricative consonant
    )r   rN   r>   r>   r?   is_fricative_offset  rA   r   c                 C   r;   )z0
    Is the offset an approximant consonant
    )r   rN   r>   r>   r?   is_approximant_offset  rA   r   c                 C   r   )z 
    Is the offset a number
    r   r   r>   rN   r>   r>   r?   is_number_offset  rQ   r   N)GLC_TArE   DRAVIDIAN_LANGUAGESIE_LANGUAGESr<   URDU_RANGESrL   rM   NUMERIC_OFFSET_STARTNUMERIC_OFFSET_ENDrd   ri   rg   
RUPEE_SIGNrS   rT   ro   rr   rt   rv   rx   r{   r}   r   r   r   r   r   r@   rH   rK   rP   rW   r\   ra   re   rh   rj   rl   rp   rs   ru   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   r   r   r>   r>   r>   r?   <module>   s   		
 
