o
    i                     @   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w   Y  tjtdd tj| dgd W d    d S 1 s>w   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   l/var/www/html/eduruby.in/lip-sync/lip-sync-env/lib/python3.10/site-packages/matplotlib/tests/test_ft2font.pytest_fallback_errors   s   
"r   c                  C   sJ   t d} tjtdd t| d W d    d S 1 sw   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r,t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 qcd 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rcParamsZ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 ]!\}\}	}
}|jd
dd|  |	|d | jd
dd|  |	|
d q=d 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   

r7   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rNt|jj|ksMJ q9t|jjdksXJ q9d S )	Nr   r.   r/   r0   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)	r4   r   r)   Zfound_file_namer&   ftZfontmapcharZ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parametrizer7   r>   r   r   r   r   <module>   s0    