o
    Niߏ                     @   sH  d dl mZ d dlZd dlZddlmZ ddlmZmZm	Z	m
Z
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ edZdd Zd	d
 Zdd Z d3ddZ!d3ddZ"d3ddZ#d3ddZ$d3ddZ%d4ddZ&d4ddZ'd4ddZ(d4d d!Z)d4d"d#Z*d4d$d%Z+d5d'd(Z,d)d* Z-d+d, Z.d-d. Z/d/d0 Z0d1d2 Z1dS )6    )unicode_literalsN   )map)
H2HK_TABLE	H2K_TABLEH2Z_AH2Z_ADH2Z_AKH2Z_ALLH2Z_DH2Z_DKH2Z_KHEP2KANAJULIUS_LONG_VOWEL	K2H_TABLEKANA2HEPSMALL_KANA2NORMAL_KANAZ2H_AZ2H_ADZ2H_AKZ2H_ALLZ2H_DZ2H_DKZ2H_Ksdfghjklqwrtypzxcvbnmc                 C   s   t t| D ]}||= q|S N)r   ord)ignoreconv_map	character r    A/home/ubuntu/.local/lib/python3.10/site-packages/jaconv/jaconv.py_exclude_ignorechar#   s   r"   c                 C   s
   |  |S r   )	translate)textr   r    r    r!   _convert)   s   
r%   c                 C   s&   |rt || }t| |S t| |S r   )r"   copyr%   )r$   r   r   	_conv_mapr    r    r!   
_translate-   s   

r(    c                 C      t | |tS )u  Convert Hiragana to Full-width (Zenkaku) Katakana.

    Parameters
    ----------
    text : str
        Hiragana string.
    ignore : str, optional
        Characters to be ignored in converting.

    Return
    ------
    str
        Katakana string.

    Examples
    --------
    >>> print(jaconv.hira2kata('ともえまみ'))
    トモエマミ
    >>> print(jaconv.hira2kata('まどまぎ', ignore='ど'))
    マどマギ
    )r(   r   r$   r   r    r    r!   	hira2kata4      r,   c                 C   r*   )u  Convert Hiragana to Half-width (Hankaku) Katakana

    Parameters
    ----------
    text : str
        Hiragana string.
    ignore : str, optional
        Characters to be ignored in converting.

    Return
    ------
    str
        Half-width Katakana string.

    Examples
    --------
    >>> print(jaconv.hira2hkata('ともえまみ'))
    ﾄﾓｴﾏﾐ
    >>> print(jaconv.hira2hkata('ともえまみ', ignore='み'))
    ﾄﾓｴﾏみ
    )r(   r   r+   r    r    r!   
hira2hkataM   r-   r.   c                 C   r*   )u  Convert Full-width Katakana to Hiragana

    Parameters
    ----------
    text : str
        Full-width Katakana string.
    ignore : str, optional
        Characters to be ignored in converting.

    Return
    ------
    str
        Hiragana string.

    Examples
    --------
    >>> print(jaconv.kata2hira('巴マミ'))
    巴まみ
    >>> print(jaconv.kata2hira('マミサン', ignore='ン'))
    まみさン
    )r(   r   r+   r    r    r!   	kata2hiraf   r-   r/   c                 C   s   d}t |t t| |S )Nzi`enlargesmallkana` is deprecated and will be removed in future versions. Use `enlarge_smallkana` instead.)warningswarnUserWarningenlarge_smallkana)r$   r   warn_msgr    r    r!   enlargesmallkana   s   
r5   c                 C   r*   )u  Convert small Hiragana or Katakana to normal size

    Parameters
    ----------
    text : str
        Full-width Hiragana or Katakana string.
    ignore : str, optional
        Characters to be ignored in converting.

    Return
    ------
    str
        Hiragana or Katakana string, enlarged small Kana

    Examples
    --------
    >>> print(jaconv.enlargesmallkana('さくらきょうこ'))
    さくらきようこ
    >>> print(jaconv.enlargesmallkana('キュゥべえ'))
    キユウべえ
    )r(   r   r+   r    r    r!   r3      r-   r3   TFc                 C   sz   dd }|r|r|rt }nt}n|rt}nt}n|r"|rt}n
t}n|r't}ni }|r/|| } |r8t|| }t	| |S )u?  Convert Half-width (Hankaku) Katakana to Full-width (Zenkaku) Katakana

    Parameters
    ----------
    text : str
        Half-width Katakana string.
    ignore : str, optional
        Characters to be ignored in converting.
    kana : bool, optional
        Either converting Kana or not.
    ascii : bool, optional
        Either converting ascii or not.
    digit : bool, optional
        Either converting digit or not.

    Return
    ------
    str
        Full-width Katakana string.

    Examples
    --------
    >>> print(jaconv.h2z('ﾃｨﾛﾌｨﾅｰﾚ'))
    ティロフィナーレ
    >>> print(jaconv.h2z('ﾃｨﾛﾌｨﾅｰﾚ', ignore='ｨ'))
    テｨロフｨナーレ
    >>> print(jaconv.h2z('abcd', ascii=True))
    ＡＢＣＤ
    >>> print(jaconv.h2z('1234', digit=True))
    １２３４
    c                 S   s  |  dd dd} |  dd dd} |  d	d
 dd} |  dd dd} |  dd dd} |  dd dd} |  dd dd} |  dd dd } |  d!d" d#d$} |  d%d& d'd(} |  d)d* d+d,} |  d-d. d/d0} |  d1d2 d3d4S )5z4Convert Hankaku Dakuten Kana to Zenkaku Dakuten Kanau   ｶﾞu   ガu   ｷﾞu   ギu   ｸﾞu   グu   ｹﾞu   ゲu   ｺﾞu   ゴu   ｻﾞu   ザu   ｼﾞu   ジu   ｽﾞu   ズu   ｾﾞu   ゼu   ｿﾞu   ゾu   ﾀﾞu   ダu   ﾁﾞu   ヂu   ﾂﾞu   ヅu   ﾃﾞu   デu   ﾄﾞu   ドu   ﾊﾞu   バu   ﾋﾞu   ビu   ﾌﾞu   ブu   ﾍﾞu   ベu   ﾎﾞu   ボu   ﾊﾟu   パu   ﾋﾟu   ピu   ﾌﾟu   プu   ﾍﾟu   ペu   ﾎﾟu   ポu   ｳﾞu   ヴ)replacer$   r    r    r!   _conv_dakuten   s   zh2z.<locals>._conv_dakuten)
r
   r   r	   r   r   r   r   r"   r&   r%   )r$   r   kanaasciidigitr8   h2z_mapr    r    r!   h2z   s*   !
r=   c                 C      t | ||||S zAn alias of h2zr=   r$   r   r9   r:   r;   r    r    r!   hankaku2zenkaku      rB   c                 C   r>   r?   r@   rA   r    r    r!   han2zen   rC   rD   c                 C   sf   |r|r|r	t }nt}n|rt}nt}n|r|rt}n
t}n|r#t}ni }|r.t|| }t	| |S )u?  Convert Full-width (Zenkaku) Katakana to Half-width (Hankaku) Katakana

    Parameters
    ----------
    text : str
        Full-width Katakana string.
    ignore : str, optional
        Characters to be ignored in converting.
    kana : bool, optional
        Either converting Kana or not.
    ascii : bool, optional
        Either converting ascii or not.
    digit : bool, optional
        Either converting digit or not.

    Return
    ------
    str
        Half-width Katakana string.

    Examples
    --------
    >>> print(jaconv.z2h('ティロフィナーレ'))
    ﾃｨﾛﾌｨﾅｰﾚ
    >>> print(jaconv.z2h('ティロフィナーレ', ignore='ィ'))
    ﾃィﾛﾌィﾅｰﾚ
    >>> print(jaconv.z2h('ＡＢＣＤ', ascii=True))
    abcd
    >>> print(jaconv.z2h('１２３４', digit=True))
    1234
    )
r   r   r   r   r   r   r   r"   r&   r%   )r$   r   r9   r:   r;   z2h_mapr    r    r!   z2h   s$    
rF   c                 C   r>   zAn alias of z2hrF   rA   r    r    r!   zenkaku2hankaku0  rC   rI   c                 C   r>   rG   rH   rA   r    r    r!   zen2han5  rC   rJ   NFKCc                 C   s   |  dd dd} |  dd dd dd} |  d	d
 dd
 dd
 dd
} |  dd
 dd
 dd
 dd
} |  dd
 dd
 dd
 dd
} |  dd dd dd d	d} |  dd dd} t|| S )uC  Convert Half-width (Hankaku) Katakana to Full-width (Zenkaku) Katakana,
    Full-width (Zenkaku) ASCII and DIGIT to Half-width (Hankaku) ASCII
    and DIGIT.
    Additionally, Full-width wave dash (〜) etc. are normalized

    Parameters
    ----------
    text : str
        Source string.
    mode : Literal['NFC', 'NFD', 'NFKC', 'NFKD'], optional
        Unicode normalization mode.

    Return
    ------
    str
        Normalized string.

    Examples
    --------
    >>> print(jaconv.normalize('ﾃｨﾛ･フィナ〜レ', 'NFKC'))
    ティロ・フィナーレ
       〜   ーu   ～u   ’'u   ”"u   “u   ―-u   ‐u   ˗u   ֊u   ‑u   ‒u   –u   ⁃u   ⁻u   ₋   −u   ﹣u   －u   —u   ━u   ─)r6   unicodedata	normalize)r$   moder    r    r!   rS   :  s   $$$
rS   c                 C   s  |  dd dd dd} |  dd d	d
 dd} |  dd dd dd} |  dd dd dd} |  dd dd dd} |  dd  d!d" d#d$} |  d%d& d'd( d)d*} |  d+d, d-d. d/d0} |  d1d2} |  d3d4 d5d6 d7d8} |  d9d: d;d< d=d>} |  d?d@ dAdB dCdD} |  dEdF dGdH dIdJ} |  dKdL dMdN dOdP} |  dQdR dSdT dUdV} |  dWdX dYdZ d[d\} |  d]d^ d_d` dadX} |  dbdZ dcdd dedf} |  dgdh didj dkdl} |  dmdn dodp dqdr} |  dsdt dudv dwdx} |  dydz} |  d{d| d}d~ dd} |  dd dd dd} |  dd dd dd} |  dd dd dd} |  dd dd dd} |  dd dd dd} |  dd dd dd} |  dd dd dd} |  dd dd dd} |  dd dd dd} |  dd dd dd} |  dd dd} |  dd¡ ddġ ddơ} |  ddȡ ddʡ dd̡} |  ddΡ} |  ddС ddҡ ddԡ} |  dd֡ ddء} |  dd¡ ddġ ddơ} |  ddݡ ddߡ dd} |  dd dd} |  ddȡ} |  dd} |  dd|} t| t} d| v rt| }|d}t||d krad|dd d S |dkrkd||< n||d  dkryd||< n||d  ||< d|} d| v sD| S )u!  Convert Hiragana to Roman-input-style alphabets

    Parameters
    ----------
    text : str
        Hiragana string.

    Return
    ------
    str
        Roman-input-style alphabets string.

    Examples
    --------
    >>> print(jaconv.kana2alphabet('まみさん'))
    mamisan
       きゃkya   きゅkyu   きょkyo   ぎゃgya   ぎゅgyu   ぎょgyo   しゃsha   しゅshu   しょsho   じゃja   じゅju   じょjo   ちゃcha   ちゅchu   ちょcho   にゃnya   にゅnyu   にょnyo   ひゃhya   ひゅhyu   ひょhyo   ふぁfa   ふぃfi   ふぇfe   ふぉfo   みゃmya   みゅmyu   みょmyo   りゃrya   りゅryu   りょryo   びゃbya   びゅbyu   びょbyo   ぴゃpya   ぴゅpyu   ぴょpyo   がga   ぎgi   ぐgu   げge   ごgo   ざza   じji   ずzu   ぜze   ぞzo   だda   ぢ   づ   でde   どdo   ばba   びbi   ぶbu   べbe   ぼbo   ぱpa   ぴpi   ぷpu   ぺpe   ぽpo   かka   きki   くku   けke   こko   さsa   しshi   すsu   せse   そso   たta   ちchi   つtsu   てte   とto   なna   にni   ぬnu   ねne   のno   はha   ひhi   ふfu   へhe   ほho   まma   みmi   むmu   めme   もmo   らra   りri   るru   れre   ろro   やya   ゆyu   よyo   わwa   ゐwi   をwo   ゑwe   ゔぁva   ゔぃviu   ゔぅvuu   ゔぇve   ゔぉvo   ゃ   ゅ   ょ   ぁa   ぃi   ぅu   ぇe   ぉo   ゎ   ゔvu   ヵ   っr   r)   Nxtsur   )r6   r%   r   listindexlenjoin)r$   charstsu_posr    r    r!   kana2alphabet`  sv   







rF  c                 C      t t| S )u!  Convert Katakana to Roman-input-style alphabets

    Parameters
    ----------
    text : str
        Katakana string.

    Return
    ------
    str
        Roman-input-style alphabets string.

    Examples
    --------
    >>> print(jaconv.kata2alphabet('マミサン'))
    mamisan
    )rF  r/   r7   r    r    r!   kata2alphabet     rH  c                 C   sx  |   } | drt| dkr| dd d } | dd} | dd	d
ddd} | dddddd} | dddddd} | dddddd} | d d!d"d#d$d%} | d&d'd(d)d*d+} | d,d-d.d/} | d0d1d2d3d4d5} | d6d7d8d9} | d:d;d<d=d>d?} | d@dAdBdC} | dDdEdFdGdHdI} | dJdKdLdM} | dNdEdOdPdQdI} | dRdKdSdM} | dTdUdVdWdXdY} | dZd[d\d]} | d^dUd_d[d`dW} | dad]dbdY} | dcdddedfdgdh} | didjdkdl} | dmdndodpdqdr} | dsdt} | dudndvdwdxdp} | dydrdzdt} | d{dnd|dwd}dp} | d~drddt} | dddddd} | dd} | dddd} | dddddd} | dddd} | dddddd} | dddddd} | dd} | dddddd} | dddddd} | dddddd} | dddddd} | dddddd} | dddd} | ddddáddš} | ddǡddɡ} | ddˡdd͡ddϡ} | ddѡddӡ} | ddաddӡddء} | ddˡdd͡ddܡ} | ddϡddѡ} | dddddd} | dddd} | dddddd} | dddd} | dddddd} | dddd} | dddd dd} | dddd} | ddd	d
dd} | dd} | dd} | dddddd} | dddd} | dddddd } | d!d"d#d$} | d%d&d'd(d)d*} | d+d,d-d.} | d/d0d1d2d3d4} | d5d6d7d8} | d9d:} | d;d<d=d<} | d>d<d?d<} | d@dAdBdA} | dCdDdEdD} | dFdGdHdG} | dIdJdKdLdMd} | dNdOdPdQ} | dRdSdTdS} | dUdVdWdV} | dXdYdZdY} | d[d\d]d\} | d^d_d`d_} | dadb} | dcdd} | dedUdfdgdhdW} | did]djdY} | dkdldmdndodp} | dqdrdsdt} | dudvdwdgdxdy} | dzd{d|d}} | d~ddddd} | dddd} | dddddd} | dddd} | dddddd} | dddd} | dddddd} | dddd} | dddddd} | dddd} | dddddd} | dddd} | dddddd} | ddGdd} | ddddGdd} | dddd} | dd¡dÐdġdŐdġ} | dƐdbdǐdȡdɐdʡ} | dːd̡d͐dΡdϐdС} | dѐdҡdӐdԡ} | dՐd֡dאdءdِdڡ} | dېdڡdܐdݡdސdߡ} | ddˡdd͡ddϡ} | ddѡ} | dddddd} | dddd} | dddddd} | dddd} | dddddd} | dddd} | dddd dd} | dd} | ddddLdd	} | d
ddd} | dd} | ddddVdd} | ddYdd} | ddddddddd} t| t} g }t| D ]\}}|tv r/d<}|| q#d	|S (  u  Convert alphabets to Hiragana

    Parameters
    ----------
    text : str
        Roman-input-style alphabets string.

    Return
    ------
    str
        Hiragana string.

    Examples
    --------
    >>> print(jaconv.alphabet2kana('mamisan'))
    まみさん
    h   Nr>     うtchu   っchbbu   っbccu   っcddu   っdffu   っfggu   っghhu   っhjju   っjkku   っkllu   っlmmu   っmppu   っpqqu   っqrru   っrssu   っsttu   っtvvu   っvwwu   っwxxu   っxyyu   っyzzu   っzrV   rU   kyi   きぃrX   rW   kyeu   きぇrZ   rY   r\   r[   gyi   ぎぃr^   r]   gyeu   ぎぇr`   r_   rb   ra   r   r   rd   rc   she   しぇrf   re   syasyi   しぃsyusyesyozyarg   zyuri   zyork   zyi   じぃzye   じぇjyajyijyujyejyodya   ぢゃdyi   ぢぃdyu   ぢゅdye   ぢぇdyo   ぢょrn   rm   rp   ro   che   ちぇrr   rq   cyacyi   ちぃcyucyecyotyatyityutyetyotsa   つぁtsi   つぃtse   つぇtso   つぉthi   てぃzt'itha   てゃthu   てゅzt'yuthe   てぇtho   てょdha   でゃdhi   でぃzd'idhu   でゅdhe   でぇdho   でょzd'yutwau   とぁtwiu   とぃtwu   とぅtweu   とぇtwo   とぉzt'udwa   どぁdwiu   どぃdwu   どぅdweu   どぇdwo   どぉzd'urt   rs   nyi   にぃrv   ru   nyeu   にぇrx   rw   rz   ry   hyi   ひぃr|   r{   hyeu   ひぇr~   r}   hwar   hwir   hwer   hwor   hwyu   ふゅfya   ふゃfyufyo   ふょphaphiphu   ふぅphephor   r   myi   みぃr   r   myeu   みぇr   r   r   r   ryi   りぃr   r   ryeu   りぇr   r   r   r   byi   びぃr   r   byeu   びぇr   r   r   r   pyi   ぴぃr   r   pyeu   ぴぇr   r   vyir%  vyuu   ゔゅvyer(  vyou   ゔょwyer!  kwau   くぁkwiu   くぃkwu   くぅkweu   くぇkwou   くぉgwau   ぐぁgwiu   ぐぃgwu   ぐぅgweu   ぐぇgwou   ぐぉswau   すぁswi   すぃswu   すぅsweu   すぇswou   すぉzwa   ずぁzwi   ずぃzwu   ずぅzwe   ずぇzwo   ずぉvyau   ゔゃxtur=  r?  ltultsuxyar,  lyaxyur-  lyuxyor.  lyowha   うぁwhi   うぃwhuwhe   うぇwho   うぉxwar9  lwalyir1  xyilyer5  xyexkar<  lkaxkeu   ヶlker   r   nn   んrh   r   r   rj   jerl   r   r   r   r   r   r   r   r   r   r   r   r   zir   r   r   r   r   r   r   r   dir   dur   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   r   r   r   r   r   r   r   r   r   qaqiquqeqocacucocicer   r   r   sir   r   r   r   r   r   r   r   r   titur   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   hur   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  lalilulelor  r  r  r  r  r  ye   いぇr  r  r  wyir  wur   r  ohu   おおxar/  xixur3  xexor7  zn'xnmr)   )
lowerendswithrB  r6   r%   r   	enumerate
consonantsappendrC  )r$   retr2  charr    r    r!   alphabet2kana  s  "(((((&$(((((((((&((((("(((((((

rL  c                 C   rG  )u  Convert alphabets to Katakana

    Parameters
    ----------
    text : str
        Roman-input-style alphabets string.

    Return
    ------
    str
        Katakana string.

    Examples
    --------
    >>> print(jaconv.alphabet2kata('mamisan'))
    マミサン
    )r,   rL  r7   r    r    r!   alphabet2katad  rI  rM  c                 C   s  |  dd} |  dd} |  dd} |  dd} |  d	d
} |  dd} |  dd} |  dd} |  dd} |  dd} |  dd} |  dd} |  dd} |  dd} |  dd} |  dd } |  d!d"} |  d#d$} |  d%d&} |  d'd(} |  d)d*} |  d+d,} |  d-d.} |  d/d0} |  d1d2} |  d3d4} |  d5d6} |  d7d8} |  d9d:} |  d;d<} |  d=d>} |  d?d@} |  dAdB} |  dCdD} |  dEdF} |  dGdH} |  dIdJ} |  dKdL} |  dMdN} |  dOdP} |  dQdR} |  dSdT} |  dUdV} |  dWdX} |  dYdZ} |  d[d\} |  d]d^} |  d_d`} |  dadb} |  dcdd} |  dedf} |  dgdh} |  didj} |  dkdl} |  dmdn} |  dodp} |  dqdr} |  dsdt} |  dudN} |  dvdw} |  dxdR} |  dydT} |  dzdV} |  d{d|} |  d}d~} |  dd} |  dd} |  dd} |  dd} |  dd} |  dd} |  dd} |  dd} |  dd} |  dd} |  dd} |  dd} |  dd} |  dd} |  dd} |  dd} |  dd} |  dd} |  dd} |  dd} |  dd
} |  dd} |  dd} |  dd} |  dd} |  dd} |  dd} |  dd} |  dd} |  dd} |  dd} |  dd} |  dd} |  dd} |  dd} |  dd} |  ddá} |  ddš} |  ddǡ} |  ddɡ} |  ddˡ} |  dd͡} |  ddˡ} |  dd͡} |  ddѡ} |  ddѡ} |  ddԡ} |  dd֡} |  ddء} |  ddڡ} |  ddܡ} |  ddޡ} |  dd} |  dd} |  dd} |  dd} |  dd} |  dd} |  d{d|} |  dd} |  dd} |  dd} |  dd} |  dodp} |  dd} |  dd} |  dd} |  dd} |  dd} |  dd} |  dOd} |  dQdR} |  dSdT} |  dUdV} |  dd} |  d d} |  dd"} |  dd$} |  dd&} |  ddB} |  ddD} |  dd} |  d	dF} |  d
df} |  ddh} |  dd} |  ddj} |  dd} |  dd} |  dd} |  dd} |  dd} |  dd} |  dd} |  dd} |  dd} |  d}d~} |  dd} |  dd} |  dd} |  dd} |  dd} |  d d} |  d!d} |  d"dá} |  d#dš} |  d$dڡ} |  d%dܡ} |  d&dޡ} |  d'd2} |  d(d4} |  d)d6} |  d*d+} |  d,d-} |  d.d/} |  d0d1} |  d2d+} |  d3d-} |  d4d/} |  d5d1} |  d6d7} |  d8d
} |  d9d:} |  d;d} |  d<d} |  d=d} |  d>d?} |  d@dA} |  dBdC} |  dDdE} |  dFdG} |  dHdI} |  ddJ} |  dd} |  dd} |  dd} |  dKdL} |  dMdN} |  dOdP} |  dQdR} |  dSdT} |  dUdV} |  dWdX} |  dYdZ} |  d[d\} |  d]d^} |  d_d`} |  dadb} |  dcdd} |  dedf} |  dgdh} |  didj} |  dkdl} |  dmdn} |  dodp} |  dqdr} |  dsdt} |  dudv} |  dwdx} |  dydz} |  d{d|} |  d}d~} |  dd} |  dd} |  dd} |  ddJ} |  dd} |  dd} |  dd} |  dd} |  dd} |  dd} |  dd} |  dd} |  dd} |  dd} |  dd} |  dd} |  dd} |  dd} |  dd} |  dd} |  dd} |  dd} |  dd} |  dd} |  dd} |  dd} |  dd} |  dd} |  dd} |  dd} |  dd} |  dd} |  dd} |  dd} |  dd} |  dd} |  dd} |  dd} |  dd} |  ddá} |  dĐdš} |  dd} |  dǐdȡ} |  dɐdʡ} |  dːd̡} |  d͐dR} |  dΐdV} |  dϐdС} |  dѐdҡ} |  dӐdP} |  dԐdR} |  dՐdT} |  d֐dV} |  dאdX} |  dؐd̡} tD ]\}}||| } q|  dِdڡ} |  dېdܡ} |  dݐdܡ} |  dސdܡ} |  dߐdܡ} |  ddX} |  } |  ddܡ} | S (  u6  Convert Hiragana to Julius's phoneme format.

    Parameters
    ----------
    text : str
        Hiragana string.

    Return
    ------
    str
        Alphabet string.

    Examples
    --------
    >>> print(jaconv.hiragana2julius('てんきすごくいいいいいい'))
    t e N k i s u g o k u i:
    u	   う゛ぁz b au	   う゛ぃz b iu	   う゛ぇz b eu	   う゛ぉz b ou	   う゛ゅz by uu   ぅ゛z b uu   あぁz a au   いぃz i ir:  z i eu   いゃz y au   うぅz u:u   えぇz e eu   おぉz o:u   かぁz k a:rc  z k i:r  z k u:u   くゃz ky au   くゅz ky uu   くょz ky ou   けぇz k e:u   こぉz k o:u   がぁz g a:rf  z g i:r  z g u:u   ぐゃz gy au   ぐゅz gy uu   ぐょz gy ou   げぇz g e:u   ごぉz g o:u   さぁz s a:rl  z sh i:r  z s u:u   すゃz sh au   すゅz sh uu   すょz sh ou   せぇz s e:u   そぉz s o:u   ざぁz z a:rt  z j i:r  z z u:u   ずゃz zy au   ずゅz zy uu   ずょz zy ou   ぜぇz z e:u   ぞぉz z o:u   たぁz t a:r  z ch i:r  z ts ar  z ts iu   つぅz ts u:u   つゃz ch au   つゅz ch uu   つょz ch or  z ts er  z ts or  z t e:r  z t o:u   だぁz d a:r  u   づぅz d u:u   づゃu   づゅu   づょr  z d e:r  z d o:u   なぁz n a:r  z n i:u   ぬぅz n u:u   ぬゃz ny au   ぬゅz ny uu   ぬょz ny ou   ねぇz n e:u   のぉz n o:u   はぁz h a:r  z h i:r  z f u:r  z hy ar  z hy ur  z hy ou   へぇz h e:u   ほぉz h o:u   ばぁz b a:r  z b i:u   ぶぅz b u:u   ぶゅu   べぇz b e:u   ぼぉz b o:u   ぱぁz p a:r  z p i:u   ぷぅz p u:u   ぷゃz py au   ぷゅz py uu   ぷょz py ou   ぺぇz p e:u   ぽぉz p o:u   まぁz m a:r  z m i:u   むぅz m u:u   むゃz my au   むゅz my uu   むょz my ou   めぇz m e:u   もぉz m o:u   やぁz y a:u   ゆぅz y u:u   ゆゃu   ゆゅu   ゆょz y o:u   よぉu   らぁz r a:r  z r i:u   るぅz r u:u   るゃz ry au   るゅz ry uu   るょz ry ou   れぇz r e:u   ろぉz r o:u   わぁz w a:u   をぉu   う゛r  z d ir  z dy ar  z dy ur  z dy or  z t ir  z ty ar  z ty ur  z ty or  z s ir  z z u ar  z z iz z ur   z z er  z z orU   rW   rY   ra   rc   ri  z sh ere   rm   ro   r  z ch erq   r  z t uu   とゃu   とゅu   とょr  z d o ar  z d uu   どゃu   どゅu   どょrs   ru   rw   ry   r{   r}   r   r   r   r   r   r   r[   r]   r_   r  z j er}  z j ar  z j ur  z j orv  rg   ri   rk   r   z by ar   r   z by or   r   r   r  z u ar  z w ir  z w er  z w or   z f ar   z f iz f ur   z f er   z f ou   あz au   いz irL  z uu   えz eu   おz or   z k ar   z k ir   z k ur   z k er   z k or   z s ar   z sh ir   z s ur   z s er   z s or   z t ar   z ch ir   z ts ur   z t er   z t or   z n ar   z n ir   z n ur   z n er   z n or   z h ar   z h ir   r   z h er   z h or  z m ar  z m ir  z m ur  z m er	  z m or  z r ar  z r ir  z r ur  z r er  z r or   z g ar   z g ir   z g ur   z g er   z g or   z z ar   z j ir   r   r   r   z d ar   r   r   z d er   z d or   r   r   r   r   r   z p ar   z p ir   z p ur   z p er   z p or  r  z y ur  z y or  z w ar  r!  r!  z Nr=  z qr/  r1  r3  r5  r7  r9  zo uzo:rM   :rL   rQ   rP   r  z:+)r6   r   substrip)r$   patternreplace_strr    r    r!   hiragana2juliusy  sJ  rS  )r)   )r)   TFF)rK   )2
__future__r   rR   r0   compatr   
conv_tabler   r   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   	frozensetrH  r"   r%   r(   r,   r.   r/   r5   r3   r=   rB   rD   rF   rI   rJ   rS   rF  rH  rL  rM  rS  r    r    r    r!   <module>   s6   \




	

L


9

&O !