
    %h59                     X   % S SK r S SKJr  S SKJr  S SKJrJrJrJ	r	J
r
Jr  SSKJrJr  SSKJr  SSKJr  SS	KJrJrJr  S
\S\S\S\	\\\
\\\\4   4   \\4   4S jrSS\" \" \" S5      S/S-  5      5      0 4r\	\\\
\\\\4   4   \\\4   4   \S'   SSSSSSS.r \\\4   \S'   0 SS_SS_SS_SS_SS_S S_S!S_S"S_S#S$_S%S$_S&S$_S'S$_S(S)_S*S)_S+S)_S,S)_S-S)_S.S0Er!\\\4   \S/'   S0\S1\S\	\
\\\\4   4   \4   4S2 jr"S0\S1\S\	\\\4   \\\   4   4S3 jr#S0\S\$4S4 jr%S5\$S6\&S7\&S8\
S\	\\4   4   S9\\\4   S:\\   S\	\&\&\
S\	\\4   4   4   4S; jr'S5\$S9\\\4   S:\\   S8\
S\	\\4   4   S\
S\	\\4   4   4
S< jr(S5\$S9\\\4   S:\\   SS4S= jr)S0\S1\S\S\4S> jr*g)?    N)	unhexlify)ceil)AnyDictListTupleUnioncast   )adobe_glyphscharset_encoding)logger_warning)PdfReadWarning)DecodedStreamObjectDictionaryObjectStreamObject	font_namespace_widthobjreturnc                 `   US   S   U    n[        [        US   5      nSn[        X55      u  pe[        X55      u  punUS:X  a  SU;  d	  US   S:X  a  SnO6S	nO3[	        U[
        5      (       a  U H  n	U	S
::  d  M  [        U	5      Xi'   M      [        [        [        US   5         n[	        U[        5      (       a   UR                  S5      S   n
OUn
[        X:U5      nU[        US-  5      UUU4$ ! [         a     NXf = f! [         a"    UR                  S	5      n
U
S   SU
S   -  -   n
 NZf = f)zDetermine information about a font.

This function returns a tuple consisting of:
font sub-type, space_width/2, encoding, map character-map, font-dictionary.
The font-dictionary itself is suitable for the curious.z
/Resourcesz/Font/Subtype     r   charmap	utf-16-be   	/BaseFontr         )r
   strparse_encodingparse_to_unicode
isinstancedictchr_default_fonts_space_width	Exceptionencodecompute_space_widthfloat)r   r   r   ft	font_type
space_codeencodingmap_dict	int_entryxspsp_widths               D/var/www/auris/envauris/lib/python3.13/site-packages/PyPDF2/_cmap.pybuild_char_mapr7      s`    |,W5i@B#r*~.IJ)"9H&6r&F#H) 2~X"!2 !H"H 
Hd	#	#ACx!!f 0c2k?1KL *c""	%""9-a0B
 "2;7H 	hl
     	%"";/BAr!u$B	%s$   C1 ;D 1
C>=C>)D-,D-Unknowni'  r    u   �unknown_char_mapr   gbkgb2312)z/Identity-Hz/Identity-Vz	/GB-EUC-Hz	/GB-EUC-Vz/GBpc-EUC-Hz/GBpc-EUC-V_predefined_cmapz	/CourrieriX  z/Courier-Boldz/Courier-BoldObliquez/Courier-Obliquez
/Helveticai  z/Helvetica-Boldz/Helvetica-BoldObliquez/Helvetica-Obliquez/Helvetica-Narrow   z/Helvetica-NarrowBoldz/Helvetica-NarrowBoldObliquez/Helvetica-NarrowObliquez/Times-Roman   z/Times-Boldz/Times-BoldItalicz/Times-Italicz/Symbolz/ZapfDingbatsr(   r-   r/   c                 8   / nSU ;  aw   SU ;   aR  [        [        U S   5      [        ;   a7  [        [	        [        S5      [        [        [        U S   5         5      5      nOSnU[        [        [        U S   5         4$ U S   R                  5       n[        U[        5      (       aB   U[        ;   a  [        U   R                  5       nO{U[        ;   a
  [        U   nOg[        S5      e[        U[        5      (       a0  SU;   a*   [        [        [        US   5         R                  5       nO[        S   R                  5       nSU;   aT  Sn[        [        [        [        U5      S   5       H-  n[        U[         5      (       a  UnM   ["        U   X$'   US-  nM/     [        U[$        5      (       a  [        [	        [        S5      U5      5      nX!4$ ! [         a$    [        [        U S   5      S:X  a  SU4s $ SU4s $ f = f! [         a$    [        R                  " S	U S
3[        5        Un Nf = f! [         a:    [        R                  " S	U S
3[        5        [        S   R                  5       n GN5f = f! [         a    XRU'   US:X  a  Un GNf = f)Nz	/Encodingr   r    r   r   z/Type1r   z	not foundzAdvanced encoding z not implemented yetz/BaseEncodingz/StandardCodingz/Differencesr    r   )r
   r"   r   r&   zipranger(   r)   
get_objectr%   copyr<   warningswarnr   r   intr   list)r-   r/   r0   encr3   os         r6   r#   r#   q   s    79H"	&b T#r+%?CS%Sc
$4T#r+5O$PQ %7S"[/8RSSS )+;(B(B(DC#s	&&+C0557((+C0,, 
C)	*	*#/E	B'S#o2F(GHMMOH $$56;;=&-=s(CN(STA!S!!'".q/HK
 Q U (D!!E#J12a  	&CJ(H4 *,,:~%		&  	MM$SE)=> H	  	BMM$XJ.BC ((9:??AH	B" ! '"#QKCx%&
's[   A5G )!H H H (H8 I?%H=HH+H54H58A I<;I<?JJc           	          0 n/ nSU ;  a  0 U/ 4$ SnSnS n[        U 5      nUR                  S5       H#  n[        UR                  S5      XEXbU5      u  pEnM%     UR	                  5        H  u  pU
S:X  d  M  U	nM     X!U4$ )N
/ToUnicodeF   
    r@   )
prepare_cmsplitprocess_cm_linestripitems)r-   r/   r1   r2   
process_rgprocess_charmultiline_rgcmlavalues              r6   r$   r$      s    
  "H I2:r!!JL 	  
BBXXe_1@GGDM:\Y2
.
, 
 NN$C<J % **    c                 v   U S   n[        U[        5      (       a"  [        [        U S   5      R	                  5       nO-[        U[
        5      (       a  UR                  S5      (       a  Sn[        W[
        5      (       a  UR                  5       nUR                  5       R                  SS5      R                  SS5      R                  SS	5      R                  S
S5      R                  SS5      R                  SS5      nUR                  S5      n[        [        U5      5       HP  nX4   R                  S5      nUS:  d  M  US:X  a  SnOX4   S U R                  SS5      nUS-   X4   US-   S  -   X4'   MR     SR                  U5      R                  SS5      R                  SS5      R                  SS5      nU$ )NrL   z	/Identitys,   beginbfrange
<0000> <0001> <0000>
endbfrange   beginbfchars   
beginbfchar
	   endbfchars   
endbfchar
   beginbfranges   
beginbfrange

   endbfranges   
endbfrange
s   <<s   
{
s   >>s   
}
   <   >r      .rN   r[   r      [s    [    ]s    ]
    rM   )r%   r   r
   r   get_datar"   
startswithr*   rR   replacerP   rB   lenfindjoin)r-   turW   llijcontents          r6   rO   rO      s   	L	B"l##%r,'78AAC	B		{!;!;>"cYY[ 	
	!3	4	/	0	"5	6	 1	2		!		!  
$B3r7^EJJt6Av %)++D#6dNRU1q57^3BE  
2	v		x	 			  Ir[   rX   rT   rU   rV   r1   r2   c                     U S;   d	  U S   S:X  a  XU4$ SU ;   a  SnOBSU ;   a  SnO9SU ;   a  SnO0S	U ;   a  SnO'U(       a  [        XXS5      nOU(       a  [        XU5        XU4$ )
N)r[   rN   r   %   r_   Tr`   Fr]   r^   )parse_bfrangeparse_bfchar)rX   rT   rU   rV   r1   r2   s         r6   rQ   rQ      s|     	K1Q42:55!
	!	
	1				$Q)J	Q),\11r[   c                 \   U R                  S5       Vs/ s H  oD(       d  M  UPM     nnSn[        [        US   5      [        US   5      5      n[        US-  5      US'   SUS   S-  -  nUb}  US   n	US   n
USS   Hh  nUS:X  a  S	n  GO[	        U5      R                  S
S5      U[	        X-  5      R                  US   S:X  a  SOS
S5      '   UR                  U	5        U	S-  n	Mj     GO1[        US   S5      n	[        US   S5      n
US   S:X  aq  USS   Hg  nUS:X  a  S	n  O[	        U5      R                  S
S5      U[	        X-  5      R                  US   S:X  a  SOS
S5      '   UR                  U	5        U	S-  n	Mi     O[        US   S5      nS[        S[        US   5      5      -  nS	nX::  ah  [	        X-  5      R                  S
S5      U[	        X-  5      R                  US   S:X  a  SOS
S5      '   UR                  U	5        U	S-  n	US-  nX::  a  Mh  U(       a  S $ X4$ s  snf )NrN   Fr   r   r!   r   s   %%0%dXre   Tr   surrogatepassr      rd         )rP   maxrj   r   r   decodeappendrG   )rX   r1   r2   rV   r3   lstclosure_foundnbifmtrY   bsqcfmt2s                 r6   rt   rt     si    ggdm
)mq1mC
)M
c#a&k3s1v;
'Ca=HRL
x|a'
(COOab'BTz $ "$$[/B #'"))!)"!2I# QFA  AOAOq6T>!"g:$(M bM((oF cg&--%-b\Q%6	K'   #Q  CFBAs1c#a&k22D M& dh'..{OL cg&--%-b\Q%6	K'   #QQ & !4,qf,e *s
   
H)H)c                    U R                  S5       Vs/ s H  o3(       d  M  UPM     nn[        US   5      S-  US'   [        U5      S:  a  SnUS   S:w  a2  [        US   5      R                  [        US   5      S:  a  S	OS
S5      nUU[        US   5      R                  US   S:X  a  S	OS
S5      '   UR	                  [        US   S5      5        USS  n[        U5      S:  a  M  g g s  snf )NrN   r   r!   r   r   r   rc   rz   r   r   rw   rx   )rP   rj   r   r|   r}   rG   )rX   r1   r2   r3   r~   map_tos         r6   ru   ru   I  s    ggdm
)mq1mC
)s1v;!#HRL
c(Q,q6T>s1v&-- Q[1_	+F 	 	c!f$$%b\Q.	K	

 	SVR)!"g c(Q, *s
   
C,C,c                 ,   US-  n/ n0 nSnSU ;   a  U S   S   R                  5       n [        [        US   5      US'   SU;   a  [	        US   5      nO/ n[        U5      S:  a  US   nUS   n[        U[        5      (       a  [        Xh5       H
  n	US   XY'   M     US	S  nOR[        U[        5      (       a  U H  n
XU'   US-  nM     USS  nO%[        S
US   R                  5       -   [        5        O[        U5      S:  a  M   XQ   nU$ SU ;   ai  [	        U S   5      n [        [        U S   5      n[        [        U S   5      nXa:  d  X:  a  [        S5      eXAU-
     S:X  a  [        S5      eXAU-
     nU$ U$ ! [         a	    SUS'    GNQf = f! [         a    US   S-  n U$ f = f! [         a\    SU ;   a"  S[        [        U S   5      ;   a  U S   S   n U$ SnSnU H  n	U	S:  d  M  X-  nUS-  nM     U[        SU5      -  S-  n U$ f = f)Nr!   r   z/DescendantFontsz/DWr   g     @@z/Wr   ry   zunknown widths : 
g       @z/Widthsz
/FirstCharz	/LastCharzNot in rangez
null widthz/FontDescriptorz/MissingWidth)rC   r
   r,   r)   rH   rj   r%   rG   rB   r   __repr____name__r   r{   )r-   r/   r   r5   ww1stft1secondr3   yenmcpts                 r6   r+   r+   \  s    "AoH
A	BBR#$Q'224	%U,BrF 3;SYAA!fqj1BqTF&#&&r*AaDBE +abEFD))ArF!GB   abE)SY,@,@,BB # !fqj$	~H: O1 
bI	/c2l+,B3;0B"///b!Q&--b)H O8Om  	BrF	4  	2 6 O9	  	/ B&?d "%6"7? , /0A O A1uq  s1c{?Q.O	/sB   E> F "AF- >FFF*)F*-/HH0HH)+rE   binasciir   mathr   typingr   r   r   r   r	   r
   _codecsr   r   _utilsr   errorsr   genericr   r   r   r"   r,   rG   r7   r&   rA   rB   r9   __annotations__r<   r(   r#   r$   bytesrO   boolrQ   rt   ru   r+    r[   r6   <module>r      s      6 6 3 " " H H77!&7-=7
c4S>)*D2BB7x U3Z%3	'(	S %UE#tCH~*=$>S#XNO  $ $sCx. ..S. C. 	.
 #. s. c. #. . S. #C. . C. 3. .  S!." s#.$ S%. DcN ,= = &)= 
5d38n$%s*+= @++&)+
4S>3S	)*+:$# $ $N222 2 eCHo-.	2
 38n2 Cy2 4uT5c?2334228-8-38n8- Cy8- eCHo-.	8-
 4sCx !8-vE T#s(^ S	 d &AA&)A8=A
Ar[   