a
    
d                     @   s   d dl mZ d dl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 dd Zdd Zd	d
 Zejdddgeg dddd Zejdddgdd ZdS )    )PathN)ft2font)check_figures_equalc                  C   s   t d} tjtdd tj| dd W d    n1 s<0    Y  tjtdd  tj| dgd W d    n1 sz0    Y  d S )NDejaVu SanszFallback list must be a listmatch)r   )Z_fallback_listz'Fallback fonts must be FT2Font objects.r   )fmfindfontpytestraises	TypeErrorr   FT2Font	file_name r   f/var/www/html/stable-diffusion-webui/venv/lib/python3.9/site-packages/matplotlib/tests/test_ft2font.pytest_fallback_errors   s    
,r   c                  C   sH   t d} tjtdd t| d W d    n1 s:0    Y  d S )Nr   z%hinting_factor must be greater than 0r   r   )r   r	   r
   r   
ValueErrorr   r   r   r   r   r   $test_ft2font_positive_hinting_factor   s
    
r   c                  C   s   t jdgd} tt | jdkr,td t jdgd} tt | jdkrXtd dtjd	< tj	d
d}|j
dddddgd |j
dddddgd |j
ddddgd |j
ddddgd dD ]}|jt |d qd S )NWenQuanYi Zen Heifamilyzwqy-zenhei.ttcz"Font wqy-zenhei.ttc may be missingNoto Sans CJK JPzNotoSansCJK-Regular.ttcz%Noto Sans CJK JP font may be missing.   	font.size)g      @g?)Zfigsize皙?g?"   There are 几个汉字 in between!r   g      ?g?333333?)pngraw)format)r   FontPropertiesr   r	   namer
   skippltrcParamsfiguretextZsavefigioBytesIO)fpZfigfmtr   r   r   test_fallback_smoke!   s,    






r,   zfamily_name, file_name)r   z
wqy-zenhei)r   ZNotoSansCJK)r   ZpdfZepssvg)
extensionsc                 C   s   t j|gd}|tt |jvr:td| d| d g d}dtjd< d|ggd	 }dg|gdgg}t	t
|||D ]B\}\}	}
}|jd
dd|  |	|d | jd
dd|  |	|
d qzd S )Nr   Font  () is missing)z	There areu   几个汉字zin between!r   r   r      r   r   g333333?)r   r!   r   r	   r"   r
   r#   r$   r%   	enumeratezipr'   )Zfig_testZfig_reffamily_namer   r*   r'   Z
test_fontsZ	ref_fontsjtxtZ	test_fontZref_fontr   r   r   test_font_fallback_chinese:   s    

r8   c           	      C   s   t j| gd}tt |j}||vr>td|  d| d d}t t j	t jd| gd}|
|}| D ]>\}}t|dkrt|jj|ksJ qrt|jjdksrJ qrd S )	Nr   r/   r0   r1   r   r      zDejaVuSans.ttf)r   r!   r   r	   r"   r
   r#   Zget_fontZfontManagerZ_find_fonts_by_propsZ_get_fontmapitemsordfname)	r5   r   r*   Zfound_file_namer'   ftZfontmapcharfontr   r   r   test__get_fontmapQ   s    
r@   )pathlibr   r(   r
   Z
matplotlibr   Zmatplotlib.testing.decoratorsr   Zmatplotlib.font_managerZfont_managerr   Zmatplotlib.pyplotZpyplotr$   r   r   r,   markZparametrizer8   r@   r   r   r   r   <module>   s.   