<86>Aug 5 04:05:10 userdel[56608]: delete user 'rooter' <86>Aug 5 04:05:10 groupadd[56620]: group added to /etc/group: name=rooter, GID=579 <86>Aug 5 04:05:10 groupadd[56620]: group added to /etc/gshadow: name=rooter <86>Aug 5 04:05:10 groupadd[56620]: new group: name=rooter, GID=579 <86>Aug 5 04:05:10 useradd[56636]: new user: name=rooter, UID=579, GID=579, home=/root, shell=/bin/bash <86>Aug 5 04:05:10 userdel[56659]: delete user 'builder' <86>Aug 5 04:05:10 userdel[56659]: removed group 'builder' owned by 'builder' <86>Aug 5 04:05:10 userdel[56659]: removed shadow group 'builder' owned by 'builder' <86>Aug 5 04:05:10 groupadd[56670]: group added to /etc/group: name=builder, GID=580 <86>Aug 5 04:05:10 groupadd[56670]: group added to /etc/gshadow: name=builder <86>Aug 5 04:05:10 groupadd[56670]: new group: name=builder, GID=580 <86>Aug 5 04:05:10 useradd[56683]: new user: name=builder, UID=580, GID=580, home=/usr/src, shell=/bin/bash <13>Aug 5 04:05:12 rpmi: libgdbm-1.8.3-alt10 1454943313 installed <13>Aug 5 04:05:12 rpmi: libexpat-2.2.4-alt1 1503305341 installed <13>Aug 5 04:05:12 rpmi: libp11-kit-0.23.15-alt1 sisyphus+226408.100.2.1 1554288187 installed <13>Aug 5 04:05:12 rpmi: libtasn1-4.13-alt2 1521133848 installed <13>Aug 5 04:05:12 rpmi: rpm-macros-alternatives-0.5.1-alt1 sisyphus+226946.100.1.1 1554830426 installed <13>Aug 5 04:05:12 rpmi: alternatives-0.5.1-alt1 sisyphus+226946.100.1.1 1554830426 installed <13>Aug 5 04:05:12 rpmi: ca-certificates-2019.07.11-alt1 sisyphus+234280.200.1.1 1562839906 installed <13>Aug 5 04:05:12 rpmi: ca-trust-0.1.2-alt1 sisyphus+233348.100.1.1 1561653823 installed <13>Aug 5 04:05:12 rpmi: p11-kit-trust-0.23.15-alt1 sisyphus+226408.100.2.1 1554288187 installed <13>Aug 5 04:05:12 rpmi: libcrypto1.1-1.1.1b-alt2 sisyphus+227249.100.2.1 1555667802 installed <13>Aug 5 04:05:12 rpmi: libssl1.1-1.1.1b-alt2 sisyphus+227249.100.2.1 1555667802 installed <13>Aug 5 04:05:12 rpmi: python3-3.7.3-alt1 sisyphus+225625.574.90.1 1555274084 installed <13>Aug 5 04:05:12 rpmi: libpython3-3.7.3-alt1 sisyphus+225625.574.90.1 1555274084 installed <13>Aug 5 04:05:13 rpmi: python3-base-3.7.3-alt1 sisyphus+225625.574.90.1 1555274084 installed <13>Aug 5 04:05:13 rpmi: tests-for-installed-python3-pkgs-0.1.13.1-alt2 1535450458 installed <13>Aug 5 04:05:13 rpmi: rpm-build-python3-0.1.13.1-alt2 1535450458 installed <13>Aug 5 04:05:16 rpmi: python-modules-curses-2.7.16-alt1 sisyphus+226365.200.2.1 1554143277 installed <13>Aug 5 04:05:16 rpmi: libtinfo-devel-6.1.20180407-alt2 sisyphus+222164.200.1.1 1550686221 installed <13>Aug 5 04:05:16 rpmi: libncurses-devel-6.1.20180407-alt2 sisyphus+222164.200.1.1 1550686221 installed <13>Aug 5 04:05:16 rpmi: libverto-0.3.0-alt1_7 sisyphus+225932.100.1.1 1553994917 installed <13>Aug 5 04:05:16 rpmi: libkeyutils-1.6-alt2 sisyphus+226520.100.2.1 1554512088 installed <13>Aug 5 04:05:16 rpmi: libcom_err-1.44.6-alt1 sisyphus+224154.100.1.1 1552091653 installed <86>Aug 5 04:05:16 groupadd[77257]: group added to /etc/group: name=_keytab, GID=499 <86>Aug 5 04:05:16 groupadd[77257]: group added to /etc/gshadow: name=_keytab <86>Aug 5 04:05:16 groupadd[77257]: new group: name=_keytab, GID=499 <13>Aug 5 04:05:16 rpmi: libkrb5-1.16.3-alt1 sisyphus+223678.100.1.1 1551746443 installed <13>Aug 5 04:05:16 rpmi: libtirpc-1.0.3-alt1 1532008015 installed <13>Aug 5 04:05:16 rpmi: libnsl2-1.1.0-alt1_1 1511548748 installed <13>Aug 5 04:05:16 rpmi: python-modules-compiler-2.7.16-alt1 sisyphus+226365.200.2.1 1554143277 installed <13>Aug 5 04:05:16 rpmi: python-modules-email-2.7.16-alt1 sisyphus+226365.200.2.1 1554143277 installed <13>Aug 5 04:05:16 rpmi: python-modules-unittest-2.7.16-alt1 sisyphus+226365.200.2.1 1554143277 installed <13>Aug 5 04:05:16 rpmi: python-modules-encodings-2.7.16-alt1 sisyphus+226365.200.2.1 1554143277 installed <13>Aug 5 04:05:17 rpmi: python-modules-2.7.16-alt1 sisyphus+226365.200.2.1 1554143277 installed <13>Aug 5 04:05:17 rpmi: python-modules-nis-2.7.16-alt1 sisyphus+226365.200.2.1 1554143277 installed <13>Aug 5 04:05:17 rpmi: python-modules-xml-2.7.16-alt1 sisyphus+226365.200.2.1 1554143277 installed <13>Aug 5 04:05:17 rpmi: python-modules-hotshot-2.7.16-alt1 sisyphus+226365.200.2.1 1554143277 installed <13>Aug 5 04:05:17 rpmi: python-modules-bsddb-2.7.16-alt1 sisyphus+226365.200.2.1 1554143277 installed <13>Aug 5 04:05:17 rpmi: python-modules-ctypes-2.7.16-alt1 sisyphus+226365.200.2.1 1554143277 installed <13>Aug 5 04:05:17 rpmi: python-modules-multiprocessing-2.7.16-alt1 sisyphus+226365.200.2.1 1554143277 installed <13>Aug 5 04:05:17 rpmi: python-modules-logging-2.7.16-alt1 sisyphus+226365.200.2.1 1554143277 installed <13>Aug 5 04:05:17 rpmi: python-2.7.16-alt1 sisyphus+226365.200.2.1 1554143277 installed <13>Aug 5 04:05:17 rpmi: python-modules-distutils-2.7.16-alt1 sisyphus+226365.200.2.1 1554143277 installed <13>Aug 5 04:05:17 rpmi: libnsl2-devel-1.1.0-alt1_1 1511548748 installed <13>Aug 5 04:05:17 rpmi: python-dev-2.7.16-alt1 sisyphus+226365.200.2.1 1554143277 installed <13>Aug 5 04:05:17 rpmi: python-tools-2to3-2.7.16-alt1 sisyphus+226365.200.2.1 1554143277 installed <13>Aug 5 04:05:17 rpmi: python3-dev-3.7.3-alt1 sisyphus+225625.574.90.1 1555274084 installed Building target platforms: x86_64 Building for target x86_64 Wrote: /usr/src/in/nosrpm/python-module-SVGMath-0.3.3-alt3.2.2.nosrc.rpm <13>Aug 5 04:05:19 rpmi: python3-module-pkg_resources-1:41.0.1-alt2 sisyphus+231415.100.1.1 1559574158 installed <13>Aug 5 04:05:19 rpmi: python-module-pkg_resources-1:41.0.1-alt2 sisyphus+231415.100.1.1 1559574158 installed <13>Aug 5 04:05:19 rpmi: python-module-setuptools-1:41.0.1-alt2 sisyphus+231415.100.1.1 1559574158 installed <13>Aug 5 04:05:20 rpmi: python3-module-setuptools-1:41.0.1-alt2 sisyphus+231415.100.1.1 1559574158 installed Installing python-module-SVGMath-0.3.3-alt3.2.2.src.rpm Building target platforms: x86_64 Building for target x86_64 Executing(%prep): /bin/sh -e /usr/src/tmp/rpm-tmp.49146 + umask 022 + /bin/mkdir -p /usr/src/RPM/BUILD + cd /usr/src/RPM/BUILD + cd /usr/src/RPM/BUILD + rm -rf SVGMath-0.3.3 + echo 'Source #0 (SVGMath-0.3.3.tar.bz2):' Source #0 (SVGMath-0.3.3.tar.bz2): + /bin/bzip2 -dc /usr/src/RPM/SOURCES/SVGMath-0.3.3.tar.bz2 + /bin/tar -xf - + cd SVGMath-0.3.3 + /bin/chmod -c -Rf u+rwX,go-w . + cp -fR . ../python3 + find ../python3 -type f -name '*.py' -exec 2to3 -w -n '{}' + RefactoringTool: Skipping optional fixer: buffer RefactoringTool: Skipping optional fixer: idioms RefactoringTool: Skipping optional fixer: set_literal RefactoringTool: Skipping optional fixer: ws_comma RefactoringTool: Refactored ../python3/svgmath/tools/saxtools.py RefactoringTool: No changes to ../python3/svgmath/tools/__init__.py RefactoringTool: Refactored ../python3/svgmath/tables.py --- ../python3/svgmath/tools/saxtools.py (original) +++ ../python3/svgmath/tools/saxtools.py (refactored) @@ -10,10 +10,10 @@ with entity replacement stripped off (not needed for generation).""" # must do ampersand first - data = unicode(data) - data = data.replace(u"&", u"&") - data = data.replace(u">", u">") - data = data.replace(u"<", u"<") + data = str(data) + data = data.replace("&", "&") + data = data.replace(">", ">") + data = data.replace("<", "<") return data def quoteattr(data): @@ -26,13 +26,13 @@ necessary. """ data = escape(data) - if u'"' in data: - if u"'" in data: - data = u'"%s"' % data.replace(u'"', u""") + if '"' in data: + if "'" in data: + data = '"%s"' % data.replace('"', """) else: - data = u"'%s'" % data + data = "'%s'" % data else: - data = u'"%s"' % data + data = '"%s"' % data return data @@ -56,24 +56,24 @@ self._starttag_pending = False def _write(self, text): - self._out.write(unicode(text)) + self._out.write(str(text)) def _qname(self, name): if name[0]: prefix = self._current_context[name[0]] if prefix: - return unicode(prefix) + u":" + unicode(name[1]) - return unicode(name[1]) + return str(prefix) + ":" + str(name[1]) + return str(name[1]) def _flush_starttag(self): if self._starttag_pending: - self._write(u">") + self._write(">") self._starttag_pending = False # ContentHandler methods def startDocument(self): self._out.reset() - self._write(u'\n' % unicode(self._encoding)) + self._write('\n' % str(self._encoding)) def endDocument(self): self._out.reset() @@ -89,27 +89,27 @@ def startElement(self, name, attrs): self._flush_starttag() - self._write(u"<%s" % unicode(name)) - for (name, value) in attrs.items(): - self._write(u" %s=%s" % (unicode(name), quoteattr(value))) + self._write("<%s" % str(name)) + for (name, value) in list(attrs.items()): + self._write(" %s=%s" % (str(name), quoteattr(value))) self._starttag_pending = True def endElement(self, name): if self._starttag_pending: - self._write(u"/>") + self._write("/>") self._starttag_pending = False else: - self._write(u"" % unicode(name)) + self._write("" % str(name)) def startElementNS(self, name, qname, attrs): qattrs = {} - for attname, attvalue in attrs.items(): + for attname, attvalue in list(attrs.items()): qattrs[self._qname(attname)] = attvalue for prefix, uri in self._undeclared_ns_maps: if prefix: - qattrs[u"xmlns:%s" % unicode(prefix)] = uri + qattrs["xmlns:%s" % str(prefix)] = uri else: - qattrs[u"xmlns"] = uri + qattrs["xmlns"] = uri self._undeclared_ns_maps = [] self.startElement(self._qname(name), qattrs) @@ -125,7 +125,7 @@ def processingInstruction(self, target, data): self._flush_starttag() - self._write(u"" % (unicode(target), unicode(data))) + self._write("" % (str(target), str(data))) class ContentFilter (handler.ContentHandler): --- ../python3/svgmath/tables.py (original) +++ ../python3/svgmath/tables.py (refactored) @@ -28,7 +28,7 @@ class RowDescriptor: """Descriptor of a single row in a table; contains cells""" def __init__(self, node, cells, rowalign, columnaligns, busycells): - self.alignToAxis = (rowalign == u"axis") + self.alignToAxis = (rowalign == "axis") self.height = 0 self.depth = 0 self.spaceAfter = 0 @@ -44,11 +44,11 @@ colspan = 1 rowspan = 1 - if c.elementName == u"mtd": - halign = c.attributes.get(u"columnalign", halign) - valign = c.attributes.get(u"rowalign", valign) - colspan = node.parseInt(c.attributes.get(u"colspan", u"1")) - rowspan = node.parseInt(c.attributes.get(u"rowspan", u"1")) + if c.elementName == "mtd": + halign = c.attributes.get("columnalign", halign) + valign = c.attributes.get("rowalign", valign) + colspan = node.parseInt(c.attributes.get("colspan", "1")) + rowspan = node.parseInt(c.attributes.get("rowspan", "1")) while len(self.cells) >= len(node.columns): node.columns.append(ColumnDescriptor()) @@ -64,17 +64,17 @@ busycells = [] # Read table-level alignment properties - table_rowaligns = node.getListProperty(u"rowalign") - table_columnaligns = node.getListProperty(u"columnalign") + table_rowaligns = node.getListProperty("rowalign") + table_columnaligns = node.getListProperty("columnalign") for ch in node.children: rowalign = getByIndexOrLast(table_rowaligns, len(node.rows)) row_columnaligns = table_columnaligns - if ch.elementName == u"mtr" or ch.elementName == "mlabeledtr": + if ch.elementName == "mtr" or ch.elementName == "mlabeledtr": cells = ch.children - rowalign = ch.attributes.get(u"rowalign", rowalign) - if u"columnalign" in ch.attributes.keys(): - columnaligns = node.getListProperty(u"columnalign", ch.attributes.get(u"columnalign")) + rowalign = ch.attributes.get("rowalign", rowalign) + if "columnalign" in list(ch.attributes.keys()): + columnaligns = node.getListProperty("columnalign", ch.attributes.get("columnalign")) else: cells = [ch] @@ -98,53 +98,53 @@ def arrangeLines(node): # Get spacings and line styles; expand to cover the table fully - spacings = map(node.parseLength, node.getListProperty(u"rowspacing")) - lines = node.getListProperty(u"rowlines") + spacings = list(map(node.parseLength, node.getListProperty("rowspacing"))) + lines = node.getListProperty("rowlines") for i in range(len(node.rows) - 1): node.rows[i].spaceAfter = getByIndexOrLast(spacings, i) line = getByIndexOrLast(lines, i) - if line != u"none": + if line != "none": node.rows[i].lineAfter = line node.rows[i].spaceAfter += node.lineWidth - spacings = map(node.parseSpace, node.getListProperty(u"columnspacing")) - lines = node.getListProperty(u"columnlines") + spacings = list(map(node.parseSpace, node.getListProperty("columnspacing"))) + lines = node.getListProperty("columnlines") for i in range(len(node.columns) - 1): node.columns[i].spaceAfter = getByIndexOrLast(spacings, i) line = getByIndexOrLast(lines, i) - if line != u"none": + if line != "none": node.columns[i].lineAfter = line node.columns[i].spaceAfter += node.lineWidth node.framespacings = [0, 0] node.framelines = [None, None] - spacings = map(node.parseSpace, node.getListProperty(u"framespacing")) - lines = node.getListProperty(u"frame") + spacings = list(map(node.parseSpace, node.getListProperty("framespacing"))) + lines = node.getListProperty("frame") for i in range(2): line = getByIndexOrLast(lines, i) - if line != u"none": + if line != "none": node.framespacings[i] = getByIndexOrLast(spacings, i) node.framelines[i] = line def calculateColumnWidths(node): # Get total width - fullwidthattr = node.attributes.get(u"width", u"auto") - if fullwidthattr == u"auto": + fullwidthattr = node.attributes.get("width", "auto") + if fullwidthattr == "auto": fuRefactoringTool: Refactored ../python3/svgmath/operators.py llwidth = None else: fullwidth = node.parseLength(fullwidthattr) if fullwidth <= 0: fullwidth = None # Fill fixed column widths - columnwidths = node.getListProperty(u"columnwidth") + columnwidths = node.getListProperty("columnwidth") for i in range(len(node.columns)): column = node.columns[i] attr = getByIndexOrLast(columnwidths, i) - if attr in [u"auto", u"fit"]: - column.fit = (attr == u"fit") - elif attr.endswith(u'%'): + if attr in ["auto", "fit"]: + column.fit = (attr == "fit") + elif attr.endswith('%'): if fullwidth is None: node.error("Percents in column widths supported only in tables with explicit width; width of column %d treated as 'auto'" % (i+1)) else: @@ -206,7 +206,7 @@ if len(adjustedColumns) == 0: break; for col in adjustedColumns: col.width = adjustedWidth - if node.getProperty(u"equalcolumns") == u"true": + if node.getProperty("equalcolumns") == "true": globalWidth = max([col.width for col in node.columns if col.auto]) for col in node.columns: if col.auto: col.width = globalWidth @@ -237,11 +237,11 @@ cellAxis = c.content.axis() c.vshift = 0 - if c.valign == u"baseline": + if c.valign == "baseline": if r.alignToAxis: cell.vshift -= commonAxis if c.content.alignToAxis: c.vshift += cellAxis - elif c.valign == u"axis": + elif c.valign == "axis": if not r.alignToAxis: c.vshift += commonAxis if not c.content.alignToAxis: c.vshift -= cellAxis @@ -286,7 +286,7 @@ delta = (adjustedSize - r.height - r.depth) / 2 r.height += delta; r.depth += delta - if node.getProperty(u"equalrows") == u"true": + if node.getProperty("equalrows") == "true": maxvsize = max([r.height + r.depth for r in node.rows]) for r in node.rows: delta = (maxvsize - r.height - r.depth) / 2 @@ -294,8 +294,8 @@ def getAlign(node): - alignattr = node.getProperty(u"align").strip() - if len(alignattr) == 0: alignattr = mathnode.globalDefaults[u"align"] + alignattr = node.getProperty("align").strip() + if len(alignattr) == 0: alignattr = mathnode.globalDefaults["align"] splitalign = alignattr.split() alignType = splitalign[0] --- ../python3/svgmath/operators.py (original) +++ ../python3/svgmath/operators.py (refactored) @@ -3,406 +3,406 @@ operatorDictionary = {} -def lookup(op, form = u"infix"): +def lookup(op, form = "infix"): """Find the entry for an operator in the dictionary""" res = operatorDictionary.get(op+form) if res is not None: return res - for f in [u"infix", u"postfix", u"prefix"]: + for f in ["infix", "postfix", "prefix"]: res = operatorDictionary.get(op+f) if res is not None: return res - return operatorDictionary[u""+u"infix"] # default entry + return operatorDictionary[""+"infix"] # default entry def createEntry( content, - form = u"infix", - fence = u"false", - separator = u"false", - accent = u"false", - largeop = u"false", - lspace = u"thickmathspace", - rspace = u"thickmathspace", - stretchy = u"false", - scaling = u"uniform", - minsize = u"1", - maxsize = u"infinity", - movablelimits = u"false", - symmetric = u"true" ) : - if content+form in operatorDictionary.keys(): + form = "infix", + fence = "false", + separator = "false", + accent = "false", + largeop = "false", + lspace = "thickmathspace", + rspace = "thickmathspace", + stretchy = "false", + scaling = "uniform", + minsize = "1", + maxsize = "infinity", + movablelimits = "false", + symmetric = "true" ) : + if content+form in list(operatorDictionary.keys()): sys.stderr.write("WARNING: duplicate entry in operator dictionary, %s %s\n" %(form, str(content))) - operatorDictionary[content+form] = { u"form": form, - u"fence": fence, - u"separator": separator, - u"accent": accent, - u"largeop": largeop, - u"lspace": lspace, - u"rspace": rspace, - u"stretchy": stretchy, - u"scaling": scaling, - u"minsize": minsize, - u"maxsize": maxsize, - u"movablelimits": movablelimits, - u"symmetric": symmetric } + operatorDictionary[content+form] = { "form": form, + "fence": fence, + "separator": separator, + "accent": accent, + "largeop": largeop, + "lspace": lspace, + "rspace": rspace, + "stretchy": stretchy, + "scaling": scaling, + "minsize": minsize, + "maxsize": maxsize, + "movablelimits": movablelimits, + "symmetric": symmetric } # Create default entry -createEntry (content=u"") +createEntry (content="") # Create real entries -createEntry (content=u"(", form=u"prefix", fence=u"true", stretchy=u"true", scaling="vertical", lspace=u"0em", rspace=u"0em") -createEntry (content=u")", form=u"postfix", fence=u"true", stretchy=u"true", scaling="vertical", lspace=u"0em", rspace=u"0em") -createEntry (content=u"[", form=u"prefix", fence=u"true", stretchy=u"true", scaling="vertical", lspace=u"0em", rspace=u"0em") -createEntry (content=u"]", form=u"postfix", fence=u"true", stretchy=u"true", scaling="vertical", lspace=u"0em", rspace=u"0em") -createEntry (content=u"{", form=u"prefix", fence=u"true", stretchy=u"true", scaling="vertical", lspace=u"0em", rspace=u"0em") -createEntry (content=u"}", form=u"postfix", fence=u"true", stretchy=u"true", scaling="vertical", lspace=u"0em", rspace=u"0em") -createEntry (content=u"\u201D", form=u"postfix", fence=u"true", lspace=u"0em", rspace=u"0em") # CloseCurlyDoubleQuote -createEntry (content=u"\u2019", form=u"postfix", fence=u"true", lspace=u"0em", rspace=u"0em") # CloseCurlyQuote -createEntry (content=u"\u2329", form=u"prefix", fence=u"true", stretchy=u"true", scaling="vertical", lspace=u"0em", rspace=u"0em") # LeftAngleBracket -createEntry (content=u"\u2308", form=u"prefix", fence=u"true", stretchy=u"true", scaling="vertical", lspace=u"0em", rspace=u"0em") # LeftCeiling -createEntry (content=u"\u301A", form=u"prefix", fence=u"true", stretchy=u"true", scaling="vertical", lspace=u"0em", rspace=u"0em") # LeftDoubleBracket -createEntry (content=u"\u230A", form=u"prefix", fence=u"true", stretchy=u"true", scaling="vertical", lspace=u"0em", rspace=u"0em") # LeftFloor -createEntry (content=u"\u201C", form=u"prefix", fence=u"true", lspace=u"0em", rspace=u"0em") # OpenCurlyDoubleQuote -createEntry (content=u"\u2018", form=u"prefix", fence=u"true", lspace=u"0em", rspace=u"0em") # OpenCurlyQuote -createEntry (content=u"\u232A", form=u"postfix", fence=u"true", stretchy=u"true", scaling="vertical", lspace=u"0em", rspace=u"0em") # RightAngleBracket -createEntry (content=u"\u2309", form=u"postfix", fence=u"true", stretchy=u"true", scaling="vertical", lspace=u"0em", rspace=u"0em") # RightCeiling -createEntry (content=u"\u301B", form=u"postfix", fence=u"true", stretchy=u"true", scaling="vertical", lspace=u"0em", rspace=u"0em") # RightDoubleBracket -createEntry (content=u"\u230B", form=u"postfix", fence=u"true", stretchy=u"true", scaling="vertical", lspace=u"0em", rspace=u"0em") # RightFloor -createEntry (content=u"\u2063", form=u"infix", separator=u"true", lspace=u"0em", rspace=u"0em") # InvisibleComma -createEntry (content=u",", form=u"infix", separator=u"true", lspace=u"0em", rspace=u"verythickmathspace") -createEntry (content=u"\u2500", form=u"infix", stretchy=u"true", scaling="horizontal", minsize=u"0", lspace=u"0em", rspace=u"0em") # HorizontalLine +createEntry (content="(", form="prefix", fence="true", stretchy="true", scaling="vertical", lspace="0em", rspace="0em") +createEntry (content=")", form="postfix", fence="true", stretchy="true", scaling="vertical", lspace="0em", rspace="0em") +createEntry (content="[", form="prefix", fence="true", stretchy="true", scaling="vertical", lspace="0em", rspace="0em") +createEntry (content="]", form="postfix", fence="true", stretchy="true", scaling="vertical", lspace="0em", rspace="0em") +createEntry (content="{", form="prefix", fence="true", stretchy="true", scaling="vertical", lspace="0em", rspace="0em") +createEntry (content="}", form="postfix", fence="true", stretchy="true", scaling="vertical", lspace="0em", rspace="0em") +createEntry (content="\u201D", form="postfix", fence="true", lspace="0em", rspace="0em") # CloseCurlyDoubleQuote +createEntry (content="\u2019", form="postfix", fence="true", lspace="0em", rspace="0em") # CloseCurlyQuote +createEntry (content="\u2329", form="prefix", fence="true", stretchy="true", scaling="vertical", lspace="0em", rspace="0em") # LeftAngleBracket +createEntry (content="\u2308", form="prefix", fence="true", stretchy="true", scaling="vertical", lspace="0em", rspace="0em") # LeftCeiling +createEntry (content="\u301A", form="prefix", fence="true", stretchy="true", scaling="vertical", lspace="0em", rspace="0em") # LeftDoubleBracket +createEntry (content="\u230A", form="prefix", fence="true", stretchy="true", scaling="vertical", lspace="0em", rspace="0em") # LeftFloor +createEntry (content="\u201C", form="prefix", fence="true", lspace="0em", rspace="0em") # OpenCurlyDoubleQuote +createEntry (content="\u2018", form="prefix", fence="true", lspace="0em", rspace="0em") # OpenCurlyQuote +createEntry (content="\u232A", form="postfix", fence="true", stretchy="true", scaling="vertical", lspace="0em", rspace="0em") # RightAngleBracket +createEntry (content="\u2309", form="postfix", fence="true", stretchy="true", scaling="vertical", lspace="0em", rspace="0em") # RightCeiling +createEntry (content="\u301B", form="postfix", fence="true", stretchy="true", scaling="vertical", lspace="0em", rspace="0em") # RightDoubleBracket +createEntry (content="\u230B", form="postfix", fence="true", stretchy="true", scaling="vertical", lspace="0em", rspace="0em") # RightFloor +createEntry (content="\u2063", form="infix", separator="true", lspace="0em", rspace="0em") # InvisibleComma +createEntry (content=",", form="infix", separator="true", lspace="0em", rspace="verythickmathspace") +createEntry (content="\u2500", form="infix", stretchy="true", scaling="horizontal", minsize="0", lspace="0em", rspace="0em") # HorizontalLine # Commented out: collides with '|'. See http://lists.w3.org/Archives/Public/www-math/2004Mar/0028.html # createEntry (content=u"|", form=u"infix", stretchy=u"true", scaling="vertical", minsize=u"0", lspace=u"0em", rspace=u"0em") # VerticalLine -createEntry (content=u";", form=u"infix", separator=u"true", lspace=u"0em", rspace=u"thickmathspace") -createEntry (content=u";", form=u"postfix", separator=u"true", lspace=u"0em", rspace=u"0em") -createEntry (content=u":=", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") -createEntry (content=u"\u2254", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # Assign -createEntry (content=u"\u2235", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # Because -createEntry (content=u"\u2234", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # Therefore -createEntry (content=u"\u2758", form=u"infix", stretchy=u"true", scaling="vertical", lspace=u"thickmathspace", rspace=u"thickmathspace") # VerticalSeparator -createEntry (content=u"//", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") +createEntry (content=";", form="infix", separator="true", lspace="0em", rspace="thickmathspace") +createEntry (content=";", form="postfix", separator="true", lspace="0em", rspace="0em") +createEntry (content=":=", form="infix", lspace="thickmathspace", rspace="thickmathspace") +createEntry (content="\u2254", form="infix", lspace="thickmathspace", rspace="thickmathspace") # Assign +createEntry (content="\u2235", form="infix", lspace="thickmathspace", rspace="thickmathspace") # Because +createEntry (content="\u2234", form="infix", lspace="thickmathspace", rspace="thickmathspace") # Therefore +createEntry (content="\u2758", form="infix", stretchy="true", scaling="vertical", lspace="thickmathspace", rspace="thickmathspace") # VerticalSeparator +createEntry (content="//", form="infix", lspace="thickmathspace", rspace="thickmathspace") # Commented out: collides with Proportional # createEntry (content=u"\u2237", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # Colon -createEntry (content=u"&", form=u"prefix", lspace=u"0em", rspace=u"thickmathspace") -createEntry (content=u"&", form=u"postfix", lspace=u"thickmathspace", rspace=u"0em") -createEntry (content=u"*=", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") -createEntry (content=u"-=", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") -createEntry (content=u"+=", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") -createEntry (content=u"/=", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") -createEntry (content=u"->", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") -createEntry (content=u":", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") -createEntry (content=u"..", form=u"postfix", lspace=u"mediummathspace", rspace=u"0em") -createEntry (content=u"...", form=u"postfix", lspace=u"mediummathspace", rspace=u"0em") +createEntry (content="&", form="prefix", lspace="0em", rspace="thickmathspace") +createEntry (content="&", form="postfix", lspace="thickmathspace", rspace="0em") +createEntry (content="*=", form="infix", lspace="thickmathspace", rspace="thickmathspace") +createEntry (content="-=", form="infix", lspace="thickmathspace", rspace="thickmathspace") +createEntry (content="+=", form="infix", lspace="thickmathspace", rspace="thickmathspace") +createEntry (content="/=", form="infix", lspace="thickmathspace", rspace="thickmathspace") +createEntry (content="->", form="infix", lspace="thickmathspace", rspace="thickmathspace") +createEntry (content=":", form="infix", lspace="thickmathspace", rspace="thickmathspace") +createEntry (content="..", form="postfix", lspace="mediummathspace", rspace="0em") +createEntry (content="...", form="postfix", lspace="mediummathspace", rspace="0em") # Commented out: collides with ReverseElement # createEntry (content=u"\u220B", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # SuchThat -createEntry (content=u"\u2AE4", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # DoubleLeftTee -createEntry (content=u"\u22A8", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # DoubleRightTee -createEntry (content=u"\u22A4", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # DownTee -createEntry (content=u"\u22A3", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # LeftTee -createEntry (content=u"\u22A2", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # RightTee +createEntry (content="\u2AE4", form="infix", lspace="thickmathspace", rspace="thickmathspace") # DoubleLeftTee +createEntry (content="\u22A8", form="infix", lspace="thickmathspace", rspace="thickmathspace") # DoubleRightTee +createEntry (content="\u22A4", form="infix", lspace="thickmathspace", rspace="thickmathspace") # DownTee +createEntry (content="\u22A3", form="infix", lspace="thickmathspace", rspace="thickmathspace") # LeftTee +createEntry (content="\u22A2", form="infix", lspace="thickmathspace", rspace="thickmathspace") # RightTee # Commented out: collides with DoubleRightArrow # createEntry (content=u"\u21D2", form=u"infix", stretchy=u"true", scaling="horizontal", lspace=u"thickmathspace", rspace=u"thickmathspace") # Implies -createEntry (content=u"\u2970", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # RoundImplies -createEntry (content=u"|", form=u"infix", stretchy=u"true", scaling="vertical", lspace=u"thickmathspace", rspace=u"thickmathspace") -createEntry (content=u"||", form=u"infix", lspace=u"mediummathspace", rspace=u"mediummathspace") -createEntry (content=u"\u2A54", form=u"infix", stretchy=u"true", scaling="uniform", lspace=u"mediummathspace", rspace=u"mediummathspace") # Or -createEntry (content=u"&&", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") -createEntry (content=u"\u2A53", form=u"infix", stretchy=u"true", scaling="uniform", lspace=u"mediummathspace", rspace=u"mediummathspace") # And -createEntry (content=u"&", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") -createEntry (content=u"!", form=u"prefix", lspace=u"0em", rspace=u"thickmathspace") -createEntry (content=u"\u2AEC", form=u"prefix", lspace=u"0em", rspace=u"thickmathspace") # Not -createEntry (content=u"\u2203", form=u"prefix", lspace=u"0em", rspace=u"thickmathspace") # Exists -createEntry (content=u"\u2200", form=u"prefix", lspace=u"0em", rspace=u"thickmathspace") # ForAll -createEntry (content=u"\u2204", form=u"prefix", lspace=u"0em", rspace=u"thickmathspace") # NotExists -createEntry (content=u"\u2208", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # Element -createEntry (content=u"\u2209", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # NotElement -createEntry (content=u"\u220C", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # NotReverseElement -createEntry (content=u"\u228F\u0338", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # NotSquareSubset -createEntry (content=u"\u22E2", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # NotSquareSubsetEqual -createEntry (content=u"\u2290\u0338", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # NotSquareSuperset -createEntry (content=u"\u22E3", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # NotSquareSupersetEqual -createEntry (content=u"\u2282\u20D2", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # NotSubset -createEntry (content=u"\u2288", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # NotSubsetEqual -createEntry (content=u"\u2283\u20D2", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # NotSuperset -createEntry (content=u"\u2289", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # NotSupersetEqual -createEntry (content=u"\u220B", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # ReverseElement -createEntry (content=u"\u228F", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # SquareSubset -createEntry (content=u"\u2291", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # SquareSubsetEqual -createEntry (content=u"\u2290", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # SquareSuperset -createEntry (content=u"\u2292", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # SquareSupersetEqual -createEntry (content=u"\u22D0", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # Subset -createEntry (content=u"\u2286", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # SubsetEqual -createEntry (content=u"\u2283", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # Superset -createEntry (content=u"\u2287", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # SupersetEqual -createEntry (content=u"\u21D0", form=u"infix", stretchy=u"true", scaling="horizontal", lspace=u"thickmathspace", rspace=u"thickmathspace") # DoubleLeftArrow -createEntry (content=u"\u21D4", form=u"infix", stretchy=u"true", scaling="horizontal", lspace=u"thickmathspace", rspace=u"thickmathspace") # DoubleLeftRightArrow -createEntry (content=u"\u21D2", form=u"infix", stretchy=u"true", scaling="horizontal", lspace=u"thickmathspace", rspace=u"thickmathspace") # DoubleRightArrow -createEntry (content=u"\u2950", form=u"infix", stretchy=u"true", scaling="horizontal", lspace=u"thickmathspace", rspace=u"thickmathspace") # DownLeftRightVector -createEntry (content=u"\u295E", form=u"infix", stretchy=u"true", scaling="horizontal", lspace=u"thickmathspace", rspace=u"thickmathspace") # DownLeftTeeVector -createEntry (content=u"\u21BD", form=u"infix", stretchy=u"true", scaling="horizontal", lspace=u"thickmathspace", rspace=u"thickmathspace") # DownLeftVector -createEntry (content=u"\u2956", form=u"infix", stretchy=u"true", scaling="horizontal", lspace=u"thickmathspace", rspace=u"thickmathspace") # DownLeftVectorBar -createEntry (content=u"\u295F", form=u"infix", stretchy=u"true", scaling="horizontal", lspace=u"thickmathspace", rspace=u"thickmathspace") # DownRightTeeVector -createEntry (content=u"\u21C1", form=u"infix", stretchy=u"true", scaling="horizontal", lspace=u"thickmathspace", rspace=u"thickmathspace") # DownRightVector -createEntry (content=u"\u2957", form=u"infix", stretchy=u"true", scaling="horizontal", lspace=u"thickmathspace", rspace=u"thickmathspace") # DownRightVectorBar -createEntry (content=u"\u2190", form=u"infix", stretchy=u"true", scaling="horizontal", lspace=u"thickmathspace", rspace=u"thickmathspace") # LeftArrow -createEntry (content=u"\u21E4", form=u"infix", stretchy=u"true", scaling="horizontal", lspace=u"thickmathspace", rspace=u"thickmathspace") # LeftArrowBar -createEntry (content=u"\u21C6", form=u"infix", stretchy=u"true", scaling="horizontal", lspace=u"thickmathspace", rspace=u"thickmathspace") # LeftArrowRightArrow -createEntry (content=u"\u2194", form=u"infix", stretchy=u"true", scaling="horizontal", lspace=u"thickmathspace", rspace=u"thickmathspace") # LeftRightArrow -createEntry (content=u"\u294E", form=u"infix", stretchy=u"true", scaling="horizontal", lspace=u"thickmathspace", rspace=u"thickmathspace") # LeftRightVector -createEntry (content=u"\u21A4", form=u"infix", stretchy=u"true", scaling="horizontal", lspace=u"thickmathspace", rspace=u"thickmathspace") # LeftTeeArrow -createEntry (content=u"\u295A", form=u"infix", stretchy=u"true", scaling="horizontal", lspace=u"thickmathspace", rspace=u"thickmathspace") # LeftTeeVector -createEntry (content=u"\u21BC", form=u"infix", stretchy=u"true", scaling="horizontal", lspace=u"thickmathspace", rspace=u"thickmathspace") # LeftVector -createEntry (content=u"\u2952", form=u"infix", stretchy=u"true", scaling="horizontal", lspace=u"thickmathspace", rspace=u"thickmathspace") # LeftVectorBar -createEntry (content=u"\u2199", form=u"infix", stretchy=u"true", scaling="horizontal", lspace=u"thickmathspace", rspace=u"thickmathspace") # LowerLeftArrow -createEntry (content=u"\u2198", form=u"infix", stretchy=u"true", scaling="horizontal", lspace=u"thickmathspace", rspace=u"thickmathspace") # LowerRightArrow -createEntry (content=u"\u2192", form=u"infix", stretchy=u"true", scaling="horizontal", lspace=u"thickmathspace", rspace=u"thickmathspace") # RightArrow -createEntry (content=u"\u21E5", form=u"infix", stretchy=u"true", scaling="horizontal", lspace=u"thickmathspace", rspace=u"thickmathspace") # RightArrowBar -createEntry (content=u"\u21C4", form=u"infix", stretchy=u"true", scaling="horizontal", lspace=u"thickmathspace", rspace=u"thickmathspace") # RightArrowLeftArrow -createEntry (content=u"\u21A6", form=u"infix", stretchy=u"true", scaling="horizontal", lspace=u"thickmathspace", rspace=u"thickmathspace") # RightTeeArrow -createEntry (content=u"\u295B", form=u"infix", stretchy=u"true", scaling="horizontal", lspace=u"thickmathspace", rspace=u"thickmathspace") # RightTeeVector -createEntry (content=u"\u21C0", form=u"infix", stretchy=u"true", scaling="horizontal", lspace=u"thickmathspace", rspace=u"thickmathspace") # RightVector -createEntry (content=u"\u2953", form=u"infix", stretchy=u"true", scaling="horizontal", lspace=u"thickmathspace", rspace=u"thickmathspace") # RightVectorBar +createEntry (content="\u2970", form="infix", lspace="thickmathspace", rspace="thickmathspace") # RoundImplies +createEntry (content="|", form="infix", stretchy="true", scaling="vertical", lspace="thickmathspace", rspace="thickmathspace") +createEntry (content="||", form="infix", lspace="mediummathspace", rspace="mediummathspace") +createEntry (content="\u2A54", form="infix", stretchy="true", scaling="uniform", lspace="mediummathspace", rspace="mediummathspace") # Or +createEntry (content="&&", form="infix", lspace="thickmathspace", rspace="thickmathspace") +createEntry (content="\u2A53", form="infix", stretchy="true", scaling="uniform", lspace="mediummathspace", rspace="mediummathspace") # And +createEntry (content="&", form="infix", lspace="thickmathspace", rspace="thickmathspace") +createEntry (content="!", form="prefix", lspace="0em", rspace="thickmathspace") +createEntry (content="\u2AEC", form="prefix", lspace="0em", rspace="thickmathspace") # Not +createEntry (content="\u2203", form="prefix", lspace="0em", rspace="thickmathspace") # Exists +createEntry (content="\u2200", form="prefix", lspace="0em", rspace="thickmathspace") # ForAll +createEntry (content="\u2204", form="prefix", lspace="0em", rspace="thickmathspace") # NotExists +createEntry (content="\u2208", form="infix", lspace="thickmathspace", rspace="thickmathspace") # Element +createEntry (content="\u2209", form="infix", lspace="thickmathspace", rspace="thickmathspace") # NotElement +createEntry (content="\u220C", form="infix", lspace="thickmathspace", rspace="thickmathspace") # NotReverseElement +createEntry (content="\u228F\u0338", form="infix", lspace="thickmathspace", rspace="thickmathspace") # NotSquareSubset +createEntry (content="\u22E2", form="infix", lspace="thickmathspace", rspace="thickmathspace") # NotSquareSubsetEqual +createEntry (content="\u2290\u0338", form="infix", lspace="thickmathspace", rspace="thickmathspace") # NotSquareSuperset +createEntry (content="\u22E3", form="infix", lspace="thickmathspace", rspace="thickmathspace") # NotSquareSupersetEqual +createEntry (content="\u2282\u20D2", form="infix", lspace="thickmathspace", rspace="thickmathspace") # NotSubset +createEntry (content="\u2288", form="infix", lspace="thickmathspace", rspace="thickmathspace") # NotSubsetEqual +createEntry (content="\u2283\u20D2", form="infix", lspace="thickmathspace", rspace="thickmathspace") # NotSuperset +createEntry (content="\u2289", form="infix", lspace="thickmathspace", rspace="thickmathspace") # NotSupersetEqual +createEntry (content="\u220B", form="infix", lspace="thickmathspace", rspace="thickmathspace") # ReverseElement +createEntry (content="\u228F", form="infix", lspace="thickmathspace", rspace="thickmathspace") # SquareSubset +createEntry (content="\u2291", form="infix", lspace="thickmathspace", rspace="thickmathspace") # SquareSubsetEqual +createEntry (content="\u2290", form="infix", lspace="thickmathspace", rspace="thickmathspace") # SquareSuperset +createEntry (content="\u2292", form="infix", lspace="thickmathspace", rspace="thickmathspace") # SquareSupersetEqual +createEntry (content="\u22D0", form="infix", lspace="thickmathspace", rspace="thickmathspace") # Subset +createEntry (content="\u2286", form="infix", lspace="thickmathspace", rspace="thickmathspace") # SubsetEqual +createEntry (content="\u2283", form="infix", lspace="thickmathspace", rspace="thickmathspace") # Superset +createEntry (content="\u2287", form="infix", lspace="thickmathspace", rspace="thickmathspace") # SupersetEqual +createEntry (content="\u21D0", form="infix", stretchy="true", scaling="horizontal", lspace="thickmathspace", rspace="thickmathspace") # DoubleLeftArrow +createEntry (content="\u21D4", form="infix", stretchy="true", scaling="horizontal", lspace="thickmathspace", rspace="thickmathspace") # DoubleLeftRightArrow +createEntry (content="\u21D2", form="infix", stretchy="true", scaling="horizontal", lspace="thickmathspace", rspace="thickmathspace") # DoubleRightArrow +createEntry (content="\u2950", form="infix", stretchy="true", scaling="horizontal", lspace="thickmathspace", rspace="thickmathspace") # DownLeftRightVector +createEntry (content="\u295E", form="infix", stretchy="true", scaling="horizontal", lspace="thickmathspace", rspace="thickmathspace") # DownLeftTeeVector +createEntry (content="\u21BD", form="infix", stretchy="true", scaling="horizontal", lspace="thickmathspace", rspace="thickmathspace") # DownLeftVector +createEntry (content="\u2956", form="infix", stretchy="true", scaling="horizontal", lspace="thickmathspace", rspace="thickmathspace") # DownLeftVectorBar +createEntry (content="\u295F", form="infix", stretchy="true", scaling="horizontal", lspace="thickmathspace", rspace="thickmathspace") # DownRightTeeVector +createEntry (content="\u21C1", form="infix", stretchy="true", scaling="horizontal", lspace="thickmathspace", rspace="thickmathspace") # DownRightVector +createEntry (content="\u2957", form="infix", stretchy="true", scaling="horizontal", lspace="thickmathspace", rspace="thickmathspace") # DownRightVectorBar +createEntry (content="\u2190", form="infix", stretchy="true", scaling="horizontal", lspace="thickmathspace", rspace="thickmathspace") # LeftArrow +createEntry (content="\u21E4", form="infix", stretchy="true", scaling="horizontal", lspace="thickmathspace", rspace="thickmathspace") # LeftArrowBar +createEntry (content="\u21C6", form="infix", stretchy="true", scaling="horizontal", lspace="thickmathspace", rspace="thickmathspace") # LeftArrowRightArrow +createEntry (content="\u2194", form="infix", stretchy="true", scaling="horizontal", lspace="thickmathspace", rspace="thickmathspace") # LeftRightArrow +createEntry (content="\u294E", form="infix", stretchy="true", scaling="horizontal", lspace="thickmathspace", rspace="thickmathspace") # LeftRightVector +createEntry (content="\u21A4", form="infix", stretchy="true", scaling="horizontal", lspace="thickmathspace", rspace="thickmathspace") # LeftTeeArrow +createEntry (content="\u295A", form="infix", stretchy="true", scaling="horizontal", lspace="thickmathspace", rspace="thickmathspace") # LeftTeeVector +createEntry (content="\u21BC", form="infix", stretchy="true", scaling="horizontal", lspace="thickmathspace", rspace="thickmathspace") # LeftVector +createEntry (content="\u2952", form="infix", stretchy="true", scaling="horizontal", lspace="thickmathspace", rspace="thickmathspace") # LeftVectorBar +createEntry (content="\u2199", form="infix", stretchy="true", scaling="horizontal", lspace="thickmathspace", rspace="thickmathspace") # LowerLeftArrow +createEntry (content="\u2198", form="infix", stretchy="true", scaling="horizontal", lspace="thickmathspace", rspace="thickmathspace") # LowerRightArrow +createEntry (content="\u2192", form="infix", stretchy="true", scaling="horizontal", lspace="thickmathspace", rspace="thickmathspace") # RightArrow +createEntry (content="\u21E5", form="infix", stretchy="true", scaling="horizontal", lspace="thickmathspace", rspace="thickmathspace") # RightArrowBar +createEntry (content="\u21C4", form="infix", stretchy="true", scaling="horizontal", lspace="thickmathspace", rspace="thickmathspace") # RightArrowLeftArrow +createEntry (content="\u21A6", form="infix", stretchy="true", scaling="horizontal", lspace="thickmathspace", rspace="thickmathspace") # RightTeeArrow +createEntry (content="\u295B", form="infix", stretchy="true", scaling="horizontal", lspace="thickmathspace", rspace="thickmathspace") # RightTeeVector +createEntry (content="\u21C0", form="infix", stretchy="true", scaling="horizontal", lspace="thickmathspace", rspace="thickmathspace") # RightVector +createEntry (content="\u2953", form="infix", stretchy="true", scaling="horizontal", lspace="thickmathspace", rspace="thickmathspace") # RightVectorBar # Commented out: collides with LeftArrow # createEntry (content=u"\u2190", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # ShortLeftArrow # Commented out: collides with RightArrow # createEntry (content=u"\u2192", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # ShortRightArrow -createEntry (content=u"\u2196", form=u"infix", stretchy=u"true", scaling="uniform", lspace=u"thickmathspace", rspace=u"thickmathspace") # UpperLeftArrow -createEntry (content=u"\u2197", form=u"infix", stretchy=u"true", scaling="uniform", lspace=u"thickmathspace", rspace=u"thickmathspace") # UpperRightArrow -createEntry (content=u"=", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") -createEntry (content=u"<", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") -createEntry (content=u">", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") -createEntry (content=u"!=", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") -createEntry (content=u"==", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") -createEntry (content=u"<=", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") -createEntry (content=u">=", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") -createEntry (content=u"\u2261", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # Congruent -createEntry (content=u"\u224D", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # CupCap -createEntry (content=u"\u2250", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # DotEqual -createEntry (content=u"\u2225", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # DoubleVerticalBar -createEntry (content=u"\u2A75", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # Equal -createEntry (content=u"\u2242", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # EqualTilde -createEntry (content=u"\u21CC", form=u"infix", stretchy=u"true", scaling="horizontal", lspace=u"thickmathspace", rspace=u"thickmathspace") # Equilibrium -createEntry (content=u"\u2265", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # GreaterEqual -createEntry (content=u"\u22DB", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # GreaterEqualLess -createEntry (content=u"\u2267", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # GreaterFullEqual -createEntry (content=u"\u2AA2", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # GreaterGreater -createEntry (content=u"\u2277", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # GreaterLess -createEntry (content=u"\u2A7E", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # GreaterSlantEqual -createEntry (content=u"\u2273", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # GreaterTilde -createEntry (content=u"\u224E", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # HumpDownHump -createEntry (content=u"\u224F", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # HumpEqual -createEntry (content=u"\u22B2", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # LeftTriangle -createEntry (content=u"\u29CF", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # LeftTriangleBar -createEntry (content=u"\u22B4", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # LeftTriangleEqual -createEntry (content=u"\u2264", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # le -createEntry (content=u"\u22DA", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # LessEqualGreater -createEntry (content=u"\u2266", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # LessFullEqual -createEntry (content=u"\u2276", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # LessGreater -createEntry (content=u"\u2AA1", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # LessLess -createEntry (content=u"\u2A7D", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # LessSlantEqual -createEntry (content=u"\u2272", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # LessTilde -createEntry (content=u"\u226B", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # NestedGreaterGreater -createEntry (content=u"\u226A", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # NestedLessLess -createEntry (content=u"\u2262", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # NotCongruent -createEntry (content=u"\u226D", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # NotCupCap -createEntry (content=u"\u2226", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # NotDoubleVerticalBar -createEntry (content=u"\u2260", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # NotEqual -createEntry (content=u"\u2242\u0338", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # NotEqualTilde -createEntry (content=u"\u226F", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # NotGreater -createEntry (content=u"\u2271", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # NotGreaterEqual -createEntry (content=u"\u2266\u0338", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # NotGreaterFullEqual -createEntry (content=u"\u226B\u0338", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # NotGreaterGreater -createEntry (content=u"\u2279", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # NotGreaterLess -createEntry (content=u"\u2A7E\u0338", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # NotGreaterSlantEqual -createEntry (content=u"\u2275", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # NotGreaterTilde -createEntry (content=u"\u224E\u0338", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # NotHumpDownHump -createEntry (content=u"\u224F\u0338", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # NotHumpEqual -createEntry (content=u"\u22EA", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # NotLeftTriangle -createEntry (content=u"\u29CF\u0338", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # NotLeftTriangleBar -createEntry (content=u"\u22EC", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # NotLeftTriangleEqual -createEntry (content=u"\u226E", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # NotLess -createEntry (content=u"\u2270", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # NotLessEqual -createEntry (content=u"\u2278", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # NotLessGreater -createEntry (content=u"\u226A\u0338", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # NotLessLess -createEntry (content=u"\u2A7D\u0338", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # NotLessSlantEqual -createEntry (content=u"\u2274", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # NotLessTilde -createEntry (content=u"\u2AA2\u0338", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # NotNestedGreaterGreater -createEntry (content=u"\u2AA1\u0338", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # NotNestedLessLess -createEntry (content=u"\u2280", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # NotPrecedes -createEntry (content=u"\u2AAF\u0338", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # NotPrecedesEqual -createEntry (content=u"\u22E0", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # NotPrecedesSlantEqual -createEntry (content=u"\u22EB", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # NotRightTriangle -createEntry (content=u"\u29D0\u0338", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # NotRightTriangleBar -createEntry (content=u"\u22ED", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # NotRightTriangleEqual -createEntry (content=u"\u2281", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # NotSucceeds -createEntry (content=u"\u2AB0\u0338", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # NotSucceedsEqual -createEntry (content=u"\u22E1", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # NotSucceedsSlantEqual -createEntry (content=u"\u227F\u0338", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # NotSucceedsTilde -createEntry (content=u"\u2241", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # NotTilde -createEntry (content=u"\u2244", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # NotTildeEqual -createEntry (content=u"\u2247", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # NotTildeFullEqual -createEntry (content=u"\u2249", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # NotTildeTilde -createEntry (content=u"\u2224", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # NotVerticalBar -createEntry (content=u"\u227A", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # Precedes -createEntry (content=u"\u2AAF", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # PrecedesEqual -createEntry (content=u"\u227C", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # PrecedesSlantEqual -createEntry (content=u"\u227E", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # PrecedesTilde -createEntry (content=u"\u2237", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # Proportion -createEntry (content=u"\u221D", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # Proportional -createEntry (content=u"\u21CB", form=u"infix", stretchy=u"true", scaling="horizontal", lspace=u"thickmathspace", rspace=u"thickmathspace") # ReverseEquilibrium -createEntry (content=u"\u22B3", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # RightTriangle -createEntry (content=u"\u29D0", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # RightTriangleBar -createEntry (content=u"\u22B5", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # RightTriangleEqual -createEntry (content=u"\u227B", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # Succeeds -createEntry (content=u"\u2AB0", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # SucceedsEqual -createEntry (content=u"\u227D", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # SucceedsSlantEqual -createEntry (content=u"\u227F", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # SucceedsTilde -createEntry (content=u"\u223C", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # Tilde -createEntry (content=u"\u2243", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # TildeEqual -createEntry (content=u"\u2245", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # TildeFullEqual -createEntry (content=u"\u2248", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # TildeTilde -createEntry (content=u"\u22A5", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # UpTee -createEntry (content=u"\u2223", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # VerticalBar -createEntry (content=u"\u2294", form=u"infix", stretchy=u"true", scaling="uniform", lspace=u"mediummathspace", rspace=u"mediummathspace") # SquareUnion -createEntry (content=u"\u22C3", form=u"infix", stretchy=u"true", scaling="uniform", lspace=u"mediummathspace", rspace=u"mediummathspace") # Union -createEntry (content=u"\u228E", form=u"infix", stretchy=u"true", scaling="uniform", lspace=u"mediummathspace", rspace=u"mediummathspace") # UnionPlus -createEntry (content=u"-", form=u"infix", lspace=u"mediummathspace", rspace=u"mediummathspace") +createEntry (content="\u2196", form="infix", stretchy="true", scaling="uniform", lspace="thickmathspace", rspace="thickmathspace") # UpperLeftArrow +createEntry (content="\u2197", form="infix", stretchy="true", scaling="uniform", lspace="thickmathspace", rspace="thickmathspace") # UpperRightArrow +createEntry (content="=", form="infix", lspace="thickmathspace", rspace="thickmathspace") +createEntry (content="<", form="infix", lspace="thickmathspace", rspace="thickmathspace") +createEntry (content=">", form="infix", lspace="thickmathspace", rspace="thickmathspace") +createEntry (content="!=", form="infix", lspace="thickmathspace", rspace="thickmathspace") +createEntry (content="==", form="infix", lspace="thickmathspace", rspace="thickmathspace") +createEntry (content="<=", form="infix", lspace="thickmathspace", rspace="thickmathspace") +createEntry (content=">=", form="infix", lspace="thickmathspace", rspace="thickmathspace") +createEntry (content="\u2261", form="infix", lspace="thickmathspace", rspace="thickmathspace") # Congruent +createEntry (content="\u224D", form="infix", lspace="thickmathspace", rspace="thickmathspace") # CupCap +createEntry (content="\u2250", form="infix", lspace="thickmathspace", rspace="thickmathspace") # DotEqual +createEntry (content="\u2225", form="infix", lspace="thickmathspace", rspace="thickmathspace") # DoubleVerticalBar +createEntry (content="\u2A75", form="infix", lspace="thickmathspace", rspace="thickmathspace") # Equal +createEntry (content="\u2242", form="infix", lspace="thickmathspace", rspace="thickmathspace") # EqualTilde +createEntry (content="\u21CC", form="infix", stretchy="true", scaling="horizontal", lspace="thickmathspace", rspace="thickmathspace") # Equilibrium +createEntry (content="\u2265", form="infix", lspace="thickmathspace", rspace="thickmathspace") # GreaterEqual +createEntry (content="\u22DB", form="infix", lspace="thickmathspace", rspace="thickmathspace") # GreaterEqualLess +createEntry (content="\u2267", form="infix", lspace="thickmathspace", rspace="thickmathspace") # GreaterFullEqual +createEntry (content="\u2AA2", form="infix", lspace="thickmathspace", rspace="thickmathspace") # GreaterGreater +createEntry (content="\u2277", form="infix", lspace="thickmathspace", rspace="thickmathspace") # GreaterLess +createEntry (content="\u2A7E", form="infix", lspace="thickmathspace", rspace="thickmathspace") # GreaterSlantEqual +createEntry (content="\u2273", form="infix", lspace="thickmathspace", rspace="thickmathspace") # GreaterTilde +createEntry (content="\u224E", form="infix", lspace="thickmathspace", rspace="thickmathspace") # HumpDownHump +createEntry (content="\u224F", form="infix", lspace="thickmathspace", rspace="thickmathspace") # HumpEqual +createEntry (content="\u22B2", form="infix", lspace="thickmathspace", rspace="thickmathspace") # LeftTriangle +createEntry (content="\u29CF", form="infix", lspace="thickmathspace", rspace="thickmathspace") # LeftTriangleBar +createEntry (content="\u22B4", form="infix", lspace="thickmathspace", rspace="thickmathspace") # LeftTriangleEqual +createEntry (content="\u2264", form="infix", lspace="thickmathspace", rspace="thickmathspace") # le +createEntry (content="\u22DA", form="infix", lspace="thickmathspace", rspace="thickmathspace") # LessEqualGreater +createEntry (content="\u2266", form="infix", lspace="thickmathspace", rspace="thickmathspace") # LessFullEqual +createEntry (content="\u2276", form="infix", lspace="thickmathspace", rspace="thickmathspace") # LessGreater +createEntry (content="\u2AA1", form="infix", lspace="thickmathspace", rspace="thickmathspace") # LessLess +createEntry (content="\u2A7D", form="infix", lspace="thickmathspace", rspace="thickmathspace") # LessSlantEqual +createEntry (content="\u2272", form="infix", lspace="thickmathspace", rspace="thickmathspace") # LessTilde +createEntry (content="\u226B", form="infix", lspace="thickmathspace", rspace="thickmathspace") # NestedGreaterGreater +createEntry (content="\u226A", form="infix", lspace="thickmathspace", rspace="thickmathspace") # NestedLessLess +createEntry (content="\u2262", form="infix", lspace="thickmathspace", rspace="thickmathspace") # NotCongruent +createEntry (content="\u226D", form="infix", lspace="thickmathspace", rspace="thickmathspace") # NotCupCap +createEntry (content="\u2226", form="infix", lspace="thickmathspace", rspace="thickmathspace") # NotDoubleVerticalBar +createEntry (content="\u2260", form="infix", lspace="thickmathspace", rspace="thickmathspace") # NotEqual +createEntry (content="\u2242\u0338", form="infix", lspace="thickmathspace", rspace="thickmathspace") # NotEqualTilde +createEntry (content="\u226F", form="infix", lspace="thickmathspace", rspace="thickmathspace") # NotGreater +createEntry (content="\u2271", form="infix", lspace="thickmathspace", rspace="thickmathspace") # NotGreaterEqual +createEntry (content="\u2266\u0338", form="infix", lspace="thickmathspace", rspace="thickmathspace") # NotGreaterFullEqual +createEntry (content="\u226B\u0338", form="infix", lspace="thickmathspace", rspace="thickmathspace") # NotGreaterGreater +createEntry (content="\u2279", form="infix", lspace="thickmathspace", rspace="thickmathspace") # NotGreaterLess +createEntry (content="\u2A7E\u0338", form="infix", lspace="thickmathspace", rspace="thickmathspace") # NotGreaterSlantEqual +createEntry (content="\u2275", form="infix", lspace="thickmathspace", rspace="thickmathspace") # NotGreaterTilde +createEntry (content="\u224E\u0338", form="infix", lspace="thickmathspace", rspace="thickmathspace") # NotHumpDownHump +createEntry (content="\u224F\u0338", form="infix", lspace="thickmathspace", rspace="thickmathspace") # NotHumpEqual +createEntry (content="\u22EA", form="infix", lspace="thickmathspace", rspace="thickmathspace") # NotLeftTriangle +createEntry (content="\u29CF\u0338", form="infix", lspace="thickmathspace", rspace="thickmathspace") # NotLeftTriangleBar +createEntry (content="\u22EC", form="infix", lspace="thickmathspace", rspace="thickmathspace") # NotLeftTriangleEqual +createEntry (content="\u226E", form="infix", lspace="thickmathspace", rspace="thickmathspace") # NotLess +createEntry (content="\u2270", form="infix", lspace="thickmathspace", rspace="thickmathspace") # NotLessEqual +createEntry (content="\u2278", form="infix", lspace="thickmathspace", rspace="thickmathspace") # NotLessGreater +createEntry (content="\u226A\u0338", form="infix", lspace="thickmathspace", rspace="thickmathspace") # NotLessLess +createEntry (content="\u2A7D\u0338", form="infix", lspace="thickmathspace", rspace="thickmathspace") # NotLessSlantEqual +createEntry (content="\u2274", form="infix", lspace="thickmathspace", rspace="thickmathspace") # NotLessTilde +createEntry (content="\u2AA2\u0338", form="infix", lspace="thickmathspace", rspace="thickmathspace") # NotNestedGreaterGreater +createEntry (content="\u2AA1\u0338", form="infix", lspace="thickmathspace", rspace="thickmathspace") # NotNestedLessLess +createEntry (content="\u2280", form="infix", lspace="thickmathspace", rspace="thickmathspace") # NotPrecedes +createEntry (content="\u2AAF\u0338", form="infix", lspace="thickmathspace", rspace="thickmathspace") # NotPrecedesEqual +createEntry (content="\u22E0", form="infix", lspace="thickmathspace", rspace="thickmathspace") # NotPrecedesSlantEqual +createEntry (content="\u22EB", form="infix", lspace="thickmathspace", rspace="thickmathspace") # NotRightTriangle +createEntry (content="\u29D0\u0338", form="infix", lspace="thickmathspace", rspace="thickmathspace") # NotRightTriangleBar +createEntry (content="\u22ED", form="infix", lspace="thickmathspace", rspace="thickmathspace") # NotRightTriangleEqual +createEntry (content="\u2281", form="infix", lspace="thickmathspace", rspace="thickmathspace") # NotSucceeds +createEntry (content="\u2AB0\u0338", form="infix", lspace="thickmathspace", rspace="thickmathspace") # NotSucceedsEqual +createEntry (content="\u22E1", form="infix", lspace="thickmathspace", rspace="thickmathspace") # NotSucceedsSlantEqual +createEntry (content="\u227F\u0338", form="infix", lspace="thickmathspace", rspace="thickmathspace") # NotSucceedsTilde +createEntry (content="\u2241", form="infix", lspace="thickmathspace", rspace="thickmathspace") # NotTilde +createEntry (content="\u2244", form="infix", lspace="thickmathspace", rspace="thickmathspace") # NotTildeEqual +createEntry (content="\u2247", form="infix", lspace="thickmathspace", rspace="thickmathspace") # NotTildeFullEqual +createEntry (content="\u2249", form="infix", lspace="thickmathspace", rspace="thickmathspace") # NotTildeTilde +createEntry (content="\u2224", form="infix", lspace="thickmathspace", rspace="thickmathspace") # NotVerticalBar +createEntry (content="\u227A", form="infix", lspace="thickmathspace", rspace="thickmathspace") # Precedes +createEntry (content="\u2AAF", form="infix", lspace="thickmathspace", rspace="thickmathspace") # PrecedesEqual +createEntry (content="\u227C", form="infix", lspace="thickmathspace", rspace="thickmathspace") # PrecedesSlantEqual +createEntry (content="\u227E", form="infix", lspace="thickmathspace", rspace="thickmathspace") # PrecedesTilde +createEntry (content="\u2237", form="infix", lspace="thickmathspace", rspace="thickmathspace") # Proportion +createEntry (content="\u221D", form="infix", lspace="thickmathspace", rspace="thickmathspace") # Proportional +createEntry (content="\u21CB", form="infix", stretchy="true", scaling="horizontal", lspace="thickmathspace", rspace="thickmathspace") # ReverseEquilibrium +createEntry (content="\u22B3", form="infix", lspace="thickmathspace", rspace="thickmathspace") # RightTriangle +createEntry (content="\u29D0", form="infix", lspace="thickmathspace", rspace="thickmathspace") # RightTriangleBar +createEntry (content="\u22B5", form="infix", lspace="thickmathspace", rspace="thickmathspace") # RightTriangleEqual +createEntry (content="\u227B", form="infix", lspace="thickmathspace", rspace="thickmathspace") # Succeeds +createEntry (content="\u2AB0", form="infix", lspace="thickmathspace", rspace="thickmathspace") # SucceedsEqual +createEntry (content="\u227D", form="infix", lspace="thickmathspace", rspace="thickmathspace") # SucceedsSlantEqual +createEntry (content="\u227F", form="infix", lspace="thickmathspace", rspace="thickmathspace") # SucceedsTilde +createEntry (content="\u223C", form="infix", lspace="thickmathspace", rspace="thickmathspace") # Tilde +createEntry (content="\u2243", form="infix", lspace="thickmathspace", rspace="thickmathspace") # TildeEqual +createEntry (content="\u2245", form="infix", lspace="thickmathspace", rspace="thickmathspace") # TildeFullEqual +createEntry (content="\u2248", form="infix", lspace="thickmathspace", rspace="thickmathspace") # TildeTilde +createEntry (content="\u22A5", form="infix", lspace="thickmathspace", rspace="thickmathspace") # UpTee +createEntry (content="\u2223", form="infix", lspace="thickmathspace", rspace="thickmathspace") # VerticalBar +createEntry (content="\u2294", form="infix", stretchy="true", scaling="uniform", lspace="mediummathspace", rspace="mediummathspace") # SquareUnion +createEntry (content="\u22C3", form="infix", stretchy="true", scaling="uniform", lspace="mediummathspace", rspace="mediummathspace") # Union +createEntry (content="\u228E", form="infix", stretchy="true", scaling="uniform", lspace="mediummathspace", rspace="mediummathspace") # UnionPlus +createEntry (content="-", form="infix", lspace="mediummathspace", rspace="mediummathspace") # Added an entry for minus sign, separate from hyphen -createEntry (content=u"\u2212", form=u"infix", lspace=u"mediummathspace", rspace=u"mediummathspace") -createEntry (content=u"+", form=u"infix", lspace=u"mediummathspace", rspace=u"mediummathspace") -createEntry (content=u"\u22C2", form=u"infix", stretchy=u"true", scaling="uniform", lspace=u"mediummathspace", rspace=u"mediummathspace") # Intersection -createEntry (content=u"\u2213", form=u"infix", lspace=u"mediummathspace", rspace=u"mediummathspace") # MinusPlus -createEntry (content=u"\u00B1", form=u"infix", lspace=u"mediummathspace", rspace=u"mediummathspace") # PlusMinus -createEntry (content=u"\u2293", form=u"infix", stretchy=u"true", scaling="uniform", lspace=u"mediummathspace", rspace=u"mediummathspace") # SquareIntersection -createEntry (content=u"\u22C1", form=u"prefix", largeop=u"true", movablelimits=u"true", stretchy=u"true", scaling="uniform", lspace=u"0em", rspace=u"thinmathspace") # Vee -createEntry (content=u"\u2296", form=u"prefix", largeop=u"true", movablelimits=u"true", lspace=u"0em", rspace=u"thinmathspace") # CircleMinus -createEntry (content=u"\u2295", form=u"prefix", largeop=u"true", movablelimits=u"true", lspace=u"0em", rspace=u"thinmathspace") # CirclePlus -createEntry (content=u"\u2211", form=u"prefix", largeop=u"true", movablelimits=u"true", stretchy=u"true", scaling="uniform", lspace=u"0em", rspace=u"thinmathspace") # Sum -createEntry (content=u"\u22C3", form=u"prefix", largeop=u"true", movablelimits=u"true", stretchy=u"true", scaling="uniform", lspace=u"0em", rspace=u"thinmathspace") # Union -createEntry (content=u"\u228E", form=u"prefix", largeop=u"true", movablelimits=u"true", stretchy=u"true", scaling="uniform", lspace=u"0em", rspace=u"thinmathspace") # UnionPlus -createEntry (content=u"lim", form=u"prefix", movablelimits=u"true", lspace=u"0em", rspace=u"thinmathspace") -createEntry (content=u"max", form=u"prefix", movablelimits=u"true", lspace=u"0em", rspace=u"thinmathspace") -createEntry (content=u"min", form=u"prefix", movablelimits=u"true", lspace=u"0em", rspace=u"thinmathspace") -createEntry (content=u"\u2296", form=u"infix", lspace=u"thinmathspace", rspace=u"thinmathspace") # CircleMinus -createEntry (content=u"\u2295", form=u"infix", lspace=u"thinmathspace", rspace=u"thinmathspace") # CirclePlus -createEntry (content=u"\u2232", form=u"prefix", largeop=u"true", stretchy=u"true", scaling="uniform", lspace=u"0em", rspace=u"0em") # ClockwiseContourIntegral -createEntry (content=u"\u222E", form=u"prefix", largeop=u"true", stretchy=u"true", scaling="uniform", lspace=u"0em", rspace=u"0em") # ContourIntegral -createEntry (content=u"\u2233", form=u"prefix", largeop=u"true", stretchy=u"true", scaling="uniform", lspace=u"0em", rspace=u"0em") # CounterClockwiseContourIntegral -createEntry (content=u"\u222F", form=u"prefix", largeop=u"true", stretchy=u"true", scaling="uniform", lspace=u"0em", rspace=u"0em") # DoubleContourIntegral -createEntry (content=u"\u222B", form=u"prefix", largeop=u"true", stretchy=u"true", scaling="uniform", lspace=u"0em", rspace=u"0em") # Integral -createEntry (content=u"\u22D3", form=u"infix", lspace=u"thinmathspace", rspace=u"thinmathspace") # Cup -createEntry (content=u"\u22D2", form=u"infix", lspace=u"thinmathspace", rspace=u"thinmathspace") # Cap -createEntry (content=u"\u2240", form=u"infix", lspace=u"thinmathspace", rspace=u"thinmathspace") # VerticalTilde -createEntry (content=u"\u22C0", form=u"prefix", largeop=u"true", movablelimits=u"true", stretchy=u"true", scaling="uniform", lspace=u"0em", rspace=u"thinmathspace") # Wedge -createEntry (content=u"\u2297", form=u"prefix", largeop=u"true", movablelimits=u"true", lspace=u"0em", rspace=u"thinmathspace") # CircleTimes -createEntry (content=u"\u2210", form=u"prefix", largeop=u"true", movablelimits=u"true", stretchy=u"true", scaling="uniform", lspace=u"0em", rspace=u"thinmathspace") # Coproduct -createEntry (content=u"\u220F", form=u"prefix", largeop=u"true", movablelimits=u"true", stretchy=u"true", scaling="uniform", lspace=u"0em", rspace=u"thinmathspace") # Product -createEntry (content=u"\u22C2", form=u"prefix", largeop=u"true", movablelimits=u"true", stretchy=u"true", scaling="uniform", lspace=u"0em", rspace=u"thinmathspace") # Intersection -createEntry (content=u"\u2210", form=u"infix", lspace=u"thinmathspace", rspace=u"thinmathspace") # Coproduct -createEntry (content=u"\u22C6", form=u"infix", lspace=u"thinmathspace", rspace=u"thinmathspace") # Star -createEntry (content=u"\u2299", form=u"prefix", largeop=u"true", movablelimits=u"true", lspace=u"0em", rspace=u"thinmathspace") # CircleDot -createEntry (content=u"*", form=u"infix", lspace=u"thinmathspace", rspace=u"thinmathspace") -createEntry (content=u"\u2062", form=u"infix", lspace=u"0em", rspace=u"0em") # InvisibleTimes -createEntry (content=u"\u00B7", form=u"infix", lspace=u"thinmathspace", rspace=u"thinmathspace") # CenterDot -createEntry (content=u"\u2297", form=u"infix", lspace=u"thinmathspace", rspace=u"thinmathspace") # CircleTimes -createEntry (content=u"\u22C1", form=u"infix", lspace=u"thinmathspace", rspace=u"thinmathspace") # Vee -createEntry (content=u"\u22C0", form=u"infix", lspace=u"thinmathspace", rspace=u"thinmathspace") # Wedge -createEntry (content=u"\u22C4", form=u"infix", lspace=u"thinmathspace", rspace=u"thinmathspace") # Diamond -createEntry (content=u"\u2216", form=u"infix", stretchy=u"true", scaling="uniform", lspace=u"thinmathspace", rspace=u"thinmathspace") # Backslash -createEntry (content=u"/", form=u"infix", stretchy=u"true", scaling="uniform", lspace=u"thinmathspace", rspace=u"thinmathspace") -createEntry (content=u"-", form=u"prefix", lspace=u"0em", rspace=u"veryverythinmathspace") +createEntry (content="\u2212", form="infix", lspace="mediummathspace", rspace="mediummathspace") +createEntry (content="+", form="infix", lspace="mediummathspace", rspace="mediummathspace") +createEntry (content="\u22C2", form="infix", stretchy="true", scaling="uniform", lspace="mediummathspace", rspace="mediummathspace") # Intersection +createEntry (content="\u2213", form="infix", lspace="mediummathspace", rspace="mediummathspace") # MinusPlus +createEntry (content="\u00B1", form="infix", lspace="mediummathspace", rspace="mediummathspace") # PlusMinus +createEntry (content="\u2293", form="infix", stretchy="true", scaling="uniform", lspace="mediummathspace", rspace="mediummathspace") # SquareIntersection +createEntry (content="\u22C1", form="prefix", largeop="true", movablelimits="true", stretchy="true", scaling="uniform", lspace="0em", rspace="thinmathspace") # Vee +createEntry (content="\u2296", form="prefix", largeop="true", movablelimits="true", lspace="0em", rspace="thinmathspace") # CircleMinus +createEntry (content="\u2295", form="prefix", largeop="true", movablelimits="true", lspace="0em", rspace="thinmathspace") # CirclePlus +createEntry (content="\u2211", form="prefix", largeop="true", movablelimits="true", stretchy="true", scaling="uniform", lspace="0em", rspace="thinmathspace") # Sum +createEntry (content="\u22C3", form="prefix", largeop="true", movablelimits="true", stretchy="true", scaling="uniform", lspace="0em", rspace="thinmathspace") # Union +createEntry (content="\u228E", form="prefix", largeop="true", movablelimits="true", stretchy="true", scaling="uniform", lspace="0em", rspace="thinmathspace") # UnionPlus +createEntry (content="lim", form="prefix", movablelimits="true", lspace="0em", rspace="thinmathspace") +createEntry (content="max", form="prefix", movablelimits="true", lspace="0em", rspace="thinmathspace") +createEntry (content="min", form="prefix", movablelimits="true", lspace="0em", rspace="thinmathspace") +createEntry (content="\u2296", form="infix", lspace="thinmathspace", rspace="thinmathspace") # CircleMinus +createEntry (content="\u2295", form="infix", lspace="thinmathspace", rspace="thinmathspace") # CirclePlus +createEntry (content="\u2232", form="prefix", largeop="true", stretchy="true", scaling="uniform", lspace="0em", rspace="0em") # ClockwiseContourIntegral +createEntry (content="\u222E", form="prefix", largeop="true", stretchy="true", scaling="uniform", lspace="0em", rspace="0em") # ContourIntegral +createEntry (content="\u2233", form="prefix", largeop="true", stretchy="true", scaling="uniform", lspace="0em", rspace="0em") # CounterClockwiseContourIntegral +createEntry (content="\u222F", form="prefix", largeop="true", stretchy="true", scaling="uniform", lspace="0em", rspace="0em") # DoubleContourIntegral +createEntry (content="\u222B", form="prefix", largeop="true", stretchy="true", scaling="uniform", lspace="0em", rspace="0em") # Integral +createEntry (content="\u22D3", form="infix", lspace="thinmathspace", rspace="thinmathspace") # Cup +createEntry (content="\u22D2", form="infix", lspace="thinmathspace", rspace="thinmathspace") # Cap +createEntry (content="\u2240", form="infix", lspace="thinmathspace", rspace="thinmathspace") # VerticalTilde +createEntry (content="\u22C0", form="prefix", largeop="true", movablelimits="true", stretchy="true", scaling="uniform", lspace="0em", rspace="thinmathspace") # Wedge +createEntry (content="\u2297", form="prefix", largeop="true", movablelimits="true", lspace="0em", rspace="thinmathspace") # CircleTimes +createEntry (content="\u2210", form="prefix", largeop="true", movablelimits="true", stretchy="true", scaling="uniform", lspace="0em", rspace="thinmathspace") # Coproduct +createEntry (content="\u220F", form="prefix", largeop="true", movablelimits="true", stretchy="true", scaling="uniform", lspace="0em", rspace="thinmathspace") # Product +createEntry (content="\u22C2", form="prefix", largeop="true", movablelimits="true", stretchy="true", scaling="uniform", lspace="0em", rspace="thinmathspace") # Intersection +createEntry (content="\u2210", form="infix", lspace="thinmathspace", rspace="thinmathspace") # Coproduct +createEntry (content="\u22C6", form="infix", lspace="thinmathspace", rspace="thinmathspace") # Star +createEntry (content="\u2299", form="prefix", largeop="true", movablelimits="true", lspace="0em", rspace="thinmathspace") # CircleDot +createEntry (content="*", form="infix", lspace="thinmathspace", rspace="thinmathspace") +createEntry (content="\u2062", form="infix", lspace="0em", rspace="0em") # InvisibleTimes +createEntry (content="\u00B7", form="infix", lspace="thinmathspace", rspace="thinmathspace") # CenterDot +createEntry (content="\u2297", form="infix", lspace="thinmathspace", rspace="thinmathspace") # CircleTimes +createEntry (content="\u22C1", form="infix", lspace="thinmathspace", rspace="thinmathspace") # Vee +createEntry (content="\u22C0", form="infix", lspace="thinmathspace", rspace="thinmathspace") # Wedge +createEntry (content="\u22C4", form="infix", lspace="thinmathspace", rspace="thinmathspace") # Diamond +createEntry (content="\u2216", form="infix", stretchy="true", scaling="uniform", lspace="thinmathspace", rspace="thinmathspace") # Backslash +createEntry (content="/", form="infix", stretchy="true", scaling="uniform", lspace="thinmathspace", rspace="thinmathspace") +createEntry (content="-", form="prefix", lspace="0em", rspace="veryverythinmathspace") # Added an entry for minus sign, separate from hyphen -createEntry (content=u"\u2212", form=u"prefix", lspace=u"0em", rspace=u"veryverythinmathspace") -createEntry (content=u"+", form=u"prefix", lspace=u"0em", rspace=u"veryverythinmathspace") -createEntry (content=u"\u2213", form=u"prefix", lspace=u"0em", rspace=u"veryverythinmathspace") # MinusPlus -createEntry (content=u"\u00B1", form=u"prefix", lspace=u"0em", rspace=u"veryverythinmathspace") # PlusMinus -createEntry (content=u".", form=u"infix", lspace=u"0em", rspace=u"0em") -createEntry (content=u"\u2A2F", form=u"infix", lspace=u"verythinmathspace", rspace=u"verythinmathspace") # Cross -createEntry (content=u"**", form=u"infix", lspace=u"verythinmathspace", rspace=u"verythinmathspace") -createEntry (content=u"\u2299", form=u"infix", lspace=u"verythinmathspace", rspace=u"verythinmathspace") # CircleDot -createEntry (content=u"\u2218", form=u"infix", lspace=u"verythinmathspace", rspace=u"verythinmathspace") # SmallCircle -createEntry (content=u"\u25A1", form=u"prefix", lspace=u"0em", rspace=u"verythinmathspace") # Square -createEntry (content=u"\u2207", form=u"prefix", lspace=u"0em", rspace=u"verythinmathspace") # Del -createEntry (content=u"\u2202", form=u"prefix", lspace=u"0em", rspace=u"verythinmathspace") # PartialD -createEntry (content=u"\u2145", form=u"prefix", lspace=u"0em", rspace=u"verythinmathspace") # CapitalDifferentialD -createEntry (content=u"\u2146", form=u"prefix", lspace=u"0em", rspace=u"verythinmathspace") # DifferentialD -createEntry (content=u"\u221A", form=u"prefix", stretchy=u"true", scaling="uniform", lspace=u"0em", rspace=u"verythinmathspace") # Sqrt -createEntry (content=u"\u21D3", form=u"infix", stretchy=u"true", scaling="vertical", lspace=u"verythinmathspace", rspace=u"verythinmathspace") # DoubleDownArrow -createEntry (content=u"\u27F8", form=u"infix", stretchy=u"true", scaling="horizontal", lspace=u"verythinmathspace", rspace=u"verythinmathspace") # DoubleLongLeftArrow -createEntry (content=u"\u27FA", form=u"infix", stretchy=u"true", scaling="horizontal", lspace=u"verythinmathspace", rspace=u"verythinmathspace") # DoubleLongLeftRightArrow -createEntry (content=u"\u27F9", form=u"infix", stretchy=u"true", scaling="horizontal", lspace=u"verythinmathspace", rspace=u"verythinmathspace") # DoubleLongRightArrow -createEntry (content=u"\u21D1", form=u"infix", stretchy=u"true", scaling="vertical", lspace=u"verythinmathspace", rspace=u"verythinmathspace") # DoubleUpArrow -createEntry (content=u"\u21D5", form=u"infix", stretchy=u"true", scaling="vertical", lspace=u"verythinmathspace", rspace=u"verythinmathspace") # DoubleUpDownArrow -createEntry (content=u"\u2193", form=u"infix", stretchy=u"true", scaling="vertical", lspace=u"verythinmathspace", rspace=u"verythinmathspace") # DownArrow -createEntry (content=u"\u2913", form=u"infix", stretchy=u"true", scaling="vertical", lspace=u"verythinmathspace", rspace=u"verythinmathspace") # DownArrowBar -createEntry (content=u"\u21F5", form=u"infix", stretchy=u"true", scaling="vertical", lspace=u"verythinmathspace", rspace=u"verythinmathspace") # DownArrowUpArrow -createEntry (content=u"\u21A7", form=u"infix", stretchy=u"true", scaling="vertical", lspace=u"verythinmathspace", rspace=u"verythinmathspace") # DownTeeArrow -createEntry (content=u"\u2961", form=u"infix", stretchy=u"true", scaling="uniform", lspace=u"verythinmathspace", rspace=u"verythinmathspace") # LeftDownTeeVector -createEntry (content=u"\u21C3", form=u"infix", stretchy=u"true", scaling="uniform", lspace=u"verythinmathspace", rspace=u"verythinmathspace") # LeftDownVector -createEntry (content=u"\u2959", form=u"infix", stretchy=u"true", scaling="uniform", lspace=u"verythinmathspace", rspace=u"verythinmathspace") # LeftDownVectorBar -createEntry (content=u"\u2951", form=u"infix", stretchy=u"true", scaling="uniform", lspace=u"verythinmathspace", rspace=u"verythinmathspace") # LeftUpDownVector -createEntry (content=u"\u2960", form=u"infix", stretchy=u"true", scaling="uniform", lspace=u"verythinmathspace", rspace=u"verythinmathspace") # LeftUpTeeVector -createEntry (content=u"\u21BF", form=u"infix", stretchy=u"true", scaling="uniform", lspace=u"verythinmathspace", rspace=u"verythinmathspace") # LeftUpVector -createEntry (content=u"\u2958", form=u"infix", stretchy=u"true", scaling="uniform", lspace=u"verythinmathspace", rspace=u"verythinmathspace") # LeftUpVectorBar -createEntry (content=u"\u27F5", form=u"infix", stretchy=u"true", scaling="horizontal", lspace=u"verythinmathspace", rspace=u"verythinmathspace") # LongLeftArrow -createEntry (content=u"\u27F7", form=u"infix", stretchy=u"true", scaling="horizontal", lspace=u"verythinmathspace", rspace=u"verythinmathspace") # LongLeftRightArrow -createEntry (content=u"\u27F6", form=u"infix", stretchy=u"true", scaling="horizontal", lspace=u"verythinmathspace", rspace=u"verythinmathspace") # LongRightArrow -createEntry (content=u"\u296F", form=u"infix", stretchy=u"true", scaling="horizontal", lspace=u"verythinmathspace", rspace=u"verythinmathspace") # ReverseUpEquilibrium -createEntry (content=u"\u295D", form=u"infix", stretchy=u"true", scaling="horizontal", lspace=u"verythinmathspace", rspace=u"verythinmathspace") # RightDownTeeVector -createEntry (content=u"\u21C2", form=u"infix", stretchy=u"true", scaling="horizontal", lspace=u"verythinmathspace", rspace=u"verythinmathspace") # RightDownVector -createEntry (content=u"\u2955", form=u"infix", stretchy=u"true", scaling="horizontal", lspace=u"verythinmathspace", rspace=u"verythinmathspace") # RightDownVectorBar -createEntry (content=u"\u294F", form=u"infix", stretchy=u"true", scaling="horizontal", lspace=u"verythinmathspace", rspace=u"verythinmathspace") # RightUpDownVector -createEntry (content=u"\u295C", form=u"infix", stretchy=u"true", scaling="horizontal", lspace=u"verythinmathspace", rspace=u"verythinmathspace") # RightUpTeeVector -createEntry (content=u"\u21BE", form=u"infix", stretchy=u"true", scaling="horizontal", lspace=u"verythinmathspace", rspace=u"verythinmathspace") # RightUpVector -createEntry (content=u"\u2954", form=u"infix", stretchy=u"true", scaling="horizontal", lspace=u"verythinmathspace", rspace=u"verythinmathspace") # RightUpVectorBar +createEntry (content="\u2212", form="prefix", lspace="0em", rspace="veryverythinmathspace") +createEntry (content="+", form="prefix", lspace="0em", rspace="veryverythinmathspace") +createEntry (content="\u2213", form="prefix", lspace="0em", rspace="veryverythinmathspace") # MinusPlus +createEntry (content="\u00B1", form="prefix", lspace="0em", rspace="veryverythinmathspace") # PlusMinus +createEntry (content=".", form="infix", lspace="0em", rspace="0em") +createEntry (content="\u2A2F", form="infix", lspace="verythinmathspace", rspace="verythinmathspace") # Cross +createEntry (content="**", form="infix", lspace="verythinmathspace", rspace="verythinmathspace") +createEntry (content="\u2299", form="infix", lspace="verythinmathspace", rspace="verythinmathspace") # CircleDot +createEntry (content="\u2218", form="infix", lspace="verythinmathspace", rspace="verythinmathspace") # SmallCircle +createEntry (content="\u25A1", form="prefix", lspace="0em", rspace="verythinmathspace") # Square +createEntry (content="\u2207", form="prefix", lspace="0em", rspace="verythinmathspace") # Del +createEntry (content="\u2202", form="prefix", lspace="0em", rspace="verythinmathspace") # PartialD +createEntry (content="\u2145", form="prefix", lspace="0em", rspace="verythinmathspace") # CapitalDifferentialD +createEntry (content="\u2146", form="prefix", lspace="0em", rspace="verythinmathspace") # DifferentialD +createEntry (content="\u221A", form="prefix", stretchy="true", scaling="uniform", lspace="0em", rspace="verythinmathspace") # Sqrt +createEntry (content="\u21D3", form="infix", stretchy="true", scaling="vertical", lspace="verythinmathspace", rspace="verythinmathspace") # DoubleDownArrow +createEntry (content="\u27F8", form="infix", stretchy="true", scaling="horizontal", lspace="verythinmathspace", rspace="verythinmathspace") # DoubleLongLeftArrow +createEntry (content="\u27FA", form="infix", stretchy="true", scaling="horizontal", lspace="verythinmathspace", rspace="verythinmathspace") # DoubleLongLeftRightArrow +createEntry (content="\u27F9", form="infix", stretchy="true", scaling="horizontal", lspace="verythinmathspace", rspace="verythinmathspace") # DoubleLongRightArrow +createEntry (content="\u21D1", form="infix", stretchy="true", scaling="vertical", lspace="verythinmathspace", rspace="verythinmathspace") # DoubleUpArrow +createEntry (content="\u21D5", form="infix", stretchy="true", scaling="vertical", lspace="verythinmathspace", rspace="verythinmathspace") # DoubleUpDownArrow +createEntry (content="\u2193", form="infix", stretchy="true", scaling="vertical", lspace="verythinmathspace", rspace="verythinmathspace") # DownArrow +createEntry (content="\u2913", form="infix", stretchy="true", scaling="vertical", lspace="verythinmathspace", rspace="verythinmathspace") # DownArrowBar +createEntry (content="\u21F5", form="infix", stretchy="true", scaling="vertical", lspace="verythinmathspace", rspace="verythinmathspace") # DownArrowUpArrow +createEntry (content="\u21A7", form="infix", stretchy="true", scaling="vertical", lspace="verythinmathspace", rspace="verythinmathspace") # DownTeeArrow +createEntry (content="\u2961", form="infix", stretchy="true", scaling="uniform", lspace="verythinmathspace", rspace="verythinmathspace") # LeftDownTeeVector +createEntry (content="\u21C3", form="infix", stretchy="true", scaling="uniform", lspace="verythinmathspace", rspace="verythinmathspace") # LeftDownVector +createEntry (content="\u2959", form="infix", stretchy="true", scaling="uniform", lspace="verythinmathspace", rspace="verythinmathspace") # LeftDownVectorBar +createEntry (content="\u2951", form="infix", stretchy="true", scaling="uniform", lspace="verythinmathspace", rspace="verythinmathspace") # LeftUpDownVector +createEntry (content="\u2960", form="infix", stretchy="true", scaling="uniform", lspace="verythinmathspace", rspace="verythinmathspace") # LeftUpTeeVector +createEntry (content="\u21BF", form="infix", stretchy="true", scaling="uniform", lspace="verythinmathspace", rspace="verythinmathspace") # LeftUpVector +createEntry (content="\u2958", form="infix", stretchy="true", scaling="uniform", lspace="verythinmathspace", rspace="verythinmathspace") # LeftUpVectorBar +createEntry (content="\u27F5", form="infix", stretchy="true", scaling="horizontal", lspace="verythinmathspace", rspace="verythinmathspace") # LongLeftArrow +createEntry (content="\u27F7", form="infix", stretchy="true", scaling="horizontal", lspace="verythinmathspace", rspace="verythinmathspace") # LongLeftRightArrow +createEntry (content="\u27F6", form="infix", stretchy="true", scaling="horizontal", lspace="verythinmathspace", rspace="verythinmathspace") # LongRightArrow +createEntry (content="\u296F", form="infix", stretchy="true", scaling="horizontal", lspace="verythinmathspace", rspace="verythinmathspace") # ReverseUpEquilibrium +createEntry (content="\u295D", form="infix", stretchy="true", scaling="horizontal", lspace="verythinmathspace", rspace="verythinmathspace") # RightDownTeeVector +createEntry (content="\u21C2", form="infix", stretchy="true", scaling="horizontal", lspace="verythinmathspace", rspace="verythinmathspace") # RightDownVector +createEntry (content="\u2955", form="infix", stretchy="true", scaling="horizontal", lspace="verythinmathspace", rspace="verythinmathspace") # RightDownVectorBar +createEntry (content="\u294F", form="infix", stretchy="true", scaling="horizontal", lspace="verythinmathspace", rspace="verythinmathspace") # RightUpDownVector +createEntry (content="\u295C", form="infix", stretchy="true", scaling="horizontal", lspace="verythinmathspace", rspace="verythinmathspace") # RightUpTeeVector +createEntry (content="\u21BE", form="infix", stretchy="true", scaling="horizontal", lspace="verythinmathspace", rspace="verythinmathspace") # RightUpVector +createEntry (content="\u2954", form="infix", stretchy="true", scaling="horizontal", lspace="verythinmathspace", rspace="verythinmathspace") # RightUpVectorBar # Commented out: collides with DownArrow # createEntry (content=u"\u2193", form=u"infix", lspace=u"verythinmathspace", rspace=u"verythinmathspace") # ShortDownArrow # Commented out: collides with UpArrow # createEntry (content=u"\u2191", form=u"infix", lspace=u"verythinmathspace", rspace=u"verythinmathspace") # ShortUpArrow -createEntry (content=u"\u2191", form=u"infix", stretchy=u"true", scaling="vertical", lspace=u"verythinmathspace", rspace=u"verythinmathspace") # UpArrow -createEntry (content=u"\u2912", form=u"infix", stretchy=u"true", scaling="vertical", lspace=u"verythinmathspace", rspace=u"verythinmathspace") # UpArrowBar -createEntry (content=u"\u21C5", form=u"infix", stretchy=u"true", scaling="vertical", lspace=u"verythinmathspace", rspace=u"verythinmathspace") # UpArrowDownArrow -createEntry (content=u"\u2195", form=u"infix", stretchy=u"true", scaling="vertical", lspace=u"verythinmathspace", rspace=u"verythinmathspace") # UpDownArrow -createEntry (content=u"\u296E", form=u"infix", stretchy=u"true", scaling="vertical", lspace=u"verythinmathspace", rspace=u"verythinmathspace") # UpEquilibrium -createEntry (content=u"\u21A5", form=u"infix", stretchy=u"true", scaling="vertical", lspace=u"verythinmathspace", rspace=u"verythinmathspace") # UpTeeArrow -createEntry (content=u"^", form=u"infix", lspace=u"verythinmathspace", rspace=u"verythinmathspace") -createEntry (content=u"<>", form=u"infix", lspace=u"verythinmathspace", rspace=u"verythinmathspace") -createEntry (content=u"'", form=u"postfix", lspace=u"verythinmathspace", rspace=u"0em") +createEntry (content="\u2191", form="infix", stretchy="true", scaling="vertical", lspace="verythinmathspace", rspace="verythinmathspace") # UpArrow +createEntry (content="\u2912", form="infix", stretchy="true", scaling="vertical", lspace="verythinmathspace", rspace="verythinmathspace") # UpArrowBar +createEntry (content="\u21C5", form="infix", stretchy="true", scaling="vertical", lspace="verythinmathspace", rspace="verythinmathspace") # UpArrowDownArrow +createEntry (content="\u2195", form="infix", stretchy="true", scaling="vertical", lspace="verythinmathspace", rspace="verythinmathspace") # UpDownArrow +createEntry (content="\u296E", form="infix", stretchy="true", scaling="vertical", lspace="verythinmathspace", rspace="verythinmathspace") # UpEquilibrium +createEntry (content="\u21A5", form="infix", stretchy="true", scaling="vertical", lspace="verythinmathspace", rspace="verythinmathspace") # UpTeeArrow +createEntry (content="^", form="infix", lspace="verythinmathspace", rspace="verythinmathspace") +createEntry (content="<>", form="infix", lspace="verythinmathspace", rspace="verythinmathspace") +createEntry (content="'", form="postfix", lspace="verythinmathspace", rspace="0em") # Added an entry for prime, separate from apostrophe -createEntry (content=u"\u2032", form=u"postfix", lspace=u"verythinmathspace", rspace=u"0em") -createEntry (content=u"!", form=u"postfix", lspace=u"verythinmathspace", rspace=u"0em") -createEntry (content=u"!!", form=u"postfix", lspace=u"verythinmathspace", rspace=u"0em") -createEntry (content=u"~", form=u"infix", lspace=u"verythinmathspace", rspace=u"verythinmathspace") -createEntry (content=u"@", form=u"infix", lspace=u"verythinmathspace", rspace=u"verythinmathspace") -createEntry (content=u"--", form=u"postfix", lspace=u"verythinmathspace", rspace=u"0em") -createEntry (content=u"--", form=u"prefix", lspace=u"0em", rspace=u"verythinmathspace") -createEntry (content=u"++", form=u"postfix", lspace=u"verythinmathspace", rspace=u"0em") -createEntry (content=u"++", form=u"prefix", lspace=u"0em", rspace=u"verythinmathspace") -createEntry (content=u"\u2061", form=u"infix", lspace=u"0em", rspace=u"0em") # ApplyFunction -createEntry (content=u"?", form=u"infix", lspace=u"verythinmathspace", rspace=u"verythinmathspace") -createEntry (content=u"_", form=u"infix", lspace=u"verythinmathspace", rspace=u"verythinmathspace") -createEntry (content=u"\u02D8", form=u"postfix", accent=u"true", lspace=u"0em", rspace=u"0em") # Breve -createEntry (content=u"\u00B8", form=u"postfix", accent=u"true", lspace=u"0em", rspace=u"0em") # Cedilla -createEntry (content=u"`", form=u"postfix", accent=u"true", lspace=u"0em", rspace=u"0em") # DiacriticalGrave -createEntry (content=u"\u02D9", form=u"postfix", accent=u"true", lspace=u"0em", rspace=u"0em") # DiacriticalDot -createEntry (content=u"\u02DD", form=u"postfix", accent=u"true", lspace=u"0em", rspace=u"0em") # DiacriticalDoubleAcute -createEntry (content=u"\u2190", form=u"postfix", accent=u"true", stretchy=u"true", scaling="horizontal", lspace=u"0em", rspace=u"0em") # LeftArrow -createEntry (content=u"\u2194", form=u"postfix", accent=u"true", stretchy=u"true", scaling="horizontal", lspace=u"0em", rspace=u"0em") # LeftRightArrow -createEntry (content=u"\u294E", form=u"postfix", accent=u"true", stretchy=u"true", scaling="horizontal", lspace=u"0em", rspace=u"0em") # LeftRightVector -createEntry (content=u"\u21BC", form=u"postfix", accent=u"true", stretchy=u"true", scaling="horizontal", lspace=u"0em", rspace=u"0em") # LeftVector -createEntry (content=u"\u00B4", form=u"postfix", accent=u"true", lspace=u"0em", rspace=u"0em") # DiacriticalAcute -createEntry (content=u"\u2192", form=u"postfix", accent=u"true", stretchy=u"true", scaling="horizontal", lspace=u"0em", rspace=u"0em") # RightArrow -createEntry (content=u"\u21C0", form=u"postfix", accent=u"true", stretchy=u"true", scaling="horizontal", lspace=u"0em", rspace=u"0em") # RightVector -createEntry (content=u"\u02DC", form=u"postfix", accent=u"true", stretchy=u"true", scaling="horizontal", lspace=u"0em", rspace=u"0em") # DiacriticalTilde -createEntry (content=u"\u00A8", form=u"postfix", accent=u"true", lspace=u"0em", rspace=u"0em") # DoubleDot -createEntry (content=u"\u0311", form=u"postfix", accent=u"true", lspace=u"0em", rspace=u"0em") # DownBreve -createEntry (content=u"\u02C7", form=u"postfix", accent=u"true", stretchy=u"true", scaling="horizontal", lspace=u"0em", rspace=u"0em") # Hacek -createEntry (content=u"^", form=u"postfix", accent=u"true", stretchy=u"true", scaling="horizontal", lspace=u"0em", rspace=u"0em") # Hat -createEntry (content=u"\u00AF", form=u"postfix", accent=u"true", stretchy=u"true", scaling="horizontal", lspace=u"0em", rspace=u"0em") # OverBar -createEntry (content=u"\uFE37", form=u"postfix", accent=u"true", stretchy=u"true", scaling="horizontal", lspace=u"0em", rspace=u"0em") # OverBrace -createEntry (content=u"\u23B4", form=u"postfix", accent=u"true", stretchy=u"true", scaling="horizontal", lspace=u"0em", rspace=u"0em") # OverBracket -createEntry (content=u"\uFE35", form=u"postfix", accent=u"true", stretchy=u"true", scaling="horizontal", lspace=u"0em", rspace=u"0em") # OverParenthesis -createEntry (content=u"\u20DB", form=u"postfix", accent=u"true", lspace=u"0em", rspace=u"0em") # TripleDot -createEntry (content=u"\u0332", form=u"postfix", accent=u"true", stretchy=u"true", scaling="horizontal", lspace=u"0em", rspace=u"0em") # UnderBar -createEntry (content=u"\uFE38", form=u"postfix", accent=u"true", stretchy=u"true", scaling="horizontal", lspace=u"0em", rspace=u"0em") # UnderBrace -createEntry (content=u"\u23B5", form=u"postfix", accent=u"true", stretchy=u"true", scaling="horizontal", lspace=u"0em", rspace=u"0em") # UnderBracket -createEntry (content=u"\uFE36", form=u"postfix", accent=u"true", stretchy=u"true", scaling="horizontal", lspace=u"0em", rspace=u"0em") # UnderParenthesis +createEntry (content="\u2032", form="postfix", lspace="verythinmathspace", rspace="0em") +createEntry (content="!", form="postfix", lspace="verythinmathspace", rspace="0em") +createEntry (content="!!", form="postfix", lspace="verythinmathspace", rspace="0em") +createEntry (content="~", form="infix", lspace="verythinmathspace", rspace="verythinmathspace") +createEntry (content="@", form="infix", lspace="verythinmathspace", rspace="verythinmathspace") +createEntry (content="--", form="postfix", lspace="verythinmathspace", rspace="0em") +createEntry (content="--", form="prefix", lspace="0em", rspace="verythinmathspace") +createEntry (content="++", form="postfix", lspace="verythinmathspace", rspace="0em") +createEntry (content="++", form="prefix", lspace="0em", rspace="verythinmathspace") +createEntry (content="\u2061", form="infix", lspace="0em", rspace="0em") # ApplyFunction +createEntry (content="?", form="infix", lspace="verythinmathspace", rspace="verythinmathspace") +createEntry (content="_", form="infix", lspace="verythinmathspace", rspace="verythinmathspace") +createEntry (content="\u02D8", form="postfix", accent="true", lspace="0em", rspace="0em") # Breve +createEntry (content="\u00B8", form="postfix", accent="true", lspace="0em", rspace="0em") # Cedilla +createEntry (content="`", form="postfix", accent="true", lspace="0em", rspace="0em") # DiacriticalGrave +createEntry (content="\u02D9", form="postfix", accent="true", lspace="0em", rspace="0em") # DiacriticalDot +createEntry (content="\u02DD", form="postfix", accent="true", lspace="0em", rspace="0em") # DiacriticalDoubleAcute +createEntry (content="\u2190", form="postfix", accent="true", stretchy="true", scaling="horizontal", lspace="0em", rspace="0em") # LeftArrow +createEntry (content="\u2194", form="postfix", accent="true", stretchy="true", scaling="horizontal", lspace="0em", rspace="0em") # LeftRightArrow +createEntry (content="\u294E", form="postfix", accent="true", stretchy="true", scaling="horizontal", lspace="0em", rspace="0em") # LeftRightVector +createEntry (content="\u21BC", form="postfix", accent="true", stretchy="true", scaling="horizontal", lspace="0em", rspace="0em") # LeftVector +createEntry (content="\u00B4", form="postfix", accent="true", lspace="0em", rspace="0em") # DiacriticalAcute +createEntry (content="\u2192", form="postfix", accent="true", stretchy="true", scaling="horizontRefactoringTool: No changes to ../python3/svgmath/nodelocator.py RefactoringTool: Refactored ../python3/svgmath/measurers.py al", lspace="0em", rspace="0em") # RightArrow +createEntry (content="\u21C0", form="postfix", accent="true", stretchy="true", scaling="horizontal", lspace="0em", rspace="0em") # RightVector +createEntry (content="\u02DC", form="postfix", accent="true", stretchy="true", scaling="horizontal", lspace="0em", rspace="0em") # DiacriticalTilde +createEntry (content="\u00A8", form="postfix", accent="true", lspace="0em", rspace="0em") # DoubleDot +createEntry (content="\u0311", form="postfix", accent="true", lspace="0em", rspace="0em") # DownBreve +createEntry (content="\u02C7", form="postfix", accent="true", stretchy="true", scaling="horizontal", lspace="0em", rspace="0em") # Hacek +createEntry (content="^", form="postfix", accent="true", stretchy="true", scaling="horizontal", lspace="0em", rspace="0em") # Hat +createEntry (content="\u00AF", form="postfix", accent="true", stretchy="true", scaling="horizontal", lspace="0em", rspace="0em") # OverBar +createEntry (content="\uFE37", form="postfix", accent="true", stretchy="true", scaling="horizontal", lspace="0em", rspace="0em") # OverBrace +createEntry (content="\u23B4", form="postfix", accent="true", stretchy="true", scaling="horizontal", lspace="0em", rspace="0em") # OverBracket +createEntry (content="\uFE35", form="postfix", accent="true", stretchy="true", scaling="horizontal", lspace="0em", rspace="0em") # OverParenthesis +createEntry (content="\u20DB", form="postfix", accent="true", lspace="0em", rspace="0em") # TripleDot +createEntry (content="\u0332", form="postfix", accent="true", stretchy="true", scaling="horizontal", lspace="0em", rspace="0em") # UnderBar +createEntry (content="\uFE38", form="postfix", accent="true", stretchy="true", scaling="horizontal", lspace="0em", rspace="0em") # UnderBrace +createEntry (content="\u23B5", form="postfix", accent="true", stretchy="true", scaling="horizontal", lspace="0em", rspace="0em") # UnderBracket +createEntry (content="\uFE36", form="postfix", accent="true", stretchy="true", scaling="horizontal", lspace="0em", rspace="0em") # UnderParenthesis --- ../python3/svgmath/measurers.py (original) +++ ../python3/svgmath/measurers.py (refactored) @@ -18,7 +18,7 @@ measure_mrow(node) # processed in the constructor def measure_maction (node): - selectionattr = node.attributes.get(u"selection", u"1") + selectionattr = node.attributes.get("selection", "1") selection = node.parseInt(selectionattr) node.base = None if selection <= 0: @@ -51,7 +51,7 @@ attr = attr [:-6] else: basevalue = startvalue - if attr.endswith (u'%'): + if attr.endswith ('%'): attr = attr[:-1] basevalue /= 100.0 @@ -64,19 +64,19 @@ attr = node.attributes.get(attname) if attr is None: return startvalue attr = " ".join(attr.split()) - if attr.startswith(u'+'): + if attr.startswith('+'): return startvalue + parseDimension(attr[1:], startvalue, canUseSpaces) - elif attr.startswith(u'+'): + elif attr.startswith('+'): return startvalue - parseDimension(attr[1:], startvalue, canUseSpaces) else: return parseDimension(attr, startvalue, canUseSpaces) - node.height = getDimension(u"height", node.base.height, False) - node.depth = getDimension(u"depth", node.base.depth, False) + node.height = getDimension("height", node.base.height, False) + node.depth = getDimension("depth", node.base.depth, False) node.ascender = node.base.ascender node.descender = node.base.descender - node.leftpadding = getDimension(u"lspace", 0, True) - node.width = getDimension(u"width", node.base.width + node.leftpadding, True) + node.leftpadding = getDimension("lspace", 0, True) + node.width = getDimension("width", node.base.width + node.leftpadding, True) if node.width < 0: node.width = 0 node.leftspace = node.base.leftspace node.rightspace = node.base.rightspace @@ -87,31 +87,31 @@ node.children = [] # Add fences and separators, and process as a mrow - openingFence = node.getProperty(u"open") + openingFence = node.getProperty("open") openingFence = " ".join(openingFence.split()) if len(openingFence) > 0: - opening = mathnode.MathNode (u"mo", {u"fence": u"true", u"form": u"prefix"}, + opening = mathnode.MathNode ("mo", {"fence": "true", "form": "prefix"}, None, node.config, node) opening.text = openingFence opening.measure() - separators = "".join(node.getProperty(u"separators").split()) + separators = "".join(node.getProperty("separators").split()) sepindex = 0 lastsep = len(separators) - 1 for ch in old_children: if len(node.children) > 1 and lastsep >= 0: - sep = mathnode.MathNode (u"mo", {u"separator": u"true", u"form": u"infix"}, + sep = mathnode.MathNode ("mo", {"separator": "true", "form": "infix"}, None, node.config, node) sep.text = separators[sepindex] sep.measure() sepindex = min (sepindex+1, lastsep) node.children.append(ch) - closingFence = node.getProperty(u"close") + closingFence = node.getProperty("close") closingFence = " ".join(closingFence.split()) if len(closingFence) > 0: - closing = mathnode.MathNode (u"mo", {u"fence": u"true", u"form": u"postfix"}, + closing = mathnode.MathNode ("mo", {"fence": "true", "form": "postfix"}, None, node.config, node) closing.text = closingFence closing.measure() @@ -121,11 +121,11 @@ def measure_mo (node): # Normalize operator glyphs # Use minus instead of hyphen - if node.hasGlyph(0x2212): node.text = node.text.replace(u'-', u'\u2212') + if node.hasGlyph(0x2212): node.text = node.text.replace('-', '\u2212') # Use prime instead of apostrophe - if node.hasGlyph(0x2032): node.text = node.text.replace(u'\'', u'\u2032') + if node.hasGlyph(0x2032): node.text = node.text.replace('\'', '\u2032') # Invisible operators produce space nodes - if node.text in [u'\u2061', u'\u2062', u'\u2063']: node.isSpace = True + if node.text in ['\u2061', '\u2062', '\u2063']: node.isSpace = True else: node.measureText() # Align the operator along the mathematical axis for the respective font @@ -144,7 +144,7 @@ def measure_mtext (node): node.measureText() - spacing = node.parseSpace(u"thinmathspace") + spacing = node.parseSpace("thinmathspace") node.leftspace = spacing node.rightspace = spacing @@ -159,20 +159,20 @@ node.descender = node.base.descender def measure_ms (node): - lq = node.getProperty(u"lquote") - rq = node.getProperty(u"rquote") - if lq: node.text = node.text.replace(lq, u"\\"+lq) - if rq and rq != lq: node.text = node.text.replace(rq, u"\\"+rq) + lq = node.getProperty("lquote") + rq = node.getProperty("rquote") + if lq: node.text = node.text.replace(lq, "\\"+lq) + if rq and rq != lq: node.text = node.text.replace(rq, "\\"+rq) node.text = lq + node.text + rq node.measureText() - spacing = node.parseSpace(u"thinmathspace") + spacing = node.parseSpace("thinmathspace") node.leftspace = spacing node.rightspace = spacing def measure_mspace (node): - node.height = node.parseLength(node.getProperty(u"height")) - node.depth = node.parseLength(node.getProperty(u"depth")) - node.width = node.parseSpace(node.getProperty(u"width")) + node.height = node.parseLength(node.getProperty("height")) + node.depth = node.parseLength(node.getProperty("depth")) + node.width = node.parseSpace(node.getProperty("width")) # Add ascender/descender values node.ascender = node.nominalAscender() @@ -194,14 +194,14 @@ # Process non-marking operators for i in range(len(node.children)): ch = node.children[i] - if ch.core.elementName != u'mo': continue - if ch.text in [u'\u2061', u'\u2062', u'\u2063']: - ch.text = u"" + if ch.core.elementName != 'mo': continue + if ch.text in ['\u2061', '\u2062', '\u2063']: + ch.text = "" def longtext(n): if n is None: return False if n.isSpace: return False - if n.core.elementName == u"ms": return True - if n.core.elementName in [u"mo", u"mi", u"mtext"]: return (len(n.core.text) > 1) + if n.core.elementName == "ms": return True + if n.core.elementName in ["mo", "mi", "mtext"]: return (len(n.core.text) > 1) return False ch_prev = None; ch_next = None; if i > 0: ch_prev = node.children[i-1] @@ -243,11 +243,11 @@ (node.enumerator, node.denominator) = node.children[:2] node.alignToAxis = True - ruleWidthKeywords = {u"medium": "1", - u"thin": "0.5", - u"thick": "2"} + ruleWidthKeywords = {"medium": "1", + "thin": "0.5", + "thick": "2"} - widthAttr = node.getProperty(u"linethickness") + widthAttr = node.getProperty("linethickness") widthAttr = ruleWidthKeywords.get(widthAttr, widthAttr) unitWidth = node.nominalLineWidth() node.ruleWidth = node.parseLength(widthAttr, unitWidth) @@ -255,7 +255,7 @@ node.ruleGap = node.nominalLineGap() if node.tightspaces: node.ruleGap /= 1.41 # more compact style if in scripts/limits - if node.getProperty(u"bevelled") == u"true": + if node.getProperty("bevelled") == "true": eh = node.enumerator.height + node.enumerator.depth dh = node.denominator.height + node.denominator.depth vshift = min (eh, dh) / 2 @@ -358,7 +358,7 @@ isPre = False; isSub = True for ch in node.children[1:]: - if ch.elementName == u"mprescripts": + if ch.elementName == "mprescripts": if isPre: node.error("Repeated 'mprescripts' element inside 'mmultiscripts\n") isPre = True; isSub = True; continue @@ -376,7 +376,7 @@ def pushEnclosure(): if node.decoration is None: return # no need to push - wrapChildren (node, u"menclose") + wrapChildren (node, "menclose") setNodeBase(node.children[0], node.base) setNodeBase(node, node.children[0]) node.base.decoration = node.decoration @@ -389,7 +389,7 @@ node.base.borderWidth = node.borderWidth createImplicitRow(node) - signs = node.getProperty(u"notation").split() + signs = node.getProperty("notation").split() node.width = node.base.width node.height = node.base.height node.depth = node.base.depth @@ -400,8 +400,8 @@ node.vdelta = node.nominalLineGap() + node.borderWidth # Radical sign - convert to msqrt for simplicity - if u"radical" in signs: - wrapChildren(node, u"msqrt") + if "radical" in signs: + wrapChildren(node, "msqrt") setNodeBase(node.children[0], node.base) setNodeBase(node, node.children[0]) node.base.makeContext() @@ -411,10 +411,10 @@ node.depth = node.base.depth # Strikes - strikes = [ u"horizontalstrike" in signs, - u"verticalstrike" in signs, - u"updiagonalstrike" in signs, - u"downdiagonalstrike" in signs ] + strikes = [ "horizontalstrike" in signs, + "verticalstrike" in signs, + "updiagonalstrike" in signs, + "downdiagonalstrike" in signs ] if True in strikes: pushEnclosure() node.decoration = "strikes" @@ -422,28 +422,28 @@ # no size change - really? # Rounded box - if u"roundedbox" in signs: + if "roundedbox" in signs: pushEnclosure() node.decoration = "roundedbox" enclosures.addBoxEnclosure(node) # Square box - if u"box" in signs: + if "box" in signs: pushEnclosure() node.decoration = "box" enclosures.addBoxEnclosure(node) # Circle - if u"circle" in signs: + if "circle" in signs: pushEnclosure() node.decoration = "circle" enclosures.addCircleEnclosure(node) # Borders - borders = [ u"left" in signs, - u"right" in signs, - u"top" in signs, - u"bottom" in signs ] + borders = [ "left" in signs, + "right" in signs, + "top" in signs, + "bottom" in signs ] if True in borders: pushEnclosure() if False in borders: @@ -454,13 +454,13 @@ enclosures.addBoxEnclosure(node) # Long division - if u"longdiv" in signs: + if "longdiv" in signs: pushEnclosure() node.decoration = "borders" enclosures.addBorderEnclosure(node, [True, False, True, False]) # left top for now # Actuarial - if u"actuarial" in signs: + if "actuarial" in signs: pushEnclosure() node.decoration = "borders" enclosures.addBorderEnclosure(node, [False, True, True, False]) # right top @@ -480,7 +480,7 @@ c = r.cells[i] if c is None or c.content is None: continue content = c.content - if content.elementName == u"mtd": + if content.elementName == "mtd": if len(content.children) != 1: continue content = content.children[0] if content.core.stretchy: c.content = content @@ -501,7 +501,7 @@ for c in r.cells: if c is None or c.content is None: continue content = c.content - if content.elementName == u"mtd": + if content.elementName == "mtd": if len(content.children) != 1: continue content = content.children[0] if content.core.stretchy: c.content = content @@ -547,19 +547,19 @@ baseLine = topLine + row.height axisLine = baseLine - node.axis() - if alignType == u"axis": + if alignType == "axis": node.alignToAxis = True node.height = axisLine - elif alignType == u"baseline": + elif alignType == "baseline": node.alignToAxis = False node.height = baseLine - elif alignType == u"center": + elif alignType == "center": node.alignToAxis = False node.height = (topLine + bottomLine) / 2 - elif alignType == u"top": + elif alignType == "top": node.alignToAxis = False node.height = topLine - elif alignType == u"bottom": + elif alignType == "bottom": node.alignToAxis = False node.height = bottomLine else: @@ -572,7 +572,7 @@ node.descender = node.depth def measure_mtr (node): - if node.parent is None or node.parent.elementName != u"mtable": + if node.parent is None or node.parent.elementName != "mtable": node.error("Misplaced '%s' element: should be child of 'mtable'" % node.elementName) pass # all processing is done on the table @@ -586,7 +586,7 @@ measure_mtr(node) def measure_mtd (node): - if node.parent is None or node.parent.elementName not in [u"mtr", u"mlabeledtr", u"mtable"]: + if node.parent is None or node.parent.elementName not in ["mtr", "mlabeledtr", "mtable"]: node.error("Misplaced '%s' element: should be child of 'mtr', 'mlabeledtr', or 'mtable'" % node.elementName) measure_mrow(node) @@ -617,7 +617,7 @@ node.subShift = 0 if len(subs) > 0: - shiftAttr = node.getProperty(u"subscriptshift") + shiftAttr = node.getProperty("subscriptshift") if shiftAttr is None: shiftAttr = "0.5ex" node.subShift = node.parseLength(shiftAttr) # positive shifts down node.subShift = max (node.subShift, subHeight - scriptMedian + gap) @@ -630,7 +630,7 @@ node.superShift = 0 if len(supers) > 0: - shiftARefactoringTool: Refactored ../python3/svgmath/mathnode.py ttr = node.getProperty(u"superscriptshift") + shiftAttr = node.getProperty("superscriptshift") if shiftAttr is None: shiftAttr = "1ex" node.superShift = node.parseLength(shiftAttr) # positive shifts up node.superShift = max (node.superShift, superDepth + scriptMedian + gap) @@ -699,18 +699,18 @@ toWidth -= node.width - node.base.width stretch(node.base, toWidth, toHeight, toDepth, symmetric) node.measureNode() - elif node.elementName == u"mo": + elif node.elementName == "mo": if node.fontSize == 0: return - maxsizedefault = node.opdefaults.get(u"maxsize") - maxsizeattr = node.getProperty(u"maxsize", maxsizedefault) - if (maxsizeattr == u"infinity"): + maxsizedefault = node.opdefaults.get("maxsize") + maxsizeattr = node.getProperty("maxsize", maxsizedefault) + if (maxsizeattr == "infinity"): maxScale = None else: maxScale = node.parseSpaceOrPercent(maxsizeattr, node.fontSize, node.fontSize) / node.fontSize - minsizedefault = node.opdefaults.get(u"minsize") - minsizeattr = node.getProperty(u"minsize", minsizedefault) + minsizedefault = node.opdefaults.get("minsize") + minsizeattr = node.getProperty("minsize", minsizedefault) minScale = node.parseSpaceOrPercent(minsizeattr, node.fontSize, node.fontSize) / node.fontSize if toWidth is None: stretchVertically(node, toHeight, toDepth, minScale, maxScale, symmetric) @@ -719,7 +719,7 @@ def stretchVertically(node, toHeight, toDepth, minScale, maxScale, symmetric): if node.ascender + node.descender == 0: return - if node.scaling == u"horizontal": return + if node.scaling == "horizontal": return if symmetric and node.symmetric: toHeight = (toHeight + toDepth) / 2 @@ -744,7 +744,7 @@ node.depth -= extraShift node.descender -= extraShift - if node.scaling == u"vertical": + if node.scaling == "vertical": node.textStretch /= scale else: node.width *= scale @@ -753,7 +753,7 @@ def stretchHorizontally(node, toWidth, minScale, maxScale): if node.width == 0: return - if node.scaling != u"horizontal": return + if node.scaling != "horizontal": return scale = toWidth / node.width scale = max (scale, minScale) @@ -778,7 +778,7 @@ def createImplicitRow(node): if len(node.children) != 1: - wrapChildren(node, u"mrow") + wrapChildren(node, "mrow") node.children[0].makeContext(); node.children[0].measureNode(); setNodeBase(node, node.children[0]) --- ../python3/svgmath/mathnode.py (original) +++ ../python3/svgmath/mathnode.py (refactored) @@ -2,7 +2,7 @@ import sys, contextmakers, measurers, generators from xml import sax -from nodelocator import NodeLocator +from .nodelocator import NodeLocator def isHighSurrogate(ch): @@ -22,61 +22,61 @@ globalDefaults = { # Font and color properties - u"mathvariant": u"normal", - u"mathsize": u"12pt", - u"mathcolor": u"black", - u"mathbackground": u"transparent", - u"displaystyle": u"false", - u"scriptlevel": u"0", + "mathvariant": "normal", + "mathsize": "12pt", + "mathcolor": "black", + "mathbackground": "transparent", + "displaystyle": "false", + "scriptlevel": "0", # Script size factor and minimum value - u"scriptsizemultiplier": u"0.71", - u"scriptminsize": u"8pt", + "scriptsizemultiplier": "0.71", + "scriptminsize": "8pt", # Spaces - u"veryverythinmathspace": u"0.0555556em", - u"verythinmathspace": u"0.111111em", - u"thinmathspace": u"0.166667em", - u"mediummathspace": u"0.222222em", - u"thickmathspace": u"0.277778em", - u"verythickmathspace": u"0.333333em", - u"veryverythickmathspace": u"0.388889em", + "veryverythinmathspace": "0.0555556em", + "verythinmathspace": "0.111111em", + "thinmathspace": "0.166667em", + "mediummathspace": "0.222222em", + "thickmathspace": "0.277778em", + "verythickmathspace": "0.333333em", + "veryverythickmathspace": "0.388889em", # Line thickness and slope for mfrac - u"linethickness": "1", - u"bevelled": u"false", - u"enumalign": u"center", - u"denomalign": u"center", + "linethickness": "1", + "bevelled": "false", + "enumalign": "center", + "denomalign": "center", # String quotes for ms - u"lquote": u"\"", - u"rquote": u"\"", + "lquote": "\"", + "rquote": "\"", # Properties for mspace - u"height": u"0ex", - u"depth": u"0ex", - u"width": u"0em", + "height": "0ex", + "depth": "0ex", + "width": "0em", # Properties for mfenced - u"open": u"(", - u"close": u")", - u"separators": u",", + "open": "(", + "close": ")", + "separators": ",", # Property for menclose - u"notation": u"longdiv", + "notation": "longdiv", # Properties for mtable - u"align": u"axis", - u"rowalign": u"baseline", - u"columnalign": u"center", - u"columnwidth": u"auto", - u"equalrows": u"false", - u"equalcolumns": u"false", - u"rowspacing": u"1.0ex", - u"columnspacing": u"0.8em", - u"framespacing": u"0.4em 0.5ex", - u"rowlines": u"none", - u"columnlines": u"none", - u"frame": u"none" + "align": "axis", + "rowalign": "baseline", + "columnalign": "center", + "columnwidth": "auto", + "equalrows": "false", + "equalcolumns": "false", + "rowspacing": "1.0ex", + "columnspacing": "0.8em", + "framespacing": "0.4em 0.5ex", + "rowlines": "none", + "columnlines": "none", + "frame": "none" } -specialChars = { u'\u2145': u'D', - u'\u2146': u'd', - u'\u2147': u'e', - u'\u2148': u'i', - u'\u00A0': u' ' } +specialChars = { '\u2145': 'D', + '\u2146': 'd', + '\u2147': 'e', + '\u2148': 'i', + '\u00A0': ' ' } class FontMetricRecord: """Structure to track usage of a single font family""" @@ -107,7 +107,7 @@ else: self.locator = NodeLocator(None) - self.text = u'' + self.text = '' self.children = [] self.attributes = attributes self.parent = parent @@ -124,11 +124,11 @@ def makeContext (self): - contextmakers.__dict__.get(u"context_"+self.elementName, + contextmakers.__dict__.get("context_"+self.elementName, contextmakers.default_context)(self) def makeChildContext (self, child): - contextmakers.__dict__.get(u"child_context_"+self.elementName, + contextmakers.__dict__.get("child_context_"+self.elementName, contextmakers.default_child_context)(self, child) @@ -141,7 +141,7 @@ self.measureNode() def measureNode(self): - measureMethod = measurers.__dict__.get(u"measure_"+self.elementName, + measureMethod = measurers.__dict__.get("measure_"+self.elementName, measurers.default_measure) if self.config.verbose and measureMethod is measurers.default_measure: self.warning("MathML element '%s' is unsupported" % self.elementName) @@ -149,7 +149,7 @@ def draw (self, output): - generators.__dict__.get(u"draw_"+self.elementName, + generators.__dict__.get("draw_"+self.elementName, generators.default_draw)(self, output) def makeImage(self, output): @@ -215,8 +215,8 @@ def parseSpace(self, spaceattr, unitlessScale = 0.75): sign = 1.0 spaceattr = spaceattr.strip() - if spaceattr.endswith(u"mathspace"): - if spaceattr.startswith(u"negative"): + if spaceattr.endswith("mathspace"): + if spaceattr.startswith("negative"): sign = -1.0 spaceattr = spaceattr[8:] RefactoringTool: Refactored ../python3/svgmath/mathhandler.py RefactoringTool: Refactored ../python3/svgmath/mathconfig.py realspaceattr = self.defaults.get(spaceattr); @@ -233,11 +233,11 @@ else: return 0 def parseLengthOrPercent(self, lenattr, percentBase, unitlessScale = 0.75): - if lenattr.endswith(u"%"): return self.parsePercent(lenattr, percentBase) + if lenattr.endswith("%"): return self.parsePercent(lenattr, percentBase) else: return self.parseLength(lenattr, unitlessScale) def parseSpaceOrPercent(self, lenattr, percentBase, unitlessScale = 0.75): - if lenattr.endswith(u"%"): return self.parsePercent(lenattr, percentBase) + if lenattr.endswith("%"): return self.parsePercent(lenattr, percentBase) else: return self.parseSpace(lenattr, unitlessScale) @@ -342,8 +342,8 @@ cm = fd.metric.chardata.get(ch) if cm: return (cm, fd) else: - if 0 < ch and ch < 0xFFFF and unichr(ch) in specialChars.keys(): - return self.findChar(ord(specialChars[unichr(ch)])) + if 0 < ch and ch < 0xFFFF and chr(ch) in list(specialChars.keys()): + return self.findChar(ord(specialChars[chr(ch)])) self.warning("Glyph U+%X not found" % ch) return None --- ../python3/svgmath/mathhandler.py (original) +++ ../python3/svgmath/mathhandler.py (refactored) @@ -2,12 +2,12 @@ import sys from xml import sax -from mathnode import MathNode -from mathconfig import MathConfig -from nodelocator import NodeLocator +from .mathnode import MathNode +from .mathconfig import MathConfig +from .nodelocator import NodeLocator # MathML namespace -MathNS = u"http://www.w3.org/1998/Math/MathML" +MathNS = "http://www.w3.org/1998/Math/MathML" class MathHandler (sax.ContentHandler): """SAX ContentHandler for converting MathML formulae to SVG. @@ -47,7 +47,7 @@ self.skip = 1; return properties = {} - for (attName, value) in attributes.items(): + for (attName, value) in list(attributes.items()): (attNamespace, attLocalName) = attName if attNamespace and attNamespace != MathNS: if self.config.verbose: @@ -70,7 +70,7 @@ raise sax.SAXParseException("SAX parser error: unmatched closing tag", None, self.locator) # Normalize text - self.currentNode.text = u' '.join(self.currentNode.text.split()) + self.currentNode.text = ' '.join(self.currentNode.text.split()) # If we're back to the top of the tree, measure and draw everything if self.currentNode.parent is None: --- ../python3/svgmath/mathconfig.py (original) +++ ../python3/svgmath/mathconfig.py (refactored) @@ -2,9 +2,9 @@ import os, sys from xml import sax -from fonts.afm import AFMMetric -from fonts.ttf import TTFMetric -from fonts.metric import FontFormatError +from .fonts.afm import AFMMetric +from .fonts.ttf import TTFMetric +from .fonts.metric import FontFormatError class MathConfig(sax.ContentHandler): """Configuration for MathML-to-SVG formatter. @@ -26,47 +26,47 @@ parser.setContentHandler(self) parser.setFeature(sax.handler.feature_namespaces, 0) parser.parse(configfile) - except sax.SAXException, xcpt: - print "Error parsing configuration file ", configfile, ": ", xcpt.getMessage() + except sax.SAXException as xcpt: + print("Error parsing configuration file ", configfile, ": ", xcpt.getMessage()) sys.exit(1) def startElement(self, name, attributes): - if name == u"config": - self.verbose = (attributes.get(u"verbose") == u"true") - self.debug = (attributes.get(u"debug", u"")).replace(u",", u" ").split() + if name == "config": + self.verbose = (attributes.get("verbose") == "true") + self.debug = (attributes.get("debug", "")).replace(",", " ").split() - elif name == u"defaults": + elif name == "defaults": self.defaults.update(attributes) - elif name == u"fallback": - familyattr = attributes.get(u"family", u"") - self.fallbackFamilies = [" ".join(x.split()) for x in familyattr.split(u",")] + elif name == "fallback": + familyattr = attributes.get("family", "") + self.fallbackFamilies = [" ".join(x.split()) for x in familyattr.split(",")] - elif name == u"family": - self.currentFamily = attributes.get(u"name", u"") + elif name == "family": + self.currentFamily = attributes.get("name", "") self.currentFamily = "".join(self.currentFamily.lower().split()) - elif name == u"font": - weight = attributes.get(u"weight", u"normal") - style = attributes.get(u"style", u"normal") + elif name == "font": + weight = attributes.get("weight", "normal") + style = attributes.get("style", "normal") fontfullname = self.currentFamily; - if weight != u"normal": - fontfullname += u" " + weight - if style != u"normal": - fontfullname += u" " + style + if weight != "normal": + fontfullname += " " + weight + if style != "normal": + fontfullname += " " + style try: - if u"afm" in attributes.keys(): - fontpath = attributes.get(u"afm") - metric = AFMMetric(fontpath, attributes.get(u"glyph-list"), sys.stderr) - elif u"ttf" in attributes.keys(): - fontpath = attributes.get(u"ttf") + if "afm" in list(attributes.keys()): + fontpath = attributes.get("afm") + metric = AFMMetric(fontpath, attributes.get("glyph-list"), sys.stderr) + elif "ttf" in list(attributes.keys()): + fontpath = attributes.get("ttf") metric = TTFMetric(fontpath, sys.stderr) else: sys.stderr.write("Bad record in configuration file: font is neither AFM nor TTF\n") sys.stderr.write("Font entry for '%s' ignored\n" % fontfullname) return - except FontFormatError, err: + except FontFormatError as err: sys.stderr.write("Invalid or unsupported file format in '%s': %s\n" % (fontpath, err.message)) sys.stderr.write("Font entry for '%s' ignored\n" % fontfullname) return @@ -76,41 +76,41 @@ sys.stderr.write("Font entry for '%s' ignored\n" % fontfullname) return - self.fonts[weight+u" "+style+u" "+self.currentFamily] = metric + self.fonts[weight+" "+style+" "+self.currentFamily] = metric - elif name == u"mathvariant": - variantattr = attributes.get(u"name") - familyattr = attributes.get(u"family", "") - splitFamily = [" ".join(x.split()) for x in familyattr.split(u",")] - weightattr = attributes.get(u"weight", u"normal") - styleattr = attributes.get(u"style", u"normal") + elif name == "mathvariant": + variantattr = attributes.get("name") + familyattr = attributes.get("family", "") + splitFamily = [" ".join(x.split()) for x in familyattr.split(",")] + weightattr = attributes.get("weight", "normal") + styleattr = attributes.get("style", "normal") self.variants[variantattr] = (weightattr, styleattr, splitFamily) - elif name == u"operator-style": - opname = attributes.get(u"operator") + elif name == "operator-style": + opname = attributes.get("operator") if opname: styling = {} styling.update(attributes) - del styling[u"operator"] + del styling["operator"] self.opstyles[opname] = styling else: sys.stderr.write("Bad record in configuration file: operRefactoringTool: Refactored ../python3/svgmath/generators.py ator-style with no operator attribute\n") def endElement(self, name): - if name == u"family": + if name == "family": self.currentFamily = None def findfont(self, weight, style, family): """Finds a metric for family+weight+style.""" - weight = (weight or u"normal").strip() - style = (style or u"normal").strip() - family = "".join((family or u"").lower().split()) + weight = (weight or "normal").strip() + style = (style or "normal").strip() + family = "".join((family or "").lower().split()) - for w in [weight, u"normal"]: - for s in [style, u"normal"]: - metric = self.fonts.get(w+u" "+s+u" "+family) + for w in [weight, "normal"]: + for s in [style, "normal"]: + metric = self.fonts.get(w+" "+s+" "+family) if metric: return metric return None @@ -121,20 +121,20 @@ else: config = MathConfig(sys.argv[1]) - print "Options: verbose =", config.verbose, " debug =", config.debug - print "Fonts:" - for (font, metric) in config.fonts.items(): - print " ", font, "-->", metric.fontname - print "Math variants:" - for (variant, value) in config.variants.items(): - print " ", variant, "-->", value - print "Defaults:" - for (attr, value) in config.defaults.items(): - print " ", attr, "=", value - print "Operator styling:" - for (opname, value) in config.opstyles.items(): - print " ", repr(opname), ":", value - print "Fallback font families:", config.fallbackFamilies + print("Options: verbose =", config.verbose, " debug =", config.debug) + print("Fonts:") + for (font, metric) in list(config.fonts.items()): + print(" ", font, "-->", metric.fontname) + print("Math variants:") + for (variant, value) in list(config.variants.items()): + print(" ", variant, "-->", value) + print("Defaults:") + for (attr, value) in list(config.defaults.items()): + print(" ", attr, "=", value) + print("Operator styling:") + for (opname, value) in list(config.opstyles.items()): + print(" ", repr(opname), ":", value) + print("Fallback font families:", config.fallbackFamilies) if __name__ == "__main__": main() --- ../python3/svgmath/generators.py (original) +++ ../python3/svgmath/generators.py (refactored) @@ -4,9 +4,9 @@ from xml.sax import xmlreader # SVG namespace -SVGNS = u"http://www.w3.org/2000/svg" +SVGNS = "http://www.w3.org/2000/svg" # SVGMath proprietary namespace - used in metadata -SVGMathNS = u"http://www.grigoriev.ru/svgmath" +SVGMathNS = "http://www.grigoriev.ru/svgmath" # Use namespace-aware (SAX2) or plain (SAX1) callbacks useNamespaces = True @@ -14,16 +14,16 @@ readable = False # Handy mapping of horizontal alignment keywords -alignKeywords = { u"left": 0, u"center": 0.5, u"right": 1 } +alignKeywords = { "left": 0, "center": 0.5, "right": 1 } def startElement(output, localname, namespace, prefix, attrs): """Wrapper to emit a start tag""" - if readable: output.characters(u"\n") # for readability + if readable: output.characters("\n") # for readability if useNamespaces: nsAttrs = {} - for (att, value) in attrs.items(): nsAttrs[(None, att)] = value - qnames = attrs.keys() + for (att, value) in list(attrs.items()): nsAttrs[(None, att)] = value + qnames = list(attrs.keys()) output.startElementNS((namespace, localname), prefix+localname, xmlreader.AttributesNSImpl(nsAttrs, qnames)) @@ -38,13 +38,13 @@ else: output.endElement(prefix+localname) - if readable: output.characters(u"\n") # for readability + if readable: output.characters("\n") # for readability def startSVGElement(output, localname, attrs): - startElement(output, localname, SVGNS, u"svg:", attrs) + startElement(output, localname, SVGNS, "svg:", attrs) def endSVGElement(output, localname): - endElement(output, localname, SVGNS, u"svg:") + endElement(output, localname, SVGNS, "svg:") def drawImage(node, output): """Top-level draw function: prepare the canvas, then call the draw method of the root node""" @@ -56,37 +56,37 @@ depth = max(node.depth, node.descender); vsize = height + depth; - attrs = {u"width": (u"%fpt" % node.width), - u"height": (u"%fpt" % vsize), - u"viewBox": (u"0 %f %f %f" % (-(height+baseline), node.width, vsize))} + attrs = {"width": ("%fpt" % node.width), + "height": ("%fpt" % vsize), + "viewBox": ("0 %f %f %f" % (-(height+baseline), node.width, vsize))} if useNamespaces: - output.startPrefixMapping(u'svg', SVGNS) - output.startPrefixMapping(u'svgmath', SVGMathNS) + output.startPrefixMapping('svg', SVGNS) + output.startPrefixMapping('svgmath', SVGMathNS) else: - attrs[u"xmlns:svg"] = SVGNS - attrs[u"xmlns:svgmath"] = SVGMathNS - - startSVGElement(output, u'svg', attrs) + attrs["xmlns:svg"] = SVGNS + attrs["xmlns:svgmath"] = SVGMathNS + + startSVGElement(output, 'svg', attrs) # Prints baseline table as metadata - startSVGElement(output, u'metadata', {}) + startSVGElement(output, 'metadata', {}) startElement(output, "metrics", SVGMathNS, "svgmath:", - { u"baseline": depth - baseline, - u"axis": depth - baseline + node.axis(), - u"top": depth + node.height, - u"bottom": depth - node.depth } ) + { "baseline": depth - baseline, + "axis": depth - baseline + node.axis(), + "top": depth + node.height, + "bottom": depth - node.depth } ) endElement(output, "metrics", SVGMathNS, "svgmath:") - endSVGElement(output, u'metadata') + endSVGElement(output, 'metadata') drawTranslatedNode(node, output, 0, - baseline) - endSVGElement(output, u'svg') + endSVGElement(output, 'svg') if useNamespaces: - output.endPrefixMapping(u'svg') - output.endPrefixMapping(u'svgmath') + output.endPrefixMapping('svg') + output.endPrefixMapping('svgmath') def default_draw (node, output): pass @@ -118,7 +118,7 @@ def draw_mfenced (node, output): draw_mrow (node, output) def draw_merror (node, output): - drawBox(node, output, node.borderWidth, u"red") + drawBox(node, output, node.borderWidth, "red") drawTranslatedNode(node.base, output, node.borderWidth, 0) def draw_mpadded (node, output): @@ -148,7 +148,7 @@ def draw_mfrac (node, output): drawBox(node, output) - if node.getProperty(u"bevelled") == u"true": + if node.getProperty("bevelled") == "true": drawTranslatedNode(node.enumerator, output, 0, node.enumerator.height - node.height) @@ -156,8 +156,8 @@ node.width - node.denominator.width, node.depth - node.denominator.depth) else: - enumalign = getAlign(node, u"enumalign") - denomalign = getAlign(node, u"denomalign") + enumalign = getAlign(node, "enumalign") + denomalign = getAlign(node, "denomalign") drawTranslatedNode(node.enumerator, output, node.ruleWidth + (node.width - 2 * node.ruleWidth - node.enumerator.width) * enumalign, node.enumerator.height - node.height) @@ -166,7 +166,7 @@ node.depth - node.denominator.depth) if node.ruleWidth: - if node.getProperty(u"bevelled") == u"true": + if node.getProperty("bevelled") == "true": eh = node.enumerator.height + node.enumerator.depth dh = node.denominator.height + node.denominator.depth @@ -189,7 +189,7 @@ y2 = 0 drawLine(output, node.color, node.ruleWidth, - x1, y1, x2, y2, {u"stroke-linecap": u"butt"}) + x1, y1, x2, y2, {"stroke-linecap": "butt"}) def draw_mo (node, output): drawSVGText(node, output) @@ -255,15 +255,15 @@ # Lean the left protrusion down y1 += (x2 - x1) * slopeA - attrs = { u"stroke": node.color, u"fill": u"none", - u"stroke-width": (u"%f" % node.lineWidth), - u"stroke-linecap": u"butt", - u"stroke-linejoin": u"miter", - u"stroke-miterlimit": u"10", - u"d": (u"M %f %f L %f %f L %f %f L %f %f L %f %f L %f %f L %f %f L %f %f L %f %f" % + attrs = { "stroke": node.color, "fill": "none", + "stroke-width": ("%f" % node.lineWidth), + "stroke-linecap": "butt", + "stroke-linejoin": "miter", + "stroke-miterlimit": "10", + "d": ("M %f %f L %f %f L %f %f L %f %f L %f %f L %f %f L %f %f L %f %f L %f %f" % (x1,y1, x2a,y2a,x3a,y3a,x3b,y3b,x2b,y2b,x2c,y2c, x3,y3, x4,y4, x5,y5))} - startSVGElement(output, u'path', attrs) - endSVGElement(output, u'path') + startSVGElement(output, 'path', attrs) + endSVGElement(output, 'path') def draw_mroot(node, output): draw_msqrt(node, output) @@ -376,11 +376,11 @@ else: cellHeight = row.height + row.depth - if cell.valign == u"top": + if cell.valign == "top": vadjust = cell.content.height - row.height - elif cell.valign == u"bottom": + elif cell.valign == "bottom": vadjust = cellHeight - row.height - cell.content.depth - elif cell.valign in [u"axis", u"baseline"] and cell.rowspan == 1: + elif cell.valign in ["axis", "baseline"] and cell.rowspan == 1: vadjust = - cell.vshift # calculated in the measurer else: # the rest of cases is centered vadjust = (cell.content.height - cell.content.depth + cellHeight) / 2 - row.height @@ -393,11 +393,11 @@ def drawBorder (x1, y1, x2, y2, linestyle): if linestyle is None: return if x1 == x2 and y1 == y2: return - if linestyle == u"dashed": + if linestyle == "dashed": linelength = math.sqrt((x1 - x2) ** 2 + (y1 - y2) ** 2) dashoffset = 5 - ((linelength / node.lineWidth + 3) % 10) / 2 - extrastyle = { u"stroke-dasharray": (u"%f,%f" %(node.lineWidth * 7, node.lineWidth * 3)), - u"stroke-dashoffset": (u"%f" % (node.lineWidth * dashoffset)) } + extrastyle = { "stroke-dasharray": ("%f,%f" %(node.lineWidth * 7, node.lineWidth * 3)), + "stroke-dashoffset": ("%f" % (node.lineWidth * dashoffset)) } else: extrastyle = None drawLine(output, node.color, node.lineWidth, x1, y1, x2, y2, extrastyle) @@ -478,73 +478,73 @@ def drawBox(node, output, borderWidth = 0, borderColor = None, borderRadius = 0): background = getBackground(node) - if background == u"none": + if background == "none": if borderWidth is None or borderWidth == 0: return if borderColor is None: borderColor = node.color - attrs = {u"fill": background, - u"stroke": u"none", - u"x": (u"%f" % (borderWidth / 2)), - u"y": (u"%f" % (borderWidth / 2 - node.height)), - u"width": (u"%f" % (node.width - borderWidth)), - u"height": (u"%f" % (node.height + node.depth - borderWidth))} + attrs = {"fill": background, + "stroke": "none", + "x": ("%f" % (borderWidth / 2)), + "y": ("%f" % (borderWidth / 2 - node.height)), + "width": ("%f" % (node.width - borderWidth)), + "height": ("%f" % (node.height + node.depth - borderWidth))} if borderWidth != 0 and borderColor is not None: - attrs[u"stroke"] = borderColor; - attrs[u"stroke-width"] = u"%f" % borderWidth + attrs["stroke"] = borderColor; + attrs["stroke-width"] = "%f" % borderWidth if borderRadius != 0: - attrs[u"rx"] = u"%f" % borderRadius; - attrs[u"ry"] = u"%f" % borderRadius; + attrs["rx"] = "%f" % borderRadius; + attrs["ry"] = "%f" % borderRadius; - startSVGElement(output, u'rect', attrs) - endSVGElement(output, u'rect') + startSVGElement(output, 'rect', attrs) + endSVGElement(output, 'rect') def drawLine(output, color, width, x1, y1, x2, y2, strokeattrs = None): - attrs = { u"fill": u"none", u"stroke": color, - u"stroke-width": (u"%f" % width), - u"stroke-linecap": u"square", - u"stroke-dasharray": u"none", - u"x1": (u"%f" % x1), u"y1": (u"%f" % y1), - u"x2": (u"%f" % x2), u"y2": (u"%f" % y2) } + attrs = { "fill": "none", "stroke": color, + "stroke-width": ("%f" % width), + "stroke-linecap": "square", + "stroke-dasharray": "none", + "x1": ("%f" % x1), "y1": ("%f" % y1), + "x2": ("%f" % x2), "y2": ("%f" % y2) } if strokeattrs is not None: attrs.update(strokeattrs) - startSVGElement(output, u"line", attrs) - endSVGElement(output, u"line") + startSVGElement(output, "line", attrs) + endSVGElement(output, "line") def drawTranslatedNode(node, output, dx, dy): if dx != 0 or dy != 0: - startSVGElement(output, u'g', - {u"transform": (u"translate(%f, %f)" % (dx, dy))}) + startSVGElement(output, 'g', + {"transform": ("translate(%f, %f)" % (dx, dy))}) node.draw(output) if dx != 0 or dy != 0: - endSVGElement(output, u'g') + endSVGElement(output, 'g') def drawSVGText(node, output): drawBox(node, output) fontfamilies = [x.family for x in node.fontpool() if x.used] if len(fontfamilies) == 0: fontfamilies = node.fontfamilies - attrs = {u"fill": node.color, - u"font-family": u", ".join(fontfamilies), - u"font-size": (u"%f" % node.fontSize), - u"text-anchor": u"middle", - u"x": (u"%f" % ((node.width + node.leftBearing - node.rightBearing) / 2 / node.textStretch )), - u"y": (u"%f" % (- node.textShift))} - if node.fontweight != u"normal": - attrs[u"font-weight"] = node.fontweight - if node.fontstyle != u"normal": - attrs[u"font-style"] = node.fontstyle + attrs = {"fill": node.color, + "font-family": ", ".join(fontfamilies), + "font-size": ("%f" % node.fontSize), + "text-anchor": "middle", + "x": ("%f" % ((node.width + node.leftBearing - node.rightBearing) / 2 / node.textStretch )), + "y": ("%f" % (- node.textShift))} + if node.fontweight != "normal": + attrs["font-weight"] = node.fontweight + if node.fontstyle != "normal": + attrs["font-style"] = node.fontstyle if node.textStretch != 1: - attrs[u"transform"] = (u"scale(%f, 1)" % node.textStretch) - - for oldchar, newchar in mathnode.specialChars.items(): + attrs["transform"] = ("scale(%f, 1)" % node.textStretch) + + for oldchar, newchar in list(mathnode.specialChars.items()): node.text = node.text.replace(oldchar, newchar) - startSVGElement(output, u'text', attrs) + startSVGElement(output, 'text', attrs) output.characters(node.text) - endSVGElement(output, u'text') + endSVGElement(output, 'text') def getAlign(node, attrName): - attrValue = node.getProperty(attrName, u"center") - if attrValue not in alignKeywords.keys(): + attrValue = node.getProperty(attrName, "center") + if attrValue not in list(alignKeywords.keys()): node.error("Bad value %s for %s", attrValue, attrName) return alignKeywords.get(attrValue, 0.5) RefactoringTool: Refactored ../python3/svgmath/fonts/ttf.py @@ -561,12 +561,12 @@ cx = node.width / 2 cy = (node.depth - node.height) / 2 - attrs = { u"fill": background, u"stroke": node.color, - u"stroke-width": (u"%f" % node.borderWidth), - u"cx": (u"%f" % cx), u"cy": (u"%f" % cy), - u"r": (u"%f" % r) } - startSVGElement(output, u'circle', attrs) - endSVGElement(output, u'circle') + attrs = { "fill": background, "stroke": node.color, + "stroke-width": ("%f" % node.borderWidth), + "cx": ("%f" % cx), "cy": ("%f" % cy), + "r": ("%f" % r) } + startSVGElement(output, 'circle', attrs) + endSVGElement(output, 'circle') drawTranslatedNode(node.base, output, (node.width - node.base.width)/2, 0) @@ -612,9 +612,9 @@ if downdiag: drawStrike(0, -node.height, node.width, node.depth) def getBackground(node): - for attr in [u"mathbackground", u"background-color", u"background"]: + for attr in ["mathbackground", "background-color", "background"]: value = node.attributes.get(attr) if value is not None: - if value == u"transparent": return u"none" + if value == "transparent": return "none" else: return value - else: return u"none" + else: return "none" --- ../python3/svgmath/fonts/ttf.py (original) +++ ../python3/svgmath/fonts/ttf.py (refactored) @@ -1,5 +1,5 @@ import sys -from metric import FontMetric, CharMetric, FontFormatError +from .metric import FontMetric, CharMetric, FontFormatError def readUnsigned(ff, size): res = 0; @@ -41,14 +41,14 @@ def readFontMetrics(self, ff): version = ff.read(4) - if map(ord, version) == [0, 1, 0, 0]: + if list(map(ord, version)) == [0, 1, 0, 0]: self.fonttype="TTF" elif version == "OTTO": # self.fonttype="OTF" # At the moment, I cannot parse bbox data out from CFF - raise TTFFormatError, "OpenType/CFF fonts are unsupported" + raise TTFFormatError("OpenType/CFF fonts are unsupported") else: - raise TTFFormatError, "Not a TrueType file" + raise TTFFormatError("Not a TrueType file") numTables = readUnsigned(ff, 2) tables = {} @@ -61,15 +61,15 @@ tables[tag] = (offset, length) def switchTable(tableTag): - if tableTag not in tables.keys(): - raise TTFFormatError, "Required table "+tableTag+" missing in TrueType file" + if tableTag not in list(tables.keys()): + raise TTFFormatError("Required table "+tableTag+" missing in TrueType file") return tables[tableTag] (offset, length) = switchTable("head") ff.seek(offset+12) magic = readUnsigned(ff, 4) if magic != 0x5F0F3CF5: - raise TTFFormatError, "Magic number in 'head' table does not match the spec" + raise TTFFormatError("Magic number in 'head' table does not match the spec") skip(ff, 2) self.unitsPerEm = readUnsigned(ff, 2) emScale = 1.0 / self.unitsPerEm @@ -107,24 +107,24 @@ nameOffset = readUnsigned(ff, 2) if platformID == 3 and encodingID == 1: - if languageID in englishCodes or nameID not in uniNames.keys(): + if languageID in englishCodes or nameID not in list(uniNames.keys()): uniNames[nameID] = (nameOffset, nameLength) elif platformID == 1 and encodingID == 0: - if languageID == 0 or nameID not in macNames.keys(): + if languageID == 0 or nameID not in list(macNames.keys()): macNames[nameID] = (nameOffset, nameLength) def getName (code): - if code in macNames.keys(): + if code in list(macNames.keys()): (nameOffset, nameLength) = macNames[code] ff.seek (storageOffset + nameOffset) return ff.read(nameLength) RefactoringTool: Refactored ../python3/svgmath/fonts/metric.py # FIXME: repair Mac encoding here - elif code in uniNames.keys(): + elif code in list(uniNames.keys()): (nameOffset, nameLength) = uniNames[code] ff.seek (storageOffset + nameOffset) - result = u"" + result = "" for i in range (0, nameLength/2): - result += unichr(readUnsigned(ff, 2)) + result += chr(readUnsigned(ff, 2)) return result self.family = getName(1) @@ -198,7 +198,7 @@ encodingScheme = "Symbol" subtableOffset = cmapEncodings.get((3, 0)) if subtableOffset is None: - raise TTFFormatError, "Cannot use font '%s': no known subtable in 'cmap' table" % self.fullname + raise TTFFormatError("Cannot use font '%s': no known subtable in 'cmap' table" % self.fullname) else: if self.log: self.log.write("WARNING: font '%s' is a symbolic font - Unicode mapping may be unreliable\n" % self.fullname) @@ -207,7 +207,7 @@ tableFormat = readUnsigned(ff, 2) if tableFormat != 4: - raise TTFFormatError, "Unsupported format in 'cmap' table: %d" % tableFormat + raise TTFFormatError("Unsupported format in 'cmap' table: %d" % tableFormat) subtableLength = readUnsigned(ff, 2) skip (ff, 2) @@ -264,7 +264,7 @@ for i in range (0, self.numGlyphs+1): glyphIndex.append(readUnsigned(ff, 4)) else: - raise TTFFormatError, "Invalid indexToLocFormat value (%d) in 'head' table" % str(self.indexToLocFormat) + raise TTFFormatError("Invalid indexToLocFormat value (%d) in 'head' table" % str(self.indexToLocFormat)) (offset, length) = switchTable("glyf") for i in range (0, self.numGlyphs): @@ -284,6 +284,6 @@ if len (sys.argv) == 2: TTFMetric(sys.argv[1], log=sys.stderr).dump() else: - print """Usage: TTF.py """ + print("""Usage: TTF.py """) if __name__ == "__main__": main() --- ../python3/svgmath/fonts/metric.py (original) +++ ../python3/svgmath/fonts/metric.py (refactored) @@ -37,28 +37,28 @@ def postParse(self): # Get Ascender from the 'd' glyph if self.ascender is None: - cm = self.chardata.get(ord(u'd')) + cm = self.chardata.get(ord('d')) if cm is not None: self.descender = cm.bbox[3] else: self.ascender = 0.7 # Get Descender from the 'p' glyph if self.descender is None: - cm = self.chardata.get(ord(u'p')) + cm = self.chardata.get(ord('p')) if cm is not None: self.descender = cm.bbox[1] else: self.descender = -0.2 # Get CapHeight from the 'H' glyph if self.capheight is None: - cm = self.chardata.get(ord(u'H')) + cm = self.chardata.get(ord('H')) if cm is not None: self.capheight = cm.bbox[3] else: self.capheight = self.ascender # Get XHeight from the 'H' glyph if self.xheight is None: - cm = self.chardata.get(ord(u'x')) + cm = self.chardata.get(ord('x')) if cm is not None: self.xheight = cm.bbox[3] else: self.xheight = 0.45 @@ -69,7 +69,7 @@ # "equal", "minus", "plus", "less", "greater", "periodcentered") # Default is CapHeight / 2, or 0.3 if there's no CapHeight. if self.axisposition is None: - for ch in [ord(u'+'), 0x2212, ord(u'='), ord(u'<'), ord(u'>'), 0xB7]: + for ch in [ord('+'), 0x2212, ord('='), ord('<'), ord('>'), 0xB7]: cm = self.chardata.get(ch) if cm is not None: self.axisposition = (cm.bbox[1] + cm.bbox[3]RefactoringTool: Refactored ../python3/svgmath/fonts/glyphlist.py RefactoringTool: Refactored ../python3/svgmath/fonts/afm.py ) / 2 @@ -80,7 +80,7 @@ if self.underlinethickness is not None: self.rulewidth = self.underlinethickness else: - for ch in [0x2013, 0x2014, 0x2015, 0x2212, ord(u'-')]: + for ch in [0x2013, 0x2014, 0x2015, 0x2212, ord('-')]: cm = self.chardata.get(ch) if cm is not None: self.rulewidth = cm.bbox[3] - cm.bbox[1] @@ -107,35 +107,35 @@ else: self.vgap = self.rulewidth * 2 # Set missing glyph to be a space - self.missingGlyph = self.chardata.get(ord(u' ')) or self.chardata.get(0xA0) + self.missingGlyph = self.chardata.get(ord(' ')) or self.chardata.get(0xA0) def dump(self): - print "FontName: ", self.fontname - print "FullName: ", self.fullname - print "FontFamily: ", self.family - print "Weight: ", self.weight - print "FontBBox: ", + print("FontName: ", self.fontname) + print("FullName: ", self.fullname) + print("FontFamily: ", self.family) + print("Weight: ", self.weight) + print("FontBBox: ", end=' ') for x in self.bbox: - print x, - print - print "CapHeight: ", self.capheight - print "XHeight: ", self.xheight - print "Ascender: ", self.ascender - print "Descender: ", self.descender - print "StdHW: ", self.stdhw - print "StdVW: ", self.stdvw - print "UnderlinePosition: ", self.underlineposition - print "UnderlineThickness: ", self.underlinethickness - print "ItalicAngle: ", self.italicangle - print "CharWidth: ", self.charwidth - print "MathematicalBaseline: ", self.axisposition - print "Character data: " - chars = self.chardata.items() + print(x, end=' ') + print() + print("CapHeight: ", self.capheight) + print("XHeight: ", self.xheight) + print("Ascender: ", self.ascender) + print("Descender: ", self.descender) + print("StdHW: ", self.stdhw) + print("StdVW: ", self.stdvw) + print("UnderlinePosition: ", self.underlineposition) + print("UnderlineThickness: ", self.underlinethickness) + print("ItalicAngle: ", self.italicangle) + print("CharWidth: ", self.charwidth) + print("MathematicalBaseline: ", self.axisposition) + print("Character data: ") + chars = list(self.chardata.items()) chars.sort(key = lambda c: c[0]) for i, cm in chars: if cm is None: continue - print " ", ("U+%04X" % i), cm.name+":", " W", cm.width, " B", + print(" ", ("U+%04X" % i), cm.name+":", " W", cm.width, " B", end=' ') for x in cm.bbox: - print x, - print + print(x, end=' ') + print() --- ../python3/svgmath/fonts/glyphlist.py (original) +++ ../python3/svgmath/fonts/glyphlist.py (refactored) @@ -15,13 +15,13 @@ if len (codelist) != 1: continue # no support for compounds codepoint = int (codelist[0], 16) - if glyph in self.keys(): + if glyph in list(self.keys()): self[glyph].append(codepoint) else: self[glyph] = [codepoint] def lookup(self, glyphname): - if glyphname in self.keys(): return self.get(glyphname) + if glyphname in list(self.keys()): return self.get(glyphname) else: return defaultGlyphList.get(glyphname) @@ -34,8 +34,8 @@ else: glyphList = defaultGlyphList - for entry, value in glyphList.items(): - print entry, " => ", value + for entry, value in list(glyphList.items()): + print(entry, " => ", value) if __name__ == "__main__": main() --- ../python3/svgmath/fonts/afm.py (original) +++ ../python3/svgmath/fonts/afm.py (refactored) @@ -1,5 +1,5 @@ import sys, glyphlist -from metric import FontMetric, CharMetric, FontFormatError +RefactoringTool: No changes to ../python3/svgmath/fonts/__init__.py RefactoringTool: No changes to ../python3/svgmath/enclosures.py RefactoringTool: Refactored ../python3/svgmath/contextmakers.py from .metric import FontMetric, CharMetric, FontFormatError def parseLength(s): return 0.001 * float(s) @@ -23,7 +23,7 @@ def readFontMetrics(self, afmfile): line = afmfile.readline() if not line.startswith("StartFontMetrics"): - raise AFMFormatError, "File is not an AFM file" + raise AFMFormatError("File is not an AFM file") # TODO: AFM version control while True: @@ -49,7 +49,7 @@ elif tokens[0] == "Weight": self.weight = tokens[1].strip() elif tokens[0] == "FontBBox": - self.bbox = map (parseLength, tokens[1].split()) + self.bbox = list(map (parseLength, tokens[1].split())) elif tokens[0] == "CapHeight": self.capheight = parseLength(tokens[1]) elif tokens[0] == "XHeight": @@ -88,7 +88,7 @@ if d[0] == "W" or d[0] == "WX" or d[0] == "W0X": width = parseLength(d[1]) elif d[0] == "B" and len(d) == 5: - bbox = map (parseLength, d[1:]) + bbox = list(map (parseLength, d[1:])) elif d[0] == "N": glyphname = d[1] @@ -137,6 +137,6 @@ if len (sys.argv) == 2: AFMMetric(sys.argv[1], log=sys.stderr).dump() else: - print """Usage: AFM.py """ + print("""Usage: AFM.py """) if __name__ == "__main__": main() --- ../python3/svgmath/contextmakers.py (original) +++ ../python3/svgmath/contextmakers.py (refactored) @@ -27,15 +27,15 @@ node.defaults = node.parent.defaults node.parent.makeChildContext(node) else: - node.mathsize = node.parseLength(node.defaults[u"mathsize"]) + node.mathsize = node.parseLength(node.defaults["mathsize"]) node.fontSize = node.mathsize node.metriclist = None - node.scriptlevel = node.parseInt(node.defaults[u"scriptlevel"]) + node.scriptlevel = node.parseInt(node.defaults["scriptlevel"]) node.tightspaces = False - node.displaystyle = (node.defaults[u"displaystyle"] == u"true") - node.color = node.defaults[u"mathcolor"] - - defaultVariant = node.config.variants.get(node.defaults[u"mathvariant"]) + node.displaystyle = (node.defaults["displaystyle"] == "true") + node.color = node.defaults["mathcolor"] + + defaultVariant = node.config.variants.get(node.defaults["mathvariant"]) if defaultVariant is None: raise sax.SAXException("Default mathvariant not defined in configuration file: configuration is unusable") (node.fontweight, node.fontstyle, node.fontfamilies) = defaultVariant @@ -69,12 +69,12 @@ def context_math(node): default_context(node) # Display style: set differently on 'math' - attr = node.attributes.get(u"display") + attr = node.attributes.get("display") if attr is not None: - node.displaystyle = (attr == u"block") - else: - attr = node.attributes.get(u"mode") - node.displaystyle = (attr == u"display") + node.displaystyle = (attr == "block") + else: + attr = node.attributes.get("mode") + node.displaystyle = (attr == "display") def context_mstyle(node): @@ -82,8 +82,8 @@ # Avoid redefinition of mathsize - it is inherited anyway. # This serves to preserve values of 'big', 'small', and 'normal' # throughout the MathML instance. - if node.attributes and u"mathsize" in node.attributes.keys(): - del node.attributes[u"mathsize"] + if node.attributes and "mathsize" in list(node.attributes.keys()): + del node.attributes["mathsize"] if node.attributes: node.defaults = node.defaults.copy() node.defaults.update(node.attributes) @@ -92,7 +92,7 @@ def context_mtable(node): default_context(node) # Display style: no inheritance, default is 'false' unless redefined in 'mstyle' - node.displaystyle = (node.getProperty(u"displaystyle") == u"true") + node.displaystyle = (node.getProperty("displaystyle") == "true") def context_mi(node): @@ -101,7 +101,7 @@ if len(node.text) == 1 or ( len(node.text) == 2 and mathnode.isHighSurrogate(node.text[0]) and mathnode.isLowSurrogate(node.text[1]) ): - node.attributes.setdefault(u"fontstyle", u"italic") + node.attributes.setdefault("fontstyle", "italic") default_context(node) @@ -109,69 +109,69 @@ # Apply special formatting to operators extra_style = node.config.opstyles.get(node.text); if extra_style: - for (prop, value) in extra_style.items(): + for (prop, value) in list(extra_style.items()): node.attributes.setdefault(prop, value) # Consult the operator dictionary, and set the appropriate defaults - form = u"infix" + form = "infix" if node.parent is None: pass - elif node.parent.elementName in [u"mrow", u"mstyle", u"msqrt", - u"merror", u"mpadded", u"mphantom", - u"menclose", u"mtd", u"math"]: - def isNonSpaceNode(x): return x.elementName != u"mspace" + elif node.parent.elementName in ["mrow", "mstyle", "msqrt", + "merror", "mpadded", "mphantom", + "menclose", "mtd", "math"]: + def isNonSpaceNode(x): return x.elementName != "mspace" prevSiblings = node.parent.children[:node.nodeIndex] - prevSiblings = filter (isNonSpaceNode, prevSiblings) + prevSiblings = list(filter (isNonSpaceNode, prevSiblings)) nextSiblings = node.parent.children[node.nodeIndex+1:] - nextSiblings = filter (isNonSpaceNode, nextSiblings) - - if len(prevSiblings) == 0 and len(nextSiblings) > 0: form = u"prefix" - if len(nextSiblings) == 0 and len(prevSiblings) > 0: form = u"postfix" + nextSiblings = list(filter (isNonSpaceNode, nextSiblings)) + + if len(prevSiblings) == 0 and len(nextSiblings) > 0: form = "prefix" + if len(nextSiblings) == 0 and len(prevSiblings) > 0: form = "postfix" - form = node.attributes.get(u"form", form) + form = node.attributes.get("form", form) node.opdefaults = operators.lookup(node.text, form) default_context(node) - stretchyattr = node.getProperty(u"stretchy", node.opdefaults.get(u"stretchy")) - node.stretchy = (stretchyattr == u"true") - symmetricattr = node.getProperty(u"symmetric", node.opdefaults.get(u"symmetric")) - node.symmetric = (symmetricattr == u"true") - node.scaling = node.opdefaults.get(u"scaling") + stretchyattr = node.getProperty("stretchy", node.opdefaults.get("stretchy")) + node.stretchy = (stretchyattr == "true") + symmetricattr = node.getProperty("symmetric", node.opdefaults.get("symmetric")) + node.symmetric = (symmetricattr == "true") + node.scaling = node.opdefaults.get("scaling") if not node.tightspaces: - lspaceattr = node.getProperty(u"lspace", node.opdefaults.get(u"lspace")) + lspaceattr = node.getProperty("lspace", node.opdefaults.get("lspace")) node.leftspace = node.parseSpace(lspaceattr) - rspaceattr = node.getProperty(u"rspace", node.opdefaults.get(u"rspace")) + rspaceattr = node.getProperty("rspace", node.opdefaults.get("rspace")) node.rightspace = node.parseSpace(rspaceattr) if node.displaystyle: - value = node.opdefaults.get(u"largeop") - if node.getProperty(u"largeop", value) == u"true": + value = node.opdefaults.get("largeop") + if node.getProperty("largeop", value) == "true": node.fontSize *= 1.41 else: - value = node.opdefaults.get(u"movablelimits") - node.moveLimits = (node.getProperty(u"movablelimits", value) == u"true") + value = node.opdefaults.get("movablelimits") + node.moveLimits = (node.getProperty("movablelimits", value) == "true") def processFontAttributes(node): - attr = node.attributes.get(u"displaystyle") - if attr is not None: node.displaystyle = (attr == u"true") - - scriptlevelattr = node.attributes.get(u"scriptlevel") + attr = node.attributes.get("displaystyle") + if attr is not None: node.displaystyle = (attr == "true") + + scriptlevelattr = node.attributes.get("scriptlevel") if scriptlevelattr is not None: scriptlevelattr = scriptlevelattr.strip() - if scriptlevelattr.startswith(u"+"): + if scriptlevelattr.startswith("+"): node.scriptlevel += node.parseInt(scriptlevelattr[1:]) - elif scriptlevelattr.startswith(u"-"): + elif scriptlevelattr.startswith("-"): node.scriptlevel -= node.parseInt(scriptlevelattr[1:]) else: node.scriptlevel = node.parseInt(scriptlevelattr) node.scriptlevel = max(node.scriptlevel, 0) - node.color = node.attributes.get(u"mathcolor", - node.attributes.get(u"color", node.color)) + node.color = node.attributes.get("mathcolor", + node.attributes.get("color", node.color)) # Calculate font attributes - mathvariantattr = node.attributes.get(u"mathvariant") + mathvariantattr = node.attributes.get("mathvariant") if mathvariantattr is not None: mathvariant = node.config.variants.get(mathvariantattr) if mathvariant is None: @@ -179,21 +179,21 @@ else: (node.fontweight, node.fontstyle, node.fontfamilies) = mathvariant else: - node.fontweight = node.attributes.get(u"fontweight", node.fontweight) - node.fontstyle = node.attributes.get(u"fontstyle", node.fontstyle) - familyattr = node.attributes.get(u"fontfamily") + node.fontweight = node.attributes.get("fontweight", node.fontweight) + node.fontstyle = node.attributes.get("fontstyle", node.fontstyle) + familyattr = node.attributes.get("fontfamily") if familyattr is not None: - node.fontfamilies = [" ".join(x.split()) for x in familyattr.split(u",")] + node.fontfamilies = [" ".join(x.split()) for x in familyattr.split(",")] # Calculate font size - mathsizeattr = node.attributes.get(u"mathsize") + mathsizeattr = node.attributes.get("mathsize") if mathsizeattr is not None: - if mathsizeattr == u"normal": - node.mathsize = node.parseLength(node.defaults[u"mathsize"]) - elif mathsizeattr == u"big": - node.mathsize = node.parseLength(node.defaults[u"mathsize"]) * 1.41 - elif mathsizeattr == u"small": - node.mathsize = node.parseLength(node.defaults[u"mathsize"]) / 1.41 + if mathsizeattr == "normal": + node.mathsize = node.parseLength(node.defaults["mathsize"]) + elif mathsizeattr == "big": + node.mathsize = node.parseLength(node.defaults["mathsize"]) * 1.41 + elif mathsizeattr == "small": + node.mathsize = node.parseLength(node.defaults["mathsize"]) / 1.41 else: mathsize = node.parseLengthOrPercent(mathsizeattr, node.mathsize) if mathsize > 0: @@ -203,13 +203,13 @@ node.fontSize = node.mathsize if node.scriptlevel > 0: - scriptsizemultiplier = node.parseFloat(node.defaults.get(u"scriptsizemultiplier")) + scriptsizemultiplier = node.parseFloat(node.defaults.get("scriptsizemultiplier")) if scriptsizemultiplier <= 0: node.error("Bad inherited value of 'scriptsizemultiplier' attribute: "+str(mathsizeattr)+"; using default value") - scriptsizemultiplier = node.parseFloat(mathnode.globalDefaults.get(u"scriptsizemultiplier")) + scriptsizemultiplier = node.parseFloat(mathnode.globalDefaults.get("scriptsizemultiplier")) node.fontSize *= scriptsizemultiplier ** node.scriptlevel - fontsizeattr = node.attributes.get(u"fontsize") + fontsizeRefactoringTool: No changes to ../python3/svgmath/__init__.py RefactoringTool: No changes to ../python3/setup.py RefactoringTool: Refactored ../python3/math2svg.py RefactoringTool: Files that were modified: RefactoringTool: ../python3/svgmath/tools/saxtools.py RefactoringTool: ../python3/svgmath/tools/__init__.py RefactoringTool: ../python3/svgmath/tables.py RefactoringTool: ../python3/svgmath/operators.py RefactoringTool: ../python3/svgmath/nodelocator.py RefactoringTool: ../python3/svgmath/measurers.py RefactoringTool: ../python3/svgmath/mathnode.py RefactoringTool: ../python3/svgmath/mathhandler.py RefactoringTool: ../python3/svgmath/mathconfig.py RefactoringTool: ../python3/svgmath/generators.py RefactoringTool: ../python3/svgmath/fonts/ttf.py RefactoringTool: ../python3/svgmath/fonts/metric.py RefactoringTool: ../python3/svgmath/fonts/glyphlist.py RefactoringTool: ../python3/svgmath/fonts/afm.py RefactoringTool: ../python3/svgmath/fonts/__init__.py RefactoringTool: ../python3/svgmath/enclosures.py RefactoringTool: ../python3/svgmath/contextmakers.py RefactoringTool: ../python3/svgmath/__init__.py RefactoringTool: ../python3/setup.py RefactoringTool: ../python3/math2svg.py RefactoringTool: Warnings/messages while refactoring: RefactoringTool: ### In file ../python3/svgmath/tables.py ### RefactoringTool: Line 4: absolute and local imports together RefactoringTool: ### In file ../python3/svgmath/measurers.py ### RefactoringTool: Line 2: absolute and local imports together RefactoringTool: ### In file ../python3/svgmath/mathnode.py ### RefactoringTool: Line 3: absolute and local imports together RefactoringTool: ### In file ../python3/svgmath/generators.py ### RefactoringTool: Line 2: absolute and local imports together RefactoringTool: ### In file ../python3/svgmath/fonts/afm.py ### RefactoringTool: Line 1: absolute and local imports together RefactoringTool: ### In file ../python3/svgmath/enclosures.py ### RefactoringTool: Line 2: absolute and local imports together RefactoringTool: ### In file ../python3/svgmath/contextmakers.py ### RefactoringTool: Line 7: absolute and local imports together attr = node.attributes.get("fontsize") if fontsizeattr is not None and mathsizeattr is None: fontSizeOverride = node.parseLengthOrPercent(fontsizeattr, node.fontSize) if fontSizeOverride > 0: @@ -218,7 +218,7 @@ else: node.error("Value of attribute 'fontsize' ignored - not a positive length: "+str(fontsizeattr)) - scriptminsize = node.parseLength(node.defaults.get(u"scriptminsize")) + scriptminsize = node.parseLength(node.defaults.get("scriptminsize")) node.fontSize = max(node.fontSize, scriptminsize) node.originalFontSize = node.fontSize # save a copy - font size may change in scaling @@ -251,19 +251,19 @@ def child_context_munder (node, child): if child.nodeIndex == 1: - makeLimitContext(node, child, u"accentunder") + makeLimitContext(node, child, "accentunder") def child_context_mover (node, child): if child.nodeIndex == 1: - makeLimitContext(node, child, u"accent") + makeLimitContext(node, child, "accent") def child_context_munderover (node, child): if child.nodeIndex == 1: - makeLimitContext(node, child, u"accentunder") + makeLimitContext(node, child, "accentunder") if child.nodeIndex == 2: - makeLimitContext(node, child, u"accent") + makeLimitContext(node, child, "accent") def makeScriptContext (child): @@ -279,15 +279,15 @@ accentValue = node.getProperty(accentProperty) if accentValue is None: - embellishments = [u"msub", u"msup", u"msubsup", - u"munder", u"mover", u"munderover", u"mmultiscripts"] + embellishments = ["msub", "msup", "msubsup", + "munder", "mover", "munderover", "mmultiscripts"] def getAccentValue(ch): - if ch.elementName == u"mo": - return ch.opdefaults.get(u"accent") + if ch.elementName == "mo": + return ch.opdefaults.get("accent") elif ch.elementName in embellishments and len(ch.children) > 0: return getAccentValue(ch.children[0]) - else: return u"false" + else: return "false" accentValue = getAccentValue(child) - child.accent = (accentValue == u"true") + child.accent = (accentValue == "true") if not child.accent: child.scriptlevel += 1 --- ../python3/math2svg.py (original) +++ ../python3/math2svg.py (refactored) @@ -12,8 +12,8 @@ def open_or_die(fname, fmode, role): try: return open(fname, fmode) - except IOError, xcpt: - print "Cannot open %s file '%s': %s" % (role, fname, str(xcpt)) + except IOError as xcpt: + print("Cannot open %s file '%s': %s" % (role, fname, str(xcpt))) sys.exit(1) def usage(): @@ -108,8 +108,8 @@ parser.setFeature(sax.handler.feature_namespaces, 1) parser.setContentHandler(handler) parser.parse(source) - except sax.SAXException, xcpt: - print "Error parsing input file %s: %s" % (args[0], xcpt.getMessage()) + except sax.SAXException as xcpt: + print("Error parsing input file %s: %s" % (args[0], xcpt.getMessage())) exitcode = 1 source.close() if outputfile is not None: + exit 0 Executing(%build): /bin/sh -e /usr/src/tmp/rpm-tmp.81022 + umask 022 + /bin/mkdir -p /usr/src/RPM/BUILD + cd /usr/src/RPM/BUILD + cd SVGMath-0.3.3 + CFLAGS='-pipe -frecord-gcc-switches -Wall -g -O2' + export CFLAGS + CXXFLAGS='-pipe -frecord-gcc-switches -Wall -g -O2' + export CXXFLAGS + FFLAGS='-pipe -frecord-gcc-switches -Wall -g -O2' + export FFLAGS + /usr/bin/python2.7 setup.py build running build running build_py creating build creating build/lib creating build/lib/svgmath copying svgmath/tables.py -> build/lib/svgmath copying svgmath/operators.py -> build/lib/svgmath copying svgmath/nodelocator.py -> build/lib/svgmath copying svgmath/measurers.py -> build/lib/svgmath copying svgmath/mathnode.py -> build/lib/svgmath copying svgmath/mathhandler.py -> build/lib/svgmath copying svgmath/mathconfig.py -> build/lib/svgmath copying svgmath/generators.py -> build/lib/svgmath copying svgmath/enclosures.py -> build/lib/svgmath copying svgmath/contextmakers.py -> build/lib/svgmath copying svgmath/__init__.py -> build/lib/svgmath creating build/lib/svgmath/fonts copying svgmath/fonts/ttf.py -> build/lib/svgmath/fonts copying svgmath/fonts/metric.py -> build/lib/svgmath/fonts copying svgmath/fonts/glyphlist.py -> build/lib/svgmath/fonts copying svgmath/fonts/afm.py -> build/lib/svgmath/fonts copying svgmath/fonts/__init__.py -> build/lib/svgmath/fonts creating build/lib/svgmath/tools copying svgmath/tools/saxtools.py -> build/lib/svgmath/tools copying svgmath/tools/__init__.py -> build/lib/svgmath/tools copying svgmath/fonts/default.glyphs -> build/lib/svgmath/fonts + pushd ../python3 ~/RPM/BUILD/python3 ~/RPM/BUILD/SVGMath-0.3.3 + CFLAGS='-pipe -frecord-gcc-switches -Wall -g -O2' + export CFLAGS + CXXFLAGS='-pipe -frecord-gcc-switches -Wall -g -O2' + export CXXFLAGS + FFLAGS='-pipe -frecord-gcc-switches -Wall -g -O2' + export FFLAGS + /usr/bin/python3 setup.py build running build running build_py creating build creating build/lib creating build/lib/svgmath copying svgmath/tables.py -> build/lib/svgmath copying svgmath/operators.py -> build/lib/svgmath copying svgmath/nodelocator.py -> build/lib/svgmath copying svgmath/measurers.py -> build/lib/svgmath copying svgmath/mathnode.py -> build/lib/svgmath copying svgmath/mathhandler.py -> build/lib/svgmath copying svgmath/mathconfig.py -> build/lib/svgmath copying svgmath/generators.py -> build/lib/svgmath copying svgmath/enclosures.py -> build/lib/svgmath copying svgmath/contextmakers.py -> build/lib/svgmath copying svgmath/__init__.py -> build/lib/svgmath creating build/lib/svgmath/fonts copying svgmath/fonts/ttf.py -> build/lib/svgmath/fonts copying svgmath/fonts/metric.py -> build/lib/svgmath/fonts copying svgmath/fonts/glyphlist.py -> build/lib/svgmath/fonts copying svgmath/fonts/afm.py -> build/lib/svgmath/fonts copying svgmath/fonts/__init__.py -> build/lib/svgmath/fonts creating build/lib/svgmath/tools copying svgmath/tools/saxtools.py -> build/lib/svgmath/tools copying svgmath/tools/__init__.py -> build/lib/svgmath/tools copying svgmath/fonts/default.glyphs -> build/lib/svgmath/fonts + popd ~/RPM/BUILD/SVGMath-0.3.3 + exit 0 Executing(%install): /bin/sh -e /usr/src/tmp/rpm-tmp.81022 + umask 022 + /bin/mkdir -p /usr/src/RPM/BUILD + cd /usr/src/RPM/BUILD + /bin/chmod -Rf u+rwX -- /usr/src/tmp/python-module-SVGMath-buildroot + : + /bin/rm -rf -- /usr/src/tmp/python-module-SVGMath-buildroot + cd SVGMath-0.3.3 + CFLAGS='-pipe -frecord-gcc-switches -Wall -g -O2' + export CFLAGS + CXXFLAGS='-pipe -frecord-gcc-switches -Wall -g -O2' + export CXXFLAGS + FFLAGS='-pipe -frecord-gcc-switches -Wall -g -O2' + export FFLAGS + /usr/bin/python2.7 setup.py install --skip-build --root=/usr/src/tmp/python-module-SVGMath-buildroot --force running install running install_lib creating /usr/src/tmp/python-module-SVGMath-buildroot creating /usr/src/tmp/python-module-SVGMath-buildroot/usr creating /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib creating /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7 creating /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages creating /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath creating /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/tools copying build/lib/svgmath/tools/__init__.py -> /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/tools copying build/lib/svgmath/tools/saxtools.py -> /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/tools creating /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/fonts copying build/lib/svgmath/fonts/default.glyphs -> /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/fonts copying build/lib/svgmath/fonts/__init__.py -> /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/fonts copying build/lib/svgmath/fonts/afm.py -> /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/fonts copying build/lib/svgmath/fonts/glyphlist.py -> /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/fonts copying build/lib/svgmath/fonts/metric.py -> /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/fonts copying build/lib/svgmath/fonts/ttf.py -> /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/fonts copying build/lib/svgmath/__init__.py -> /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath copying build/lib/svgmath/contextmakers.py -> /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath copying build/lib/svgmath/enclosures.py -> /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath copying build/lib/svgmath/generators.py -> /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath copying build/lib/svgmath/mathconfig.py -> /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath copying build/lib/svgmath/mathhandler.py -> /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath copying build/lib/svgmath/mathnode.py -> /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath copying build/lib/svgmath/measurers.py -> /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath copying build/lib/svgmath/nodelocator.py -> /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath copying build/lib/svgmath/operators.py -> /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath copying build/lib/svgmath/tables.py -> /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath byte-compiling /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/tools/__init__.py to __init__.pyc byte-compiling /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/tools/saxtools.py to saxtools.pyc byte-compiling /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/fonts/__init__.py to __init__.pyc byte-compiling /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/fonts/afm.py to afm.pyc byte-compiling /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/fonts/glyphlist.py to glyphlist.pyc byte-compiling /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/fonts/metric.py to metric.pyc byte-compiling /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/fonts/ttf.py to ttf.pyc byte-compiling /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/__init__.py to __init__.pyc byte-compiling /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/contextmakers.py to contextmakers.pyc byte-compiling /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/enclosures.py to enclosures.pyc byte-compiling /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/generators.py to generators.pyc byte-compiling /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/mathconfig.py to mathconfig.pyc byte-compiling /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/mathhandler.py to mathhandler.pyc byte-compiling /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/mathnode.py to mathnode.pyc byte-compiling /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/measurers.py to measurers.pyc byte-compiling /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/nodelocator.py to nodelocator.pyc byte-compiling /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/operators.py to operators.pyc byte-compiling /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/tables.py to tables.pyc running install_egg_info Writing /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/SVGMath-0.3.3-py2.7.egg-info + pushd ../python3 ~/RPM/BUILD/python3 ~/RPM/BUILD/SVGMath-0.3.3 + CFLAGS='-pipe -frecord-gcc-switches -Wall -g -O2' + export CFLAGS + CXXFLAGS='-pipe -frecord-gcc-switches -Wall -g -O2' + export CXXFLAGS + FFLAGS='-pipe -frecord-gcc-switches -Wall -g -O2' + export FFLAGS + /usr/bin/python3 setup.py install --skip-build --root=/usr/src/tmp/python-module-SVGMath-buildroot --force running install running install_lib creating /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3 creating /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages creating /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath creating /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/tools copying build/lib/svgmath/tools/__init__.py -> /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/tools copying build/lib/svgmath/tools/saxtools.py -> /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/tools creating /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/fonts copying build/lib/svgmath/fonts/default.glyphs -> /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/fonts copying build/lib/svgmath/fonts/__init__.py -> /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/fonts copying build/lib/svgmath/fonts/afm.py -> /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/fonts copying build/lib/svgmath/fonts/glyphlist.py -> /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/fonts copying build/lib/svgmath/fonts/metric.py -> /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/fonts copying build/lib/svgmath/fonts/ttf.py -> /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/fonts copying build/lib/svgmath/__init__.py -> /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath copying build/lib/svgmath/contextmakers.py -> /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath copying build/lib/svgmath/enclosures.py -> /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath copying build/lib/svgmath/generators.py -> /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath copying build/lib/svgmath/mathconfig.py -> /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath copying build/lib/svgmath/mathhandler.py -> /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath copying build/lib/svgmath/mathnode.py -> /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath copying build/lib/svgmath/measurers.py -> /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath copying build/lib/svgmath/nodelocator.py -> /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath copying build/lib/svgmath/operators.py -> /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath copying build/lib/svgmath/tables.py -> /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath byte-compiling /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/tools/__init__.py to __init__.cpython-37.pyc byte-compiling /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/tools/saxtools.py to saxtools.cpython-37.pyc byte-compiling /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/fonts/__init__.py to __init__.cpython-37.pyc byte-compiling /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/fonts/afm.py to afm.cpython-37.pyc byte-compiling /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/fonts/glyphlist.py to glyphlist.cpython-37.pyc byte-compiling /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/fonts/metric.py to metric.cpython-37.pyc byte-compiling /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/fonts/ttf.py to ttf.cpython-37.pyc byte-compiling /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/__init__.py to __init__.cpython-37.pyc byte-compiling /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/contextmakers.py to contextmakers.cpython-37.pyc byte-compiling /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/enclosures.py to enclosures.cpython-37.pyc byte-compiling /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/generators.py to generators.cpython-37.pyc byte-compiling /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/mathconfig.py to mathconfig.cpython-37.pyc byte-compiling /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/mathhandler.py to mathhandler.cpython-37.pyc byte-compiling /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/mathnode.py to mathnode.cpython-37.pyc byte-compiling /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/measurers.py to measurers.cpython-37.pyc byte-compiling /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/nodelocator.py to nodelocator.cpython-37.pyc byte-compiling /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/operators.py to operators.cpython-37.pyc byte-compiling /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/tables.py to tables.cpython-37.pyc running install_egg_info Writing /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/SVGMath-0.3.3-py3.7.egg-info + popd ~/RPM/BUILD/SVGMath-0.3.3 + /usr/lib/rpm/brp-alt Cleaning files in /usr/src/tmp/python-module-SVGMath-buildroot (auto) Verifying and fixing files in /usr/src/tmp/python-module-SVGMath-buildroot (binconfig,pkgconfig,libtool,desktop) Checking contents of files in /usr/src/tmp/python-module-SVGMath-buildroot/ (default) Compressing files in /usr/src/tmp/python-module-SVGMath-buildroot (auto) Adjusting library links in /usr/src/tmp/python-module-SVGMath-buildroot ./usr/lib: Verifying ELF objects in /usr/src/tmp/python-module-SVGMath-buildroot (arch=normal,fhs=normal,lfs=relaxed,lint=relaxed,rpath=normal,stack=normal,textrel=normal,unresolved=normal) Bytecompiling python modules in /usr/src/tmp/python-module-SVGMath-buildroot using /usr/bin/python2.7 unlink /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/fonts/__init__.pyc unlink /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/fonts/afm.pyc unlink /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/fonts/glyphlist.pyc unlink /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/fonts/metric.pyc unlink /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/fonts/ttf.pyc compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/fonts/__init__.py compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/fonts/afm.py compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/fonts/glyphlist.py compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/fonts/metric.py compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/fonts/ttf.py unlink /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/tools/__init__.pyc unlink /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/tools/saxtools.pyc compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/tools/__init__.py compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/tools/saxtools.py unlink /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/__init__.pyc unlink /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/contextmakers.pyc unlink /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/enclosures.pyc unlink /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/generators.pyc unlink /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/mathconfig.pyc unlink /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/mathhandler.pyc unlink /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/mathnode.pyc unlink /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/measurers.pyc unlink /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/nodelocator.pyc unlink /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/operators.pyc unlink /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/tables.pyc compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/__init__.py compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/contextmakers.py compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/enclosures.py compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/generators.py compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/mathconfig.py compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/mathhandler.py compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/mathnode.py compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/measurers.py compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/nodelocator.py compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/operators.py compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/tables.py Bytecompiling python modules with optimization in /usr/src/tmp/python-module-SVGMath-buildroot using /usr/bin/python2.7 -O compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/fonts/__init__.py compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/fonts/afm.py compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/fonts/glyphlist.py compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/fonts/metric.py compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/fonts/ttf.py compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/tools/__init__.py compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/tools/saxtools.py compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/__init__.py compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/contextmakers.py compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/enclosures.py compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/generators.py compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/mathconfig.py compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/mathhandler.py compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/mathnode.py compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/measurers.py compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/nodelocator.py compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/operators.py compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/tables.py Bytecompiling python3 modules in /usr/src/tmp/python-module-SVGMath-buildroot using /usr/bin/python3 unlink /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/__pycache__/__init__.cpython-37.pyc unlink /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/__pycache__/contextmakers.cpython-37.pyc unlink /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/__pycache__/enclosures.cpython-37.pyc unlink /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/__pycache__/generators.cpython-37.pyc unlink /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/__pycache__/mathconfig.cpython-37.pyc unlink /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/__pycache__/mathhandler.cpython-37.pyc unlink /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/__pycache__/mathnode.cpython-37.pyc unlink /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/__pycache__/measurers.cpython-37.pyc unlink /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/__pycache__/nodelocator.cpython-37.pyc unlink /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/__pycache__/operators.cpython-37.pyc unlink /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/__pycache__/tables.cpython-37.pyc unlink /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/fonts/__pycache__/__init__.cpython-37.pyc unlink /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/fonts/__pycache__/afm.cpython-37.pyc unlink /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/fonts/__pycache__/glyphlist.cpython-37.pyc unlink /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/fonts/__pycache__/metric.cpython-37.pyc unlink /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/fonts/__pycache__/ttf.cpython-37.pyc compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/fonts/__init__.py compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/fonts/afm.py compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/fonts/glyphlist.py compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/fonts/metric.py compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/fonts/ttf.py unlink /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/tools/__pycache__/__init__.cpython-37.pyc unlink /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/tools/__pycache__/saxtools.cpython-37.pyc compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/tools/__init__.py compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/tools/saxtools.py compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/__init__.py compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/contextmakers.py compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/enclosures.py compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/generators.py compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/mathconfig.py compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/mathhandler.py compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/mathnode.py compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/measurers.py compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/nodelocator.py compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/operators.py compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/tables.py Bytecompiling python3 modules with optimization in /usr/src/tmp/python-module-SVGMath-buildroot using /usr/bin/python3 -O compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/fonts/__init__.py compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/fonts/afm.py compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/fonts/glyphlist.py compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/fonts/metric.py compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/fonts/ttf.py compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/tools/__init__.py compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/tools/saxtools.py compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/__init__.py compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/contextmakers.py compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/enclosures.py compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/generators.py compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/mathconfig.py compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/mathhandler.py compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/mathnode.py compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/measurers.py compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/nodelocator.py compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/operators.py compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/tables.py Bytecompiling python3 modules with optimization-2 in /usr/src/tmp/python-module-SVGMath-buildroot using /usr/bin/python3 -OO compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/fonts/__init__.py compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/fonts/afm.py compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/fonts/glyphlist.py compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/fonts/metric.py compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/fonts/ttf.py compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/tools/__init__.py compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/tools/saxtools.py compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/__init__.py compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/contextmakers.py compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/enclosures.py compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/generators.py compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/mathconfig.py compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/mathhandler.py compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/mathnode.py compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/measurers.py compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/nodelocator.py compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/operators.py compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/tables.py Hardlinking identical .pyc and .opt-?.pyc files './usr/lib/python3/site-packages/svgmath/__pycache__/tables.cpython-37.opt-1.pyc' => './usr/lib/python3/site-packages/svgmath/__pycache__/tables.cpython-37.pyc' './usr/lib/python3/site-packages/svgmath/__pycache__/operators.cpython-37.opt-1.pyc' => './usr/lib/python3/site-packages/svgmath/__pycache__/operators.cpython-37.pyc' './usr/lib/python3/site-packages/svgmath/__pycache__/nodelocator.cpython-37.opt-1.pyc' => './usr/lib/python3/site-packages/svgmath/__pycache__/nodelocator.cpython-37.pyc' './usr/lib/python3/site-packages/svgmath/__pycache__/measurers.cpython-37.opt-1.pyc' => './usr/lib/python3/site-packages/svgmath/__pycache__/measurers.cpython-37.pyc' './usr/lib/python3/site-packages/svgmath/__pycache__/mathnode.cpython-37.opt-1.pyc' => './usr/lib/python3/site-packages/svgmath/__pycache__/mathnode.cpython-37.pyc' './usr/lib/python3/site-packages/svgmath/__pycache__/mathhandler.cpython-37.opt-1.pyc' => './usr/lib/python3/site-packages/svgmath/__pycache__/mathhandler.cpython-37.pyc' './usr/lib/python3/site-packages/svgmath/__pycache__/mathconfig.cpython-37.opt-1.pyc' => './usr/lib/python3/site-packages/svgmath/__pycache__/mathconfig.cpython-37.pyc' './usr/lib/python3/site-packages/svgmath/__pycache__/generators.cpython-37.opt-1.pyc' => './usr/lib/python3/site-packages/svgmath/__pycache__/generators.cpython-37.pyc' './usr/lib/python3/site-packages/svgmath/__pycache__/enclosures.cpython-37.opt-1.pyc' => './usr/lib/python3/site-packages/svgmath/__pycache__/enclosures.cpython-37.pyc' './usr/lib/python3/site-packages/svgmath/__pycache__/contextmakers.cpython-37.opt-1.pyc' => './usr/lib/python3/site-packages/svgmath/__pycache__/contextmakers.cpython-37.pyc' './usr/lib/python3/site-packages/svgmath/__pycache__/__init__.cpython-37.opt-1.pyc' => './usr/lib/python3/site-packages/svgmath/__pycache__/__init__.cpython-37.pyc' './usr/lib/python3/site-packages/svgmath/__pycache__/__init__.cpython-37.opt-2.pyc' => './usr/lib/python3/site-packages/svgmath/__pycache__/__init__.cpython-37.opt-1.pyc' './usr/lib/python3/site-packages/svgmath/fonts/__pycache__/ttf.cpython-37.opt-1.pyc' => './usr/lib/python3/site-packages/svgmath/fonts/__pycache__/ttf.cpython-37.pyc' './usr/lib/python3/site-packages/svgmath/fonts/__pycache__/ttf.cpython-37.opt-2.pyc' => './usr/lib/python3/site-packages/svgmath/fonts/__pycache__/ttf.cpython-37.opt-1.pyc' './usr/lib/python3/site-packages/svgmath/fonts/__pycache__/metric.cpython-37.opt-1.pyc' => './usr/lib/python3/site-packages/svgmath/fonts/__pycache__/metric.cpython-37.pyc' './usr/lib/python3/site-packages/svgmath/fonts/__pycache__/metric.cpython-37.opt-2.pyc' => './usr/lib/python3/site-packages/svgmath/fonts/__pycache__/metric.cpython-37.opt-1.pyc' './usr/lib/python3/site-packages/svgmath/fonts/__pycache__/glyphlist.cpython-37.opt-1.pyc' => './usr/lib/python3/site-packages/svgmath/fonts/__pycache__/glyphlist.cpython-37.pyc' './usr/lib/python3/site-packages/svgmath/fonts/__pycache__/glyphlist.cpython-37.opt-2.pyc' => './usr/lib/python3/site-packages/svgmath/fonts/__pycache__/glyphlist.cpython-37.opt-1.pyc' './usr/lib/python3/site-packages/svgmath/fonts/__pycache__/afm.cpython-37.opt-1.pyc' => './usr/lib/python3/site-packages/svgmath/fonts/__pycache__/afm.cpython-37.pyc' './usr/lib/python3/site-packages/svgmath/fonts/__pycache__/afm.cpython-37.opt-2.pyc' => './usr/lib/python3/site-packages/svgmath/fonts/__pycache__/afm.cpython-37.opt-1.pyc' './usr/lib/python3/site-packages/svgmath/fonts/__pycache__/__init__.cpython-37.opt-1.pyc' => './usr/lib/python3/site-packages/svgmath/fonts/__pycache__/__init__.cpython-37.pyc' './usr/lib/python3/site-packages/svgmath/fonts/__pycache__/__init__.cpython-37.opt-2.pyc' => './usr/lib/python3/site-packages/svgmath/fonts/__pycache__/__init__.cpython-37.opt-1.pyc' './usr/lib/python3/site-packages/svgmath/tools/__pycache__/saxtools.cpython-37.opt-1.pyc' => './usr/lib/python3/site-packages/svgmath/tools/__pycache__/saxtools.cpython-37.pyc' './usr/lib/python3/site-packages/svgmath/tools/__pycache__/__init__.cpython-37.opt-1.pyc' => './usr/lib/python3/site-packages/svgmath/tools/__pycache__/__init__.cpython-37.pyc' './usr/lib/python3/site-packages/svgmath/tools/__pycache__/__init__.cpython-37.opt-2.pyc' => './usr/lib/python3/site-packages/svgmath/tools/__pycache__/__init__.cpython-37.opt-1.pyc' Hardlinking identical .pyc and .pyo files './usr/lib/python2.7/site-packages/svgmath/tables.pyo' => './usr/lib/python2.7/site-packages/svgmath/tables.pyc' './usr/lib/python2.7/site-packages/svgmath/operators.pyo' => './usr/lib/python2.7/site-packages/svgmath/operators.pyc' './usr/lib/python2.7/site-packages/svgmath/nodelocator.pyo' => './usr/lib/python2.7/site-packages/svgmath/nodelocator.pyc' './usr/lib/python2.7/site-packages/svgmath/measurers.pyo' => './usr/lib/python2.7/site-packages/svgmath/measurers.pyc' './usr/lib/python2.7/site-packages/svgmath/mathnode.pyo' => './usr/lib/python2.7/site-packages/svgmath/mathnode.pyc' './usr/lib/python2.7/site-packages/svgmath/mathhandler.pyo' => './usr/lib/python2.7/site-packages/svgmath/mathhandler.pyc' './usr/lib/python2.7/site-packages/svgmath/mathconfig.pyo' => './usr/lib/python2.7/site-packages/svgmath/mathconfig.pyc' './usr/lib/python2.7/site-packages/svgmath/generators.pyo' => './usr/lib/python2.7/site-packages/svgmath/generators.pyc' './usr/lib/python2.7/site-packages/svgmath/enclosures.pyo' => './usr/lib/python2.7/site-packages/svgmath/enclosures.pyc' './usr/lib/python2.7/site-packages/svgmath/contextmakers.pyo' => './usr/lib/python2.7/site-packages/svgmath/contextmakers.pyc' './usr/lib/python2.7/site-packages/svgmath/__init__.pyo' => './usr/lib/python2.7/site-packages/svgmath/__init__.pyc' './usr/lib/python2.7/site-packages/svgmath/fonts/ttf.pyo' => './usr/lib/python2.7/site-packages/svgmath/fonts/ttf.pyc' './usr/lib/python2.7/site-packages/svgmath/fonts/metric.pyo' => './usr/lib/python2.7/site-packages/svgmath/fonts/metric.pyc' './usr/lib/python2.7/site-packages/svgmath/fonts/glyphlist.pyo' => './usr/lib/python2.7/site-packages/svgmath/fonts/glyphlist.pyc' './usr/lib/python2.7/site-packages/svgmath/fonts/afm.pyo' => './usr/lib/python2.7/site-packages/svgmath/fonts/afm.pyc' './usr/lib/python2.7/site-packages/svgmath/fonts/__init__.pyo' => './usr/lib/python2.7/site-packages/svgmath/fonts/__init__.pyc' './usr/lib/python2.7/site-packages/svgmath/tools/saxtools.pyo' => './usr/lib/python2.7/site-packages/svgmath/tools/saxtools.pyc' './usr/lib/python2.7/site-packages/svgmath/tools/__init__.pyo' => './usr/lib/python2.7/site-packages/svgmath/tools/__init__.pyc' Processing files: python-module-SVGMath-0.3.3-alt3.2.2 Executing(%doc): /bin/sh -e /usr/src/tmp/rpm-tmp.45942 + umask 022 + /bin/mkdir -p /usr/src/RPM/BUILD + cd /usr/src/RPM/BUILD + cd SVGMath-0.3.3 + DOCDIR=/usr/src/tmp/python-module-SVGMath-buildroot/usr/share/doc/python-module-SVGMath-0.3.3 + export DOCDIR + rm -rf /usr/src/tmp/python-module-SVGMath-buildroot/usr/share/doc/python-module-SVGMath-0.3.3 + /bin/mkdir -p /usr/src/tmp/python-module-SVGMath-buildroot/usr/share/doc/python-module-SVGMath-0.3.3 + cp -prL README.txt LICENSE.txt doc/configuration.txt doc/mathml-coverage.txt doc/release-notes.txt doc/usage.txt /usr/src/tmp/python-module-SVGMath-buildroot/usr/share/doc/python-module-SVGMath-0.3.3 + chmod -R go-w /usr/src/tmp/python-module-SVGMath-buildroot/usr/share/doc/python-module-SVGMath-0.3.3 + chmod -R a+rX /usr/src/tmp/python-module-SVGMath-buildroot/usr/share/doc/python-module-SVGMath-0.3.3 + exit 0 Finding Provides (using /usr/lib/rpm/find-provides) Executing: /bin/sh -e /usr/src/tmp/rpm-tmp.M9PMtf find-provides: running scripts (alternatives,debuginfo,lib,pam,perl,pkgconfig,python,python3,shell) Finding Requires (using /usr/lib/rpm/find-requires) Executing: /bin/sh -e /usr/src/tmp/rpm-tmp.7NBMAs find-requires: running scripts (cpp,debuginfo,files,lib,pam,perl,pkgconfig,pkgconfiglib,python,python3,rpmlib,shebang,shell,static,symlinks) python.req: /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/contextmakers.py: skipping sys python.req: /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/contextmakers.py: hiding mathnode, which SEEMS TO BE SELF-SATISFIED python.req: /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/contextmakers.py: hiding operators, which SEEMS TO BE SELF-SATISFIED python.req: /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/enclosures.py: skipping sys python.req: /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/enclosures.py: hiding mathnode, which SEEMS TO BE SELF-SATISFIED python.req: /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/fonts/afm.py: skipping sys python.req: /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/fonts/afm.py: hiding glyphlist, which SEEMS TO BE SELF-SATISFIED python.req: /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/fonts/afm.py: hiding metric, which SEEMS TO BE SELF-SATISFIED python.req: /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/fonts/glyphlist.py: skipping sys python.req: /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/fonts/ttf.py: skipping sys python.req: /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/fonts/ttf.py: hiding metric, which SEEMS TO BE SELF-SATISFIED python.req: /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/generators.py: skipping sys python.req: /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/generators.py: hiding mathnode, which SEEMS TO BE SELF-SATISFIED python.req: /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/mathconfig.py: skipping sys python.req: /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/mathconfig.py: hiding fonts, which SEEMS TO BE SELF-SATISFIED python.req: /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/mathconfig.py: hiding fonts, which SEEMS TO BE SELF-SATISFIED python.req: /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/mathconfig.py: hiding fonts, which SEEMS TO BE SELF-SATISFIED python.req: /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/mathhandler.py: skipping sys python.req: /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/mathhandler.py: hiding mathnode, which SEEMS TO BE SELF-SATISFIED python.req: /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/mathhandler.py: hiding mathconfig, which SEEMS TO BE SELF-SATISFIED python.req: /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/mathhandler.py: hiding nodelocator, which SEEMS TO BE SELF-SATISFIED python.req: /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/mathnode.py: skipping sys python.req: /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/mathnode.py: hiding contextmakers, which SEEMS TO BE SELF-SATISFIED python.req: /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/mathnode.py: hiding measurers, which SEEMS TO BE SELF-SATISFIED python.req: /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/mathnode.py: hiding generators, which SEEMS TO BE SELF-SATISFIED python.req: /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/mathnode.py: hiding nodelocator, which SEEMS TO BE SELF-SATISFIED python.req: /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/measurers.py: skipping sys python.req: /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/measurers.py: hiding mathnode, which SEEMS TO BE SELF-SATISFIED python.req: /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/measurers.py: hiding operators, which SEEMS TO BE SELF-SATISFIED python.req: /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/measurers.py: hiding tables, which SEEMS TO BE SELF-SATISFIED python.req: /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/measurers.py: hiding enclosures, which SEEMS TO BE SELF-SATISFIED python.req: /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/nodelocator.py: skipping sys python.req: /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/operators.py: skipping sys python.req: /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/tables.py: skipping sys python.req: /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/tables.py: hiding mathnode, which SEEMS TO BE SELF-SATISFIED Provides: python2.7-module-SVGMath = 0.3.3-alt3.2.2, python2.7(svgmath), python2.7(svgmath.contextmakers), python2.7(svgmath.enclosures), python2.7(svgmath.fonts), python2.7(svgmath.fonts.afm), python2.7(svgmath.fonts.glyphlist), python2.7(svgmath.fonts.metric), python2.7(svgmath.fonts.ttf), python2.7(svgmath.generators), python2.7(svgmath.mathconfig), python2.7(svgmath.mathhandler), python2.7(svgmath.mathnode), python2.7(svgmath.measurers), python2.7(svgmath.nodelocator), python2.7(svgmath.operators), python2.7(svgmath.tables), python2.7(svgmath.tools), python2.7(svgmath.tools.saxtools) Requires: python = 2.7, /usr/lib/python2.7/site-packages, python-modules, python2.7(xml) Processing files: python3-module-SVGMath-0.3.3-alt3.2.2 Executing(%doc): /bin/sh -e /usr/src/tmp/rpm-tmp.95437 + umask 022 + /bin/mkdir -p /usr/src/RPM/BUILD + cd /usr/src/RPM/BUILD + cd SVGMath-0.3.3 + DOCDIR=/usr/src/tmp/python-module-SVGMath-buildroot/usr/share/doc/python3-module-SVGMath-0.3.3 + export DOCDIR + rm -rf /usr/src/tmp/python-module-SVGMath-buildroot/usr/share/doc/python3-module-SVGMath-0.3.3 + /bin/mkdir -p /usr/src/tmp/python-module-SVGMath-buildroot/usr/share/doc/python3-module-SVGMath-0.3.3 + cp -prL README.txt LICENSE.txt doc/configuration.txt doc/mathml-coverage.txt doc/release-notes.txt doc/usage.txt /usr/src/tmp/python-module-SVGMath-buildroot/usr/share/doc/python3-module-SVGMath-0.3.3 + chmod -R go-w /usr/src/tmp/python-module-SVGMath-buildroot/usr/share/doc/python3-module-SVGMath-0.3.3 + chmod -R a+rX /usr/src/tmp/python-module-SVGMath-buildroot/usr/share/doc/python3-module-SVGMath-0.3.3 + exit 0 Finding Provides (using /usr/lib/rpm/find-provides) Executing: /bin/sh -e /usr/src/tmp/rpm-tmp.0ph5ZJ find-provides: running scripts (alternatives,debuginfo,lib,pam,perl,pkgconfig,python,python3,shell) Finding Requires (using /usr/lib/rpm/find-requires) Executing: /bin/sh -e /usr/src/tmp/rpm-tmp.rfZUN4 find-requires: running scripts (cpp,debuginfo,files,lib,pam,perl,pkgconfig,pkgconfiglib,python,python3,rpmlib,shebang,shell,static,symlinks) python3.req: /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/contextmakers.py: skipping sys python3.req: /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/enclosures.py: skipping sys python3.req: /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/fonts/afm.py: skipping sys /usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/fonts/afm.py: line=2 possible relative import from ., UNIMPLEMENTED python3.req: /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/fonts/glyphlist.py: skipping sys python3.req: /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/fonts/ttf.py: skipping sys /usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/fonts/ttf.py: line=2 possible relative import from ., UNIMPLEMENTED python3.req: /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/generators.py: skipping sys python3.req: /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/mathconfig.py: skipping sys /usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/mathconfig.py: line=5 possible relative import from ., UNIMPLEMENTED /usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/mathconfig.py: line=6 possible relative import from ., UNIMPLEMENTED /usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/mathconfig.py: line=7 possible relative import from ., UNIMPLEMENTED python3.req: /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/mathhandler.py: skipping sys /usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/mathhandler.py: line=5 possible relative import from ., UNIMPLEMENTED /usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/mathhandler.py: line=6 possible relative import from ., UNIMPLEMENTED /usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/mathhandler.py: line=7 possible relative import from ., UNIMPLEMENTED python3.req: /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/mathnode.py: skipping sys /usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/mathnode.py: line=5 possible relative import from ., UNIMPLEMENTED python3.req: /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/measurers.py: skipping sys python3.req: /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/nodelocator.py: skipping sys python3.req: /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/operators.py: skipping sys python3.req: /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/tables.py: skipping sys Provides: python3(svgmath), python3(svgmath.contextmakers), python3(svgmath.enclosures), python3(svgmath.fonts), python3(svgmath.fonts.afm), python3(svgmath.fonts.glyphlist), python3(svgmath.fonts.metric), python3(svgmath.fonts.ttf), python3(svgmath.generators), python3(svgmath.mathconfig), python3(svgmath.mathhandler), python3(svgmath.mathnode), python3(svgmath.measurers), python3(svgmath.nodelocator), python3(svgmath.operators), python3(svgmath.tables), python3(svgmath.tools), python3(svgmath.tools.saxtools) Requires: /usr/lib/python3/site-packages, python3(codecs) < 0, python3(math) < 0, python3(os) < 0, python3(xml) < 0, python3(xml.sax) < 0 Wrote: /usr/src/RPM/RPMS/noarch/python-module-SVGMath-0.3.3-alt3.2.2.noarch.rpm Wrote: /usr/src/RPM/RPMS/noarch/python3-module-SVGMath-0.3.3-alt3.2.2.noarch.rpm 12.26user 0.73system 0:17.87elapsed 72%CPU (0avgtext+0avgdata 60704maxresident)k 0inputs+0outputs (0major+317193minor)pagefaults 0swaps 19.92user 3.60system 0:31.57elapsed 74%CPU (0avgtext+0avgdata 118252maxresident)k 0inputs+0outputs (0major+836297minor)pagefaults 0swaps --- python3-module-SVGMath-0.3.3-alt3.2.2.noarch.rpm.repo 2018-05-22 16:35:55.000000000 +0000 +++ python3-module-SVGMath-0.3.3-alt3.2.2.noarch.rpm.hasher 2019-08-05 04:05:39.434197449 +0000 @@ -1,2 +1,2 @@ -/usr/lib/python3/site-packages/SVGMath-0.3.3-py3.6.egg-info 100644 +/usr/lib/python3/site-packages/SVGMath-0.3.3-py3.7.egg-info 100644 /usr/lib/python3/site-packages/svgmath 40755 @@ -4,35 +4,35 @@ /usr/lib/python3/site-packages/svgmath/__pycache__ 40755 -/usr/lib/python3/site-packages/svgmath/__pycache__/__init__.cpython-36.opt-1.pyc 100644 -/usr/lib/python3/site-packages/svgmath/__pycache__/__init__.cpython-36.opt-2.pyc 100644 -/usr/lib/python3/site-packages/svgmath/__pycache__/__init__.cpython-36.pyc 100644 -/usr/lib/python3/site-packages/svgmath/__pycache__/contextmakers.cpython-36.opt-1.pyc 100644 -/usr/lib/python3/site-packages/svgmath/__pycache__/contextmakers.cpython-36.opt-2.pyc 100644 -/usr/lib/python3/site-packages/svgmath/__pycache__/contextmakers.cpython-36.pyc 100644 -/usr/lib/python3/site-packages/svgmath/__pycache__/enclosures.cpython-36.opt-1.pyc 100644 -/usr/lib/python3/site-packages/svgmath/__pycache__/enclosures.cpython-36.opt-2.pyc 100644 -/usr/lib/python3/site-packages/svgmath/__pycache__/enclosures.cpython-36.pyc 100644 -/usr/lib/python3/site-packages/svgmath/__pycache__/generators.cpython-36.opt-1.pyc 100644 -/usr/lib/python3/site-packages/svgmath/__pycache__/generators.cpython-36.opt-2.pyc 100644 -/usr/lib/python3/site-packages/svgmath/__pycache__/generators.cpython-36.pyc 100644 -/usr/lib/python3/site-packages/svgmath/__pycache__/mathconfig.cpython-36.opt-1.pyc 100644 -/usr/lib/python3/site-packages/svgmath/__pycache__/mathconfig.cpython-36.opt-2.pyc 100644 -/usr/lib/python3/site-packages/svgmath/__pycache__/mathconfig.cpython-36.pyc 100644 -/usr/lib/python3/site-packages/svgmath/__pycache__/mathhandler.cpython-36.opt-1.pyc 100644 -/usr/lib/python3/site-packages/svgmath/__pycache__/mathhandler.cpython-36.opt-2.pyc 100644 -/usr/lib/python3/site-packages/svgmath/__pycache__/mathhandler.cpython-36.pyc 100644 -/usr/lib/python3/site-packages/svgmath/__pycache__/mathnode.cpython-36.opt-1.pyc 100644 -/usr/lib/python3/site-packages/svgmath/__pycache__/mathnode.cpython-36.opt-2.pyc 100644 -/usr/lib/python3/site-packages/svgmath/__pycache__/mathnode.cpython-36.pyc 100644 -/usr/lib/python3/site-packages/svgmath/__pycache__/measurers.cpython-36.opt-1.pyc 100644 -/usr/lib/python3/site-packages/svgmath/__pycache__/measurers.cpython-36.opt-2.pyc 100644 -/usr/lib/python3/site-packages/svgmath/__pycache__/measurers.cpython-36.pyc 100644 -/usr/lib/python3/site-packages/svgmath/__pycache__/nodelocator.cpython-36.opt-1.pyc 100644 -/usr/lib/python3/site-packages/svgmath/__pycache__/nodelocator.cpython-36.opt-2.pyc 100644 -/usr/lib/python3/site-packages/svgmath/__pycache__/nodelocator.cpython-36.pyc 100644 -/usr/lib/python3/site-packages/svgmath/__pycache__/operators.cpython-36.opt-1.pyc 100644 -/usr/lib/python3/site-packages/svgmath/__pycache__/operators.cpython-36.opt-2.pyc 100644 -/usr/lib/python3/site-packages/svgmath/__pycache__/operators.cpython-36.pyc 100644 -/usr/lib/python3/site-packages/svgmath/__pycache__/tables.cpython-36.opt-1.pyc 100644 -/usr/lib/python3/site-packages/svgmath/__pycache__/tables.cpython-36.opt-2.pyc 100644 -/usr/lib/python3/site-packages/svgmath/__pycache__/tables.cpython-36.pyc 100644 +/usr/lib/python3/site-packages/svgmath/__pycache__/__init__.cpython-37.opt-1.pyc 100644 +/usr/lib/python3/site-packages/svgmath/__pycache__/__init__.cpython-37.opt-2.pyc 100644 +/usr/lib/python3/site-packages/svgmath/__pycache__/__init__.cpython-37.pyc 100644 +/usr/lib/python3/site-packages/svgmath/__pycache__/contextmakers.cpython-37.opt-1.pyc 100644 +/usr/lib/python3/site-packages/svgmath/__pycache__/contextmakers.cpython-37.opt-2.pyc 100644 +/usr/lib/python3/site-packages/svgmath/__pycache__/contextmakers.cpython-37.pyc 100644 +/usr/lib/python3/site-packages/svgmath/__pycache__/enclosures.cpython-37.opt-1.pyc 100644 +/usr/lib/python3/site-packages/svgmath/__pycache__/enclosures.cpython-37.opt-2.pyc 100644 +/usr/lib/python3/site-packages/svgmath/__pycache__/enclosures.cpython-37.pyc 100644 +/usr/lib/python3/site-packages/svgmath/__pycache__/generators.cpython-37.opt-1.pyc 100644 +/usr/lib/python3/site-packages/svgmath/__pycache__/generators.cpython-37.opt-2.pyc 100644 +/usr/lib/python3/site-packages/svgmath/__pycache__/generators.cpython-37.pyc 100644 +/usr/lib/python3/site-packages/svgmath/__pycache__/mathconfig.cpython-37.opt-1.pyc 100644 +/usr/lib/python3/site-packages/svgmath/__pycache__/mathconfig.cpython-37.opt-2.pyc 100644 +/usr/lib/python3/site-packages/svgmath/__pycache__/mathconfig.cpython-37.pyc 100644 +/usr/lib/python3/site-packages/svgmath/__pycache__/mathhandler.cpython-37.opt-1.pyc 100644 +/usr/lib/python3/site-packages/svgmath/__pycache__/mathhandler.cpython-37.opt-2.pyc 100644 +/usr/lib/python3/site-packages/svgmath/__pycache__/mathhandler.cpython-37.pyc 100644 +/usr/lib/python3/site-packages/svgmath/__pycache__/mathnode.cpython-37.opt-1.pyc 100644 +/usr/lib/python3/site-packages/svgmath/__pycache__/mathnode.cpython-37.opt-2.pyc 100644 +/usr/lib/python3/site-packages/svgmath/__pycache__/mathnode.cpython-37.pyc 100644 +/usr/lib/python3/site-packages/svgmath/__pycache__/measurers.cpython-37.opt-1.pyc 100644 +/usr/lib/python3/site-packages/svgmath/__pycache__/measurers.cpython-37.opt-2.pyc 100644 +/usr/lib/python3/site-packages/svgmath/__pycache__/measurers.cpython-37.pyc 100644 +/usr/lib/python3/site-packages/svgmath/__pycache__/nodelocator.cpython-37.opt-1.pyc 100644 +/usr/lib/python3/site-packages/svgmath/__pycache__/nodelocator.cpython-37.opt-2.pyc 100644 +/usr/lib/python3/site-packages/svgmath/__pycache__/nodelocator.cpython-37.pyc 100644 +/usr/lib/python3/site-packages/svgmath/__pycache__/operators.cpython-37.opt-1.pyc 100644 +/usr/lib/python3/site-packages/svgmath/__pycache__/operators.cpython-37.opt-2.pyc 100644 +/usr/lib/python3/site-packages/svgmath/__pycache__/operators.cpython-37.pyc 100644 +/usr/lib/python3/site-packages/svgmath/__pycache__/tables.cpython-37.opt-1.pyc 100644 +/usr/lib/python3/site-packages/svgmath/__pycache__/tables.cpython-37.opt-2.pyc 100644 +/usr/lib/python3/site-packages/svgmath/__pycache__/tables.cpython-37.pyc 100644 /usr/lib/python3/site-packages/svgmath/contextmakers.py 100644 @@ -42,17 +42,17 @@ /usr/lib/python3/site-packages/svgmath/fonts/__pycache__ 40755 -/usr/lib/python3/site-packages/svgmath/fonts/__pycache__/__init__.cpython-36.opt-1.pyc 100644 -/usr/lib/python3/site-packages/svgmath/fonts/__pycache__/__init__.cpython-36.opt-2.pyc 100644 -/usr/lib/python3/site-packages/svgmath/fonts/__pycache__/__init__.cpython-36.pyc 100644 -/usr/lib/python3/site-packages/svgmath/fonts/__pycache__/afm.cpython-36.opt-1.pyc 100644 -/usr/lib/python3/site-packages/svgmath/fonts/__pycache__/afm.cpython-36.opt-2.pyc 100644 -/usr/lib/python3/site-packages/svgmath/fonts/__pycache__/afm.cpython-36.pyc 100644 -/usr/lib/python3/site-packages/svgmath/fonts/__pycache__/glyphlist.cpython-36.opt-1.pyc 100644 -/usr/lib/python3/site-packages/svgmath/fonts/__pycache__/glyphlist.cpython-36.opt-2.pyc 100644 -/usr/lib/python3/site-packages/svgmath/fonts/__pycache__/glyphlist.cpython-36.pyc 100644 -/usr/lib/python3/site-packages/svgmath/fonts/__pycache__/metric.cpython-36.opt-1.pyc 100644 -/usr/lib/python3/site-packages/svgmath/fonts/__pycache__/metric.cpython-36.opt-2.pyc 100644 -/usr/lib/python3/site-packages/svgmath/fonts/__pycache__/metric.cpython-36.pyc 100644 -/usr/lib/python3/site-packages/svgmath/fonts/__pycache__/ttf.cpython-36.opt-1.pyc 100644 -/usr/lib/python3/site-packages/svgmath/fonts/__pycache__/ttf.cpython-36.opt-2.pyc 100644 -/usr/lib/python3/site-packages/svgmath/fonts/__pycache__/ttf.cpython-36.pyc 100644 +/usr/lib/python3/site-packages/svgmath/fonts/__pycache__/__init__.cpython-37.opt-1.pyc 100644 +/usr/lib/python3/site-packages/svgmath/fonts/__pycache__/__init__.cpython-37.opt-2.pyc 100644 +/usr/lib/python3/site-packages/svgmath/fonts/__pycache__/__init__.cpython-37.pyc 100644 +/usr/lib/python3/site-packages/svgmath/fonts/__pycache__/afm.cpython-37.opt-1.pyc 100644 +/usr/lib/python3/site-packages/svgmath/fonts/__pycache__/afm.cpython-37.opt-2.pyc 100644 +/usr/lib/python3/site-packages/svgmath/fonts/__pycache__/afm.cpython-37.pyc 100644 +/usr/lib/python3/site-packages/svgmath/fonts/__pycache__/glyphlist.cpython-37.opt-1.pyc 100644 +/usr/lib/python3/site-packages/svgmath/fonts/__pycache__/glyphlist.cpython-37.opt-2.pyc 100644 +/usr/lib/python3/site-packages/svgmath/fonts/__pycache__/glyphlist.cpython-37.pyc 100644 +/usr/lib/python3/site-packages/svgmath/fonts/__pycache__/metric.cpython-37.opt-1.pyc 100644 +/usr/lib/python3/site-packages/svgmath/fonts/__pycache__/metric.cpython-37.opt-2.pyc 100644 +/usr/lib/python3/site-packages/svgmath/fonts/__pycache__/metric.cpython-37.pyc 100644 +/usr/lib/python3/site-packages/svgmath/fonts/__pycache__/ttf.cpython-37.opt-1.pyc 100644 +/usr/lib/python3/site-packages/svgmath/fonts/__pycache__/ttf.cpython-37.opt-2.pyc 100644 +/usr/lib/python3/site-packages/svgmath/fonts/__pycache__/ttf.cpython-37.pyc 100644 /usr/lib/python3/site-packages/svgmath/fonts/afm.py 100644 @@ -73,8 +73,8 @@ /usr/lib/python3/site-packages/svgmath/tools/__pycache__ 40755 -/usr/lib/python3/site-packages/svgmath/tools/__pycache__/__init__.cpython-36.opt-1.pyc 100644 -/usr/lib/python3/site-packages/svgmath/tools/__pycache__/__init__.cpython-36.opt-2.pyc 100644 -/usr/lib/python3/site-packages/svgmath/tools/__pycache__/__init__.cpython-36.pyc 100644 -/usr/lib/python3/site-packages/svgmath/tools/__pycache__/saxtools.cpython-36.opt-1.pyc 100644 -/usr/lib/python3/site-packages/svgmath/tools/__pycache__/saxtools.cpython-36.opt-2.pyc 100644 -/usr/lib/python3/site-packages/svgmath/tools/__pycache__/saxtools.cpython-36.pyc 100644 +/usr/lib/python3/site-packages/svgmath/tools/__pycache__/__init__.cpython-37.opt-1.pyc 100644 +/usr/lib/python3/site-packages/svgmath/tools/__pycache__/__init__.cpython-37.opt-2.pyc 100644 +/usr/lib/python3/site-packages/svgmath/tools/__pycache__/__init__.cpython-37.pyc 100644 +/usr/lib/python3/site-packages/svgmath/tools/__pycache__/saxtools.cpython-37.opt-1.pyc 100644 +/usr/lib/python3/site-packages/svgmath/tools/__pycache__/saxtools.cpython-37.opt-2.pyc 100644 +/usr/lib/python3/site-packages/svgmath/tools/__pycache__/saxtools.cpython-37.pyc 100644 /usr/lib/python3/site-packages/svgmath/tools/saxtools.py 100644