)EjpddlmZddlmZddlmZddlZddlZddlZej e Z Gdde Z dZGdd eZGd d eZdS) )ttLib)safeEval) DefaultTableNceZdZdS) TTXParseErrorN)__name__ __module__ __qualname__JC:\PYTHON\MyICR_Suite\python\Lib\site-packages\fontTools/misc/xmlReader.pyrr sDr ri@c>eZdZ d dZd dZdZdZdZdZd Z dS) XMLReaderNFc*|dkr tj}t|dst|d|_d|_n||_d|_||_||_|ddlm }|dd ||_ d|_ g|_ ||_ d|_dS) N-readrbTFr)deprecateArgumentquietzconfigure logging instead)sysstdinhasattropenfile _closeStreamttFontprogressfontTools.misc.loggingToolsrrroot contentStack contentOnly stackSize)self fileOrPathrrrr!rs r __init__zXMLReader.__init__s   Jz6** &Z..DI $D  #DI %D      E E E E E E  g'B C C CDJ &r c|r|xjdz c_|jrn|jdd|j}|jd|dzpd|jd||j|jr||r|xjdzc_dSdS)Nrd) r"rrseektellset _parseFilerclose)r#rootlessfileSizes r rzXMLReader.read,s  NNa NN =  INN1a y~~''H M  aS!5A 6 6 6 INN1     """    JJLLL  NNa NNNN  r c8|jdSN)rr.)r#s r r.zXMLReader.close:s r crddlm}|}|j|_|j|_|j|_d} |t}|s| |ddS|t|z}|j r|j |dz| |d)Nr) ParserCreateTr'r))xml.parsers.expatr4_startElementHandlerStartElementHandler_endElementHandlerEndElementHandler_characterDataHandlerCharacterDataHandlerrBUFSIZEParselenrr,)r#rr4parserposchunks r r-zXMLReader._parseFile=s222222%)%>"#'#: &*&@# #IIg&&E  UA&&&E "C} . !!#*--- LL " " " #r c8|jdkr*|jr#|jgd|_dS|j}|dz|_|d}|rt |jdr*tj |jj }ntj }tj ||}|s|dkrtd|z|jjW|jjsK|d}|4t#|dkrt%d |zd z}||j_|jgdS|dkrS|Kt)||j|j}||jgdSt/j|}d |z} |jr|j| t4| |d kr t.j} nBd |vsd |vrt%|d rt:} nt/j|} | t:} |dkr||jvr|j||_n| ||_|j|j|<|jgdS|dkr[|Yt)||j|jd}||jg|j |_ dS|dkr1|jg|||jdf|_ dSg} |jd||| f|j| dS)Nr'r(srcnamerzillegal root tag: %s sfntVersion"zParsing '%s' table... GlyphOrderERRORrawlocaT)r!)!r"r!r appendgetrrospathdirnamerDgetcwdjoinrrreadertablesr>rrErrrrxmlToTagsetLabelloginforHr getTableClass currentTabler) r#rDattrsr"subFilerQrE subReadertagmsg tableClassls r r6zXMLReader._startElementHandlerPs >Q  4#3    $ $R ( ( (DN FN "Q))E""  ty&)) &'//$).99)++gll7G44G0 (x#$:T$ABBB{!)$+2D)#ii 66 *;''1,,&.s[/@3/F&G&G .9DK+   $ $R ( ( ( ( ( !^^"%gt{DMJJ    !((,,,.&&C)C/C} , &&s+++ HHSMMMl"""- E!!eunn%,9O9On) "055 %!-Jf}} !3!3%)K$4!!$.JsOO!#'#4 C   $ $R ( ( ( ( ( !^^ 3!'4; SWXXXI NN      $ $R ( ( (!DIII !^^   $ $R ( ( (ud&7&;A    %b)t04R8#>>%b)"-55!"%b)))T1)))))!"%,,T22222  r c|jdz |_|jd=|jsU|jdkr d|_dS|jdkr8|j\}}}|j||||jd|_dSdSdS)Nr'rLr()r"r r!rr[fromXMLr)r#rDr\contents r r8zXMLReader._endElementHandlers!+  b ! !~""  1$$'+y$eW!))$w LLL   ! !%$r )NNF)F) rr r r%rr.r-r6r:r8r r r rrsIN0     ###&C(C(C(J333 ! ! ! ! !r rc,eZdZddZd dZd dZdZdS) ProgressPrinterr)c$t|dSr2print)r#titlemaxvals r r%zProgressPrinter.__init__s e r NcdSr2r )r#valrqs r r,zProgressPrinter.set r r'cdSr2r )r#rss r incrementzProgressPrinter.incrementrtr c$t|dSr2rn)r#texts r rWzProgressPrinter.setLabels d r )r)r2)r')rr r r%r,rvrWr r r rlrls_        r rl) fontToolsrfontTools.misc.textToolsr#fontTools.ttLib.tables.DefaultTablerrrOlogging getLoggerrrX Exceptionrr<objectrrlr r r rs------<<<<<< g!!     I    [![![![![![![![!|     f     r