o
    î	cj/  ã                   @  sf   d dl mZ d dlZd dlZd dlmZ d dlmZ eejejf Z	dd	d
„Z
ddd„Zddd„ZdS )é    )ÚannotationsN)ÚUnion)Ú	ImageFontÚsizeÚintÚreturnÚFontTypec              	   C  s¦   g }t jdkr(tj dd¡}| tj |dd¡tj |dd¡tj |dd¡g¡ | g d¢¡ |D ]}|rNtj |¡rNz	t	 
|| ¡W   S  tyM   Y q1w q1t	 ¡ S )	uV   ä¼˜å…ˆåŠ è½½æ”¯æŒä¸­æ–‡çš„ç³»ç»Ÿå­—ä½“ï¼Œå¤±è´¥åˆ™å›žé€€åˆ° PIL é»˜è®¤ä½å›¾å­—ä½“ã€‚Úwin32ÚWINDIRz
C:\WindowsÚFontsúmsyh.ttcz
msyhbd.ttcú
simhei.ttf)z./usr/share/fonts/truetype/wqy/wqy-microhei.ttcz6/usr/share/fonts/truetype/noto/NotoSansCJK-Regular.ttcr   r   z	arial.ttf)ÚsysÚplatformÚosÚenvironÚgetÚextendÚpathÚjoinÚisfiler   ÚtruetypeÚOSErrorÚload_default)r   Ú
candidatesÚwindirr   © r   ú1/home/dore/onebot/Bot_Ero/core/gen_image/fonts.pyÚ	load_font   s*   
ýÿÿ	ÿ€r   ÚtextÚstrÚfontÚfloatc                 C  s@   t | dƒrt| j||dƒS | jd||d}t|d |d  ƒS )NÚ
textlength)r!   )r   r   é   r   )Úhasattrr"   r#   Útextbbox)Údrawr   r!   Úbboxr   r   r   Ú
text_width*   s   
r)   Ú	max_widthc                 C  sf   |dkrdS t | ||ƒ|kr|S d}tt|ƒddƒD ]}|d |… | }t | ||ƒ|kr0|  S q|S )Nr   Ú u   â€¦éÿÿÿÿ)r)   ÚrangeÚlen)r'   r   r!   r*   ÚellÚiÚ	candidater   r   r   Útruncate_text1   s   ÿr2   )r   r   r   r   )r   r    r!   r   r   r"   )r   r    r!   r   r*   r"   r   r    )Ú
__future__r   r   r   Útypingr   ÚPILr   ÚFreeTypeFontr   r   r)   r2   r   r   r   r   Ú<module>   s    

