o
    
iX                     @   s   d Z ddlZddlmZmZ e ZdddZddd	Zdd
dZdddZ	dddZ
dddZdddZdddZdddZdddZdddZdddZdS )zE
Special rule for processing Hangul
https://github.com/kyubyong/g2pK
    N   )glossget_rule_id2textFc                 C      t d }tdd| }|S )Nz5.1u   ([ᄌᄍᄎ])ᅧu   \1ᅥrule_id2textresubinpdescriptiveverboseruleout r   H/home/ubuntu/.local/lib/python3.10/site-packages/misaki/g2pkc/special.pyjyeo   s   r   c                 C   &   t d }|rtdd| }|S | }|S )Nz5.2u4   ([ᄀᄁᄃᄄㄹᄆᄇᄈᄌᄍᄎᄏᄐᄑᄒ])ᅨu   \1ᅦr   r
   r   r   r   ye   s   r   c                 C   r   )Nz5.3u=   ([ᄀᄁᄂᄃᄄᄅᄆᄇᄈᄉᄊᄌᄍᄎᄏᄐᄑᄒ])ᅴ   \1ᅵr   r
   r   r   r   consonant_ui$   s   r   c                 C   s.   t d }|rtdd| }|S | dd}|S )Nz5.4.2u   ([^^])의/Ju   \1에z/J )r   r   r	   replacer
   r   r   r   josa_ui,   s   r   c                 C   r   )Nz5.4.1u   ([^^\s]ᄋ)ᅴr   r   r
   r   r   r   vowel_ui7   s   r   c                 C   sH   t d }| }tdd|}tdd|}tdd|}tdd|}|S )	N16u   (디그)ᆮᄋu   \1ᄉu*   ([ᄌᄎᄐᄒ]ᅵ으)[ᆽᆾᇀᇂ]ᄋu   (키으)ᆿᄋu   \1ᄀu   (피으)ᇁᄋu   \1ᄇr   r
   r   r   r   jamoB      r   c                 C   s   t d }| }tdd|}|S )Nz11.1u   ᆰ/P([ᄀᄁ])u   ᆯᄁr   r
   r   r   r   rieulgiyeokP   s   r   c                 C   sH   t d }| }tdd|}tdd|}tdd|}tdd	|}|S )
N25u   ([ᆲᆴ])/Pᄀ   \1ᄁu   ([ᆲᆴ])/Pᄃ   \1ᄄu   ([ᆲᆴ])/Pᄉ   \1ᄊu   ([ᆲᆴ])/Pᄌ   \1ᄍr   r
   r   r   r   
rieulbieubZ   r   r$   c                 C   4   t d }| }g d}|D ]\}}t|||}q|S )N24))u   ([ᆫᆷ])/Pᄀr    )u   ([ᆫᆷ])/Pᄃr!   )u   ([ᆫᆷ])/Pᄉr"   )u   ([ᆫᆷ])/Pᄌr#   )u   ᆬ/Pᄀu   ᆫᄁ)u   ᆬ/Pᄃu   ᆫᄄ)u   ᆬ/Pᄉu   ᆫᄊ)u   ᆬ/Pᄌu   ᆫᄍ)u   ᆱ/Pᄀu   ᆷᄁ)u   ᆱ/Pᄃu   ᆷᄄ)u   ᆱ/Pᄉu   ᆷᄊ)u   ᆱ/Pᄌu   ᆷᄍr   r   r   r   r   r   pairsstr1str2r   r   r   
verb_nieung      r+   c                 C   s8   t d }| }d}td| dd|}tdd|}|S )Nz10.1u   ($|[^ᄋᄒ])u   (바)ᆲ()u   \1ᆸ\2u$   (너)ᆲ([ᄌᄍ]ᅮ|[ᄃᄄ]ᅮ)r   )r   r   r   r   r   syllable_final_or_consonantsr   r   r   balb   s   r/   c                 C   sH   t d }| }tdd|}tdd|}tdd|}tdd|}|S )	N17u   ᆮᄋ([ᅵᅧ])u   ᄌ\1u   ᇀᄋ([ᅵᅧ])u   ᄎ\1u   ᆴᄋ([ᅵᅧ])u   ᆯᄎ\1u   ᆮᄒ([ᅵ])r   r
   r   r   r   
palatalize   s   r1   c                 C   r%   )N27))u   ᆯ걸u   ᆯ껄)u   ᆯ밖에u   ᆯ빠께)u   ᆯ세라u   ᆯ쎄라)u   ᆯ수록u   ᆯ쑤록)u   ᆯ지라도u   ᆯ찌라도)u   ᆯ지언정u   ᆯ찌언정)u   ᆯ진대u   ᆯ찐대r   r'   r   r   r   modifying_rieul   r,   r3   )FF)__doc__r   utilsr   r   r   r   r   r   r   r   r   r   r$   r+   r/   r1   r3   r   r   r   r   <module>   s    

	









