L iddlmZddlmZddlmZddlZddlZddlZeje Z Gdde Z dZGdd eZGd d eZy) )ttLib)safeEval) DefaultTableNc eZdZy) TTXParseErrorN)__name__ __module__ __qualname__^/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/fontTools/misc/xmlReader.pyrr sr ri@c<eZdZ d dZd dZdZdZdZdZdZ y) XMLReaderNc|dk(rtj}t|dst|d|_d|_n||_d|_||_||_|ddlm }|dd ||_ d|_ g|_ ||_ d|_y) 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 g'B CDJ &r c|r|xjdz c_|jrt|jjdd|jj }|jj d|dzxsd|jjd|j |j|jr|j|r|xjdzc_yy)Nrd) r"rrseektellset _parseFilerclose)r#rootlessfileSizes r rzXMLReader.read,s  NNa N == IINN1a yy~~'H MM  aS!5A 6 IINN1   "    JJL  NNa N r c8|jjyN)rr.)r#s r r.zXMLReader.close:s r crddlm}|}|j|_|j|_|j |_d} |jt}|s|j|dy|t|z}|jr|jj|dz|j|du)Nr) ParserCreater'r))xml.parsers.expatr4_startElementHandlerStartElementHandler_endElementHandlerEndElementHandler_characterDataHandlerCharacterDataHandlerrBUFSIZEParselenrr,)r#rr4parserposchunks r r-zXMLReader._parseFile=s2%)%>%>"#'#:#: &*&@&@#IIg&E UA&E "C}} !!#*- LL "r c|jdk(r/|jr#|jjgd|_y|j}|dz|_|j d}|~t |j dr4tjj|j j}ntj}tjj||}|s|dk7rtd|z|jjY|jj sC|j d}|0t#|dk7rt%d |zd z}||j_|jjgy|dk(r_|Mt)||j|j*}|j-|jjgyt/j0|}d |z} |j*r|j*j3| t4j7| |d k(rt.j8} n:d |vsd |vrt%|d rt:} nt/j<|} | t:} |dk(r#||jvr|j||_n&| ||_|j>|j|<|jjgy|dk(rb|`t)||j|j*d}|j-|jjg|j@|_ y|dk(r3|jjg|||jdf|_ yg} |jdj||| f|jj| y)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#3    $ $R (DN NN "Q))E"  tyy&)''//$))..9))+ggll7G4Gx#$:T$ABB{{!!)$++2D2D#ii 6 *;'1,&.s[/@3/F&G .9DKK+    $ $R ( !^"%gt{{DMMJ  !!((,..&C)C/C}} &&s+ HHSMl""-- E!eun%,9O) "005 %!-Jf} !3%)KK$4!$.sO!#'#4#4 C    $ $R ( !^ 3!'4;; SWXI NN     $ $R (!DI !^    $ $R (ud&7&7&;>A   %%b)t004R8#>%%b)"-5!!"%b)T1)!!"%,,T2 r c,|jdz |_|jd=|jsg|jdk(rd|_y|jdk(r@|j\}}}|jj ||||j d|_yyy)Nr'rLr()r"r r!rr[fromXMLr)r#rDr\contents r r8zXMLReader._endElementHandlers!+   b !~~"  1$'+yy$eW!!))$w L  % r )NNF)F) rr r r%rr.r-r6r:r8r r r rrs*IN0  #&C(J3 !r rc*eZdZddZddZddZdZy) ProgressPrinterct|yr2print)r#titlemaxvals r r%zProgressPrinter.__init__s  e r Ncyr2r )r#valrqs r r,zProgressPrinter.set r cyr2r )r#rss r incrementzProgressPrinter.incrementrtr ct|yr2rn)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 rsY-< g! I  [![!| f r