
    gT=                        d ddddZ  G d de      Z G d de      Z G d	 d
e      Z G d de      Z G d de      Z G d de      Zg dZg dZ	g dZ
d Zd Zd Z G d de      Z G d de      Z G d de      Z G d de      Z G d d e      Z G d! d"e      Z G d# d$e      Z G d% d&e      Z G d' d(e      Z G d) d*e      Z G d+ d,e      Zd-Zd.d/lmZ  e eee            Zy0)1 readonlyexecuteonlynoaccess)             c                   $    e Zd ZdZdZdZd Zd Zy)	ps_objectr   r   Nc                 T    || _         | j                  j                  dd  dz   | _        y Nr	   typevalue	__class____name__r   )selfr   s     r/home/viktor/gitlab-persoonlijk/factuur-applicatie/venv/lib/python3.12/site-packages/fontTools/misc/psOperators.py__init__zps_object.__init__	   s&    
NN++AB/&8	    c                 h    d| j                   j                  dd  dt        | j                        dS )N<r	    >)r   r   reprr   r   s    r   __repr__zps_object.__repr__   s'     NN33AB7djj9IJJr   )r   
__module____qualname__literalaccessr   r   r    r   r   r   r      s    GFE9Kr   r   c                       e Zd ZdZd Zd Zy)ps_operatorr   c                 b    || _         || _        | j                  j                  dd  dz   | _        y r   )namefunctionr   r   r   )r   r&   r'   s      r   r   zps_operator.__init__   s-    	 NN++AB/&8	r   c                      d| j                   z  S )Nz<operator %s>)r&   r   s    r   r   zps_operator.__repr__   s    **r   N)r   r   r   r    r   r   r"   r   r   r$   r$      s    G9
+r   r$   c                       e Zd ZdZd Zd Zy)ps_procedurer   c                      y)Nz<procedure>r"   r   s    r   r   zps_procedure.__repr__    s    r   c                     d}t        t        | j                              D ]>  }|r|dz   t        | j                  |         z   }$|t        | j                  |         z   }@ |dz   S )N{r   })rangelenr   str)r   psstringis      r   __str__zps_procedure.__str__#   sd    s4::' 	9A#c>C

1,>>#c$**Q-&88		9
 #~r   N)r   r   r   r    r   r4   r"   r   r   r*   r*      s    Gr   r*   c                       e Zd ZdZd Zy)ps_namer   c                 P    | j                   rd| j                  z   S | j                  S N/)r    r   r   s    r   r4   zps_name.__str__0   s"    <<##::r   N)r   r   r   r    r4   r"   r   r   r6   r6   -   s    Gr   r6   c                       e Zd Zd Zy)
ps_literalc                      d| j                   z   S r8   r   r   s    r   r4   zps_literal.__str__8   s    TZZr   Nr   r   r   r4   r"   r   r   r;   r;   7        r   r;   c                       e Zd Zd Zd Zy)ps_arrayc                     d}t        t        | j                              D ]S  }| j                  |   }t        |j                     }|rd|z   }|r|dz   t        |      z   |z   }C|t        |      z   |z   }U |dz   S )N[r   ])r/   r0   r   _accessstringsr!   r1   )r   r2   r3   itemr!   s        r   r4   zps_array.__str__=   s    s4::' 	9A::a=D#DKK0Fv#c>CI5>#c$i/&8	9 #~r   c                      y)Nz<array>r"   r   s    r   r   zps_array.__repr__J   s    r   Nr   r   r   r4   r   r"   r   r   rA   rA   <   s    r   rA   )
FontInfoFontNameEncoding	PaintTypeFontType
FontMatrixFontBBoxUniqueIDMetricsStrokeWidth)	versionNoticeFullName
FamilyNameWeightItalicAngleisFixedPitchUnderlinePositionUnderlineThickness)PrivateCharStringsFIDc                     d}t         |j                     }|r|dz   }| dk(  r!|d| dt        |j                        dz   }|S | dk(  r|t	        ||      z   }|S |dt        |       dt        |      d|dz   }|S )Nr   r   r]   r9   z def
rK   def
)rE   r!   _type1_CharString_reprr   _type1_Encoding_reprr1   )keyr   r2   r!   s       r   _type1_item_reprrd   j   s    HELL)F#
m"5;;/
 
 O	 

	25&AA O #c(CJOOOr   c                     | j                   } d}t        d      D ]!  }| |   j                   }|dk7  s|d||fz  z   }# ||z   dz   S )Nz</Encoding 256 array
0 1 255 {1 index exch /.notdef put} for
   .notdefzdup %d /%s put
r`   )r   r/   )encodingr!   r2   r3   r&   s        r   rb   rb   {   sb    ~~HOH3Z A{  9"44y"@@HA fw&&r   c                 6    t        | j                               }y)Nxxx)sorteditems)charstringsrl   s     r   ra   ra      s    ;$$&'Er   c                       e Zd Zd Zd Zy)ps_fontc                    dt        | j                        z  }t        D ]!  }	 | j                  |   }|t        ||      z   }# t        | j                  j                               }|D ]$  \  }}|t        t        z   vs|t        ||      z   }& |dz   }t        D ]!  }	 | j                  |   }|t        ||      z   }# |dz   dz   dz   dz   S # t        $ r Y w xY w# t        $ r Y Lw xY w)N%d dict dup begin
z&currentdict end
currentfile eexec
dup z@dup/FontName get exch definefont pop
mark currentfile closefile
a  0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
)r0   r   _type1_pre_eexec_orderrd   KeyErrorrk   rl   _type1_post_eexec_order)r   r2   rc   r   rl   s        r   r4   zps_font.__str__   s6   (3tzz?:) 	CCC

3 $&6sE&BB	C tzz'')* 	CJC03JJJ#&6sE&BB	C HH* 	CCC

3 $&6sE&BB	C RS#$  		
!    s#   CC	CC	C'&C'c                      y)Nz<font>r"   r   s    r   r   zps_font.__repr__       r   NrH   r"   r   r   ro   ro      s    
:r   ro   c                       e Zd Zy)ps_fileN)r   r   r   r"   r   r   rz   rz      s    r   rz   c                       e Zd Zd Zd Zy)ps_dictc           	         dt        | j                        z  }t        | j                  j                               }|D ]@  \  }}t        |j
                     }|r|dz   }|dt        |      dt        |      d|dz   }B |dz   S )Nrq   r   r9   r`   zend )r0   r   rk   rl   rE   r!   r1   )r   r2   rl   rc   r   r!   s         r   r4   zps_dict.__str__   s    (3tzz?:tzz'')* 	TJC#ELL1F#c#hE
F"SSH		T
 &  r   c                      y)Nz<dict>r"   r   s    r   r   zps_dict.__repr__   rx   r   NrH   r"   r   r   r|   r|      s    !r   r|   c                       e Zd Zd Zy)ps_markc                 T    d| _         | j                  j                  dd  dz   | _        y )Nmarkr	   r   r   r   s    r   r   zps_mark.__init__   s&    
NN++AB/&8	r   Nr   r   r   r   r"   r   r   r   r          9r   r   c                       e Zd Zd Zy)ps_procmarkc                 T    d| _         | j                  j                  dd  dz   | _        y )Nprocmarkr	   r   r   r   s    r   r   zps_procmark.__init__   s&    
NN++AB/&8	r   Nr   r"   r   r   r   r      r   r   r   c                       e Zd Zd Zy)ps_nullc                 F    | j                   j                  dd  dz   | _        y r   )r   r   r   r   s    r   r   zps_null.__init__   s    NN++AB/&8	r   Nr   r"   r   r   r   r      s    9r   r   c                       e Zd Zd Zy)
ps_booleanc                     | j                   ryy)Ntruefalser=   r   s    r   r4   zps_boolean.__str__   s    ::r   Nr>   r"   r   r   r   r      s    r   r   c                       e Zd Zd Zy)	ps_stringc                 8    dt        | j                        dd z  S )Nz(%s)r   r   r   r   s    r   r4   zps_string.__str__   s    TZZ(2...r   Nr>   r"   r   r   r   r      s    /r   r   c                       e Zd Zd Zy)
ps_integerc                 ,    t        | j                        S Nr   r   s    r   r4   zps_integer.__str__       DJJr   Nr>   r"   r   r   r   r      r?   r   r   c                       e Zd Zd Zy)ps_realc                 ,    t        | j                        S r   r   r   s    r   r4   zps_real.__str__   r   r   Nr>   r"   r   r   r   r      r?   r   r   c                   8   e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
d	 Zd
 Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd ZeefdZd Zd Zd Zd Zd Z d Z!d Z"d Z#d  Z$d! Z%d" Z&d# Z'd$ Z(d% Z)d& Z*d' Z+d( Z,d) Z-d* Z.d+ Z/d, Z0d- Z1d. Z2d/ Z3d0 Z4d1 Z5y2)3PSOperatorsc                 |    | j                         }| j                         }|| j                  d   |j                  <   y Nr   )pop	dictstackr   )r   objr&   s      r   ps_defzPSOperators.ps_def   s/    hhjxxz),r4::&r   c                 j    | j                  d      }| j                  |       | j                  |       y Nproceduretype)r   	proc_bindpushr   procs     r   ps_bindzPSOperators.ps_bind   s'    xx(t		$r   c                 H   t        t        |j                              D ]z  }|j                  |   }|j                  dk(  r| j	                  |       3|j
                  r@	 | j                  |j                        }|j                  dk(  sl||j                  |<   | y #  Y xY w)Nr   operatortype)r/   r0   r   r   r   r    resolve_name)r   r   r3   rF   r   s        r   r   zPSOperators.proc_bind   s    s4::' 	0A::a=DyyO+t$||0"//

; 88~5,/DJJqM	0s    BB!c                     t        | j                        dk  rt        d      | j                         }| j                         }| j	                  |       | j	                  |       y )Nr   stack underflow)r0   stackRuntimeErrorr   r   )r   obj1obj2s      r   ps_exchzPSOperators.ps_exch  sJ    tzz?Q011xxzxxz		$		$r   c                 n    | j                   st        d      | j                  | j                   d          y )Nr   r   )r   r   r   r   s    r   ps_dupzPSOperators.ps_dup	  s)    zz011		$**R.!r   c                     | j                         }|j                  dk(  r| j                  |       y | j                  |       y r   )r   r   call_procedurehandle_objectr   r   s     r   ps_execzPSOperators.ps_exec  s5    hhj88&$s#r   c                 ^    | j                  t        t        | j                                     y r   )r   r   r0   r   r   s    r   ps_countzPSOperators.ps_count  s    		*S_-.r   c                     | j                         }| j                         }| j                  t        |j                  |j                  k(               y r   r   r   r   r   r   any1any2s      r   ps_eqzPSOperators.ps_eq  6    xxzxxz		*TZZ4::567r   c                     | j                         }| j                         }| j                  t        |j                  |j                  k7               y r   r   r   s      r   ps_nezPSOperators.ps_ne  r   r   c                 T    | j                         }d|_        | j                  |       y Nr   )r   r    r   r   s     r   ps_cvxzPSOperators.ps_cvx"  s    hhj		#r   c                     t        d      t        d      t        d      t        d      t        d      t        d      g}| j                  t        |             y )Ng      ?r   )r   r   r   rA   )r   matrixs     r   	ps_matrixzPSOperators.ps_matrix'  sF    CLqMqMCLqMqM
 			(6"#r   c                 t    | j                  d      j                  }| j                  t        d|z               y )Nintegertype )r   r   r   r   )r   nums     r   r   zPSOperators.ps_string2  s+    hh}%++		)D3J'(r   c                 l    | j                         }| j                  t        |j                               y r   )r   r   r   r   r   s     r   ps_typezPSOperators.ps_type6  s"    hhj		)CHH%&r   c                    | j                         }| j                         }|j                  }t        t        | j                        dz
  dd      D ]'  }|| j                  |   v s|| j                  |   |<    n || j                  d   |<   y )Nr   r   )r   r   r/   r0   r   )r   r   rc   r&   r3   s        r   ps_storezPSOperators.ps_store:  s    
hhjyys4>>*Q.B7 	At~~a((*/q!$'	 $)r4 r   c                 X    | j                         }| j                  t        d             y r   )r   r   r   r   r&   s     r   ps_wherezPSOperators.ps_whereD  s    xxz		*Q- r   c                 R    | j                  t        | j                  d                y r   r   r|   r   r   s    r   ps_systemdictzPSOperators.ps_systemdictI      		'$..+,-r   c                 R    | j                  t        | j                  d                y Nr   r   r   s    r   ps_userdictzPSOperators.ps_userdictL  r   r   c                 R    | j                  t        | j                  d                y r   r   r   s    r   ps_currentdictzPSOperators.ps_currentdictO  s    		'$..,-.r   c                 L    | j                  t        | j                               y r   )r   rz   	tokenizerr   s    r   ps_currentfilezPSOperators.ps_currentfileR  s    		'$..)*r   c                 Z    | j                  d      j                  }|j                          y Nfiletype)r   r   
starteexecr   fs     r   ps_eexeczPSOperators.ps_eexecU  s    HHZ &&	r   c                 z    | j                  d      j                  }|j                          |j                          y r   )r   r   	skipwhite	stopeexecr   s     r   ps_closefilezPSOperators.ps_closefileY  s(    HHZ &&		r   c                     | j                         }|| j                  k7  r!| j                         }|| j                  k7  r y y r   )r   r   r   s     r   ps_cleartomarkzPSOperators.ps_cleartomark^  s2    hhjTYY((*C TYYr   c                 n   | j                  d      }|j                  }| j                  d      }|j                  j                  dz   |j                  _        |j                  j                   ||            }||_        | j	                  |       | j	                   | ||       ||      k(               y )N
stringtyper   r   )r   r   posreadr   )r   r   r0   soldstrr   newstrs          r   ps_readstringzPSOperators.ps_readstringc  s    HH\"HHZ  ggkkAoc&k*		!		*S[CK789r   c                     | j                         }| j                  dd      }| j                  t        |j                  |j                  v              y )Ndicttypefonttyper   )r   rc   ds      r   ps_knownzPSOperators.ps_knowno  s;    hhjHHZ,		*SYY!''123r   c                     | j                  d      }| j                  d      j                  r| j                  |       y y Nr   booleantyper   r   r   r   s     r   ps_ifzPSOperators.ps_ift  s5    xx(88M"((% )r   c                     | j                  d      }| j                  d      }| j                  d      j                  r| j                  |       y | j                  |       y r  r  )r   proc2proc1s      r   	ps_ifelsezPSOperators.ps_ifelsey  sL    ))88M"((&&r   c                 r    | j                         }|j                  dk  rd|_        | j                  |       y r   r   r!   r   r   s     r   ps_readonlyzPSOperators.ps_readonly  *    hhj::>CJ		#r   c                 r    | j                         }|j                  dk  rd|_        | j                  |       y )Nr   r  r   s     r   ps_executeonlyzPSOperators.ps_executeonly  r  r   c                 r    | j                         }|j                  dk  rd|_        | j                  |       y )Nr	   r  r   s     r   ps_noaccesszPSOperators.ps_noaccess  r  r   c                     | j                  dd      }|j                  dk(  r&| j                  t        |j                                y | j                  t        |j                                y )Nr  r   )r   r   r   r   r   r   r   s     r   ps_notzPSOperators.ps_not  sL    hh}m488}$IIjSYY/0IIj#)),-r   c                 R    | j                  d      }t        d|j                         y )Nr   zPS output --->)r   printr   )r   r1   s     r   ps_printzPSOperators.ps_print  s    hh|$		*r   c                    | j                  d      }| j                  d      }t        |j                        }|j                  d | |j                  k(  rS| j                  t	        |j                  |d               | j                  |       | j                  t        d             y | j                  |       | j                  t        d             y )Nr   r   r   )r   r0   r   r   r   r   )r   seekr   seeklens       r   ps_anchorsearchzPSOperators.ps_anchorsearch  s    xx%HH\"djj/778G

*IIi 123IIdOIIjm$IIaLIIjm$r   c                 z    | j                  d      }t        d g|j                  z        }| j                  |       y Nr   )r   rA   r   r   )r   r   arrays      r   rA   zPSOperators.ps_array  s1    hh}%$#))+,		%r   c                     | j                  d      }t        t        |j                        dz
  dd      D ]  }| j                         |j                  |<   ! | j	                  |       y )N	arraytyper   r   )r   r/   r0   r   r   )r   r  r3   s      r   	ps_astorezPSOperators.ps_astore  sU    %s5;;'!+R4 	(A!XXZEKKN	(		%r   c                 x    | j                         }| j                  | j                  |j                               y r   )r   r   r   r   r   s     r   ps_loadzPSOperators.ps_load  s(    xxz		$##DJJ/0r   c                    | j                         }| j                         }| j                  dddd      }|j                  }|dk(  s|dk(  r||j                  |j                  <   y |dk(  r||j                  |j                  <   y |dk(  rJ|j                  }|j                  d | t        |j                        z   |j                  |dz   d  z   |_        y y )Nr  r   r   r   r   )r   r   r   chr)r   r   r   obj3tpindexs         r   ps_putzPSOperators.ps_put  s    xxzxxzxxZOYYo 5%)DJJtzz":%)DJJtzz"<JJEFU+c$**o=

5ST9;@WWDJ  r   c                    | j                         }|j                  dk(  r	 | j                  ddddd      }|j                  }|dv r)| j                  |j                  |j                            y |dv r)| j                  |j                  |j                            y |dk(  r;| j                  t	        t        |j                  |j                                        y J d	       )
NrK   r  r   r   r   r   )r  r   )r   r   zshouldn't get here)r   r   r   r   r   ord)r   r   r   r&  s       r   ps_getzPSOperators.ps_get  s    xxz::#xx\?J
 YY//IIdjj,-++IIdjj,-<IIjTZZ

%;!<=>...5r   c                    | j                  d      }| j                  d      }| j                  dd      }|j                  }|dk(  rI| j                  t        |j                  |j                  |j                  |j                  z                 y |dk(  rI| j                  t        |j                  |j                  |j                  |j                  z                 y y )Nr   r  r   )r   r   r   rA   r   r   )r   r   r   r%  r&  s        r   ps_getintervalzPSOperators.ps_getinterval  s    xx&xx&xx\2YYIIhtzz$**tzzDJJ7NOPQ<IIi

4::

TZZ8O PQR  r   c                    | j                  dd      }| j                  d      }| j                  dd      }|j                  }|dk(  rD|j                  |j                  |j                  |j                  t        |j                        z    y |dk(  rb|j                  d |j                   }||j                  z   }||j                  |j                  t        |j                        z   d  z   }||_        y y )Nr  r   r   )r   r   r   r0   )r   r   r   r%  r&  r   s         r   ps_putintervalzPSOperators.ps_putinterval  s    xx\2xx&xx\2YYDHJJDJJtzzDJJTZZ$@A<ZZ$**-Fdjj(Fdjjc$**o)E)GHHFDJ	  r   c                 j    | j                  t        | j                  d      j                               y )Nr   )r   r6   r   r   r   s    r   ps_cvnzPSOperators.ps_cvn  s"    		'$((<06678r   c                     | j                  d      j                  }|dk  rt        d      | j                  | j                  d|z
            y )Nr   r   zindex may not be negativer   )r   r   r   r   r   )r   ns     r   ps_indexzPSOperators.ps_index  sB    HH]#))q5:;;		$**R!V$%r   c                    | j                  d      }| j                  dd      j                  }| j                  dd      j                  }| j                  dd      j                  }	 |dkD  r||kD  ry ||k  ry t        |      t        d      k(  r| j                  t	        |             n| j                  t        |             | j                  |       ||z   }t)Nr   r   realtyper   g        )r   r   r   r   r   r   r   )r   r   limit	incrementr3   s        r   ps_forzPSOperators.ps_for  s    xx(
399HH]J7==	HH]J/551}u9u9Aw$s)#		'!*%		*Q-(%IA r   c                 4   | j                  d      }| j                  ddd      }|j                  }|dk(  r4|j                  D ]$  }| j                  |       | j	                  |       & y |dk(  rF|j                  D ]6  }| j                  t        t        |                   | j	                  |       8 y |dk(  r_|j                  j                         D ]A  \  }}| j                  t        |             | j                  |       | j	                  |       C y y )Nr   r  r   r   )	r   r   r   r   r   r   r*  rl   r6   )r   r   r   r&  rF   rc   r   s          r   	ps_forallzPSOperators.ps_forall
  s    xx(hh{L*=XX		 *		$##D)* <		 *		*SY/0##D)* :!iioo/ *
U		'#,'		% ##D)* r   c                     | j                  d      }| j                         }t        |j                        }|| j                  d   d   j                  |j                  <   | j	                  |       y )Nr   r   FontDirectory)r   ro   r   r   r   )r   fontr&   s      r   ps_definefontzPSOperators.ps_definefont  sV    xx
#xxztzz"?Cq/*00<		$r   c                     | j                         }| j                  d   d   j                  |j                     }| j                  |       y )Nr   r=  )r   r   r   r   )r   r&   r>  s      r   ps_findfontzPSOperators.ps_findfont#  s:    xxz~~a 177

C		$r   c                 $    | j                          y r   )r   r   s    r   ps_popzPSOperators.ps_pop(  s    
r   c                 Z    | j                  d       | j                  t        i              y r  )r   r   r|   r   s    r   r|   zPSOperators.ps_dict+  s    		'"+r   c                 l    | j                   j                  | j                  d      j                         y )Nr   )r   appendr   r   r   s    r   ps_beginzPSOperators.ps_begin/  s#    dhhz2889r   c                 d    t        | j                        dkD  r| j                  d= y t        d      )Nr   r   zdictstack underflow)r0   r   r   r   s    r   ps_endzPSOperators.ps_end2  s+    t~~"r"455r   N)6r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r0   r   r   r  r	  r  r  r  r  r  r  rA   r   r"  r(  r+  r-  r/  r1  r4  r9  r;  r?  rA  rC  r|   rG  rI  r"   r   r   r   r      s    -

0"
$/8
8

	$)')!
../+

 (2s 
:4
&
'.+
%
1X/"S 9&&*$
:6r   r   rg   r   )StandardEncodingN)rE   objectr   r$   r*   r6   r;   rA   rt   _type1_fontinfo_orderrv   rd   rb   ra   ro   rz   r|   r   r   r   r   r   r   r   r   notdef$fontTools.encodings.StandardEncodingrJ  listmapps_StandardEncodingr"   r   r   <module>rR     s)  J=ZH
K 
K	+) 	+9  i    
y $ 
  < "'
i D	i 	i 9i 99) 99i 9
 /	 /
   
 i  
O6& O6d
 
 A3w(89: r   