
    (?e                     $   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 Zd Zd Zej                            dd	d
g           eg d          d                         Zej                            dd	d
g          d             ZdS )    )PathN)ft2font)check_figures_equalc                  V   t          j        d          } t          j        t          d          5  t          j        | d           d d d            n# 1 swxY w Y   t          j        t          d          5  t          j        | dg           d d d            d S # 1 swxY 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_names    =lib/python3.11/site-packages/matplotlib/tests/test_ft2font.pytest_fallback_errorsr      s-   M**I	y(F	G	G	G 8 8	$77778 8 8 8 8 8 8 8 8 8 8 8 8 8 8 
F
 
 
 7 7 		1#66667 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7s#   AAA9BB"%B"c                      t          j        d          } t          j        t          d          5  t          j        | d           d d d            d S # 1 swxY w Y   d S )Nr   z%hinting_factor must be greater than 0r   r   )r   r   r   r   
ValueErrorr   r   r   s    r   $test_ft2font_positive_hinting_factorr      s    M**I	E
 
 
 & & 		1%%%& & & & & & & & & & & & & & & & & &s   AAAc                     t          j        dg          } t          t          j        |                     j        dk    rt          j        d           t          j        dg          } t          t          j        |                     j        dk    rt          j        d           dt          j        d	<   t          j	        d
          }|
                    dddddg           |
                    dddddg           |
                    ddddg           |
                    ddddg           dD ]*}|                    t          j                    |           +d 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fmts      r   test_fallback_smoker3   !   s   		#6"7	8	8	8BBKOO!%5558999		#5"6	7	7	7BBKOO!%>>>;<<< "CL
*\
*
*
*CHHT4="$67  9 9 9HHT4="$78  : : :HHT4='(  * * *HHT4=()  + + +  . .BJLL----. .    zfamily_name, file_name)r   z
wqy-zenhei)r   NotoSansCJK)r#   pdfepssvg)
extensionsc                    t          j        |g          }|t          t          j        |                    j        vrt          j        d| d| d           g d}dt          j        d<   d|ggd	z  }dg|gdgg}t          t          |||                    D ]G\  }\  }	}
}|                    d
dd|z  z
  |	|           |                     d
dd|z  z
  |	|
           Hd 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   r0   r,   
test_fonts	ref_fontsjtxt	test_fontref_fonts               r   test_font_fallback_chineserJ   :   s!    
	;-	0	0	0BR[__--222BKBB9BBBCCC777D "CL +./!3J;--AI)2j),,* * A A%%CH 	T3a<X>>>dC$q&L#i@@@@	A Ar4   c                 N   t          j        | g          }t          t          j        |                    j        }||vrt          j        d|  d| d           d}t          j        t           j        	                    t          j        d| g                              }|
                    |          }|                                D ]W\  }}t          |          dk    r t          |j                  j        |k    sJ 8t          |j                  j        dk    sJ Xd S )	Nr   r;   r<   r=   r!   r      zDejaVuSans.ttf)r   r&   r   r   r'   r   r(   get_fontfontManager_find_fonts_by_props_get_fontmapitemsordfname)	rC   r   r0   found_file_namer,   ftfontmapcharfonts	            r   test__get_fontmaprY   Q   s+    
	;-	0	0	0B2;r??++0O''BKBB9BBBCCC/D	
++m[%ABBB	
 	

 
B ood##Gmmoo = =
dt99s??
##(O;;;;;
##(,<<<<<<	= =r4   )pathlibr   r.   r   
matplotlibr   matplotlib.testing.decoratorsr   matplotlib.font_managerfont_managerr   matplotlib.pyplotpyplotr)   r   r   r3   markparametrizerJ   rY    r4   r   <module>rd      sI         				        = = = = = = $ $ $ $ $ $      
7 
7 
7& & &. . .2 1>=?   < < <===A A >=	 
A$ ++ = = = = =r4   