Ë
    £ëit  ã                   óx   — d Z ddlmZmZmZmZ ddlmZ ddlm	Z	 ddl
mZmZ  G d„ d	«      Z G d
„ de«      Zd„ Zy)z
Draw text.é    )ÚcosÚinfÚradiansÚsiné   )ÚMatrixé   )Úextend_bounding_box)Ú	normalizeÚsizec                   ó&   — e Zd ZdZd„ Zed„ «       Zy)ÚTextBoxz!Dummy text box used to draw text.c                 ó    — || _         || _        y ©N)Úpango_layoutÚstyle)Úselfr   r   s      úS/var/www/html/chat/reports/venv/lib/python3.12/site-packages/weasyprint/svg/text.pyÚ__init__zTextBox.__init__   s   € Ø(ˆÔØˆ�
ó    c                 ó.   — | j                   j                  S r   )r   Útext)r   s    r   r   zTextBox.text   s   € à× Ñ ×%Ñ%Ð%r   N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   Úpropertyr   © r   r   r   r   
   s   „ Ù+òð ñ&ó ñ&r   r   c                   ó   — e Zd ZdZy)ÚStylezDummy class to store dict.N)r   r   r   r   r   r   r   r    r       s   „ Ú$r   r    c           
      ó  — ddl m} ddlm}m} ddlm} t        «       }|j                  |«       | j                  |_	        |j                  dd«      j                  d«      D �cg c]  }|j                  d«      ‘Œ c}|d	<   |j                  d
d«      |d<   |j                  dd«      |d<   ||d<   |d   dk(  rd|d<   n |d   dk(  rd|d<   n	 t        |d   «      |d<    ||j                  || j                   t"        d«      \  }	}
}
}}}
g g g g dgf\  }}}}}d|j$                  v rWt'        |j$                  d   «      j                  «       j                  d«      D �cg c]  }t)        ||| j*                  «      ‘Œ }}d|j$                  v rWt'        |j$                  d   «      j                  «       j                  d«      D �cg c]  }t)        ||| j,                  «      ‘Œ }}d|j$                  v rWt'        |j$                  d   «      j                  «       j                  d«      D �cg c]  }t)        ||| j*                  «      ‘Œ }}d|j$                  v rWt'        |j$                  d   «      j                  «       j                  d«      D �cg c]  }t)        ||| j,                  «      ‘Œ }}d|j$                  v rXt'        |j$                  d   «      j                  «       j                  d«      D �cg c]  }|rt/        t1        |«      «      nd‘Œ }}|d   }|j                  D ��cg c],  }|||||fD �cg c]  }|r|j3                  d«      nd‘Œ c}|f‘Œ. }}}| j5                  |j                  d«      |«      }| j5                  |j                  d«      |«      }d}|ru|j                  rit7        |j                  «      dz
  }t'        |j$                  j                  d«      «      d k(  r|||z  z   }|||z  z  }|||z  z
  }||z  }n
|r||z
  |z  }|}|d!z  |d"z  }}d}|j                  d#«      } |j                  d$|j                  d%«      «      }!| d&k(  r| dz  }n-| d'k(  rn'| d(k(  r| }n|!d)v r||z   dz  |z
  }n|!d*v r|}n|!d+v r| }|j                  sN|r|d   n| j8                  d   }|r|d   n| j8                  d   }|r|d   nd}|r|d   nd}||z   ||z   f| _        y| j:                  j=                  «        | j?                  ||d,¬-«       | j:                  jA                  «        g }"tC        |«      D �]µ  \  }\  \  }}}}}#}$|rd| jD                  d<   |rd| jD                  d<   | jD                  dxx   |xs dz  cc<   | jD                  dxx   |xs dz  cc<    ||$|| j                   t"        d«      \  }	}
}
}}}%|€| j8                  d   n|}|€| j8                  d   n|}||z  }|r||z  }||z   |f| _        || jD                  d   z   }&|| jD                  d   z   |z   }'|#€|n|#}(|&|'|%z
  f|&|z   |'|%z
  |z   ff})tG        |jH                  |)«      |_$        |	jK                  |«       | jM                  ||d,¬-«       tO        |d|&|'¬.«      }*|(r(tQ        |(«      tS        |(«      },}+tO        |+|, |,|+«      |*z  }* || j:                  tU        |	|«      d/d/|*«      }-|"jW                  ||||-f«       �Œ¸ | j:                  jY                  «        | j:                  j[                  «        |"D ]!  \  }}}}-d|i} || j:                  ||||-«       Œ# yc c}w # t        $ r	 d|d<   Y �Œ†w xY wc c}w c c}w c c}w c c}w c c}w c c}w c c}}w )0zDraw text node.r   )ÚINITIAL_VALUES)Údraw_emojisÚdraw_first_line)Úsplit_first_linezfont-familyz
sans-serifú,z"'Úfont_familyz
font-styleÚnormalÚ
font_stylezfont-weighti�  Úfont_weightÚ	font_sizeÚboldi¼  r   Úxú ÚyÚdxÚdyÚrotateéÿÿÿÿNzletter-spacingÚ
textLengthr	   ÚlengthAdjustÚspacingAndGlyphsgš™™™™™é?gš™™™™™É?zdisplay-anchorzdominant-baselinezalignment-baselineÚmiddleÚtopÚbottom)Úcentralr7   )ztext-before-edgeÚbefore_edger8   Úhangingztext-top)ztext-after-edgeÚ
after_edger9   ztext-bottomT)r   )ÚaÚdÚeÚfÚnone).Úcss.propertiesr"   Ú	draw.textr#   r$   Útext.line_breakr%   r    ÚupdateÚfont_configÚgetÚsplitÚstripÚintÚ
ValueErrorr   Úcontextr   Úattribr   r   Úinner_widthÚinner_heightr   ÚfloatÚpopÚlengthÚlenÚcursor_positionÚstreamÚ
push_stateÚset_graphical_stateÚ
begin_textÚ	enumerateÚcursor_d_positionr
   Útext_bounding_boxÚ
reactivateÚfill_stroker   r   r   r   ÚappendÚend_textÚ	pop_state).ÚsvgÚnoder+   r"   r#   r$   r%   r   ÚfontÚlayoutÚ_ÚwidthÚheightr-   r/   r0   r1   r2   ÚiÚlast_rÚcharÚplÚletters_positionsÚletter_spacingÚtext_lengthÚscale_xÚspaces_countÚwidth_with_spacingÚspaceless_text_lengthÚascentÚdescentÚy_alignÚdisplay_anchorÚalignment_baselineÚemoji_linesÚrÚletterÚbaselineÚ
x_positionÚ
y_positionÚangleÚpointsÚmatrixr>   ÚcÚemojiss.                                                 r   r   r      s.  € å/ß8Ý2ô ‹G€EØ	‡L�L�Ô ØŸ™€EÔð 	�‰� Ó-×3Ñ3°CÓ8ö:Ø"ˆ�
‰
�5Õò:€Eˆ-Ñð Ÿ(™( <°Ó:€Eˆ,ÑØŸ8™8 M°3Ó7€Eˆ-ÑØ"€Eˆ+ÑØˆ]Ñ˜xÒ'Ø"ˆˆmÒØ	ˆ}Ñ	 Ò	'Ø"ˆˆmÒð	'Ü#& u¨]Ñ';Ó#<ˆE�-Ñ ñ &6Ø�	‰	�5˜#Ÿ+™+¤s¨Aó&/Ñ"€FˆAˆq�%˜ ð ˜r 2 r¨A¨3Ð.Ñ€A€qˆ"ˆb�&Ø
ˆd�k‰kÑä §¡¨CÑ 0Ó1×7Ñ7Ó9×?Ñ?ÀÓDöFØô �!�Y §¡Õ0ð Fˆð Fà
ˆd�k‰kÑä §¡¨CÑ 0Ó1×7Ñ7Ó9×?Ñ?ÀÓDöFØô �!�Y × 0Ñ 0Õ1ð Fˆð Fàˆt�{‰{Ñä  §¡¨TÑ!2Ó3×9Ñ9Ó;×AÑAÀ#ÓFöHØô �1�i §¡Õ1ð Hˆð Hàˆt�{‰{Ñä  §¡¨TÑ!2Ó3×9Ñ9Ó;×AÑAÀ#ÓFöHØô �1�i ×!1Ñ!1Õ2ð Hˆð Hà�4—;‘;Ñä$ T§[¡[°Ñ%:Ó;×AÑAÓC×IÑIÈ#ÓNöPØñ ()”'œ% ›(Ô#¨aÑ/ð Pˆð Pà�B‰Z€Fð —I‘I÷àð 01°!°R¸¸VÐ.DÖ	E¨‘rˆ"�&‰&�Œ)˜tÑ
#Ò	EÀtÒLðÐñ ð —Z‘Z §¡Ð)9Ó :¸IÓF€NØ—*‘*˜TŸX™X lÓ3°YÓ?€KØ€GÙ�t—y’yä˜4Ÿ9™9“~¨Ñ)ˆÜ�T—[‘[—_‘_ ^Ó4Ó5Ð9KÒKà!&¨¸Ñ)FÑ!FÐØ˜kÐ,>Ñ>Ñ>ˆNð %0°,ÀÑ2OÑ$OÐ!Ø+¨eÑ3‰GÙà)¨EÑ1°\ÑAˆNØˆð   "‘n i°"¡nˆG€Fð
 €GØ—X‘XÐ.Ó/€NØŸ™Ø˜TŸX™XÐ&:Ó;ó=Ðà˜Ò!Ø�'˜A‘+‰Ø	˜5Ò	 ØØ	˜8Ò	#Ø�'‰Ø	Ð4Ñ	4à˜GÑ# qÑ(¨7Ñ2‰Ø	ð  Mñ 
Mà‰Ø	ð  Fñ 
Fà�(ˆð �9Š9ÙˆAˆaŠD˜3×.Ñ.¨qÑ1ˆÙˆAˆaŠD˜3×.Ñ.¨qÑ1ˆÙˆR�ŠU˜aˆÙˆR�ŠU˜aˆØ  2™v q¨2¡vÐ.ˆÔØà‡J�J×ÑÔØ×Ñ˜D )°$ÐÔ7Ø‡J�J×ÑÔØ€Kô +4Ð4EÓ*Fó "6Ñ&ˆÑ&ÑˆQ��2�r˜1˜vÙØ'(ˆC×!Ñ! !Ñ$ÙØ'(ˆC×!Ñ! !Ñ$Ø×Ñ˜aÓ  B¢G¨!Ñ+Ó Ø×Ñ˜aÓ  B¢G¨!Ñ+Ó Ù0@Ø�E˜3Ÿ;™;¬¨Qó10Ñ-ˆ��1�e˜V Xà&' iˆC×Ñ Ò"°QˆØ&' iˆC×Ñ Ò"°QˆØ�ÑˆÙØ�ÑˆAØ %™i¨˜lˆÔà˜×.Ñ.¨qÑ1Ñ1ˆ
Ø˜×.Ñ.¨qÑ1Ñ1°GÑ;ˆ
Ø˜)‘¨ˆà˜ hÑ.Ð/Ø˜%Ñ ¨hÑ!6¸Ñ!?Ð@ðBˆô "5Ø×"Ñ" Fó",ˆÔð 	×Ñ˜%Ô Ø�‰˜˜i¨dˆÔ3Ü˜' R¨:¸ÔDˆÙÜ�u“:œs 5›zˆqˆAÜ˜A ˜r 1 aÓ(¨6Ñ1ˆFÙ Ø�J‰Jœ ¨Ó.°¸ÀóHˆà×Ñ˜I q¨!¨VÐ4Ö5ðE"6ðH ‡J�J×ÑÔØ‡J�J×ÑÔà#.ò 5Ñˆ	�1�a˜à˜iÐ(ˆÙ�C—J‘J  q¨!¨VÕ4ñ5ùò[:øô ò 	'Ø#&ˆE�-Ô ð	'üòFùòFùòHùòHùòPùò 
FùósN   Á$]Ã] Å])Ç].È']3Ê]8Ë1]=Ì&^Ì4^Í^Ý]&Ý%]&Þ^N)r   Úmathr   r   r   r   r�   r   Úbounding_boxr
   Úutilsr   r   r   Údictr    r   r   r   r   ú<module>rˆ      s3   ðÙ ç 'Ó 'å Ý -ß "÷&ñ &ô%ˆDô %óZ5r   