U
    \	¸aÀB  ã                S   @   sÈ  d dl Z d dlZd dlZd dlZd dlZd dlZd dlm	Z	m
Z
 d dlmZ d dlmZmZ 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/d0d1d1d2d3d4d5d6d7d8d9d:d;d<d=d>d?d@dAdBdddCdDdEdFdGdHdIdJdKdL dMdN„ eejjƒD ƒ¡dOdPdQdRdSgSZdTdUgZdVZdWZdXZdYZdZZeeeeegZg efd[gefd\gefd]gefd^geeegfd_d_d_d`geeedagfd[d`geeedagfd\d`geeedagfdbgegfdcgeegfd\dcgeegfddgeegfdegeeegfd[degeeegfd\degeeegfgZg ZeD ]r\ZZedkr<e  dge ¡ nLdf dL e¡dgfdhdN„ eD ƒdÏdjdN„ eD ƒdÐ•¡Z!eD ]Z"e #e!e" ¡ qrqej$dldm„ ƒZ%ej&j'dne(eƒe)e*eƒƒdoej& 'dpdqdrdsdtdug¡ej&j'dmdvgdwdxe
ddydzd{„ ƒƒƒƒZ+ej&j'dne(eƒe)e*eƒƒdoej& 'dpdtg¡ej&j'dmd|gdwdxe
dd}gd~dd€„ ƒƒƒƒZ,ej&j'dne(eƒe)e*eƒƒdoej& 'dpdqdrdsdtdug¡ej&j'dmdgdwdxe
dd}gd~d‚dƒ„ ƒƒƒƒZ-d„d…„ Z.ej&j'd†d‡dˆd‰dŠd‹dŒddŽddd‘d’d“d”d•d–d—d˜d™dšgd›dœddždŸd d¡d¢d£d¤d¥d¦d§d¨d©dªd«d¬d­d®gdod¯d°„ ƒZ/d±d²„ Z0e	d}gd³d´dµ„ ƒZ1e	d}gd³d¶d·„ ƒZ2d¸d¹„ Z3dºd»„ Z4d¼d½„ Z5ej& 'd¾dqd¿dÀdÁdÂdÁgfdrd¿dÀdÁgfg¡dÃdÄ„ ƒZ6dÅdÆ„ Z7dÇdÈ„ Z8e
dÉgdÊdËidÌdÍdÎ„ ƒZ9dS )Ñé    N)Úcheck_figures_equalÚimage_comparison)Ú_apiÚmathtextz$a+b+\dot s+\dot{s}+\ldots$z$x \doteq y$z\$100.00 $\alpha \_$z$\frac{\$100.00}{y}$z$x   y$z$x+y\ x=y\ x<y\ x:y\ x,y\ x@y$z$100\%y\ x*y\ x/y x\$y$z $x\leftarrow y\ x\forall y\ x-y$z$x \sf x \bf x {\cal X} \rm x$z-$x\ x\,x\;x\quad x\qquad x\!x\hspace{ 0.5 }y$z$\{ \rm braces \}$zF$\left[\left\lfloor\frac{5}{\frac{\left(3\right)}{4}} y\right)\right]$z$\left(x\right)$z	$\sin(x)$z$x_2$ú$x^2$z$x^2_y$z$x_y^2$z§$\sum _{\genfrac{}{}{0}{}{0\leq i\leq m}{0<j<n}}f\left(i,j\right)\mathcal{R}\prod_{i=\alpha_{i+1}}^\infty a_i \sin(2 \pi f x_i)\sqrt[2]{\prod^\frac{x}{2\pi^2}_\infty}$z)$x = \frac{x+\frac{5}{2}}{\frac{y+3}{8}}$z-$dz/dt = \gamma x^2 + {\rm sin}(2\pi y+\phi)$z?Foo: $\alpha_{i+1}^j = {\rm sin}(2\pi f_j t_i) e^{-5 t_i/\tau}$zVariable $i$ is goodz$\Delta_i^j$z$\Delta^j_{i+1}$zA$\ddot{o}\acute{e}\grave{e}\hat{O}\breve{\imath}\tilde{n}\vec{q}$z$\arccos((x^i))$z)$\gamma = \frac{x=\frac{6}{8}}{y} \delta$z$\limsup_{x\to\infty}$z$\oint^\infty_0$z%$f'\quad f'''(x)\quad ''/\mathrm{yr}$z$\frac{x_2888}{y}$z$\sqrt[3]{\frac{X_2}{Y}}=5$z$\sqrt[3]{x}=5$z$\frac{X}{\frac{X}{Y}}$a  $W^{3\beta}_{\delta_1 \rho_1 \sigma_2} = U^{3\beta}_{\delta_1 \rho_1} + \frac{1}{8 \pi 2} \int^{\alpha_2}_{\alpha_2} d \alpha^\prime_2 \left[\frac{ U^{2\beta}_{\delta_1 \rho_1} - \alpha^\prime_2U^{1\beta}_{\rho_1 \sigma_2} }{U^{0\beta}_{\rho_1 \sigma_2}}\right]$z?$\mathcal{H} = \int d \tau \left(\epsilon E^2 + \mu H^2\right)$z$\widehat{abc}\widetilde{def}$zG$\Gamma \Delta \Theta \Lambda \Xi \Pi \Sigma \Upsilon \Phi \Psi \Omega$z…$\alpha \beta \gamma \delta \epsilon \zeta \eta \theta \iota \lambda \mu \nu \xi \pi \kappa \rho \sigma \tau \upsilon \phi \chi \psi$z${x}^{2}{y}^{2}$z${}_{2}F_{3}$z$\frac{x+{y}^{2}}{k+1}$z$x+{y}^{\frac{2}{k+1}}$z$\frac{a}{b/2}$zQ${a}_{0}+\frac{1}{{a}_{1}+\frac{1}{{a}_{2}+\frac{1}{{a}_{3}+\frac{1}{{a}_{4}}}}}$z$\binom{n}{k/2}$z?$\binom{p}{2}{x}^{2}{y}^{p-2}-\frac{1}{1-x}\frac{1}{1-{x}^{2}}$z
${x}^{2y}$zG$\sum _{i=1}^{p}\sum _{j=1}^{q}\sum _{k=1}^{r}{a}_{ij}{b}_{jk}{c}_{ki}$zB$\sqrt{1+\sqrt{1+\sqrt{1+\sqrt{1+\sqrt{1+\sqrt{1+\sqrt{1+x}}}}}}}$zƒ$\left(\frac{{\partial }^{2}}{\partial {x}^{2}}+\frac{{\partial }^{2}}{\partial {y}^{2}}\right){|\varphi \left(x+iy\right)|}^{2}=0$z${2}^{{2}^{{2}^{x}}}$z&${\int }_{1}^{x}\frac{\mathrm{dt}}{t}$z)$\int {\int }_{D}\mathrm{dx} \mathrm{dy}$z${y}_{{x}^{2}}$z${y}_{{x}_{2}}$z${x}_{92}^{31415}+\pi $z!${x}_{{y}_{b}^{a}}^{{z}_{c}^{d}}$z!${y}_{3}^{\prime \prime \prime }$z+$\left( \xi \left( 1 - \xi \right) \right)$z$\left(2 \, a=b\right)$z$? ! &$zr$\left\Vert a \right\Vert \left\vert b \right\vert \left| a \right| \left\| b\right\| \Vert a \Vert \vert b \vert$z$\mathring{A}  \AA$zN$M \, M \thinspace M \/ M \> M \: M \; M \ M \enspace M \quad M \qquad M \! M$z<$\Cup$ $\Cap$ $\leftharpoonup$ $\barwedge$ $\rightharpoonup$z($\dotplus$ $\doteq$ $\doteqdot$ $\ddots$z1$xyz^kx_kx^py^{p-2} d_i^jb_jc_kd x^j_i E^0 E^0_u$zW${xyz}^k{x}_{k}{x}^{p}{y}^{p-2} {d}_{i}^{j}{b}_{j}{c}_{k}{d} {x}^{j}_{i}{E}^{0}{E}^0_u$ze${\int}_x^x x\oint_x^x x\int_{X}^{X}x\int_x x \int^x x \int_{x} x\int^{x}{\int}_{x} x{\int}^{x}_{x}x$ztesting$^{123}$ú c                 c   s   | ]}d | d V  qdS )z$\ú$N© )Ú.0Úpr	   r	   úB/tmp/pip-unpacked-wheel-wjyw_3jo/matplotlib/tests/test_mathtext.pyÚ	<genexpr>n   s     r   z4$6-2$; $-2$; $ -2$; ${-2}$; ${  -2}$; $20^{+3}_{-2}$z%$\overline{\omega}^x \frac{1}{2}_0^x$z4$,$ $.$ $1{,}234{, }567{ , }890$ and $1,234,567,890$z$\left(X\right)_{a}^{b}$z$\dfrac{\$100.00}{y}$z$\sqrt[ab]{123}$zy$x \overset{f}{\rightarrow} \overset{f}{x} \underset{xx}{ff} \overset{xx}{ff} \underset{f}{x} \underset{f}{\leftarrow} x$Ú
0123456789ÚABCDEFGHIJKLMNOPQRSTUVWXYZÚabcdefghijklmnopqrstuvwxyzzE\Gamma \Delta \Theta \Lambda \Xi \Pi \Sigma \Upsilon \Phi \Psi \Omegazƒ\alpha \beta \gamma \delta \epsilon \zeta \eta \theta \iota \lambda \mu \nu \xi \pi \kappa \rho \sigma \tau \upsilon \phi \chi \psiZmathrmZmathbfZmathitZmathtt)Né   Zmathbbz\Gamma \Pi \Sigma \gamma \piZmathcalZmathfrakZmathscrZmathsfÚ z $c                 c   s   | ]}d | V  qdS )z\%s{Nr	   ©r
   Úfontr	   r	   r   r   «   s     ú%sc                 c   s   | ]
}d V  qdS )Ú}Nr	   r   r	   r	   r   r   ­   s     r   c                 C   s$   |d krt  d¡ d| j||f gS )Nztest has been removedz
%s_%s_%02d)ÚpytestÚskipÚparam)ÚrequestÚfontsetÚindexÚtextr	   r	   r   Úbaseline_images´   s    
r   zindex, text)Úidsr   ÚcmÚstixÚstixsansÚ
dejavusansZdejavuserifr   T)Zindirect)r   c                 C   s.   |t jd< tjdd}|jdd|ddd d S ©Númathtext.fontset©g      @g      è?©Zfigsizeç      à?Úcenter)ÚhorizontalalignmentÚverticalalignment©ÚmplÚrcParamsÚpltÚfigurer   ©r   r   r   r   Úfigr	   r	   r   Útest_mathtext_rendering»   s    

 ÿr3   Z	mathtext1Zpng)r   Ú
extensionsc                 C   s&   t jdd}|jdd||ddd d S )Nr&   r'   r(   r)   )Úmath_fontfamilyr*   r+   ©r/   r0   r   r1   r	   r	   r   Ú#test_mathtext_rendering_lightweightÈ   s
     ÿr7   Zmathfontc                 C   s.   |t jd< tjdd}|jdd|ddd d S r$   r,   r1   r	   r	   r   Útest_mathfont_renderingÓ   s    

 ÿr8   c                  C   s6   t j d¡} t j | ¡}| d¡}|d dks2t‚d S )NúDejaVu SansÚheadÚversion)é   r   )r-   Úfont_managerZfindfontZft2fontZFT2FontZget_sfnt_tableÚAssertionError)Zfontpathr   Útabler	   r	   r   Útest_fontinfoà   s    
r@   z	math, msg)z$\hspace{}$úExpected \hspace{n})z$\hspace{foo}$rA   )z$\frac$úExpected \frac{num}{den})z$\frac{}{}$rB   )z$\binom$úExpected \binom{num}{den})z$\binom{}{}$rC   )z
$\genfrac$ú<Expected \genfrac{ldelim}{rdelim}{rulesize}{style}{num}{den})z$\genfrac{}{}{}{}{}{}$rD   )z$\sqrt$úExpected \sqrt{value})z	$\sqrt f$rE   )z$\overline$úExpected \overline{value})z$\overline{}$rF   )z$\leftF$úExpected a delimiter)z	$\rightF$zUnknown symbol: \rightF)z$\left(\right$rG   )z$\left($zExpected "\right")z$\dfrac$úExpected \dfrac{num}{den})z$\dfrac{}{}$rH   )z
$\overset$z#Expected \overset{body}{annotation})z$\underset$z$Expected \underset{body}{annotation}zhspace without valuezhspace with invalid valuezfrac without parameterszfrac with empty parameterszbinom without parameterszbinom with empty parameterszgenfrac without parameterszgenfrac with empty parameterszsqrt without parameterszsqrt with invalid valuezoverline without parameterszoverline with empty parameterzleft with invalid delimiterzright with invalid delimiterz unclosed parentheses with sizingz#unclosed parentheses without sizingzdfrac without parameterszdfrac with empty parameterszoverset without parameterszunderset without parametersc              	   C   s8   t  d¡}tjtt |¡d | | ¡ W 5 Q R X d S )NZagg©Úmatch)r   ÚMathTextParserr   ÚraisesÚ
ValueErrorÚreÚescapeÚparse)ÚmathÚmsgÚparserr	   r	   r   Útest_mathtext_exceptionsç   s    2
rT   c                  C   s   t jdd t  ddd¡ t  ¡ jd d …  d¡ t  ¡  g ¡ t  ¡  g ¡ t 	¡ } t j
| ddd tj|  ¡ tjd	}t |d
k¡rŒt‚d S )N)ç333333Ó?rU   r'   r(   z$-$FZrgbaiè  )ÚformatÚdpi)Zdtypeéÿ   )r/   r0   r   ZgcaZspinesZset_visibleZ
set_xticksZ
set_yticksÚioÚBytesIOÚsavefigÚnpZ
frombufferÚgetvalueZuint8Úallr>   )ÚbuffÚarrayr	   r	   r   Útest_single_minus_sign  s    ra   )r4   c                 C   s    |   ¡  d¡ |  ¡  d¡ d S )Nz$1\,2\>3\ 4$z$1\/2\:3~4$)ÚsubplotsÚ	set_title©Zfig_testZfig_refr	   r	   r   Útest_spaces.  s    re   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d¡ d S )Ngš™™™™™¹?z$\log 6$çš™™™™™É?z	$\log(6)$rU   z$\arcsin 6$gš™™™™™Ù?z$\arcsin|6|$r(   z$\operatorname{op} 6$g333333ã?z$\operatorname{op}[6]$çffffffæ?z$\cos^2$gš™™™™™é?z$\log_2$z$\mathrm{log\,}6$z$\mathrm{log}(6)$z$\mathrm{arcsin\,}6$z$\mathrm{arcsin}|6|$z$\mathrm{op\,}6$z$\mathrm{op}[6]$z$\mathrm{cos}^2$z$\mathrm{log}_2$)r   rd   r	   r	   r   Útest_operator_space4  s     rh   c                  C   s   dD ]} | t jd< qd S )N)r    r!   r"   ÚNoneúmathtext.fallback)r-   r.   ©Úfallbackr	   r	   r   Útest_mathtext_fallback_validI  s    rm   c               
   C   s2   dD ](} t jtdd | tjd< W 5 Q R X qd S )N)Úabcr   znot a valid fallback font namerI   rj   )r   rL   rM   r-   r.   rk   r	   r	   r   Útest_mathtext_fallback_invalidN  s    ro   c               
   C   s0   dD ]&} t  tj¡ | tjd< W 5 Q R X qd S )N)TFzmathtext.fallback_to_cm)r   Zwarnsr   ZMatplotlibDeprecationWarningr-   r.   rk   r	   r	   r   Ú$test_mathtext_fallback_to_cm_invalidT  s    rp   zfallback,fontlistr9   ÚmpltestZSTIXGeneralZcmr10c              	   C   sâ   t jj tj tj tj t	¡¡d¡¡ dt j
d< dt j
d< dt j
d< dt j
d	< d
t j
d< | t j
d< d}t ¡ }t ¡ \}}|jdd|ddd |j|dd dd„ t| ¡ ƒ d¡D ƒ}||ksÆt‚t jjjd d… t jj_d S )Nzmpltest.ttfÚnonezsvg.fonttypeZcustomr%   rq   zmathtext.rmzmpltest:italiczmathtext.itzmpltest:boldzmathtext.bfrj   za$A\AA\breve\gimel$r(   é(   r)   )ZfontsizeZhaÚsvg)rV   c                 S   s,   g | ]$}d |kr|  d¡d   d¡d ‘qS )Ztspanzfont-family:éÿÿÿÿú;r   )Úsplit)r
   Úliner	   r	   r   Ú
<listcomp>n  s    ÿz*test_mathtext_fallback.<locals>.<listcomp>z\nru   )r-   r=   ZfontManagerZaddfontÚosÚpathÚjoinÚdirnameÚrealpathÚ__file__r.   rY   rZ   r/   rb   r   r[   Ústrr]   rw   r>   Zttflist)rl   ZfontlistZtest_strr_   r2   ZaxZ
char_fontsr	   r	   r   Útest_mathtext_fallbackZ  s&    ÿ





þr   c                 C   s*   t  dt|  d¡ƒ¡ t  dt ¡ ¡ d S )Nr   úexample.png)r   Zmath_to_imager€   r|   rY   rZ   )Útmpdirr	   r	   r   Útest_math_to_imagev  s    r„   c              	   C   sH   t  ¡ 6 t d¡}| t|  d¡ƒd¡ | t ¡ d¡ W 5 Q R X d S )NZbitmapr‚   r   )	r   Z'suppress_matplotlib_deprecation_warningr   rK   Zto_pngr€   r|   rY   rZ   )rƒ   Úmtr	   r	   r   Útest_mathtext_to_png{  s    

r†   zmath_fontfamily_image.pngrW   rs   )r   Zsavefig_kwargc                  C   s8   t jdd} | jdddddd | jdd	d
ddd d S )N)é
   r   r'   rf   rg   z%$This\ text\ should\ have\ one\ font$é   r#   )Úsizer5   rU   z#$This\ text\ should\ have\ another$r!   r6   )r2   r	   r	   r   Útest_math_fontfamily‚  s    
 ÿ
 ÿrŠ   )r   )r   ):rY   rz   rN   Znumpyr\   r   Z
matplotlibr-   Zmatplotlib.testing.decoratorsr   r   Zmatplotlib.pyplotZpyplotr/   r   r   r|   ÚsortedÚParserZ_accentprefixedZ
math_testsZlightweight_math_testsÚdigitsZ	uppercaseZ	lowercaseZ
uppergreekZ
lowergreekr^   Zfont_test_specsZ
font_testsZfontsÚcharsÚextendÚwrapperÚsetÚappendZfixturer   ÚmarkZparametrizeÚ	enumerateÚrangeÚlenr3   r7   r8   r@   rT   ra   re   rh   rm   ro   rp   r   r„   r†   rŠ   r	   r	   r	   r   Ú<module>   sæ  œjþ
ÿÿÿ
ë
þ ü ú
  
ÿ ÿ
ÿ  
ÿ ÿêìæ1




ÿþ
ÿ