L iq dZddlZddlZGddejZdedededed ed ed ed d fdeded ed ed ed dfded ededed ed ed dfdeded ed ed ed dfdZiZdZejey)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.eZdZdZdZddZddZdZy) ExtendCodecc||_||_||_|jDcic]\}}|| c}}|_t d|j D|_tj|j|j|j|_ tj||jycc}}w)Nc32K|]}t|ywN)len).0vs `/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/fontTools/encodings/codecs.py z'ExtendCodec.__init__..s>+;<< $$4;;t{{   dDJJ/ :s Ccbtj|}t|}|}|r* |||j|j} || z } ||fS||fS#|$rM} |||d| j |j|jz }|| \} } || z }|| d}Yd} ~ nd} ~ wwxYw|r])N)errors)r lookup_errorrrr start) rmapper output_typeexc_typeinputr base_error_handlerlengthoutparte replacementposs r _mapzExtendCodec._maps#008Um $eT%7%7 Jt F{sF{  $veIagg.0B0BDIINN#5a#8 S{"cd   $ s$AB*AB%%B*cX|jtjtt||Sr)r.rrbytesUnicodeEncodeErrorrr&r s r rzExtendCodec.encode&syy/A5&QQcX|jtjtt||Sr)r.rrstrUnicodeDecodeErrorr2s r rzExtendCodec.decode)syy-?OOr3ct|trft|jdz|jdzD]<}|j |j|}||j vs+|j ||fcSnt|trrt|jdz|j|jzdzD]<}|j |j|}||jvs+|j||fcS|j|_ |)N) isinstancer6ranger"endobjectrr1rrr encoding)rr+r;ss r rzExtendCodec.error,s a+ ,QWWq[!%%!)4 0HHQWWs+ $<<?C// 0- .QWWq[!''DLL*@1*DE 0HHQWWs+ $<<?C// 0YY r3N)strict)__name__ __module__ __qualname__rr.rrrr3r rrs 0$RP r3r shift_jis|~\i"!i& )~big5)rLrMrNrOrPeuc_kri i )rLrOrPgb2312)x_mac_japanese_ttxx_mac_trad_chinese_ttxx_mac_korean_ttxx_mac_simp_chinese_ttxc0tj|}|tvrj|tvrOt|\}}|dddk(sJ|dd|g}|D]-} t j |t|||t|<nt|jSy#t $rYOwxYw)N_ttx) encodingsnormalize_encoding_extended_encodings_cacherlookup LookupErrorrr)r rrbase_encodingss r search_functionrfls  ' ' -D "" v %8%> "M79& &&#3Bi7N!/  MM-0 +4Ht   d|    #s B  BB) __doc__rr_CodecrchrrarbrfregisterrCr3r rks'`0&,,0j [[[[[[[   [[[[[    [[[[[[    [[[[[   E,\ 6 r3