
    ^i5                        d Z ddlmZ ddlZddlmZ ddlmZ ddlm	Z	 ddl
mZmZ g  ej                  d      d	f ej                  d
      df ej                  d      df ej                  d      df ej                  d      df ej                  d      df ej                  d      df ej                  d      df ej                  d      df ej                  d      df ej                  d      df ej                  d      df ej                  d      df ej                  d      d f ej                  d!      d"f ej                  d#      d$f ej                  d%      d&f ej                  d'      d(f ej                  d)      d*f ej                  d+      d,f ej                  d-      d.f ej                  d/      d0f ej                  d1      d2f ej                  d	      d3f ej                  d4      d5f ej                  d6      d7f ej                  d8      d9f ej                  d      d:f ej                  d;      d<f ej                  d      d(f ej                  d=      d>f ej                  d?      d@f ej                  dA      dBf ej                  dC      dDf ej                  dE      dFf ej                  dG      dHf ej                  dI      dJf ej                  dK      dLf ej                  dM      dNf ej                  dO      dPf ej                  dQ      dRf ej                  dS      dTf ej                  d
      dUf ej                  dV      dWf ej                  dX      dYfZ e edZd[            Z G d\ d]e      Z e       Z eej*                  ej,                  ^        eej.                  ej0                  ^       y)_u   中国内地盲文相关的几个拼音风格实现:

Style.BRAILLE_MAINLAND
Style.BRAILLE_MAINLAND_TONE

https://en.wikipedia.org/wiki/Mainland_Chinese_Braille
    )unicode_literalsN)Style)register)RE_TONE3)replace_symbol_to_numberreplace_symbol_to_no_symboliuiouuiueiunuenongungz^yi?iz^wu?uywvz	^([jqx])uz\1vz([iuv])nz\1enz^zhi?Zz^chi?Cz^shi?Sz
^([zcsr])iz\1iangu   ⠭uangu   ⠶uengu   ⠲iongu   ⠹angu   ⠦engu   ⠼uaiu   ⠽iaou   ⠜u   ⠳ianu   ⠩uanu   ⠻vanu   ⠯u   ⠒ingu   ⠡eru   ⠗aiu   ⠪eiu   ⠮aou   ⠖ouu   ⠷anu   ⠧enu   ⠴iau   ⠫uau   ⠿ieu   ⠑uou   ⠕veu   ⠾u   ⠺inu   ⠣vnu   ⠸bpmfdtnlgkhjqxZCSrzcsiuvaoe1234u]   ⠃⠏⠍⠋⠙⠞⠝⠇⠛⠅⠓⠛⠅⠓⠌⠟⠱⠚⠵⠉⠎⠊⠥⠬⠔⠢⠢⠁⠂⠄⠆c                       e Zd Zd Zd Zy)BrailleMainlandConverterc                     t        |      }t        j                  d|      }t        D ]  \  }}|j                  ||      } dj	                  d |D              }|S )Nz\1\3\2 c              3   H   K   | ]  }t         j                  ||        y wNBRAILLE_MAINLAND_TABLEget.0xs     [/mnt/e/genesis-system/.venv/lib/python3.12/site-packages/pypinyin/style/braille_mainland.py	<genexpr>zDBrailleMainlandConverter.to_braille_mainland_tone.<locals>.<genexpr>P        Ja/33Aq9J    ")r   r   subBRAILLE_MAINLAND_REPLACEjoinselfpinyinkwargsfind_rereplaces        r@   to_braille_mainland_tonez1BrailleMainlandConverter.to_braille_mainland_toneI   sY    )&1i0 8 	2GW[[&1F	2J6JJ    c                     t        |      }t        D ]  \  }}|j                  ||      } dj                  d |D              }|S )Nr7   c              3   H   K   | ]  }t         j                  ||        y wr9   r:   r=   s     r@   rA   z?BrailleMainlandConverter.to_braille_mainland.<locals>.<genexpr>W   rB   rC   )r   rE   rD   rF   rG   s        r@   to_braille_mainlandz,BrailleMainlandConverter.to_braille_mainlandS   sI    ,V4 8 	2GW[[&1F	2J6JJrN   N)__name__
__module____qualname__rM   rQ    rN   r@   r5   r5   H   s    rN   r5   )func)__doc__
__future__r   repypinyin.constantsr   pypinyin.styler   pypinyin.style._constantsr   pypinyin.style._utilsr   r   compilerE   dictzipr;   objectr5   	converterBRAILLE_MAINLAND_TONErM   BRAILLE_MAINLANDrQ   rU   rN   r@   <module>re      s/   ( 	 $ # .;.RZZ.RZZ. RZZ. RZZ	.
 RZZ#. RZZ#. RZZs. RZZs. RZZ. RZZv&. RZZg&. RZZ3. RZZ3. RZZ3. RZZ&.  RZZ% !." RZZ% #.$ RZZ% %.& RZZ% '.( RZZ).* RZZ+., RZZ-.. RZZ/.0 RZZ1.2 RZZ3.4 RZZ5.6 RZZ7.8 RZZ9.: RZZ;.< RZZ=.> RZZ?.@ RZZA.B RZZC.D RZZE.F RZZG.H RZZI.J RZZK.L RZZM.N RZZO.P RZZQ.R RZZS.T RZZU.V RZZW.X RZZY.Z RZZ[. ` c%c  v & %&	 	$	$9+M+M N 		i&C&C DrN   