
    ۡi-                        U d dl Z d dl mZ d dl mZ d dlmZ d dlmZmZm	Z	 ddl
mZmZ ddlmZmZ dd	lmZmZmZmZmZ i d
dddddddddddddddddddddddddddddddddd diZeeef   ed!<   d"ed#eeeeeef   f   eeef   f   fd$Zd"ed#eeeeef   f   fd%Zd"ed#eeeef   ee   f   fd&Zd"ed#e fd'Z!d(e d)e"d*e"d+edeeef   f   d,eeef   d-ee   d#ee"e"edeeef   f   f   fd.Z#d(e d,eeef   d-ee   d+edeeef   f   d#edeeef   f   f
d/Z$d(e d,eeef   d-ee   d#dfd0Z%d"ed,eeef   d-ee   d#eeeef   ee   f   fd1Z&y)2    N)Error)	unhexlify)ceil)AnyUnioncast   )adobe_glyphscharset_encoding)logger_errorlogger_warning)DecodedStreamObjectDictionaryObject
NullObjectStreamObjectis_null_or_nonez/Identity-H	utf-16-bez/Identity-Vz	/GB-EUC-Hgbkz	/GB-EUC-Vz/GBpc-EUC-Hgb2312z/GBpc-EUC-Vz
/GBK-EUC-Hz
/GBK-EUC-Vz/GBK2K-Hgb18030z/GBK2K-Vz
/ETen-B5-Hcp950z
/ETen-B5-Vz/ETenms-B5-Hz/ETenms-B5-Vz/UniCNS-UTF16-Hz/UniCNS-UTF16-Vz/UniGB-UTF16-Hz/UniGB-UTF16-V_predefined_cmapftreturnc                     t        |       }t        |       \  }}t        |t              r|D ]  }|dk  s	t	        |      ||<    ||fS )N   )_parse_encoding_parse_to_unicode
isinstancedictchr)r   encodingmap_dict	int_entryxs        U/home/obispo/Crisostomo_bridge/mision_env/lib/python3.12/site-packages/pypdf/_cmap.pyget_encodingr'   (   sY     r"H+B/Hi (D! 	%ACx!!f	% X    c                    g }d| vrYd| v rQt        t        | d         t        v r8t        t	        t        d      t        t        t        | d                        }|S d}|S t        t        t        t        t        f   | d   j                               }t        |t              rF	 |t        v rt        |   j                         }n$|t        v r
t        |   }nd|v rd}nt        d      nUt        |t              r.d
|v r*	 t        t        t        |d
            j                         }nt        d   j                         }t        |t              rQd|v rMd}t        t        |d         D ]5  }t        |t               r|}	 |t#        |      k  rt$        |   ||<   |dz  }7 t        |t&              rt        t	        t        d      |            }|S # t        $ r t        d| d	t               |}Y w xY w# t        $ r. t        d| d	t               t        d   j                         }Y w xY w# t        $ r |||<   Y w xY w)Nz	/Encodingz	/BaseFont   charmapz-UCS2-r   z	not foundzAdvanced encoding z not implemented yetz/BaseEncodingz/StandardEncodingz/Differencesr   r	   )r   strr   r    zipranger   r   r   
get_objectr   copyr   	Exceptionr   __name__intlenr
   list)r   r"   encr%   os        r&   r   r   :   sO    79H""c2k?!;?O!OE#J 0c2k?1K LMH
  !H48c#Z/0"[/2L2L2N5C #s	 &&+C0557((+C0S&,, 
C)	*#/E	D'S#o2F(GHMMOH $$78==?#'(^s-B&N(;< 		A!S!$3x=(&21o Q		 (D!E#J12O;  	-cU2FGRH	  	D$XJ.BC ((;<AACH	D$ ! $"#HQK$s7   $AG >(G4 >H.G10G144H+*H+.H?>H?c           	          i }g }d| vr&| j                  dd      dk(  rt        | ||      S i g fS d}d}d }t        |       }|j                  d      D ]%  }t	        |j                  d      |||||      \  }}}' ||fS )N
/ToUnicodez/Subtype z/Type1F   
s    	)get_type1_alternative
prepare_cmsplitprocess_cm_linestrip)r   r#   r$   
process_rgprocess_charmultiline_rgcmlines           r&   r   r   u   s    
  "H I266*b!X-%b(I>>2vJL 	  
BB 
1@JJv2
.
L,
 Yr(   c                 
   | d   }t        |t              r"t        t        | d         j	                         }nd}t        |t
              r|j                         }|j                         j                  dd      j                  dd      j                  dd      j                  d	d
      j                  dd      j                  dd      }|j                  d      }t        t        |            D ]P  }||   j                  d      }|dk\  s|dk(  rd}n||   d | j                  dd      }|dz   ||   |dz   d  z   ||<   R dj                  |      j                  dd      j                  dd      j                  dd      }|S )Nr9   s,   beginbfrange
<0000> <0001> <0000>
endbfrange   beginbfchars   
beginbfchar
	   endbfchars   
endbfchar
   beginbfranges   
beginbfrange

   endbfranges   
endbfrange
s   <<s   
{
s   >>s   
}
   <   >r      .    r(   r	      [s    [    ]s    ]
    r;   )r   r   r   r   get_datar,   encoderA   replacer?   r.   r4   findjoin)r   turE   llijcontents          r&   r>   r>      so   	L	B"l#%r,'78AAC ?"cYY[ 	
	!3	4	/	0	"5	6	 1	2		!		!  
$B3r7^ 	4qEJJt6Av Q%)++D#6dNRU1q57^3BqE	4 
2	v		x	 			  Ir(   rF   rB   rC   rD   r#   r$   c                 :   | dk(  s| d   dk(  r|||fS | j                  dd      } d| v rd}n6d| v rd	}n/d
| v rd}n(d| v rd	}n!|r	 t        | |||      }n|rt        | ||       |||fS # t        j                  $ r }t	        d| d| t
               Y d }~3d }~ww xY w)Nr(   r   %      	rO   rJ   TrK   FrH   rI   zSkipping broken line z: )rU   parse_bfrangebinasciir   r   r2   parse_bfchar)rF   rB   rC   rD   r#   r$   errors          r&   r@   r@      s     s{d1gm<55<<t$D$
	$	
	4					P(xLQL 
T8Y/|\11	 ~~ 	P24("UGDhOO	Ps   A' 'B:BBc                 D   | j                  d      D cg c]  }|s|	 }}d}|d|d   dz  z  }|d   }|d   }	|D ]f  }
|
dk(  rd	} nt        |
      j                  d
d      |t        ||z        j                  |d   dk(  rdnd
d      <   |j                  |       |dz  }h nmt	        |d   d      }t	        |d   d      }	t        t        |d         t        |d               }t        |dz        |d<   d|d   dz  z  }|d   dk(  rn|dd  D ]e  }
|
dk(  rd	} nt        |
      j                  d
d      |t        ||z        j                  |d   dk(  rdnd
d      <   |j                  |       |dz  }g nt	        |d   d      }dt        dt        |d               z  }d	}||	k  rht        ||z        j                  d
d      |t        ||z        j                  |d   dk(  rdnd
d      <   |j                  |       |dz  }|dz  }||	k  rh|rd S ||	fS c c}w )NrO   Fs   %%0%dX   r   r	   rQ   Tr   surrogatepassr+      rP         )r?   r   decodeappendr3   maxr4   r   )rF   r#   r$   rD   r%   lstclosure_foundfmtabsqnbicfmt2s                 r&   r`   r`      s    jj&
,!1
,C
,M8B<!+,OO 	BTz $ "$$[/B #'"))!)"!2I# QFA	 AOAO#c!f+s3q6{+C!G}8B<!+,q6T>!"g :$(M bM((oF cAg&--%-b\Q%6	K'   #Q CFBAs1c#a&k22D Mq& dQh'..{OL cAg&--%-b\Q%6	K'   #QQ q& !4,q!f,g -s
   HHc                 (   | j                  d      D cg c]  }|s|	 }}t        |d         dz  |d<   t        |      dkD  rd}|d   dk7  r2	 t        |d         j                  t        |d         dk  rd	nd
d      }||t        |d         j                  |d   dk(  rd	nd
d      <   |j                  t        |d   d             |dd  }t        |      dkD  ry y c c}w # t        $ r$}t        d|d|d   dt               Y d }~d }~ww xY w)NrO   r   rf   re   r	   r:   rN   rj   r+   r   rg   zGot invalid hex string: z ()rh   )	r?   r4   r   rk   BinasciiErrorr   r2   rl   r3   )rF   r#   r$   r%   rn   map_to	exceptions          r&   rb   rb     s+   jj&
,!1
,C
,s1v;!#HRL
c(Q,q6T>`"3q6*11!$SVqIk? 	 	c!f$$%b\Q.	K	

 	SVR)!"g! c(Q, - ! `!9)bQ
RSTV^__`s"   CC1C$ $	D-DDc           	      b   d| vr||fS t        t        | d         j                  d      }t        |      r||fS |J d       |j	                         j                         }|j                  d      d   }|j                  d      d   }|j                  dd	      j                  d	      }|D ]  }|j                  d
      s|j                  d      D cg c]
  }|dk7  s	| }}t        |      dkD  r	|d   dk7  rP	 t        |d         }		 t        |d   j                            }
|
|t        |	      <   |j!                  |	        ||fS c c}w # t        $ r Y w xY w# t        $ rF |d   j                  d      r-	 t        t        |d   dd  d            }
n# t        $ r Y Y w xY wY Y w xY w)Nz/FontDescriptorz	/FontFilemypys   eexec
r   s	   /Encodingr	   rR   r;   s   duprO   r(   ri   s   putrf   s   /unirj   rh   )r   r   r<   r   r/   rS   r?   rU   
startswithr4   r3   
ValueErrorr
   rk   KeyErrorr!   rl   )r   r#   r$   ft_desctxtlinesli_wwordsrZ   vs              r&   r=   r=   .  s   
 """#R(9%:;??LGw""&&




'
'
)C
))J

"C
))L
!!
$CKKu%++E2E  == "$((4.>BB#IR>E>5zA~%(f"4aM	 q!23  !HSVQ) * Y' ?
    8&&w/!E!HQRL" 56% ! ! 	 sT   
EE=EE	EEF.=FF.	F&"F.%F&&F.-F.)'ra   r   ry   r   mathr   typingr   r   r   _codecsr
   r   _utilsr   r   genericr   r   r   r   r   r   r    r,   __annotations__tupler3   r'   r   r5   r   bytesr>   boolr@   r`   rb   r=    r(   r&   <module>r      s    +   # # 3 0 $;$;$ $ 	$
 8$ 8$ %$ %$ 	$ 	$ '$ '$ G$ G$ {$  {!$" i#$$ i%$ $sCx. .
5d38n$%tCH~56$88
3S#X8v
4S>49$%B&# & &R2
22 2 eCHo-.	2
 38n2 Cy2 4uT5c?23342:9-
9-38n9- Cy9- eCHo-.	9-
 4sCx !9-xu S#X 49 QU ,$$38n$ Cy$ 4S>49$%	$r(   