)Ej \dZddlZddlZGddejZdedededed ed ed ed d fdeded ed ed ed dfded ededed ed ed dfdeded ed ed ed dfdZiZdZej edS)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.Nc0eZdZdZdZddZddZdZdS) ExtendCodecc`||_||_||_d|D|_t d|D|_tj |j|j |j |_ tj ||jdS)Nci|]\}}|| Sr).0kvs LC:\PYTHON\MyICR_Suite\python\Lib\site-packages\fontTools/encodings/codecs.py z(ExtendCodec.__init__.. s999A1999c34K|]}t|VdSN)len)rr s r z'ExtendCodec.__init__..s(<>+;+;<<<<< $4;t{     dDJ/////r cVtj|}t|}|}|rw |||j|j} || z }nX#|$rN} |||d| j|j|jz }|| \} } || z }|| d}Yd} ~ nd} ~ wwxYw|w||fS)N)errors)r lookup_errorrrrstart) r!mapper output_typeexc_typeinputr$base_error_handlerlengthoutparte replacementposs r _mapzExtendCodec._maps#088Ukmm $ $veT%7 JJJt  $ $ $vveIagI.0BDINNN#5#5a#8#8 S{"cdd   $  $F{sAB"ABB"strictc\|tjtt||Sr)r2rrbytesUnicodeEncodeErrorr!r*r$s r rzExtendCodec.encode&syy/A5&QQQr c\|tjtt||Sr)r2rrstrUnicodeDecodeErrorr7s r rzExtendCodec.decode)syy-?OOOr ct|trRt|jdz|jdzD]0}|j|j|}||jvr|j||fcS1nnt|trYt|jdz|j|jzdzD]0}|j|j|}||j vr|j ||fcS1|j |_ |)N) isinstancer:ranger&endobjectrr6rrrencoding)r!r/r?ss r r zExtendCodec.error,s a+ , , 0QWq[!%!)44 0 0HQWs]+ $$<?C////% 0- . . 0QWq[!'DL*@1*DEE 0 0HQWs]+ $$<?C////%Y r N)r3)__name__ __module__ __qualname__r"r2rrr rr r rrsq 0 0 0$RRRRPPPP     r r shift_jis|~\i"!i& )~big5)rNrOrPrQrReuc_kri i )rNrQrRgb2312)x_mac_japanese_ttxx_mac_trad_chinese_ttxx_mac_korean_ttxx_mac_simp_chinese_ttxcVtj|}|tvr|tvrpt|\}}|dddksJ|dd|g}|D]A} t j|n#t $rY$wxYwt|||t|<t|jSdS)N_ttx) encodingsnormalize_encoding_extended_encodings_cacherlookup LookupErrorrr)rrrbase_encodingss r search_functionrhls  ' - -D """ v  %8%> "M79&&&&#3B3i7N!/   M-0000"H*4HHt d|  4sA-- A:9A:) __doc__rraCodecrchrrcrdrhregisterrr r rms`` 00000&,000j 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