+
    ̧6j&                         Rt ^ RIHtHtHt ^ RIHt ^ RIHtH	t	H
t
 ^RIHtHtHtHt ^ RIHt  ! R R]4      tR tR	 tR
 tRR lt]! 4       P3                  ]! 4       4       ^ ^ ]RR^^ R3R ltR# )setFontRenderPMError)getFont
unicode2T1stringWidth)	ShapedStr)open_and_readisBytesrl_exec)_baseGFontName_PATH_OP_ARG_COUNT_PATH_OP_NAMES
definePath)exc_infoc                       ] tR t^tRtR# )r    N)__name__
__module____qualname____firstlineno____static_attributes__r       P/opt/hart-platform/venv/lib/python3.14/site-packages/reportlab/graphics/utils.pyr   r      s    r   c                 >   \        \        \        \        4       R ,          4      4      w  r#^ RIHp VP                  ^8  d   ^ RIpVP                  P                  VP                  P                  VP                  4      R4      p\        RV: RVP                  V4      : 24       R F(  p\        RV: R\        \        WF4      4      : 24       K*  	  R\        V 4      : R	\        V4      : R
V: RV: R2	pVR,          p\!        V\#        \$        R7      4       R# ):N   N)	rl_configNfontsz!!!!! z: z!!!!! rl_config.z = z&raise RenderPMError("Error in setFont(,z$) missing the T1 files?\nOriginally z")z
 from None)r   )T1SearchPathTTFSearchPath)listmapstrr   	reportlabr   verboseospathjoindirname__file__printlistdirreprgetattrr
   dictr   )fontNamefontSizes1s2r   r%   _codes   &&      r   
_errorDumpr5      s    #c(*R.)*FB#!GGLL););<WE"**Q-011Aqgi6J1KLM 2imnviwx|  ~F  yG  HJ  KM  NDLDDM23r   c                 r     V P                  W4       R #   \         d   p\        Y4        R p?R # R p?ii ; iN)r   
ValueErrorr5   )gsr/   r0   es   &&& r   r   r      s.    &


8% &8%%&s    616c                 P    \        V 4      V 8X  d   \        V 4      # \        V ^4      # )   )intround)ns   &r   pathNumTruncr@   1   s!    
1vqyQ-1:r   Nc           	        a aaaa	 ^ RI HpHp S e   S pVR8X  d   Ro MW!9   d   Vo M\        RV: R24      hS 3\        ;QJ d    . V 3R lV 4       F  NK  	  5M! V 3R lV 4       4      ,           oS FD  o S R8X  g   K   ^ RIo^ RIo	 ! TT	3R lR	4      o^ ^ \        R
R^^ R3T3R llp\        TSR7      u # 	  V3R lp\        WUWUR7      #   \         d     Ki  i ; i)    )	textPathsrenderPMBackendNbackendfreetypez
textPaths=z( should be one of 'backend', 'freetype')c              3   8   <"   T F  qS8w  g   K  Vx  K  	  R # 5ir7   r   ).0r3   tps   & r   	<genexpr>(__makeTextPathsCode__.<locals>.<genexpr>?   s     03aR%3s   
c                      <a  ] tR t^Gt o  ZP                   ZP
                  ,           ZP                  ,          tR tVV3R lt	R t
R tR tR tRR lt^ ^ ]R	3R
 ltRtV tR# ))__makeTextPathsCode__.<locals>.FTTextPathc                    / V n         R # r7   )faces)selfs   &r   __init__2__makeTextPathsCode__.<locals>.FTTextPath.__init__I   s	    !#DJr   c                  < WP                   9  d   \        V4      pV'       g   \        R V: R24      hVP                  '       d)   VP                  P
                  pSP                  V4      pM9\        VP                  RR4      pV'       g   VP                  P                  4       pSP                  V4      pWB3V P                   V&   V P                   V,          # )zfont z has not been registeredpfbFileNameN)
rO   r   r8   _dynamicFontface	_ttf_dataBytesIOr-   
findT1FileFace)rP   r/   fontpath_or_streamrV   rF   ios   &&   r   r   1__makeTextPathsCode__.<locals>.FTTextPath.setFontL   s    zz1&x0#",uXL@X-Y"ZZ,,,-1YY-@-@N .0ZZ-GN-4TYY}T-RN#1151E1E1G'}}^<04{

8,::h//r   c                    V P                   '       d   V P                  R4       V P                  RV P                  VP                  4      V P	                  VP
                  4      34       R# )	closePathmoveToNr`   )PP_appendxptxyptyrP   actxs   &&&r   move_to1__makeTextPathsCode__.<locals>.FTTextPath.move_to_   sA    vvvt}}^<MM8DHHQSSM$((133-"HIr   c                    V P                  R V P                  VP                  4      V P                  VP                  4      34       R# )lineToNrd   re   rf   rg   rh   ri   s   &&&r   line_to1__makeTextPathsCode__.<locals>.FTTextPath.line_toc   s-    MM8DHHQSSM$((133-"HIr   c           	     L   V P                   '       d   V P                   R,          RR MVP                  VP                  3w  rEV P                  VP                  4      pV P	                  VP                  4      pV P                  VP                  4      pV P	                  VP                  4      p	V P                  RWFV,
          ^,          ^,          ,           WWV,
          ^,          ^,          ,           WhV,
          ^,          ,           WyV,
          ^,          ,           W34       R# )zusing the cubic equivalentNcurveTo)rc   rf   rh   re   rg   rd   )
rP   rj   brk   x0y0x1y1x2y2s
   &&&&      r   conic_to2__makeTextPathsCode__.<locals>.FTTextPath.conic_tof   s    /3vvvDFF2JrsOACC:EB!##B!##B!##B!##BMM9RR%A-=bb5!)Q>NrVXSXZ[R[|\^ce`egh_h\hik"opr   c                b   V P                  R V P                  VP                  4      V P                  VP                  4      V P                  VP                  4      V P                  VP                  4      V P                  VP                  4      V P                  VP                  4      34       R# )rt   Nrp   )rP   rj   rw   crk   s   &&&&&r   cubic_to2__makeTextPathsCode__.<locals>.FTTextPath.cubic_too   s    MM9TXXacc]488ACC=RSRURUW[W_W_`a`c`cWdeiememnonqnqersws{s{|}||  tA  #B  Cr   Nc                <    V P                   P                  R4       R# )r`   Nrb   )rc   append)rP   rk   s   &&r   
close_path4__makeTextPathsCode__.<locals>.FTTextPath.close_pathr   s    FFMM.1r     c           	     ,  aaa V P                  V4      w  rxWWP                  ,          oVS,          oVS,          o. V n        V P                  P                  V n        VP                  R ^ 4      p	V	'       d   VV3R lV n        VV3R lV n        MVV3R lV n        VV3R lV n        VR,          S,          p
V P                  p\        V\        4      '       d7   VP                  pVP                  R,          pVP                  P                  pMRp\        V4       EFE  w  ppVR8X  d   ^ oSV
,          oK  V'       dd   W,          pVP                  X,          pVP                   V,          pSV,          oSV,          oVP#                  X\%        V4      ,          V4       MVP'                  VV4       VP(                  P*                  P-                  W P.                  V P0                  V P2                  V P4                  R	7       V'       d   SX,          oSX,          oSV'       d   XP6                  X,          MVP(                  P8                  P:                  ,          oEKH  	  V P                  '       d   V P	                  R
4       V P                  # )truncatec                 6   < \        SV S,           ,          4      # r7   r@   rf   __dx__scales   &r   <lambda>F__makeTextPathsCode__.<locals>.FTTextPath._text2Path.<locals>.<lambda>~       \%6:J-Kr   c                 6   < \        SV S,           ,          4      # r7   r   rh   __dy__r   s   &r   r   r      r   r   c                 $   < SV S,           ,          # r7   r   r   s   &r   r   r          UAJ-?r   c                 $   < SV S,           ,          # r7   r   r   s   &r   r   r      r   r   g333333?r   N
)rl   rq   r~   r   rb   )r   units_per_EMrc   r   rd   popre   rg   ftLFlags
isinstancer   __shapeData__rV   charToGlyph	enumeratex_offsety_offset
load_glyphord	load_charglyphoutline	decomposerl   rq   r~   r   	x_advancemetricshoriAdvance)rP   textrf   rh   r/   r0   kwdsrV   r[   r   
lineHeightr   sdatadscalefontC2Gir   sd
sdx_offset
sdy_offsetr   r   r   s   &&&&&&,             @@@r   
_text2Path4__makeTextPathsCode__.<locals>.FTTextPath._text2Pathu   s   !%h!7JD$%6%66EuWFuWFDF$(FFMMDM#xx
15H#K#K#?#?!)#e!3J#}}H!$y11 $ 2 2!%!2!2T!9"&))"7"7 $(!d7%&F"j0F$ !&B)+V);J)+V);J"j0F"j0F OOGCFOHE NN1h7

**44T<<Y]YeYeptp}p}  IM  IV  IV4  W "j0F"j0F",,v"5DJJDVDVDbDbb%  /& vvvt}}^<66Mr   )rc   rd   rO   re   rg   r7   )r   r   r   r   FT_LOAD_DEFAULTFT_LOAD_NO_SCALEFT_LOAD_NO_BITMAPr   rQ   r   rl   rq   r~   r   r   r   r   r   __classdictcell__)__classdict__rF   r]   s   @r   
FTTextPathrM   G   sd     #33h6O6OORZRlRll$0&JJqC2 ./!nW[ +" +"r   r   r   startc	                  < \        V4      p	V	P                  '       d%   V	P                  '       g   \        RV,          4      h. P                  p
VR8X  g3   \        WV4      pVR8X  d
   W,
          pMVR8X  d   WR,          ,
          pVf   S! 4       pV	P                  '       d(   V
! VP                  WW#WFVR7      4       V
P(                  # \        V 4      '       d    V P                  R4      p \        W	.V	P                  ,           4      p\        V4      ^,
          p\        V4       F  w  pw  pp\!        V\"        4      '       d   VP                  VP$                  4      pV
! VP                  VWVP&                  WFVR7      4       VV8w  g   Ki  VVP                  VV4      ,          pK  	  V
P(                  #   \         d|   pTP                  R	,          w  r\        TP                  R
,          TP                  ^,          : RT \        T^
,
          ^ 4      T : RYT : RYT^
,            : 23,           !  hRp?ii ; i)zfreetype text2PathDescription(text, x=0, y=0, fontName='fontname',
fontSize=1000, font = 'fontName',
anchor='start', truncate=1, pathReverse=0, gs=None)
z=text2PathDescription doesn't support multi byte fonts like %rr   endmiddleg       @N)rf   rh   r/   r0   r   pathReverseutf8:r      N:Nr   Nr   z-->z<--)r   
_multiByterU   r8   extendr   r   r	   decodeUnicodeDecodeErrorargsmaxr   substitutionFontslenr   r   bytesencNamer/   __self__)r   rf   rh   r/   r0   anchorr   r   r9   r[   P_extendtextLenr:   r   jFTnm1ftr   s   &&&&&&&&&          r   text2PathDescription3__makeTextPathsCode__.<locals>.text2PathDescription   s8    x(???4+<+<+<$%dgo%opp99w)$(CGu}I)
N:#B$$$R]]4aS[  |G]  H  I  ((( t}}S#';;v#6D $D0F0F)FGBb'!)C%.r]	6Aq%a..AHHQYY4G q1!**V^  J  "K  Lc6q(!;;A	 &3
  (((  2 S"#&&+CA"4qvvbzYZY_Y_`aYbYbcghklmnplpqrhstucvw{~  xA  BF  IJ  KM  IM  BN  DO  CQ  8Q  #S  SSs   F; ;IA6H<<I)r   r   c                  "   < \        R S: 24      h)zThis installation of reportLab has lacks PYCAIRO extra.
It cannot create paths from text.
Could not create text2PathDescription for using backends from )RuntimeError)r   r   TPs   *,r   r3    __makeTextPathsCode__.<locals>._   s"     $??Af H I Ir   )processGlyphr   r   r   )
reportlab.rl_configrC   rD   r8   tuplerF   ImportErrorr]   r   r.   )
rI   _TPrC   rD   r   r3   r   r   rF   r]   s
   f&    @@@@r   __makeTextPathsCode__r   6   s    >	~2y)		:i]2Z[\\
0300301	1Bz> Y" Y"v ./!nW[/6PQVZ")F -AZXXK N	I QQO  s    CCCr   r   c	                 \    V	P                  R \        4      p
\        V
! WW#WEWgVR7	      3/ V	B # )r   )rf   rh   r/   r0   r   r   r   r9   )r   r   r   )r   rf   rh   r/   r0   r   r   r   r9   r   t2pds   &&&&&&&&&, r   	text2Pathr      s@    88*+?@Dd4a%Xbdf nhln nr   )r   r@   r   r   r   r   )N)rF   )__all__reportlab.pdfbase.pdfmetricsr   r   r   reportlab.pdfbase.ttfontsr   reportlab.lib.utilsr   r	   r
   shapesr   r   r   r   sysr   	Exceptionr   r5   r   r@   r   globalsupdater   r   r   r   <module>r      sx   
 J I / ? ? R R 	I 	4&$
URn 	  &( )1~dnr   