
    9i              	          S SK Jr  S SKrS SKJr  SSKJr  SSKJr  SSKJr  SSK	J
r
  S	\S
\S\S\4S jr S S	\S
\S\S\R                  4S jjr " S S5      r\" \" \
5      5      R#                  5       (       a  \R$                  " S\
 S35        \" SS9r\" SS9r\" SS9r\" SS9r\" SS9r\" SS9r\" SS9r\" SS9r\" SS9r\" SS9r\" SS9r\" SS9rg)!    )PathN)	ImageFont   )logging)	CACHE_DIR)download)LOCAL_FONT_FILE_PATHtxtsz	font_pathreturnc                 \   [        US   S-  5      n[        R                  " X#SS9n[        [        R                  R                  S5      S   5      S:  a  UR                  U 5      S   nOUR                  U 5      nXQS   :  a(  [        X1S   -  U-  5      n[        R                  " X#SS9nU$ )a  
Create a font object with specified size and path, adjusted to fit within the given image region.

Parameters:
txt (str): The text to be rendered with the font.
sz (tuple): A tuple containing the height and width of an image region, used for font size.
font_path (str): The path to the font file.

Returns:
ImageFont: An ImageFont object adjusted to fit within the given image region.
r   皙?utf-8encoding.r   
   )intr   truetypePIL__version__splitgetsize	getlength)r
   r   r   	font_sizefontlengths         S/var/www/html/land-doc-ocr/venv/lib/python3.13/site-packages/paddlex/utils/fonts.pycreate_fontr       s     BqECK IiWED
3??  %a()B.c"1%$1~	qE)F23	!!)IK    c                 H   [        U 5      S:  a  [        U 5      OSn[        US   U-  S-  U-  5      n[        US5      n[        R                  " X%SS9n[        [
        R                  R                  S5      S   5      S:  a.  [        U  Vs/ s H  ovR                  U5      S   PM     sn5      nO*[        U  Vs/ s H  ovR                  U5      PM     sn5      nXS   :  a4  [        XQS   -  U-  5      n	[        U	S5      n	[        R                  " X)SS9nU$ s  snf s  snf )Nr   r   r   r   r   r   r   )
lenr   maxr   r   r   r   r   r   r   )
r
   r   r   scalenbase_font_sizer   cmax_char_widthnew_sizes
             r   create_font_verticalr+   4   s    HqLCaAAS501N,Ni'JD
3??  %a()B.#>#Qll1oa0#>?=AnnQ/=>1~1->?x$!!)HK ?=s   D;Dc                   4    \ rS rSrSS jr\S 5       rS rSrg)FontI   Nc                     Uc:  [        [        [        5      5      R                  5       (       a  [        [        5      nX l        U(       d  Uc   eXl        g g N)r   strr	   is_file_local_path
_font_name)self	font_name
local_paths      r   __init__Font.__init__J   sL    C,-.6688 !56
%((('O r!   c                 \    U R                   (       d  U R                  5         U R                   $ r0   )r3   _get_offical_font)r5   s    r   path	Font.pathS   s%     ""$r!   c                     [        [        5      S-  U R                  -  R                  5       R	                  5       n[        U5      R                  5       (       d  [        SU R                   3US9  Xl        g)z"
Download the official font file.
fontszDhttps://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/fonts/)url	save_pathN)r   r   r4   resolveas_posixr2   r   r3   )r5   r   s     r   r;   Font._get_offical_fontZ   se     )_w.@IIKTTV	I&&((Z[_[j[jZkl# %r!   )r4   r3   )NN)	__name__
__module____qualname____firstlineno__r8   propertyr<   r;   __static_attributes__ r!   r   r-   r-   I   s     (    
%r!   r-   zUsing the local font file(`z'`) specified by `LOCAL_FONT_FILE_PATH`!zPingFang-SC-Regular.ttf)r6   zsimfang.ttfz	latin.ttfzth.ttfzel.ttfz
korean.ttfz
arabic.ttfzcyrillic.ttfzkannada.ttfz
telugu.ttfz	tamil.ttfzdevanagari.ttf)g333333?)pathlibr   r   r    r   cacher   r   flagsr	   r1   tupler    FreeTypeFontr+   r-   r2   warningPINGFANG_FONTSIMFANG_FONT
LATIN_FONTTH_FONTEL_FONTKOREAN_FONTARABIC_FONTCYRILLIC_FONTKANNADA_FONTTELUGU_FONT
TAMIL_FONTDEVANAGARI_FONTrK   r!   r   <module>r_      s*    
     'S e  	 6 03	$'*% %<  !"**,,OO
%&:%;;bc 89m,K(


"

"\*\*~.m,\*K(
!12r!   