+
    f7iq  c                   s   R t ^ RIt^ RIt ! R R]P                  4      tRRR]! ^|4      R]! ^~4      R]! ^\4      R	]! ^4      R
]! ^4      R]! R4      R]! R4      /3RRR]! ^\4      R	]! ^4      R
]! ^4      R]! R4      R]! R4      /3RRR]! ^4      R]! R4      R]! R4      R]! ^4      R]! R4      R]! R4      /3RRR]! ^4      R	]! ^4      R
]! ^4      R]! R4      R]! R4      /3/t/ tR t]P                  ! ]4       R# )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                   sF   a  ] tR t^t o R tR tRR ltRR ltR tRt	V t
R# )	ExtendCodecc                s   Wn         W n        W0n        VP                  4        UUu/ uF  w  rEWTbK	  	  uppV n        \        R  VP                  4        4       4      V n        \        P                  ! V P                   V P                  V P                  R7      V n        \        P                  ! WP                  4       R# u uppi )c              3   s8   "   T F  p\        V4      x  K  	  R # 5iN)len)Z.0vs   & A/usr/lib64/python3.14/site-packages/fontTools/encodings/codecs.pyZ	<genexpr>Z'ExtendCodec.__init__.<locals>.<genexpr>   s     <+;a3q66+;s   )nameencodedecodeN)r   base_encodingmappingZitemsreverseZmaxZvaluesmax_lencodecsZ	CodecInfor   r   infoZregister_errorerror)selfr   r   r	   Zkr   s   &&&&  r   __init__ZExtendCodec.__init__	   s    	*)099<7>>+;<<$$4;;t{{
	 	dJJ/ :s   B?c                sv   \         P                  ! V4      p\        V4      pV! 4       pV'       d,    V! W@P                  V P                  R 7      p	W,          p W3# W3#   T dS   p
Y! TRT
P
                   T P                  T P                  4      ,          pT! T
4      w  rY,          pYLR p Rp
?
K  Rp
?
ii ; i))errorsN)r   Zlookup_errorr   r   r   start)r   ZmapperZoutput_typeZexc_typeinputr   Zbase_error_handlerZlengthZoutZparteZreplacementZposs   &&&&&&       r   _mapZExtendCodec._map   s    #008Um	$e%7%7		J {s{  $veIagg.0B0BDIINN#5a#8 "d$s   &A B8&AB33B8c                V    V P                  \        P                  \        \        W4      # r   )r   r   r   ZbytesUnicodeEncodeErrorr   r   r      &&&r   r   ZExtendCodec.encode&   s    yy/A5QQ    c                r   r   )r   r   r   ZstrUnicodeDecodeErrorr   r   r   r   ZExtendCodec.decode)   s    yy-?OOr   c                sx   \        V\        4      '       dw   \        VP                  ^,           VP                  ^,           4       FC  pVP
                  VP                  V pW0P                  9   g   K.  V P                  V,          V3u # 	  M\        V\        4      '       d   \        VP                  ^,           VP                  V P                  ,           ^,           4       FC  pVP
                  VP                  V pW0P                  9   g   K.  V P                  V,          V3u # 	  V P                  Vn        Vh)i   )Z
isinstancer   Zranger   endZobjectr	   r   r   r
   r   Zencoding)r   r   r   Zss   &&  r   r   ZExtendCodec.error,   s    a+,,QWWq[!%%!)4HHQWWs+$<<?C// 5 -..QWWq[!''DLL*@1*DEHHQWWs+$<<?C// F YY
r   )r   r   r	   r   r   r
   N)Zstrict)Z__name__Z
__module__Z__qualname__Z__firstlineno__r   r   r   r   r   Z__static_attributes__Z__classdictcell__)Z__classdict__s   @r   r    r       s%     	0$RP r   r    Zx_mac_japanese_ttxZ	shift_jiss   s   ~s   s   s   s   i"!  s   i&   Zx_mac_trad_chinese_ttxZbig5Zx_mac_korean_ttxZeuc_krs   i   s   i   s   Zx_mac_simp_chinese_ttxZgb2312c                 sZ   \         P                  ! V 4      p V \        9   dx   V \        9  dV   \        V ,          w  rV RR R8X  g   Q hV RR V.pV F-  p \        P
                  ! V4       \        YT4      \        T &    M	  \        V ,          P                  # R#   \         d     KX  i ; i)i   NZ_ttxi)		encodingsZnormalize_encoding_extended_encodings_cacher   ZlookupZLookupErrorr    r   )r   r   r	   Zbase_encodingss   &   r   search_functionr    l   s    ''-D""v%8%>"M9&&& #3Bi7N!/MM-0  +4Ht "0 d|    # s   BB*)B*)
Z__doc__r   r   ZCodecr    Zchrr   r   r    Zregister) r   r   <module>r!      s_  `  0&,, 0h S[S[S[S[S[S[S[	
 S[S[S[S[S[	
	 S[S[S[S[S[S[	

 S[S[S[S[S[	
	E, \ 
6   r   