m Ȉ Hcs@s dkZdkZdkZdkZdkZdkZdZdZdZdZ dZ dZ ddd gd dd gd dd gd d d gdd d gdd d gddd gddd gdddgddd gddd gddd gdd d gdddgdddgdd d gdd dgd!d"dgd#d$d gd%d&dgd'd&d gd(d&d gd)d*d gd+d,d gd-d,dgd.d,d gd/d0d gd1d2dgd3d2d gd4d2d gd5d6d gd7d8dgd9d8d gd:d8d gd;d0d gd<d2d gd=d2dgd>d2d gd?d6d gd@d8d gdAd8dgdBd8d gdCdDd gdEdFd gdGdFdgdHdFd gdIdJd gdKdLd gdMdLdgdNdLd gdOdPd gdQdRd gdSdRdgdTdRd gdUdVd gdWdXd gdYdXdgdZdXd gd[d\d gd]d^d gd_d^dgd`d^d gdadd gdbdcd gddded gdfdgd gdhdidgdjdgd gdkdld gdmdnd gdodnd gdpdnd gd?d6d gd@d8d gdAd8dgdqdrd gdsdtd gdudtdgdvdtd ggOZ ei ie dwZdxdyd gdzdyd gd{dyd gd|dyd gd}d~d gdd~d gdd~d gddd gddd gddd gddd gddd gddd gddd gddd gddd gddyd gddyd gddd gddd gddd gddd gdd~d gdd~d gdd~d gddd gddd gddd gddd gddd gddd gddd gdddgddd gdddgddd gdadd gdbdcd gddd gddd gddd gdd d gd d d gddd gdd d gddd gdd d gdddgddd gdd d gdddgdddgdd d gdd dgdd"dgd#dd gddd gd'dd gd(dd gd)d*d gd+d,d gdd,dgd.d,d gd/dd gdddgd3dd gd4dd gd5dd gdddgd9dd gd:dd gd;d0d gd<d2d gdd2dgd>d2d gdCdd gdEdd gdddgdHdd gdIdJd gdKdLd gddLdgdNdLd gdOdPd gdQdRd gddRdgdTdRd gdUdVd gdWdXd gddXdgdZdXd gd[d\d gd]d^d gdd^dgd`d^d gdadd gdbdcd gddded gdfdgd gddgdgdjdgd gdkdld gdmdnd gddnd gdpdnd gd?d6d gd@d8d gdd8dgdBd8d gdqdd gdsdd gdddgdvdd ggqZei iedZddd gddd gddd gddd gdd~d gd}d~d gdd~d gddd gddd gddd gddd gddd gddd gddyd gddyd gddyd gddyd gddyd gddyd gddd gddd gddd gddd gddd gddd gddd gddd gddd gddd gddd gddd gddd gddd gddd gddd gddd gddd gddd gddd gddd gddd gddd gddd gddd gddd gddd gdd dgdd dgdd dgdd dgdd dgdd dgdd dgdd dgdd dgdd dgdd dgdd dgd9d dgdd dgd3d dgg=Zei iedZdS(NcCst|d|idS(s A word-wrap function that preserves existing line breaks and most spaces in the text. Expects that existing line breaks are posix newlines ( ). cCsRd|ddgt||iddt|iddd|j|fS(Ns%s%s%st s s ii(tlinetlentrfindtwordtsplittwidth(RRR((tB/data/zmath/mirror/zope/Products/zauthors/authors/tools/convert.pyt sRN(treduceRttextR(R R((RtwrapscCs ti|S(N(turllibt quote_plusR (R ((Rt url_escapescCsCti|dd}ti|dd}ti|dd}|S(Nt&s&ts>(tstringtreplaceR (R ((Rt html_escapescCsx#dD]}ti||d}qWx#dD]}ti||d}q-Wx#dD]}ti||d}qSWx#dD]}ti||d}qyWx#d D]}ti||d }qWx#d D]}ti||d }qWx#d D]}ti||d}qWx#dD]}ti||d}qWti|dd}ti|dd}ti|dd}ti|dd}ti|dd}ti|dd}ti|dd}ti|dd }ti|d d!}ti|d"d}ti|d#d$}|S(%Ns tastcstestistnstostustystaestoestuestAestOestUestsssstOsstAE(RRRR (R R((Rt iso2asciisHc Cshddddddddd g<d d d d ddg<dddg<ddddddddddg <dddd d!g<d"d#d$g<d%d&d'd(d)d*d+d,d-d.g <d/d0g<d1d2g<d3d4d5d6d7d8g<d9d:d;d<d=g<d>d?d@dAdBdCdDdEdFdGg <dHdIdJdKg<dLdMdNdOdPg<dQdRdSdTg<dUdVdWdXdYdZd[d\d]d^g <d_d`g<dadbdcddg<dedfdgdhg<didjdkdldmdndodpdqg<drdsdtdudvdwg<dxdydzg<d{d|d}d~ddddddg <dddddg<dddg<ddddddddddg <ddg<ddg<ddddddg<ddddddg<dddddddddg<ddddg<dddddg<ddddg<ddddddddddg <ddg<ddddg<ddddg<}hddg<ddCg<ddg<dddg<dddg<ddg<ddg<ddg<ddg<}hddg<ddg<ddg<ddg<ddg<ddg<ddg<ddg<ddg<ddg<ddg<ddg<ddg<ddg<ddg<ddg<ddg<ddg<dd g<d d g<d d g<ddg<ddg<ddg<ddg<ddg<ddg<ddg<ddg<ddg<d d!g<d"d#g<d$d%g<d&d'g<d(d)g<d*d+g<d,d-g<d.d/g<d0d1g<d2d3g<d4d5g<d6d7g<d8d9g<d:d;g<d<d=g<d>d?g<d@dAg<dBdCg<dDdEg<dFdGg<dHdIg<dJdKg<dLdMg<dNdOg<}xJ|i|iD]2\}}x#|D]}ti|||}qWqwW|SdS(PNtAsÀsÁsÂsÃsÅsĀsĂsĄtCsÇsĆsĈsĊsČtDsĎsĐtEsÈsÉsÊsËsĒsĔsĖsĘsĚtGsĜsĞsĠsĢtHsĤsĦtIsÌsÍsÎsÏsĨsĪsĬsĮsİtJsĴtKsĶtLsĹsĻsĽsĿsŁtNsÑsŃsŅsŇR$sÒsÓsÔsÕsÖsØsŌsŎsŐtRsŔsŖsŘtSsŚsŜsŞsŠtTsŢsŤsŦtUsÙsÚsÛsŨsŪsŬsŮsŰsŲtWsŴtYsÝsŶsŸtZsŹsŻsŽRsàsásâsãsåsāsăsąRsçsćsĉsċsčtdsďsđRsèsésêsësēsĕsėsęsětgsĝsğsġsģthsĥsħRsìsísîsïsĩsīsĭsįsıtjsĵtksķtlsĺsļsľsŀsłRsñsńsņsňsʼnRsòsósôsõsøsōsŏsőtrsŕsŗsřtssśsŝsşsšttsţsťsŧRsùsúsûsũsūsŭsůsűsųtwsŵRsýsÿsŷtzsźsżsžR sÄR!R"sÜRsäsæRsösœRsüR#sßR%sÆtOEsŒs\Alpha sΑs\Beta sΒs\Gamma sΓs\Delta sΔs \Epsilon sΕs\Zeta sΖs\Eta sΗs\Theta sΘs\Iota sΙs\Kappa sΚs\Lamda sΛs\Mu sΜs\Nu sΝs\Xi sΞs \Omicron sΟs\Pi sΠs\Rho sΡs\Sigma sΣs\Tau sΤs \Upsilon sΥs\Phi sΦs\Chi sΧs\Psi sΨs\Omega sΩs\alpha sαs\beta sβs\gamma sγs\delta sδs\epsilonsϵs\zeta sζs\eta sηs\thetasθs\iota sιs\kappa sκs\lamda sλs\mu sμs\nu sνs\xi sξs \omicron sοs\pisπs\rhosρs\sigmasσs\tau sτs \upsilon sυs\phisϕs\chi sχs\psi sψs\omega sωs \varepsilonsεs \varthetasϑs\varpisϖs\varrhosϱs \varsigmasςs\varphisφ( tcharstumlautstgreektitemstchartlisttcodeRRR (R RFRKRERJRIRG((Rt utf82ascii6s])x 9 cCssxWtiiD]F\}}|djo-|djo |it|d|}qqWti dd|}|S(Nii"s&%s;s[-]+R( thtmlentitydefstcodepoint2nameRHtkeytvalueR Rtchrtretsub(R RPRO((Rt text2htmls  $s\\\" *([AOUaou])s\1eis\\[\"H] *{([AOUaou])}s\\H +([AOUaou])s{\\[`'^~=.\"uvtcdbHBD] *{(.)}}s\1s{\\[`'^~=.\"uvtcdbHBD] *(.)}s\\[`'^~=.\"uvtcdbHBD] *{(.)}s\\[`'^~=.\"] *ts\\[uvtcdbHBD] +s(\\[`'^~=.\"uvtcdbHBD])[\\{]is{\\['\"`^~=.] *\\i}Rs{\\['\"`^~=.uvtcdbHBD] *{\\i}}s\\([ijlL]) *{(.?)}s\1\2s \\([ijlL]) +s(\\i)([\\{\d\W]|$)s(\\j)([\\{\d\W]|$)R<s{\\([ijlL]) *}s(\\l)([\\{\d\W]|$)R>s(\\L)([\\{\d\W]|$)R0s \\AA *{(.?)}sA\1s(\\AA)([\\{\d\W]|$)R's\\AA +s{\\AA *}s \\AE *{(.?)}sAE\1s\\AE +R%s(\\AE)([\\{\d\W]|$)s{\\AE *}s \\O *{(.?)}sOE\1s(\\O)([\\{\d\W]|$)RDs\\O +s{\\O *}s \\o *{(.?)}soe\1s(\\o)([\\{\d\W]|$)Rs\\o +s{\\o *}s \\OE *{(.?)}s\\OE +s(\\OE)([\\{\d\W]|$)s{\\OE *}s \\oe *{(.?)}s\\oe +s(\\oe)([\\{\d\W]|$)s{\\oe *}s \\aa *{(.?)}sa\1s\\aa +Rs(\\aa)([\\{\d\W]|$)s{\\aa *}s \\ae *{(.?)}sae\1s\\ae +Rs(\\ae)([\\{\d\W]|$)s{\\ae *}s \\uu *{(.?)}su\1s\\uu +Rs(\\uu)([\\{\d\W]|$)s{\\uu *}s \\oo *{(.?)}so\1s\\oo +Rs(\\oo)([\\{\d\W]|$)s{\\oo *}s \\UU *{(.?)}sU\1s\\UU +R5s(\\UU)([\\{\d\W]|$)s{\\UU *}s\\[^\"`'] *\\j( *{}| +|$)s\\[^\"`'] *\\j([\d\W])sj\1s \\dj *{(.?)}sdj\1s\\dj +tdjs(\\dj)([\\{\d\W]|$)R9s{\\dj *}s \\Dj *{(.?)}sDj\1s\\Dj +tDjs(\\Dj)(\\| *{)s{\\Dj *}s \\ss *{(.?)}sss\1s\\ss +R#s(\\ss)([\\{\d\W]|$)s{\\ss *}cCs+tii|}tidd|}|S(Ns {([a-zA-Z]+)}s\1(tedbmtchconvt tex2asciiR RRRS(R ((RRZss\\[H"] *{(\w)}is \\" *(\w)s {\\" *(\w)}s{\\" *{\\(.)}}s \\` *{(\w)}is \\` *(\w)s {\\` *(\w)}s \\' *{(\w)}s \\' *(\w)s {\\' *(\w)}s \\\^ *{(\w)}is \\\^ *(\w)s {\\\^ *(\w)}s \\~ *{(\w)}is \\~ *(\w)s {\\~ *(\w)}s \\H +(\w)s {\\H +(\w)}s \\' *{\\(.)}s\\' *\\(.)( +|$)s {\\' *\\(.)}s{\\' *{\\(.)}}s \\` *{\\(.)}s\\` *\\(.)( +|$)s {\\` *\\(.)}s \\\^ *{\\(.)}s\\\^ *\\(.)( +|$)s {\\\^ *\\(.)}s{\\\^ *{\\(.)}}s {\\["H] *\\i}ss\\["H] *\\i *{(.?)}s\1s\\["H] *\\i( +|$)s(\\["H] *\\i)([\d\W]|$)s\\' *\\i *{(.?)}s\1s(\\' *\\i)([\d\W]|$)ss\\["H] *{\\i *}s\\c( +c| *{c})ss{\\c{c}}s\\c( +C| *{C})ss{\\[`'^~=.\"]([a-zA-Z])}s{\\[uvtcdbHBD]{\\(.)}}s(\\i)([\d\W]|$)s(\\j)([\d\W]|$)s(\\l)([\d\W]|$)s(\\L)([\d\W]|$)s\1s(\\AA)([\d\W]|$)ss(\\AE)([\d\W]|$)s\1s(\\O)([\d\W]|$)ss\1s(\\o)([\d\W]|$)ss(\\OE)([\d\W]|$)s\1ss(\\aa)([\d\W]|$)s(\\ae)([\d\W]|$)s(\\uu)([\d\W]|$)s(\\oo)([\d\W]|$)s(\\UU)([\d\W]|$)s(\\dj)([\d\W]|$)s(\\Dj)([\d\W]|$)s(\\oe)([\d\W]|$)s\1ss(\\ss)([\d\W]|$)cCs+tii|}tidd|}|S(Ns {([a-zA-Z]+)}s\1(RXRYttex2isoR RRRS(R ((RR[ss{\\' *{\\([ijIJ])}}s\\\"(\w)s \\\"{(\w)}s {\\\"(\w)}s \\H +{(\w)}s \\c +(\w)is \\c *{(\w)}s {\\c +(\w)}s\\=(\w)is \\={(\w)}s {\\=(\w)}s \\B +(\w)s \\B +{(\w)}s {\\B +(\w)}s \\u +(\w)is \\u *{(\w)}s {\\u +(\w)}s\\\.(\w)i s \\\.{(\w)}s {\\\.(\w)}s \\D +(\w)s \\D +{(\w)}s {\\D +(\w)}s \\v +(\w)i s \\v *{(\w)}s {\\v +(\w)}s \\d +(\w)i s \\d *{(\w)}s {\\d +(\w)}s \\b +(\w)i s \\b *{(\w)}s {\\b +(\w)}s\\' *\\AE( +|$)is \\AA( +|$)is{\\AA}s \\aa( +|$)is{\\aa}s{\\l}iBs{\\L}iAs \\l( +|$)s \\L( +|$)s \\i( +|$)iis{\\i}s{\\o}is{\\O}icCstidd|}ti|dd}ti|dd}ti|dd}ti|d d }tii|}|S( Ns {\\([ij])}s \1s{\ss}R#s{\ae}Rs{\oe}Rs{\uu}tuu(RRRSR RRRXRYttex2utf8(R ((RR]sm(tsysRRRR RMRXR RRR&RLRTt_ascii_patternsRYtset_ascii_patternsRZt _iso_patternstset_iso_patternsR[t_utf8_patternstset_utf8_patternsR](RXRRR_R[R]RMRaR R^RRRLRR R&RZRcRT((Rt?s4-      u Q Wt @