
    hq                        S r SSKrSSKr " S S\R                  5      rS\" S5      \" S5      \" S5      \" S	5      \" S
5      \" S5      \" S5      S.4S\" S5      \" S	5      \" S
5      \" S5      \" S5      S.4S\" S	5      \" S5      \" S5      \" S
5      \" S5      \" S5      S.4S\" S5      \" S	5      \" S
5      \" S5      \" S5      S.4S.r0 rS r\R                  " \5        g)zExtend the Python codecs module with a few encodings that are used in OpenType (name table)
but missing from Python.  See https://github.com/fonttools/fonttools/issues/236 for details.    Nc                   :    \ rS rSrS rS rS	S jrS	S jrS rSr	g)
ExtendCodec   c                    Xl         X l        X0l        UR                  5        VVs0 s H  u  pEXT_M	     snnU l        [        S UR                  5        5       5      U l        [        R                  " U R                   U R                  U R                  S9U l        [        R                  " XR                  5        g s  snnf )Nc              3   8   #    U  H  n[        U5      v   M     g 7fN)len).0vs     L/var/www/html/env/lib/python3.13/site-packages/fontTools/encodings/codecs.py	<genexpr>'ExtendCodec.__init__.<locals>.<genexpr>   s     <+;a3q66+;s   )nameencodedecode)r   base_encodingmappingitemsreversemaxvaluesmax_lencodecs	CodecInfor   r   inforegister_errorerror)selfr   r   r   kr   s         r   __init__ExtendCodec.__init__	   s    	*)099<7>>+;<<$$4;;t{{
	 	dJJ/ :s   B<c                 f   [         R                  " U5      n[        U5      nU" 5       nU(       a$   U" X@R                  U R                  S9n	X-  n X4$ X4$ ! U aI  n
X" US U
R
                   U R                  U R                  5      -  nU" U
5      u  pX-  nXLS  n S n
A
OS n
A
ff = fU(       a  M  N_)N)errors)r   lookup_errorr	   r   r   start)r   mapperoutput_typeexc_typeinputr#   base_error_handlerlengthoutpartereplacementposs                r   _mapExtendCodec._map   s    #008Um	$e%7%7		J {s{  $veIagg.0B0BDIINN#5a#8 "d$ es   A B&?B!!B&c                 V    U R                  [        R                  [        [        X5      $ r   )r1   r   r   bytesUnicodeEncodeErrorr   r)   r#   s      r   r   ExtendCodec.encode&   s    yy/A5QQ    c                 V    U R                  [        R                  [        [        X5      $ r   )r1   r   r   strUnicodeDecodeErrorr6   s      r   r   ExtendCodec.decode)   s    yy-?OOr8   c                 8   [        U[        5      (       ai  [        UR                  S-   UR                  S-   5       H>  nUR
                  UR                  U nX0R                  ;   d  M-  U R                  U   U4s  $    O[        U[        5      (       au  [        UR                  S-   UR                  U R                  -   S-   5       H>  nUR
                  UR                  U nX0R                  ;   d  M-  U R                  U   U4s  $    U R                  Ul        Ue)N   )
isinstancer;   ranger%   endobjectr   r5   r   r   r   encoding)r   r.   rA   ss       r   r   ExtendCodec.error,   s    a+,,QWWq[!%%!)4HHQWWs+$<<?C// 5 -..QWWq[!''DLL*@1*DEHHQWWs+$<<?C// F YY
r8   )r   r   r   r   r   r   N)strict)
__name__
__module____qualname____firstlineno__r    r1   r   r   r   __static_attributes__ r8   r   r   r      s    	0$RPr8   r   	shift_jis|   ~   \         i"!  i&   )      ~               big5)rU   rV   rW   rX   rY   euc_kri   i   )rU            rX   rY   gb2312   )x_mac_japanese_ttxx_mac_trad_chinese_ttxx_mac_korean_ttxx_mac_simp_chinese_ttxc                 @   [         R                  " U 5      n U [        ;   am  U [        ;  aP  [        U    u  pU SS  S:X  d   eU S S U/nU H-  n [        R
                  " U5        [        XU5      [        U '     O   [        U    R                  $ g ! [         a     MR  f = f)N_ttx)		encodingsnormalize_encoding_extended_encodings_cacher   lookupLookupErrorr   r   )r   r   r   base_encodingss       r   search_functionro   l   s    ''-D""v%8%>"M9&&& #3Bi7N!/MM-0  +4Ht "0 d|    # s   B
BB)
__doc__r   rh   Codecr   chrrj   rk   ro   registerrL   r8   r   <module>rt      s%  `  0&,, 0j 	[[[[[[[	
 	[[[[[	
	 	[[[[[[	

 	[[[[[	
	E, \ 
6   r8   