o
    li                     @   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   )_fallback_listz'Fallback fonts must be FT2Font objects.r   )fmfindfontpytestraises	TypeErrorr   FT2Font	file_name r   [/home/ubuntu/SoloSpeech/.venv/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?)figsize皙?g?"   There are 几个汉字 in between!r   g      ?g?333333?)pngraw)format)r	   FontPropertiesr   r
   namer   skippltrcParamsfiguretextsavefigioBytesIO)fpfigfmtr   r   r   test_fallback_smoke!   s.   






r0   zfamily_name, file_name)r   z
wqy-zenhei)r   NotoSansCJK)r    pdf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)   )fig_testfig_reffamily_namer   r-   r)   
test_fonts	ref_fontsjtxt	test_fontref_fontr   r   r   test_font_fallback_chinese:   s   

rE   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   r6   r7   r8   r   r      zDejaVuSans.ttf)r	   r#   r   r
   r$   r   r%   get_fontfontManager_find_fonts_by_props_get_fontmapitemsordfname)	r>   r   r-   found_file_namer)   ftfontmapcharfontr   r   r   test__get_fontmapQ   s    
rS   )pathlibr   r+   r   
matplotlibr   matplotlib.testing.decoratorsr   matplotlib.font_managerfont_managerr	   matplotlib.pyplotpyplotr&   r   r   r0   markparametrizerE   rS   r   r   r   r   <module>   s0    