
    EVf                        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"                  j%                  dd	d
g       eg d      d               Zej"                  j%                  dd	d
g      d        Zy)    )PathN)ft2font)check_figures_equalc                  L   t        j                  d      } t        j                  t        d      5  t        j                  | d       d d d        t        j                  t        d      5  t        j                  | dg       d d d        y # 1 sw Y   FxY w# 1 sw Y   y xY w)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    f/var/www/html/software/conda/envs/catlas/lib/python3.12/site-packages/matplotlib/tests/test_ft2font.pytest_fallback_errorsr      s    M*I	y(F	G 8	$78 
F
 7 		1#67 7	8 87 7s   B,BBB#c                      t        j                  d      } t        j                  t        d      5  t        j                  | d       d d d        y # 1 sw Y   y xY w)Nr   z%hinting_factor must be greater than 0r   r   )r   r   r   r   
ValueErrorr   r   r   s    r   $test_ft2font_positive_hinting_factorr      sG    M*I	E
 & 		1%& & &s   AAc                     t        j                  dg      } t        t        j                  |             j                  dk7  rt        j                  d       t        j                  dg      } t        t        j                  |             j                  dk7  rt        j                  d       dt        j                  d	<   t        j                  d
      }|j                  dddddg       |j                  dddddg       |j                  ddddg       |j                  ddddg       dD ]'  }|j                  t        j                         |       ) y )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	8BBKKO!!%5589			#5"6	7BBKKO!!%>>;< "CLL
**\
*CHHT4="$67  9HHT4="$78  :HHT4='(  *HHT4=()  +  .BJJL-.    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 ]?  \  }\  }	}
}|j                  d
dd|z  z
  |	|       | j                  d
dd|z  z
  |	|
       A y )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     
		;-	0BR[[_-222eK=9+\BC7D "CLL +./!3J;--AI)2j),* A%%CH 	T3a<X>dC$q&L#i@	Ar4   c                 V   t        j                  | g      }t        t        j                  |            j                  }||vrt        j                  d|  d| d       d}t        j                  t         j                  j                  t        j                  d| g                  }|j                  |      }|j                         D ]\  \  }}t        |      dkD  r%t        |j                        j                  |k(  r7J t        |j                        j                  dk(  r\J  y )	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     
		;-	0B2;;r?+00O'eK=9+\BC/D	
++m[%AB	

B ood#Gmmo =
dt9s?

#((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      s     	   = $ 
7&.2 1>=?  <=A >	
A$ ++==r4   