diff options
-rw-r--r-- | Master/texmf-dist/doc/luatex/luaxml/README | 2 | ||||
-rw-r--r-- | Master/texmf-dist/doc/luatex/luaxml/luaxml.pdf | bin | 119150 -> 124725 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/luatex/luaxml/luaxml.tex | 92 | ||||
-rw-r--r-- | Master/texmf-dist/tex/luatex/luaxml/luaxml-cssquery.lua | 14 | ||||
-rw-r--r-- | Master/texmf-dist/tex/luatex/luaxml/luaxml-domobject.lua | 95 | ||||
-rw-r--r-- | Master/texmf-dist/tex/luatex/luaxml/luaxml-encodings.lua | 88 | ||||
-rw-r--r-- | Master/texmf-dist/tex/luatex/luaxml/luaxml-mod-html.lua | 221 | ||||
-rw-r--r-- | Master/texmf-dist/tex/luatex/luaxml/luaxml-namedentities.lua | 4167 | ||||
-rw-r--r-- | Master/texmf-dist/tex/luatex/luaxml/luaxml-transform.lua | 13 |
9 files changed, 2573 insertions, 2119 deletions
diff --git a/Master/texmf-dist/doc/luatex/luaxml/README b/Master/texmf-dist/doc/luatex/luaxml/README index 5df074c453b..6a81ab25ce0 100644 --- a/Master/texmf-dist/doc/luatex/luaxml/README +++ b/Master/texmf-dist/doc/luatex/luaxml/README @@ -32,7 +32,7 @@ Author ------ Michal Hoftich Email: michal.h21@gmail.com -Version: v0.1r, 2024-02-23 +Version: v0.2, 2024-07-14 Original authors: Paul Chakravarti and Manoel Campos (http://manoelcampos.com) diff --git a/Master/texmf-dist/doc/luatex/luaxml/luaxml.pdf b/Master/texmf-dist/doc/luatex/luaxml/luaxml.pdf Binary files differindex f574a0a5287..071fa4e4cd0 100644 --- a/Master/texmf-dist/doc/luatex/luaxml/luaxml.pdf +++ b/Master/texmf-dist/doc/luatex/luaxml/luaxml.pdf diff --git a/Master/texmf-dist/doc/luatex/luaxml/luaxml.tex b/Master/texmf-dist/doc/luatex/luaxml/luaxml.tex index 5031a0468e2..bf3b8fbaa74 100644 --- a/Master/texmf-dist/doc/luatex/luaxml/luaxml.tex +++ b/Master/texmf-dist/doc/luatex/luaxml/luaxml.tex @@ -7,7 +7,7 @@ \usepackage{framed} % Version is defined in the makefile, use default values when compiled directly \ifdefined\version\else -\def\version{v0.1r} +\def\version{v0.2} \let\gitdate\date \fi \newcommand\modulename[1]{\subsection{#1}\label{sec:#1}} @@ -99,6 +99,67 @@ end \end{luacode*} \end{framed} +\subsection{HTML parsing} + +You can parse HTML documents using the \verb|DOM_Object.html_parse| function. This parser is slower +than the default XML parser, but it can load files that would cause errors in the XML mode. +It can handle wrongly nested HTML tags, inline JavaScript and CSS styles, and other HTML features +that would cause XML errors. + +\begin{verbatim} +dom = require "luaxml-domobject" +local document = [[ +<html> +<head><title>sample</title></head> +<body> +<h1>test</h1> +<p>hello +<p>another paragraph +<ul> +<li>first +<li>second +</ul> +</body> +</html> + ]] + +-- dom.html_parse returns the DOM_Object +obj = dom.html_parse(document) +-- print names of all elements contained in body +for _, x in ipairs(obj:query_selector("body *")) do + tex.print(x:get_element_name().. "\\par") +end +\end{verbatim} + + +\begin{framed} +\begin{luacode*} +dom = require "luaxml-domobject" +local document = [[ +<html> +<head><title>sample</title></head> +<body> +<h1>test</h1> +<p>hello +<p>another paragraph +<ul> +<li>first +<li>second +</ul> +</body> +</html> + ]] + +-- dom.html_parse returns the DOM_Object +obj = dom.html_parse(document) +-- print names of all elements contained in body +for _, x in ipairs(obj:query_selector("body *")) do + tex.print(x:get_element_name().. "\\par") +end +\end{luacode*} +\end{framed} + + \subsection{Void elements} The \verb|DOM_Object.parse| function tries to support the HTML void elements, @@ -641,6 +702,35 @@ transform.print_tex("\\verb|" .. result .. "|") \end{luacode*} \end{framed} +\section{Character sets handling} + +The \texttt{luaxml-encodings} library provides functions to convert texts in legacy 8-bit encodings such as WINDOWS-1250 +or ISO-8859-2 to UTF-8. This can be useful in fixing document encoding before HTML parsing using the \texttt{luaxml-mod-html} +library. + +\subsection{Example} + + +\begin{verbatim} +kpse.set_program_name "luatex" +local encodings = require "luaxml-encodings" + +--read HTML page from the standard input +local text = io.read("*all") +-- find the character encoding in HTML metadata +local enc = encodings.find_html_encoding(text) +if enc then + -- local conversion table for the found encoding + local mapping = encodings.load_mapping(enc) + if mapping then + -- if the mapping exists, recode the HTML input and print it + local converted = encodings.recode(text, mapping) + print(converted) + end +end +\end{verbatim} + + \section{The API documentation} diff --git a/Master/texmf-dist/tex/luatex/luaxml/luaxml-cssquery.lua b/Master/texmf-dist/tex/luatex/luaxml/luaxml-cssquery.lua index ebb29abb15c..452656845c4 100644 --- a/Master/texmf-dist/tex/luatex/luaxml/luaxml-cssquery.lua +++ b/Master/texmf-dist/tex/luatex/luaxml/luaxml-cssquery.lua @@ -156,7 +156,7 @@ local function cssquery() -- make sure we deal with a string value = tostring(value) -- make the search string safe for pattern matching - local escaped_search = search:gsub("([%(%)%.%%%+%–%*%?%[%^%$])", "%%%1") + local escaped_search = search:gsub("([%(%)%.%%%+%-%#%*%?%[%^%$])", "%%%1") if modifier == "" then return value == search elseif modifier == "|" then @@ -434,6 +434,18 @@ local function cssquery() return querylist end + --- Remove selector from the CSS list object. + -- All actions that literaly match the given selector will be removed. + function CssQuery:remove_selector( + selector -- CSS selector to be removed + ) + for pos, obj in ipairs(self.querylist) do + if obj.source == selector then + table.remove(self.querylist, pos) + end + end + end + --- It tests list of queries agaings a DOM element and executes the --- coresponding function that is saved for the matched query. -- @return nothing diff --git a/Master/texmf-dist/tex/luatex/luaxml/luaxml-domobject.lua b/Master/texmf-dist/tex/luatex/luaxml/luaxml-domobject.lua index 73689add5a1..dca38df0db5 100644 --- a/Master/texmf-dist/tex/luatex/luaxml/luaxml-domobject.lua +++ b/Master/texmf-dist/tex/luatex/luaxml/luaxml-domobject.lua @@ -6,16 +6,20 @@ local dom = {} local xml local handler local css_query +local html if kpse then xml = require("luaxml-mod-xml") handler = require("luaxml-mod-handler") css_query = require("luaxml-cssquery") + html = require("luaxml-mod-html") else xml = require("luaxml.mod-xml") handler = require("luaxml.mod-handler") css_query = require("luaxml.cssquery") + html = require("luaxml.mod-html") end +local HtmlParser = html.HtmlParser local void = {area = true, base = true, br = true, col = true, hr = true, img = true, input = true, link = true, meta = true, param = true} @@ -91,9 +95,14 @@ local function serialize_dom(parser, current,level, output) local format = get_action(typ, "start") insert(format, el, prepare_attributes(attr)) end - local function text(typ, text) + local function text(typ, text, parent) + local parent = parent or {} local format = get_action(typ, "text") - insert(format, escape_element(text)) + if parent.verbatim then + insert(format, text) + else + insert(format, escape_element(text)) + end end local function stop(typ, el) local format = get_action(typ, "stop") @@ -141,7 +150,7 @@ local function serialize_dom(parser, current,level, output) end start(xtype, name, attributes) - text(xtype,text_content) + text(xtype,text_content, (current or {})._parent) local children = root._children or {} for _, child in ipairs(children) do output = serialize_dom(parser,child, level + 1, output) @@ -411,8 +420,8 @@ local parse = function( return strings end - --- Get table with the inner text of an element -- leading and trailing spaces are removed and elements that contain only white space are ignored. - --- @return table + --- Get table with the inner text of an element - leading and trailing spaces are removed and elements that contain only white space are ignored. + -- @return table function DOM_Object:stripped_strings( current --- [optional] element to be selected ) @@ -612,11 +621,83 @@ local parse = function( -- include the methods to all xml nodes save_methods(parser._handler.root) -- parser: - return parser + return parser, DOM_Object +end + +-- table of elements that should be kept without XML escaping in the DOM serialization +local verbatim_elements = {script=true, style=true} + +local function html_to_dom(html_object) + -- convert parsed HTML DOM to the XML DOM + local dom, DOM_Object = parse("") -- use empty text to just initialize the DOM object + -- use root of the DOM object as the original parent + local current_parent = dom._handler.root + + local function create_node(tbl) + -- create node suitable for LuaXML DOM object + tbl._children = {} + -- this should copy methods from the DOM object to the newly created object + tbl.__index = DOM_Object + return setmetatable(tbl, DOM_Object) + end + + local function build_tree(object) + -- convert tree produced by the HTML parser to LuaXML DOM + local typ = object._type + -- process particular node types from the HTML parser + if typ == "doctype" then + current_parent:add_child_node(create_node {_name=object.name, _type="DTD"}) + elseif typ == "comment" then + current_parent:add_child_node(create_node {_text=object.text, _type="COMMENT"}) + elseif typ == "element" then + local attributes = {} + -- convert attributes to the form expected by the DOM object + for _, attr in ipairs(object.attr) do + attributes[attr.name] = attr.value + end + local element = current_parent:create_element(object.tag, attributes) + -- disable escaping of text in dom:serialize() for <script> or <style> elements + if verbatim_elements[string.lower(object.tag)] then element.verbatim = true end + current_parent:add_child_node(element) + -- set the current element as parent for the processing of children + local old_parent = current_parent + current_parent = element + -- process children + for k,v in ipairs(object.children) do + build_tree(v) + end + -- restore original parent + current_parent = old_parent + elseif typ == "text" then + local text = current_parent:create_text_node(object.text) + current_parent:add_child_node(text) + else + -- for other node types, just process the children + for k,v in ipairs(object.children) do + build_tree(v) + end + end + + end + build_tree(html_object) + return dom +end + +--- Parse HTML text as a DOM object. +-- It supports all methods as the object returned by the parse() function. +-- @param html_str string with the HTML code to be parsed +-- @return DOM_Object +local function html_parse(html_str) + local html_obj = HtmlParser:init(html_str) + local html_dom = html_obj:parse() + return html_to_dom(html_dom) end + + --- @export return { parse = parse, - serialize_dom= serialize_dom + serialize_dom= serialize_dom, + html_parse = html_parse } diff --git a/Master/texmf-dist/tex/luatex/luaxml/luaxml-encodings.lua b/Master/texmf-dist/tex/luatex/luaxml/luaxml-encodings.lua new file mode 100644 index 00000000000..71bfc81dd1b --- /dev/null +++ b/Master/texmf-dist/tex/luatex/luaxml/luaxml-encodings.lua @@ -0,0 +1,88 @@ +--- Convert 8-bit encodings to UTF-8 +--- @module luaxml-encodings +-- this table is generated automatically by this command: +-- texlua encodings/make_encodings.lua +local encodings = { + ['ibm866'] = 'АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмноп░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀рстуфхцчшщъыьэюяЁёЄєЇїЎў°∙·√№¤■ ', + ['iso-8859-5'] = '�������������������������������� ЁЂЃЄЅІЇЈЉЊЋЌЎЏАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя№ёђѓєѕіїјљњћќ§ўџ', + ['macintosh'] = 'ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄€‹›fifl‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ', + ['windows-1251'] = 'ЂЃ‚ѓ„…†‡€‰Љ‹ЊЌЋЏђ‘’“”•–—�™љ›њќћџ ЎўЈ¤Ґ¦§Ё©Є«¬®Ї°±Ііґµ¶·ё№є»јЅѕїАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя', + ['iso-8859-13'] = '�������������������������������� ”¢£¤„¦§Ø©Ŗ«¬®Æ°±²³“µ¶·ø¹ŗ»¼½¾æĄĮĀĆÄÅĘĒČÉŹĖĢĶĪĻŠŃŅÓŌÕÖ×ŲŁŚŪÜŻŽßąįāćäåęēčéźėģķīļšńņóōõö÷ųłśūüżž’', + ['iso-8859-6'] = '�������������������������������� ���¤�������،�������������؛���؟�ءآأؤإئابةتثجحخدذرزسشصضطظعغ�����ـفقكلمنهوىيًٌٍَُِّْ', + ['iso-8859-8'] = '�������������������������������� �¢£¤¥¦§¨©×«¬®¯°±²³´µ¶·¸¹÷»¼½¾��������������������������������‗אבגדהוזחטיךכלםמןנסעףפץצקרשת��', + ['iso-8859-4'] = '�������������������������������� ĄĸŖ¤ĨĻ§¨ŠĒĢŦŽ¯°ą˛ŗ´ĩļˇ¸šēģŧŊžŋĀÁÂÃÄÅÆĮČÉĘËĖÍÎĪĐŅŌĶÔÕÖ×ØŲÚÛÜŨŪßāáâãäåæįčéęëėíîīđņōķôõö÷øųúûüũū˙', + ['koi8-r'] = '─│┌┐└┘├┤┬┴┼▀▄█▌▐░▒▓⌠■∙√≈≤≥ ⌡°²·÷═║╒ё╓╔╕╖╗╘╙╚╛╜╝╞╟╠╡Ё╢╣╤╥╦╧╨╩╪╫╬©юабцдефгхийклмнопярстужвьызшэщчъЮАБЦДЕФГХИЙКЛМНОПЯРСТУЖВЬЫЗШЭЩЧЪ', + ['iso-8859-7'] = '�������������������������������� ‘’£€₯¦§¨©ͺ«¬�―°±²³΄΅Ά·ΈΉΊ»Ό½ΎΏΐΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡ�ΣΤΥΦΧΨΩΪΫάέήίΰαβγδεζηθικλμνξοπρςστυφχψωϊϋόύώ', + ['iso-8859-3'] = '�������������������������������� Ħ˘£¤�Ĥ§¨İŞĞĴ�Ż°ħ²³´µĥ·¸ışğĵ½�żÀÁÂ�ÄĊĈÇÈÉÊËÌÍÎÏ�ÑÒÓÔĠÖ×ĜÙÚÛÜŬŜßàáâ�äċĉçèéêëìíîï�ñòóôġö÷ĝùúûüŭŝ˙', + ['windows-1256'] = '€پ‚ƒ„…†‡ˆ‰ٹ‹Œچژڈگ‘’“”•–—ک™ڑ›œں ،¢£¤¥¦§¨©ھ«¬®¯°±²³´µ¶·¸¹؛»¼½¾؟ہءآأؤإئابةتثجحخدذرزسشصض×طظعغـفقكàلâمنهوçèéêëىيîïًٌٍَôُِ÷ّùْûüے', + ['windows-1258'] = '€�‚ƒ„…†‡ˆ‰�‹Œ����‘’“”•–—˜™�›œ��Ÿ ¡¢£¤¥¦§¨©ª«¬®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂĂÄÅÆÇÈÉÊË̀ÍÎÏĐÑ̉ÓÔƠÖ×ØÙÚÛÜỮßàáâăäåæçèéêë́íîïđṇ̃óôơö÷øùúûüư₫ÿ', + ['iso-8859-14'] = '�������������������������������� Ḃḃ£ĊċḊ§Ẁ©ẂḋỲ®ŸḞḟĠġṀṁ¶ṖẁṗẃṠỳẄẅṡÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏŴÑÒÓÔÕÖṪØÙÚÛÜÝŶßàáâãäåæçèéêëìíîïŵñòóôõöṫøùúûüýŷÿ', + ['windows-1252'] = '€�‚ƒ„…†‡ˆ‰Š‹Œ�Ž��‘’“”•–—˜™š›œ�žŸ ¡¢£¤¥¦§¨©ª«¬®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ', + ['iso-8859-15'] = '�������������������������������� ¡¢£€¥Š§š©ª«¬®¯°±²³Žµ¶·ž¹º»ŒœŸ¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ', + ['x-mac-cyrillic'] = 'АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ†°Ґ£§•¶І®©™Ђђ≠Ѓѓ∞±≤≥іµґЈЄєЇїЉљЊњјЅ¬√ƒ≈∆«»… ЋћЌќѕ–—“”‘’÷„ЎўЏџ№Ёёяабвгдежзийклмнопрстуфхцчшщъыьэю€', + ['windows-1254'] = '€�‚ƒ„…†‡ˆ‰Š‹Œ����‘’“”•–—˜™š›œ��Ÿ ¡¢£¤¥¦§¨©ª«¬®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏĞÑÒÓÔÕÖ×ØÙÚÛÜİŞßàáâãäåæçèéêëìíîïğñòóôõö÷øùúûüışÿ', + ['windows-1255'] = '€�‚ƒ„…†‡ˆ‰�‹�����‘’“”•–—˜™�›���� ¡¢£₪¥¦§¨©×«¬®¯°±²³´µ¶·¸¹÷»¼½¾¿ְֱֲֳִֵֶַָֹֺֻּֽ־ֿ׀ׁׂ׃װױײ׳״�������אבגדהוזחטיךכלםמןנסעףפץצקרשת��', + ['windows-1250'] = '€�‚�„…†‡�‰Š‹ŚŤŽŹ�‘’“”•–—�™š›śťžź ˇ˘Ł¤Ą¦§¨©Ş«¬®Ż°±˛ł´µ¶·¸ąş»Ľ˝ľżŔÁÂĂÄĹĆÇČÉĘËĚÍÎĎĐŃŇÓÔŐÖ×ŘŮÚŰÜÝŢßŕáâăäĺćçčéęëěíîďđńňóôőö÷řůúűüýţ˙', + ['koi8-u'] = '─│┌┐└┘├┤┬┴┼▀▄█▌▐░▒▓⌠■∙√≈≤≥ ⌡°²·÷═║╒ёє╔ії╗╘╙╚╛ґў╞╟╠╡ЁЄ╣ІЇ╦╧╨╩╪ҐЎ©юабцдефгхийклмнопярстужвьызшэщчъЮАБЦДЕФГХИЙКЛМНОПЯРСТУЖВЬЫЗШЭЩЧЪ', + ['iso-8859-10'] = '�������������������������������� ĄĒĢĪĨĶ§ĻĐŠŦŽŪŊ°ąēģīĩķ·ļđšŧž―ūŋĀÁÂÃÄÅÆĮČÉĘËĖÍÎÏÐŅŌÓÔÕÖŨØŲÚÛÜÝÞßāáâãäåæįčéęëėíîïðņōóôõöũøųúûüýþĸ', + ['windows-1257'] = '€�‚�„…†‡�‰�‹�¨ˇ¸�‘’“”•–—�™�›�¯˛� �¢£¤�¦§Ø©Ŗ«¬®Æ°±²³´µ¶·ø¹ŗ»¼½¾æĄĮĀĆÄÅĘĒČÉŹĖĢĶĪĻŠŃŅÓŌÕÖ×ŲŁŚŪÜŻŽßąįāćäåęēčéźėģķīļšńņóōõö÷ųłśūüżž˙', + ['windows-1253'] = '€�‚ƒ„…†‡�‰�‹�����‘’“”•–—�™�›���� ΅Ά£¤¥¦§¨©�«¬®―°±²³΄µ¶·ΈΉΊ»Ό½ΎΏΐΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡ�ΣΤΥΦΧΨΩΪΫάέήίΰαβγδεζηθικλμνξοπρςστυφχψωϊϋόύώ', + ['iso-8859-2'] = '�������������������������������� Ą˘Ł¤ĽŚ§¨ŠŞŤŹŽŻ°ą˛ł´ľśˇ¸šşťź˝žżŔÁÂĂÄĹĆÇČÉĘËĚÍÎĎĐŃŇÓÔŐÖ×ŘŮÚŰÜÝŢßŕáâăäĺćçčéęëěíîďđńňóôőö÷řůúűüýţ˙', + ['windows-874'] = '€����…�����������‘’“”•–—�������� กขฃคฅฆงจฉชซฌญฎฏฐฑฒณดตถทธนบปผฝพฟภมยรฤลฦวศษสหฬอฮฯะัาำิีึืฺุู����฿เแโใไๅๆ็่้๊๋์ํ๎๏๐๑๒๓๔๕๖๗๘๙๚๛', + ['iso-8859-16'] = '�������������������������������� ĄąŁ€„Š§š©Ș«ŹźŻ°±ČłŽ”¶·žčș»ŒœŸżÀÁÂĂÄĆÆÇÈÉÊËÌÍÎÏĐŃÒÓÔŐÖŚŰÙÚÛÜĘȚßàáâăäćæçèéêëìíîïđńòóôőöśűùúûüęțÿ', +} + + +local utfchar = utf8.char + +--- Try to find an encoding in HTML string +---@param str string HTML document +---@param len number count of characters from the start of the string where it should search for the encoding metadata +---@return string encoding identifier, or nil and message if no encoding was found +local function find_html_encoding(str, len) + -- try to find encoding in the html document + -- we limit search length, because encoding should be in the document head, ideally near the start + local len = len or 4096 + local sub = str:sub(1, len) + for meta in sub:gmatch("<meta (.-)>") do + local charset = meta:match("charset%s*=%s*[\"']?(.-)[\"']") + if charset then return string.lower(charset) end + end + return nil, "Cannot find the document encoding" +end + +local function load_mapping(enc_name) + local enc_name = enc_name or "" + local enc = encodings[enc_name] + if not enc then return nil, "Cannot load encoding " .. enc_name end + local mapping,i = {}, 128 + for pos, codepoint in utf8.codes(enc) do + mapping[i] = utfchar(codepoint) + i = i + 1 + end + return mapping +end + +--- Convert string to utf-8 +---@param text string for converting +---@param mapping table +---@return string converted string +local function recode(text, mapping) + return text:gsub("(.)", function(char) + local charpoint = string.byte(char) + if charpoint > 127 then + return mapping[charpoint] + else + return false + end + end) +end + + +return { + encodings = encodings, + find_html_encoding = find_html_encoding, + load_mapping = load_mapping, + recode = recode +} + diff --git a/Master/texmf-dist/tex/luatex/luaxml/luaxml-mod-html.lua b/Master/texmf-dist/tex/luatex/luaxml/luaxml-mod-html.lua index 69e32b16e22..d8c2b7e9327 100644 --- a/Master/texmf-dist/tex/luatex/luaxml/luaxml-mod-html.lua +++ b/Master/texmf-dist/tex/luatex/luaxml/luaxml-mod-html.lua @@ -1,3 +1,6 @@ +--- HTML parsing module for LuaXML +-- @module luaxml-mod-html +-- @author Michal Hoftich <michal.h21@gmail.com -- Copyright Michal Hoftich, 2022 -- HTML parser inspired by https://browser.engineering/html.html -- but then redone using https://html.spec.whatwg.org/multipage/parsing.html @@ -1540,9 +1543,14 @@ local function is_formatting_element(name) return formatting_element_names[name] end -local special_elements = {} +local function hash_from_array(tbl) + local t = {} + for _, v in ipairs(tbl) do t[v] = true end + return t +end + -local special_elements_list = {"address", "applet", "area", "article", "aside", +local special_elements_list = hash_from_array {"address", "applet", "area", "article", "aside", "base", "basefont", "bgsound", "blockquote", "body", "br", "button", "caption", "center", "col", "colgroup", "dd", "details", "dir", "div", "dl", "dt", "embed", "fieldset", "figcaption", "figure", "footer", "form", "frame", @@ -1555,13 +1563,9 @@ local special_elements_list = {"address", "applet", "area", "article", "aside", "mi","mo","mn","ms","mtext", "annotation-xml","foreignObject","desc", "title" } -for k,v in ipairs(special_elements_list) do - special_elements[v] = true -end - local function is_special(name) - return special_elements[name] + return special_elements_list[name] end -- these lists are used in HtmlParser:generate_implied_endtags() @@ -1649,8 +1653,12 @@ local HtmlTreeStates = {} +--- @type HtmlParser local HtmlParser = {} +--- Initialize the HTML Object +---@param body string HTML to be parsed +---@return table initialized object function HtmlParser:init(body) local o ={} setmetatable(o, self) @@ -1686,10 +1694,11 @@ for _,v in ipairs(self_closing_tags_list) do self_closing_tags[v] = true end - +--- Execute the HTML parser +--- @return table Root node of the HTML DOM function HtmlParser:parse() -- we assume utf8 input, you must convert it yourself if the source is - -- in a different encoding + -- in a different encoding. for example using luaxml-encodings library self.text = {} self.state = self.default_state -- this should enable us to pass over some characters that we want to ignore @@ -1791,6 +1800,7 @@ function HtmlParser:emit(token) elseif token_type == "start_tag" then self:add_text() -- self:start_attribute() + self:reset_insertion_mode() self:start_tag() -- print("Emit start tag", table.concat(token.name)) -- save last attribute @@ -1882,8 +1892,139 @@ function HtmlParser:set_xmlns(node, parent) end end +function HtmlParser:pop_element() + -- close the current element and add it to the DOM + local el = self:close_element() + local parent = self:get_parent() + parent:add_child(el) + return el +end + +local close_p_at_start = hash_from_array {"address", "article", "aside", "blockquote", "center", "details", "dialog", "dir", "div", "dl", "fieldset", "figcaption", "figure", "footer", "header", "hgroup", "main", "menu", "nav", "ol", "p", "search", "section", "summary", "ul", "pre", "listing", "form", "table", "xmp", "hr"} + +local close_headers = hash_from_array {"h1", "h2", "h3", "h4", "h5", "h6"} + +local body_modes = hash_from_array {"in_body", "in_cell", "in_row", "in_select", "in_table", "in_table_body", "in_frameset"} + +local list_items = hash_from_array {"li", "dt", "dd"} + +local close_address_at_end = hash_from_array{"address", "article", "aside", "blockquote", "button", "center", "details", "dialog", "dir", "div", "dl", "fieldset", "figcaption", "figure", "footer", "header", "hgroup", "listing", "main", "menu", "nav", "ol", "pre", "search", "section", "summary", "ul", "form"} + + +function HtmlParser:close_unfinished(name) + -- close all unfinished elements until the element with the given name is found + for i = #self.unfinished, 1, -1 do + local el = self:pop_element() + if el.tag == name then + break + end + end +end + + +function HtmlParser:close_paragraph() + -- close currently open <p> elements + self:close_unfinished("p") +end + +function HtmlParser:current_element_name() + -- return name of the current element + return self:get_parent().tag +end + +local not_specials = hash_from_array { "address", "div", "p"} + +local function handle_list_item(self, name) + -- we handle li, dt and dd. dt and dd should close each other, li closes only itself + local names = {dt = true, dd = true} + if name == "li" then names = {li=true} end + for i = #self.unfinished, 1, -1 do + local current = self.unfinished[i] + local current_tag = current.tag + if names[current_tag] then + self:generate_implied_endtags(nil, {current.tag}) + for j = #self.unfinished, i, -1 do + self:pop_element() + end + break + elseif is_special(current_tag) and not not_specials[name] then + break + end + end +end + +local close_paragraph = function(self) + if is_in_button_scope(self, "p") then + self:close_paragraph() + end +end + +function HtmlParser:handle_insertion_mode(token) + -- simple handling of https://html.spec.whatwg.org/multipage/parsing.html#tree-construction + -- we don't support most rules, just the most important for avoiding mismatched tags + + if body_modes[self.insertion_mode] then + if token.type == "start_tag" then + local name = table.concat(token.name) + if close_p_at_start[name] then close_paragraph(self) end + if close_headers[name] then + close_paragraph(self) + -- close current element if it is already header + if close_headers[self:current_element_name()] then + self:pop_element() + end + elseif name == "pre" or name == "listing" then + -- we should ignore next "\n" char token + elseif name == "image" then + -- image tag is an error, change to <img> + token.name = {"img"} + elseif list_items[name] then + handle_list_item(self, name) + close_paragraph(self) + end + elseif token.type == "end_tag" then + local name = table.concat(token.name) + if close_address_at_end[name] then + if is_in_scope(self, name, {}) then + self:close_unfinished(name) + else + token.type = "ignore" + end + elseif name == "p" then + if not is_in_button_scope(self, "p") then + local parent = self:get_parent() + local node = Element:init("p", parent) + table.insert(self.unfinished, node) + end + -- use self:close_paragraph() instead of close_paragraph() because we don't need to check scope at this point + self:close_paragraph() + elseif name == "br" then + token.type = "start_tag" + elseif close_headers[name] then + local header_in_scope = false + -- detect, if there are any open h1-h6 tag and close it + for el, _ in pairs(close_headers) do + if is_in_scope(self, el, {}) then + header_in_scope = el + break + end + end + if not header_in_scope then + token.type = "ignore" + else + self:close_unfinished(header_in_scope) + end + end + end + end +end + +local rawtext_elements = hash_from_array {"style", "textarea", "xmp"} + + function HtmlParser:start_tag() local token = self.current_token + self:handle_insertion_mode(token) if token.type == "start_tag" then -- close all currently opened attributes self:start_attribute() @@ -1894,18 +2035,18 @@ function HtmlParser:start_tag() node.attr = token.attr node.self_closing = token.self_closing self:set_xmlns(node) - -- + -- in this handler we should close <p> or <li> elements without explicit closing tags if token.self_closing -- <img /> or self_closing_tags[name] -- void elements then - parent:add_child(node) + parent:add_child(node, node.tag) else -- add to the unfinished list table.insert(self.unfinished, node) end if name == "title" then self.element_state = "rcdata" - elseif name == "style" then + elseif rawtext_elements[name] then self.element_state = "rawtext" elseif name == "script" then self.element_state = "script_data" @@ -1916,11 +2057,13 @@ end function HtmlParser:end_tag() -- close current opened element local token = self.current_token + self:handle_insertion_mode(token) if token.type == "end_tag" then if #self.unfinished==0 then return nil end - local node = self:close_element() - local parent = self:get_parent() - parent:add_child(node) + -- close the current element only if the token is in the current scope + if is_in_scope(self, table.concat(token.name), {}) then + self:pop_element() + end end end @@ -1964,6 +2107,21 @@ function HtmlParser:adjusted_current_node() end +local simple_modes = { + body = "in_body", + td = "in_cell", + th = "in_cell", + tr = "in_row", + tbody = "in_table_body", + thead = "in_table_body", + tfoot = "in_table_body", + caption = "in_caption", + colgroup = "in_column_group", + table = "in_table", + template = "current_template_insertion_mode", + frameset = "in_frameset" +} + function HtmlParser:reset_insertion_mode() -- https://html.spec.whatwg.org/multipage/parsing.html#reset-the-insertion-mode-appropriately local last = false @@ -1977,16 +2135,33 @@ function HtmlParser:reset_insertion_mode() if name == "head" and last == true then self:switch_insertion("in_head") return - elseif name == "body" then - self:switch_insertion("in_body") - return elseif name == "html" then - if self.head_pointer then + if not self.head_pointer then self:switch_insertion("before_head") return else self:switch_insertion("after_head") + return + end + elseif name == "select" then + if not last then + for x = position -1, 1, -1 do + if x == 1 then break end + local ancestor = self.unfinished[x] + local ancestor_name = ancestor.tag + if ancestor_name == "template" then + break + elseif ancestor_name == "table" then + self:switch_insertion("in_select_in_table") + return + end + end end + self:switch_insertion("in_select") + return + elseif simple_modes[name] then + self:switch_insertion(simple_modes[name]) + return elseif last == true then self:switch_insertion("in_body") return @@ -2006,8 +2181,8 @@ function HtmlParser:generate_implied_endtags(included, ignored) local current = self:current_node() or {} -- keep removing elements while they are in the "included" list if included[current.tag] then - table.remove(self.unfinished) - self:generate_implied_endtags(ignored) + self:pop_element() + self:generate_implied_endtags(included, ignored) end end @@ -2023,9 +2198,7 @@ function HtmlParser:finish() self:start_tag("html") end while #self.unfinished > 0 do - local node = self:close_element() - local parent = self:get_parent() - parent:add_child(node) + self:pop_element() end -- return root element return self.Document -- self:close_element() diff --git a/Master/texmf-dist/tex/luatex/luaxml/luaxml-namedentities.lua b/Master/texmf-dist/tex/luatex/luaxml/luaxml-namedentities.lua index 0e6399ab135..5c5ff007770 100644 --- a/Master/texmf-dist/tex/luatex/luaxml/luaxml-namedentities.lua +++ b/Master/texmf-dist/tex/luatex/luaxml/luaxml-namedentities.lua @@ -1,2234 +1,2233 @@ -local utf8 = require "utf8" return { -["Subset"]="⋐", -["Chi"]="Χ", -["tprime"]="‴", -["lneq"]="⪇", -["RightUpTeeVector"]="⥜", -["cscr"]="𝒸", -["leftrightarrows"]="⇆", -["LeftRightVector"]="⥎", -["Laplacetrf"]="ℒ", -["boxHd"]="╤", -["GreaterSlantEqual"]="⩾", -["sqsub"]="⊏", -["nvdash"]="⊬", -["boxHu"]="╧", -["vcy"]="в", -["DiacriticalDoubleAcute"]="˝", -["nvHarr"]="⤄", -["lnapprox"]="⪉", -["fscr"]="𝒻", -["OverBracket"]="⎴", -["pm"]="±", -["ovbar"]="⌽", -["larrhk"]="↩", -["atilde"]="ã", -["Igrave"]="Ì", -["profsurf"]="⌓", -["Sigma"]="Σ", -["rHar"]="⥤", -["Gcedil"]="Ģ", -["sect"]="§", -["nmid"]="∤", -["escr"]="ℯ", -["delta"]="δ", -["male"]="♂", -["Integral"]="∫", -["RightUpVectorBar"]="⥔", -["alefsym"]="ℵ", -["nsqsube"]="⋢", -["Nacute"]="Ń", -["mcomma"]="⨩", -["ApplyFunction"]=utf8.char(0x2061), -["rfisht"]="⥽", -["phmmat"]="ℳ", -["rarrw"]="↝", -["backepsilon"]="϶", -["hscr"]="𝒽", -["middot"]="·", -["ldrushar"]="⥋", -["supne"]="⊋", -["Longleftrightarrow"]="⟺", -["Oacute"]="Ó", -["af"]="", +["Implies"]="⇒", +["longrightarrow"]="⟶", +["precneqq"]="⪵", +["geqslant"]="⩾", +["Product"]="∏", +["Scirc"]="Ŝ", +["lvnE"]="≨︀", +["dotminus"]="∸", +["sscr"]="𝓈", +["capdot"]="⩀", +["dlcrop"]="⌍", +["omacr"]="ō", +["sext"]="✶", +["xutri"]="△", +["xrArr"]="⟹", +["glE"]="⪒", +["NotSupersetEqual"]="⊉", +["backsim"]="∽", ["sup"]="⊃", -["lozenge"]="◊", -["scy"]="с", -["gscr"]="ℊ", -["smallsetminus"]="∖", +["realpart"]="ℜ", ["hardcy"]="ъ", -["DoubleVerticalBar"]="∥", -["Yuml"]="Ÿ", -["plusdu"]="⨥", -["NotSucceedsSlantEqual"]="⋡", -["nwnear"]="⤧", -["lfloor"]="⌊", -["rcy"]="р", -["jscr"]="𝒿", -["AMP"]="&", -["acute"]="´", -["uacute"]="ú", -["Or"]="⩔", -["rdldhar"]="⥩", -["langd"]="⦑", -["Iacute"]="Í", -["spar"]="∥", -["ucy"]="у", -["rsh"]="↱", -["Kcedil"]="Ķ", -["iscr"]="𝒾", -["lambda"]="λ", -["lbrkslu"]="⦍", -["napE"]="⩰̸", -["shcy"]="ш", -["nsupE"]="⫆̸", -["Ycirc"]="Ŷ", -["sect"]="§", -["precnapprox"]="⪹", -["iocy"]="ё", -["dzcy"]="џ", +["sqcap"]="⊓", +["brvbar"]="¦", +["LT"]="<", +["udarr"]="⇅", +["lozf"]="⧫", +["Eogon"]="Ę", +["frac18"]="⅛", +["lesssim"]="≲", +["wedbar"]="⩟", +["EmptyVerySmallSquare"]="▫", +["aring"]="å", +["lesdoto"]="⪁", +["ltquest"]="⩻", +["LeftUpTeeVector"]="⥠", +["FilledSmallSquare"]="◼", +["mho"]="℧", +["NotGreaterTilde"]="≵", +["xharr"]="⟷", +["NotSucceedsEqual"]="⪰̸", +["sqsupset"]="⊐", +["Ccedil"]="Ç", +["aacute"]="á", +["succcurlyeq"]="≽", +["gneq"]="⪈", +["forall"]="∀", +["rightharpoonup"]="⇀", +["leftarrow"]="←", +["ang"]="∠", +["mapstoup"]="↥", +["xscr"]="𝓍", +["NotTildeEqual"]="≄", +["ograve"]="ò", +["boxdl"]="┐", +["DownLeftVectorBar"]="⥖", +["nsup"]="⊅", +["shchcy"]="щ", +["demptyv"]="⦱", +["apos"]="'", +["between"]="≬", +["leftrightsquigarrow"]="↭", +["gtcc"]="⪧", +["grave"]="`", +["bigodot"]="⨀", +["oline"]="‾", +["angmsdad"]="⦫", +["NotCongruent"]="≢", +["gtquest"]="⩼", +["fltns"]="▱", +["smeparsl"]="⧤", +["Eta"]="Η", +["ltdot"]="⋖", +["rhard"]="⇁", +["rscr"]="𝓇", ["ETH"]="Ð", -["GreaterTilde"]="≳", -["coprod"]="∐", -["rpar"]=")", -["lthree"]="⋋", -["ImaginaryI"]="ⅈ", -["DoubleUpDownArrow"]="⇕", -["intercal"]="⊺", -["spadesuit"]="♠", -["boxVH"]="╬", -["smashp"]="⨳", -["nu"]="ν", -["Agrave"]="À", -["boxtimes"]="⊠", -["sext"]="✶", -["nsub"]="⊄", -["oelig"]="œ", -["GreaterEqual"]="≥", -["TRADE"]="™", -["dtrif"]="▾", -["nless"]="≮", -["mu"]="μ", -["larrsim"]="⥳", -["GreaterEqualLess"]="⋛", -["Uuml"]="Ü", -["LeftArrowBar"]="⇤", -["ntrianglerighteq"]="⋭", -["DiacriticalDot"]="˙", -["LongLeftArrow"]="⟵", -["agrave"]="à", -["lmoustache"]="⎰", -["nvDash"]="⊭", -["para"]="¶", -["nlt"]="≮", -["Eacute"]="É", -["spades"]="♠", -["lrcorner"]="⌟", -["checkmark"]="✓", -["lessdot"]="⋖", -["opar"]="⦷", -["nVDash"]="⊯", -["pertenk"]="‱", -["range"]="⦥", -["Pr"]="⪻", -["Gammad"]="Ϝ", -["ape"]="≊", -["Longleftarrow"]="⟸", -["boxV"]="║", -["rightthreetimes"]="⋌", +["iocy"]="ё", +["semi"]=";", +["nexists"]="∄", +["approxeq"]="≊", +["compfn"]="∘", +["sstarf"]="⋆", +["angrtvbd"]="⦝", ["gnap"]="⪊", -["vzigzag"]="⦚", -["Ecirc"]="Ê", -["npar"]="∦", -["notinvb"]="⋷", -["Tau"]="Τ", -["blank"]="␣", -["Kappa"]="Κ", -["rmoust"]="⎱", -["GJcy"]="Ѓ", -["ufisht"]="⥾", -["NotLeftTriangleBar"]="⧏̸", -["bigvee"]="⋁", -["lrhar"]="⇋", -["supset"]="⊃", -["uwangle"]="⦧", -["UpTeeArrow"]="↥", -["supE"]="⫆", -["imof"]="⊷", -["leg"]="⋚", -["notniva"]="∌", -["nvgt"]=">⃒", -["rthree"]="⋌", -["yfr"]="𝔶", -["uHar"]="⥣", -["nshortmid"]="∤", -["biguplus"]="⨄", -["barvee"]="⊽", -["iff"]="⇔", -["boxvH"]="╪", -["simrarr"]="⥲", -["Egrave"]="È", -["ntilde"]="ñ", -["VerticalTilde"]="≀", -["sigmaf"]="ς", -["khcy"]="х", -["planck"]="ℏ", -["NotNestedGreaterGreater"]="⪢̸", -["NonBreakingSpace"]=" ", -["OpenCurlyQuote"]="‘", -["supsim"]="⫈", -["cudarrl"]="⤸", -["theta"]="θ", -["notindot"]="⋵̸", -["Omicron"]="Ο", -["ccedil"]="ç", -["colone"]="≔", -["bscr"]="𝒷", -["Dagger"]="‡", -["comma"]=",", +["mDDot"]="∺", +["udblac"]="ű", ["Acirc"]="Â", -["plankv"]="ℏ", -["boxdr"]="┌", -["rarrap"]="⥵", -["rmoustache"]="⎱", -["LeftAngleBracket"]="⟨", -["Cacute"]="Ć", -["blk34"]="▓", -["rfloor"]="⌋", -["awconint"]="∳", -["sfrown"]="⌢", -["middot"]="·", -["ascr"]="𝒶", -["dot"]="˙", -["caron"]="ˇ", -["image"]="ℑ", -["esdot"]="≐", -["ohbar"]="⦵", -["rarrb"]="⇥", -["submult"]="⫁", -["plusb"]="⊞", -["oopf"]="𝕠", -["breve"]="˘", -["conint"]="∮", -["angrt"]="∟", -["nbump"]="≎̸", -["raquo"]="»", -["Iuml"]="Ï", -["Rcedil"]="Ŗ", -["minus"]="−", -["nsucceq"]="⪰̸", -["telrec"]="⌕", -["CHcy"]="Ч", -["nrightarrow"]="↛", -["NotRightTriangle"]="⋫", -["zfr"]="𝔷", -["succ"]="≻", -["Aacute"]="Á", -["NestedLessLess"]="≪", -["RightTeeArrow"]="↦", -["homtht"]="∻", -["Cup"]="⋓", -["lcub"]="{", -["race"]="∽̱", -["THORN"]="Þ", -["propto"]="∝", -["odblac"]="ő", -["mumap"]="⊸", -["filig"]="fi", -["ecir"]="≖", -["DoubleRightArrow"]="⇒", -["npreceq"]="⪯̸", -["female"]="♀", -["LeftFloor"]="⌊", -["gtrarr"]="⥸", -["dotsquare"]="⊡", -["map"]="↦", -["OverBrace"]="⏞", -["zopf"]="𝕫", -["rang"]="⟩", -["laquo"]="«", -["elsdot"]="⪗", -["frac56"]="⅚", -["Iuml"]="Ï", -["ocirc"]="ô", -["clubs"]="♣", -["IOcy"]="Ё", -["scnE"]="⪶", -["deg"]="°", -["simgE"]="⪠", -["nap"]="≉", -["blacktriangle"]="▴", -["edot"]="ė", -["epsiv"]="ϵ", -["napprox"]="≉", -["NotGreaterSlantEqual"]="⩾̸", -["prap"]="⪷", -["lnap"]="⪉", -["circledS"]="Ⓢ", -["lang"]="⟨", -["qprime"]="⁗", -["aelig"]="æ", -["ncongdot"]="⩭̸", -["supdsub"]="⫘", -["nltrie"]="⋬", -["xopf"]="𝕩", +["UnderParenthesis"]="⏝", +["nisd"]="⋺", +["lneq"]="⪇", +["Dagger"]="‡", +["qscr"]="𝓆", +["gneqq"]="≩", +["doteqdot"]="≑", +["DoubleVerticalBar"]="∥", +["emptyset"]="∅", +["lEg"]="⪋", +["subseteq"]="⊆", +["dwangle"]="⦦", +["dotplus"]="∔", +["NotPrecedesSlantEqual"]="⋠", +["bnot"]="⌐", ["LeftDownVector"]="⇃", -["duarr"]="⇵", -["urcorner"]="⌝", -["nvltrie"]="⊴⃒", -["Pi"]="Π", +["leg"]="⋚", +["Therefore"]="∴", +["Omega"]="Ω", +["acE"]="∾̳", +["Auml"]="Ä", +["xvee"]="⋁", ["Eacute"]="É", -["nGtv"]="≫̸", -["icirc"]="î", -["twoheadleftarrow"]="↞", +["LeftFloor"]="⌊", +["swnwar"]="⤪", +["Jukcy"]="Є", +["nless"]="≮", +["NotSquareSupersetEqual"]="⋣", +["larrfs"]="⤝", +["gcy"]="г", +["solbar"]="⌿", +["rharul"]="⥬", +["dscy"]="ѕ", +["yen"]="¥", +["ForAll"]="∀", +["DownArrow"]="↓", +["qprime"]="⁗", +["NegativeThickSpace"]="", +["part"]="∂", +["Iukcy"]="І", +["ltcc"]="⪦", +["xlArr"]="⟸", +["fcy"]="ф", +["gl"]="≷", +["rsh"]="↱", +["lrhar"]="⇋", ["divide"]="÷", -["yopf"]="𝕪", -["ntlg"]="≸", -["Darr"]="↡", +["bemptyv"]="⦰", +["rx"]="℞", +["ecy"]="э", +["ApplyFunction"]="", +["divideontimes"]="⋇", +["prod"]="∏", +["boxHU"]="╩", +["HARDcy"]="Ъ", +["mstpos"]="∾", +["llcorner"]="⌞", +["rsquor"]="’", +["NotTildeFullEqual"]="≇", +["mlcp"]="⫛", +["cemptyv"]="⦲", +["Proportional"]="∝", +["DiacriticalDoubleAcute"]="˝", +["dcy"]="д", +["Yacute"]="Ý", +["egsdot"]="⪘", ["hslash"]="ℏ", -["Coproduct"]="∐", -["profline"]="⌒", -["imagline"]="ℐ", -["chcy"]="ч", -["ccedil"]="ç", -["PrecedesEqual"]="⪯", -["jcirc"]="ĵ", -["nang"]="∠⃒", -["Icirc"]="Î", -["nbumpe"]="≏̸", -["incare"]="℅", -["tint"]="∭", -["nhArr"]="⇎", -["emsp13"]=" ", -["blacktriangleleft"]="◂", -["Star"]="⋆", -["hkswarow"]="⤦", -["NegativeThickSpace"]="", -["eDot"]="≑", -["Euml"]="Ë", -["scaron"]="š", -["RightDownVectorBar"]="⥕", -["cent"]="¢", -["jukcy"]="є", -["backsimeq"]="⋍", -["Ncy"]="Н", -["DD"]="ⅅ", -["circledast"]="⊛", -["ccirc"]="ĉ", -["rsaquo"]="›", -["YIcy"]="Ї", -["iquest"]="¿", -["NotExists"]="∄", -["iukcy"]="і", -["Tab"]=" ", -["Equilibrium"]="⇌", -["nLt"]="≪⃒", -["yen"]="¥", -["CircleDot"]="⊙", -["CircleMinus"]="⊖", -["topf"]="𝕥", -["equivDD"]="⩸", -["DoubleLeftRightArrow"]="⇔", -["ngsim"]="≵", -["upuparrows"]="⇈", -["ll"]="≪", -["cirscir"]="⧂", -["ShortLeftArrow"]="←", -["angmsdag"]="⦮", -["shortmid"]="∣", -["ngeqslant"]="⩾̸", -["subset"]="⊂", -["curvearrowleft"]="↶", -["gdot"]="ġ", -["circledcirc"]="⊚", -["Pcy"]="П", -["asymp"]="≈", -["boxUr"]="╙", -["uopf"]="𝕦", -["frac15"]="⅕", -["Iacute"]="Í", -["Utilde"]="Ũ", -["Congruent"]="≡", -["nhpar"]="⫲", -["capbrcup"]="⩉", -["ordf"]="ª", -["SOFTcy"]="Ь", -["nlArr"]="⇍", -["not"]="¬", -["ffllig"]="ffl", -["nprec"]="⊀", -["Hat"]="^", +["infin"]="∞", ["Auml"]="Ä", -["ntriangleleft"]="⋪", -["longmapsto"]="⟼", -["nvrtrie"]="⊵⃒", -["timesb"]="⊠", -["lsh"]="↰", -["Jcy"]="Й", -["gcirc"]="ĝ", -["Oacute"]="Ó", -["vartriangleright"]="⊳", -["NotRightTriangleEqual"]="⋭", -["Rightarrow"]="⇒", -["ast"]="*", -["hamilt"]="ℋ", -["Ncedil"]="Ņ", -["apE"]="⩰", -["macr"]="¯", -["cwconint"]="∲", -["Kcy"]="К", -["Ucirc"]="Û", -["hcirc"]="ĥ", -["yacy"]="я", -["uml"]="¨", -["popf"]="𝕡", -["bumpE"]="⪮", -["varnothing"]="∅", -["RightUpVector"]="↾", -["curren"]="¤", -["Scedil"]="Ş", -["FilledVerySmallSquare"]="▪", -["dollar"]="$", -["Lcy"]="Л", -["longrightarrow"]="⟶", -["LeftTee"]="⊣", -["excl"]="!", -["acirc"]="â", -["wp"]="℘", -["lcaron"]="ľ", -["NotGreaterFullEqual"]="≧̸", -["CounterClockwiseContourIntegral"]="∳", -["sup2"]="²", -["rnmid"]="⫮", -["Lcedil"]="Ļ", -["ddotseq"]="⩷", -["tbrk"]="⎴", -["mlcp"]="⫛", -["rarrhk"]="↪", -["Tilde"]="∼", -["Mcy"]="М", -["aring"]="å", -["rarrsim"]="⥴", -["nopf"]="𝕟", -["aelig"]="æ", -["order"]="ℴ", -["diamondsuit"]="♦", -["nvsim"]="∼⃒", -["lhard"]="↽", -["commat"]="@", -["qint"]="⨌", -["lsquo"]="‘", -["sqcaps"]="⊓︀", -["circlearrowleft"]="↺", -["NotElement"]="∉", -["measuredangle"]="∡", -["Atilde"]="Ã", -["CapitalDifferentialD"]="ⅅ", -["kgreen"]="ĸ", -["Cscr"]="𝒞", +["Wcirc"]="Ŵ", +["larrtl"]="↢", +["Aacute"]="Á", +["LeftTriangleEqual"]="⊴", +["NegativeMediumSpace"]="", +["TripleDot"]="⃛", +["utdot"]="⋰", +["isinv"]="∈", +["looparrowright"]="↬", +["loang"]="⟬", +["multimap"]="⊸", ["NotLessEqual"]="≰", -["trpezium"]="⏢", -["ne"]="≠", -["NotSuperset"]="⊃⃒", -["nearrow"]="↗", -["ncong"]="≇", -["doteqdot"]="≑", -["supmult"]="⫂", -["longleftrightarrow"]="⟷", -["Rarr"]="↠", -["DoubleUpArrow"]="⇑", -["Dscr"]="𝒟", -["mp"]="∓", -["jmath"]="ȷ", -["erarr"]="⥱", -["searrow"]="↘", -["Sup"]="⋑", -["lvnE"]="≨︀", -["ffilig"]="ffi", -["NotSquareSupersetEqual"]="⋣", -["bullet"]="•", -["bigstar"]="★", -["cylcty"]="⌭", -["nvle"]="≤⃒", -["TildeFullEqual"]="≅", -["lopf"]="𝕝", -["sqsupseteq"]="⊒", -["lt"]="<", -["geqslant"]="⩾", +["midcir"]="⫰", +["nge"]="≱", ["quot"]="\"", -["le"]="≤", -["square"]="□", -["sigma"]="σ", -["prE"]="⪳", -["rtrie"]="⊵", -["triangleq"]="≜", +["REG"]="®", +["div"]="÷", +["complexes"]="ℂ", +["lhblk"]="▄", +["gvnE"]="≩︀", +["leftharpoonup"]="↼", +["it"]="", +["clubsuit"]="♣", +["iff"]="⇔", +["Hacek"]="ˇ", +["CircleTimes"]="⊗", +["Cacute"]="Ć", +["rarrtl"]="↣", +["RightDownVector"]="⇂", +["rarrfs"]="⤞", +["UpArrowBar"]="⤒", +["male"]="♂", +["RightTriangle"]="⊳", +["GreaterTilde"]="≳", +["Barwed"]="⌆", +["ltlarr"]="⥶", +["Zdot"]="Ż", +["parsim"]="⫳", +["Ugrave"]="Ù", +["Dot"]="¨", +["circleddash"]="⊝", +["rsaquo"]="›", +["hyphen"]="‐", +["angrt"]="∟", +["RightTriangleEqual"]="⊵", +["Darr"]="↡", +["ulcrop"]="⌏", +["olcir"]="⦾", +["gimel"]="ℷ", +["gel"]="⋛", +["SquareSubset"]="⊏", +["Uacute"]="Ú", +["gt"]=">", +["lnap"]="⪉", +["Union"]="⋃", +["nu"]="ν", +["and"]="∧", +["ltcir"]="⩹", ["Fscr"]="ℱ", +["ee"]="ⅇ", +["laquo"]="«", +["Hfr"]="ℌ", +["prec"]="≺", +["imagline"]="ℐ", +["precnsim"]="⋨", +["zhcy"]="ж", +["mu"]="μ", +["rlarr"]="⇄", +["pound"]="£", +["origof"]="⊶", +["rfloor"]="⌋", +["lnsim"]="⋦", +["nVdash"]="⊮", +["otimes"]="⊗", +["iuml"]="ï", +["Cscr"]="𝒞", +["lsime"]="⪍", +["ngeqq"]="≧̸", +["Del"]="∇", +["Coproduct"]="∐", +["NotSubsetEqual"]="⊈", +["HilbertSpace"]="ℋ", +["frac58"]="⅝", +["cap"]="∩", +["roang"]="⟭", +["intlarhk"]="⨗", +["DownTee"]="⊤", +["thickapprox"]="≈", +["prnap"]="⪹", +["laquo"]="«", +["lesdot"]="⩿", +["inodot"]="ı", +["Hscr"]="ℋ", +["YIcy"]="Ї", +["ctdot"]="⋯", +["thetav"]="ϑ", +["DoubleUpDownArrow"]="⇕", +["succ"]="≻", +["nbumpe"]="≏̸", +["ReverseElement"]="∋", +["Oacute"]="Ó", +["equest"]="≟", +["Lt"]="≪", +["Nacute"]="Ń", ["DiacriticalTilde"]="˜", -["SucceedsSlantEqual"]="≽", -["mopf"]="𝕞", -["Ecaron"]="Ě", -["UpArrowDownArrow"]="⇅", -["ges"]="⩾", -["nsqsupe"]="⋣", -["ubrcy"]="ў", -["Gscr"]="𝒢", -["HARDcy"]="Ъ", -["jopf"]="𝕛", -["gtquest"]="⩼", -["iinfin"]="⧜", -["twixt"]="≬", +["Escr"]="ℰ", +["boxvH"]="╪", +["Ifr"]="ℑ", +["mp"]="∓", +["ell"]="ℓ", +["Iacute"]="Í", +["NotNestedGreaterGreater"]="⪢̸", +["raquo"]="»", +["Zcy"]="З", +["micro"]="µ", +["dzigrarr"]="⟿", +["rtrif"]="▸", +["Uuml"]="Ü", +["nvHarr"]="⤄", +["leqslant"]="⩽", +["tritime"]="⨻", +["nlarr"]="↚", +["NotRightTriangle"]="⋫", +["apid"]="≋", +["succeq"]="⪰", +["NotEqualTilde"]="≂̸", +["varphi"]="ϕ", +["Vert"]="‖", +["int"]="∫", +["lurdshar"]="⥊", +["lneqq"]="≨", +["Jsercy"]="Ј", +["Superset"]="⊃", +["subsetneqq"]="⫋", +["gap"]="⪆", +["ssmile"]="⌣", +["Ugrave"]="Ù", +["IOcy"]="Ё", +["ltimes"]="⋉", +["UnderBracket"]="⎵", +["subseteqq"]="⫅", +["Dscr"]="𝒟", +["dtrif"]="▾", +["raquo"]="»", +["hbar"]="ℏ", +["ge"]="≥", +["cudarrr"]="⤵", +["icy"]="и", +["plusdo"]="∔", +["bull"]="•", +["weierp"]="℘", +["mapsto"]="↦", +["Uring"]="Ů", +["supplus"]="⫀", +["Succeeds"]="≻", +["Ascr"]="𝒜", +["cdot"]="ċ", +["nwarr"]="↖", +["target"]="⌖", +["dharr"]="⇂", +["curlyvee"]="⋎", +["supE"]="⫆", +["emsp13"]=" ", ["ltrie"]="⊴", +["olarr"]="↺", +["RightTeeVector"]="⥛", +["Vvdash"]="⊪", +["larrsim"]="⥳", +["varsubsetneq"]="⊊︀", +["Not"]="⫬", +["CenterDot"]="·", +["PlusMinus"]="±", +["aring"]="å", +["Nscr"]="𝒩", +["delta"]="δ", +["npre"]="⪯̸", +["Vcy"]="В", +["NotVerticalBar"]="∤", +["scpolint"]="⨓", +["rcedil"]="ŗ", +["Lmidot"]="Ŀ", +["DScy"]="Ѕ", +["nsubseteq"]="⊈", +["ngE"]="≧̸", +["NotSquareSubsetEqual"]="⋢", +["edot"]="ė", +["Ucy"]="У", +["lessapprox"]="⪅", +["niv"]="∋", +["Kscr"]="𝒦", +["LeftVectorBar"]="⥒", +["nhpar"]="⫲", +["scedil"]="ş", +["Uacute"]="Ú", +["ntrianglelefteq"]="⋬", +["Otilde"]="Õ", +["iexcl"]="¡", +["lbrke"]="⦋", +["simdot"]="⩪", +["sigmaf"]="ς", +["Bfr"]="𝔅", +["pitchfork"]="⋔", +["ngeqslant"]="⩾̸", +["Pscr"]="𝒫", +["gsime"]="⪎", +["Ouml"]="Ö", +["rarrsim"]="⥴", +["subE"]="⫅", +["otimesas"]="⨶", +["lfloor"]="⌊", +["prop"]="∝", +["imacr"]="ī", +["blacktriangleleft"]="◂", +["Ntilde"]="Ñ", +["llarr"]="⇇", +["nsucc"]="⊁", +["PartialD"]="∂", +["Iacute"]="Í", +["gdot"]="ġ", +["Afr"]="𝔄", +["Igrave"]="Ì", ["csub"]="⫏", -["Hscr"]="ℋ", -["leftharpoondown"]="↽", +["Mscr"]="ℳ", +["Scy"]="С", +["bsime"]="⋍", +["nequiv"]="≢", +["scnap"]="⪺", +["Tab"]=" ", +["Equal"]="⩵", +["blacklozenge"]="⧫", +["nrarrc"]="⤳̸", +["divide"]="÷", ["RightUpDownVector"]="⥏", -["LongLeftRightArrow"]="⟷", -["Im"]="ℑ", -["dcaron"]="ď", +["iinfin"]="⧜", +["precnapprox"]="⪹", +["dArr"]="⇓", +["orslope"]="⩗", +["Rcy"]="Р", +["sqsub"]="⊏", +["OverBracket"]="⎴", +["sum"]="∑", +["ncedil"]="ņ", +["ltrPar"]="⦖", +["ii"]="ⅈ", +["Gcirc"]="Ĝ", +["SucceedsTilde"]="≿", +["RightFloor"]="⌋", +["osol"]="⊘", ["barwedge"]="⌅", -["nexist"]="∄", -["blacktriangledown"]="▾", -["fork"]="⋔", -["rhard"]="⇁", -["cent"]="¢", -["RightTriangle"]="⊳", -["Eta"]="Η", -["dotminus"]="∸", -["nles"]="⩽̸", -["larrtl"]="↢", -["LeftTriangleEqual"]="⊴", -["hopf"]="𝕙", -["gammad"]="ϝ", -["gsime"]="⪎", -["llhard"]="⥫", -["precapprox"]="⪷", -["profalar"]="⌮", -["lnE"]="≨", -["ddagger"]="‡", -["leq"]="≤", -["smile"]="⌣", -["robrk"]="⟧", -["Jscr"]="𝒥", -["triangleleft"]="◃", -["acd"]="∿", -["prod"]="∏", -["atilde"]="ã", -["seArr"]="⇘", -["therefore"]="∴", -["iopf"]="𝕚", -["solbar"]="⌿", -["kcedil"]="ķ", -["NotHumpEqual"]="≏̸", -["nspar"]="∦", -["frac14"]="¼", -["nsime"]="≄", -["DoubleLongLeftArrow"]="⟸", -["sccue"]="≽", -["models"]="⊧", -["SupersetEqual"]="⊇", -["iquest"]="¿", -["oline"]="‾", -["lparlt"]="⦓", -["triplus"]="⨹", -["nequiv"]="≢", -["nlE"]="≦̸", -["nldr"]="‥", -["equals"]="=", -["Agrave"]="À", -["ccaron"]="č", -["Yacute"]="Ý", -["Oslash"]="Ø", -["udarr"]="⇅", -["ang"]="∠", -["dopf"]="𝕕", -["comp"]="∁", -["caps"]="∩︀", -["bowtie"]="⋈", -["glj"]="⪤", -["ltquest"]="⩻", -["cirmid"]="⫯", -["ordm"]="º", -["esim"]="≂", -["reals"]="ℝ", -["LeftTriangle"]="⊲", -["flat"]="♭", -["eopf"]="𝕖", -["lap"]="⪅", -["not"]="¬", -["ENG"]="Ŋ", -["DiacriticalAcute"]="´", -["sharp"]="♯", -["longleftarrow"]="⟵", -["dblac"]="˝", -["UpArrow"]="↑", -["npre"]="⪯̸", -["bopf"]="𝕓", -["DScy"]="Ѕ", +["twoheadrightarrow"]="↠", +["Gscr"]="𝒢", +["acy"]="а", +["dtdot"]="⋱", +["rbrke"]="⦌", +["imath"]="ı", +["Hcirc"]="Ĥ", +["num"]="#", +["nprec"]="⊀", +["smallsetminus"]="∖", +["lesges"]="⪓", +["LeftUpVector"]="↿", +["gtdot"]="⋗", +["theta"]="θ", +["kappav"]="ϰ", +["jmath"]="ȷ", +["Lscr"]="ℒ", +["Aogon"]="Ą", +["ltrif"]="◂", +["DownArrowUpArrow"]="⇵", +["prap"]="⪷", +["Racute"]="Ŕ", +["curlyeqprec"]="⋞", ["bepsi"]="϶", -["angrtvb"]="⊾", -["ccaps"]="⩍", -["UnderParenthesis"]="⏝", -["subne"]="⊊", -["succnsim"]="⋩", -["Bumpeq"]="≎", -["xvee"]="⋁", -["colon"]=":", -["deg"]="°", -["fnof"]="ƒ", -["Uarr"]="↟", -["Zcaron"]="Ž", -["copf"]="𝕔", -["Theta"]="Θ", -["omicron"]="ο", -["ntriangleright"]="⋫", -["DoubleLongRightArrow"]="⟹", -["UnderBrace"]="⏟", -["GT"]=">", -["lEg"]="⪋", -["supplus"]="⫀", -["acute"]="´", +["blacktriangle"]="▴", +["nvap"]="≍⃒", +["Supset"]="⋑", +["angmsd"]="∡", +["boxul"]="┘", +["LessSlantEqual"]="⩽", ["GT"]=">", -["upsilon"]="υ", -["sc"]="≻", -["xrarr"]="⟶", -["eng"]="ŋ", -["it"]="", -["Ntilde"]="Ñ", -["Mu"]="Μ", -["CircleTimes"]="⊗", -["NotTildeTilde"]="≉", -["NotLessLess"]="≪̸", -["vellip"]="⋮", -["cularrp"]="⤽", -["UnderBracket"]="⎵", -["aopf"]="𝕒", -["itilde"]="ĩ", -["latail"]="⤙", -["Nu"]="Ν", -["Ascr"]="𝒜", -["complement"]="∁", -["gjcy"]="ѓ", -["radic"]="√", -["maltese"]="✠", -["glE"]="⪒", -["plusmn"]="±", -["curvearrowright"]="↷", -["gt"]=">", -["Colone"]="⩴", -["Bscr"]="ℬ", -["ic"]="", -["clubsuit"]="♣", -["djcy"]="ђ", -["Oopf"]="𝕆", -["ltrPar"]="⦖", -["ngtr"]="≯", -["eqcirc"]="≖", -["Hacek"]="ˇ", -["vdash"]="⊢", -["NotCupCap"]="≭", -["Gdot"]="Ġ", -["jsercy"]="ј", -["marker"]="▮", +["nexist"]="∄", +["ccupssm"]="⩐", +["Eacute"]="É", +["ddarr"]="⇊", +["ntlg"]="≸", +["Iscr"]="ℐ", +["Jcirc"]="Ĵ", +["Sacute"]="Ś", +["capand"]="⩄", +["gesdoto"]="⪂", +["olcross"]="⦻", +["amalg"]="⨿", +["rarrlp"]="↬", +["NotLeftTriangle"]="⋪", +["reals"]="ℝ", +["bigcup"]="⋃", +["NJcy"]="Њ", +["Odblac"]="Ő", +["hArr"]="⇔", +["RightArrowLeftArrow"]="⇄", +["SOFTcy"]="Ь", +["Lambda"]="Λ", +["RightCeiling"]="⌉", +["Vdash"]="⊩", +["elinters"]="⏧", +["lsimg"]="⪏", ["Nopf"]="ℕ", -["Wfr"]="𝔚", -["boxHD"]="╦", -["mho"]="℧", -["ulcrop"]="⌏", -["DifferentialD"]="ⅆ", -["aacute"]="á", -["lpar"]="(", +["Esim"]="⩳", +["vzigzag"]="⦚", +["acd"]="∿", +["ccedil"]="ç", +["lbarr"]="⤌", +["nmid"]="∤", +["Backslash"]="∖", +["Laplacetrf"]="ℒ", +["npr"]="⊀", +["nap"]="≉", +["nsupseteqq"]="⫆̸", +["igrave"]="ì", +["LJcy"]="Љ", +["lessgtr"]="≶", ["angle"]="∠", -["rharu"]="⇀", -["Breve"]="˘", -["Dot"]="¨", -["rect"]="▭", -["NotNestedLessLess"]="⪡̸", -["boxplus"]="⊞", -["NotSucceeds"]="⊁", -["gnapprox"]="⪊", -["DownLeftTeeVector"]="⥞", -["Xfr"]="𝔛", -["Lang"]="⟪", -["Element"]="∈", -["sung"]="♪", -["RightVectorBar"]="⥓", -["simne"]="≆", -["LeftVector"]="↼", -["Idot"]="İ", +["lAarr"]="⇚", +["notin"]="∉", +["orv"]="⩛", +["gtreqqless"]="⪌", +["CircleMinus"]="⊖", +["Diamond"]="⋄", +["map"]="↦", +["nvsim"]="∼⃒", +["pi"]="π", +["pluscir"]="⨢", +["boxVH"]="╬", ["QUOT"]="\"", -["nsmid"]="∤", -["fjlig"]="fj", -["Ufr"]="𝔘", -["cuvee"]="⋎", +["duarr"]="⇵", +["lgE"]="⪑", +["lmoust"]="⎰", +["lsquo"]="‘", +["rightrightarrows"]="⇉", +["times"]="×", +["iuml"]="ï", +["andslope"]="⩘", +["order"]="ℴ", +["Sub"]="⋐", +["capcap"]="⩋", +["nabla"]="∇", +["ntriangleleft"]="⋪", +["blk14"]="░", +["Kopf"]="𝕂", +["lArr"]="⇐", +["Qopf"]="ℚ", +["circledS"]="Ⓢ", +["omid"]="⦶", +["ord"]="⩝", +["lvertneqq"]="≨︀", +["updownarrow"]="↕", +["yacute"]="ý", +["ni"]="∋", +["hamilt"]="ℋ", +["Jopf"]="𝕁", +["CupCap"]="≍", +["lbrack"]="[", +["preccurlyeq"]="≼", +["Ropf"]="ℝ", +["lessdot"]="⋖", +["blank"]="␣", +["SucceedsEqual"]="⪰", +["triangleleft"]="◃", +["ring"]="˚", +["omega"]="ω", +["bowtie"]="⋈", +["Sqrt"]="√", +["uuml"]="ü", +["Udblac"]="Ű", +["diams"]="♦", +["Oslash"]="Ø", ["real"]="ℜ", -["luruhar"]="⥦", -["NotRightTriangleBar"]="⧐̸", -["target"]="⌖", -["lharu"]="↼", -["CloseCurlyQuote"]="’", -["rAtail"]="⤜", -["nparallel"]="∦", -["brvbar"]="¦", -["Vfr"]="𝔙", -["wedbar"]="⩟", -["REG"]="®", -["boxur"]="└", -["Rcaron"]="Ř", -["Rang"]="⟫", -["sqsubseteq"]="⊑", -["div"]="÷", -["boxul"]="┘", -["Cdot"]="Ċ", -["vsupnE"]="⫌︀", -["zeetrf"]="ℨ", -["Sfr"]="𝔖", -["roang"]="⟭", -["LessTilde"]="≲", -["equiv"]="≡", -["frac12"]="½", -["eacute"]="é", -["rrarr"]="⇉", -["nearhk"]="⤤", -["Zopf"]="ℤ", -["SucceedsTilde"]="≿", +["egrave"]="è", +["prurel"]="⊰", +["LeftUpDownVector"]="⥑", +["TildeEqual"]="≃", +["cuwed"]="⋏", +["times"]="×", ["ap"]="≈", -["lfisht"]="⥼", -["timesd"]="⨰", -["UpDownArrow"]="↕", -["xuplus"]="⨄", -["cularr"]="↶", -["iprod"]="⨼", -["AElig"]="Æ", -["rationals"]="ℚ", -["geqq"]="≧", -["Tfr"]="𝔗", -["Yopf"]="𝕐", -["rtimes"]="⋊", -["Tcaron"]="Ť", -["srarr"]="→", -["diam"]="⋄", -["mid"]="∣", -["imath"]="ı", -["PlusMinus"]="±", -["isin"]="∈", -["vprop"]="∝", -["RightArrowLeftArrow"]="⇄", -["NotSubset"]="⊂⃒", -["bigtriangledown"]="▽", -["ldsh"]="↲", -["Qfr"]="𝔔", -["nvap"]="≍⃒", -["vert"]="|", -["Xopf"]="𝕏", -["lBarr"]="⤎", -["egsdot"]="⪘", -["Tcedil"]="Ţ", -["xi"]="ξ", -["LeftUpVectorBar"]="⥘", -["circ"]="ˆ", -["ocir"]="⊚", -["gtlPar"]="⦕", -["Rfr"]="ℜ", -["RightTriangleBar"]="⧐", -["nwarhk"]="⤣", -["zhcy"]="ж", -["Iukcy"]="І", -["plusdo"]="∔", +["lowast"]="∗", +["Lopf"]="𝕃", +["bdquo"]="„", +["blacktriangledown"]="▾", +["vBarv"]="⫩", +["Longleftarrow"]="⟸", +["lesg"]="⋚︀", +["Popf"]="ℙ", +["iogon"]="į", +["vellip"]="⋮", +["Ntilde"]="Ñ", +["cwconint"]="∲", ["boxv"]="│", -["minusb"]="⊟", -["Ncaron"]="Ň", -["angmsdaa"]="⦨", -["varsubsetneqq"]="⫋︀", -["cirfnint"]="⨐", -["LongRightArrow"]="⟶", -["ddarr"]="⇊", -["piv"]="ϖ", -["fopf"]="𝕗", -["Ofr"]="𝔒", -["fflig"]="ff", -["Jukcy"]="Є", -["xhArr"]="⟺", -["ncy"]="н", -["Scaron"]="Š", -["TildeEqual"]="≃", -["subrarr"]="⥹", -["iacute"]="í", -["ogt"]="⧁", -["nvge"]="≥⃒", -["vee"]="∨", -["UnderBar"]="_", -["andslope"]="⩘", -["gopf"]="𝕘", -["Pfr"]="𝔓", -["die"]="¨", +["boxbox"]="⧉", +["langd"]="⦑", +["diam"]="⋄", +["boxHu"]="╧", +["acute"]="´", ["Uopf"]="𝕌", +["Fcy"]="Ф", +["vee"]="∨", +["eqslantless"]="⪕", +["NotLeftTriangleEqual"]="⋬", +["OverBrace"]="⏞", +["beta"]="β", +["Otilde"]="Õ", +["fjlig"]="fj", +["uacute"]="ú", +["CirclePlus"]="⊕", +["Mellintrf"]="ℳ", +["Vopf"]="𝕍", +["Gcy"]="Г", +["searhk"]="⤥", +["boxur"]="└", +["LeftTeeVector"]="⥚", +["nsubE"]="⫅̸", +["gvertneqq"]="≩︀", +["eqcirc"]="≖", +["nrightarrow"]="↛", +["DJcy"]="Ђ", +["tdot"]="⃛", +["Dcy"]="Д", +["Sopf"]="𝕊", +["range"]="⦥", +["agrave"]="à", +["gtrsim"]="≳", ["RightArrowBar"]="⇥", -["orarr"]="↻", -["Precedes"]="≺", -["oror"]="⩖", -["straightepsilon"]="ϵ", -["cong"]="≅", -["TScy"]="Ц", -["nleftarrow"]="↚", -["DZcy"]="Џ", -["horbar"]="―", +["larrlp"]="↫", +["le"]="≤", +["xi"]="ξ", +["gla"]="⪥", +["GT"]=">", +["leftarrowtail"]="↢", +["commat"]="@", +["rightarrowtail"]="↣", +["approx"]="≈", +["sdot"]="⋅", ["Topf"]="𝕋", -["Cayleys"]="ℭ", -["leqq"]="≦", -["curlyeqprec"]="⋞", -["nLeftarrow"]="⇍", -["pcy"]="п", -["realine"]="ℛ", -["nlsim"]="≴", +["Ecy"]="Э", +["eplus"]="⩱", +["cir"]="○", ["Rarrtl"]="⤖", -["CupCap"]="≍", -["vDash"]="⊨", -["shortparallel"]="∥", -["ExponentialE"]="ⅇ", -["Sopf"]="𝕊", -["iiota"]="℩", -["Nfr"]="𝔑", -["pointint"]="⨕", -["NotGreaterLess"]="≹", -["olcross"]="⦻", -["kcy"]="к", -["complexes"]="ℂ", -["varepsilon"]="ϵ", -["Fouriertrf"]="ℱ", -["rho"]="ρ", -["Lsh"]="↰", -["exponentiale"]="ⅇ", -["hookrightarrow"]="↪", -["Ropf"]="ℝ", -["lAtail"]="⤛", -["Kfr"]="𝔎", -["bsim"]="∽", -["jcy"]="й", -["frac34"]="¾", -["DotDot"]="⃜", +["Emacr"]="Ē", +["Dcaron"]="Ď", +["Sc"]="⪼", +["cent"]="¢", +["rtri"]="▹", +["cedil"]="¸", +["spades"]="♠", +["upsilon"]="υ", +["boxminus"]="⊟", +["angmsdaa"]="⦨", +["zdot"]="ż", +["Bcy"]="Б", +["Zscr"]="𝒵", +["looparrowleft"]="↫", +["Dfr"]="𝔇", +["Bumpeq"]="≎", +["nLeftarrow"]="⇍", +["equiv"]="≡", +["Ccaron"]="Č", +["UpperLeftArrow"]="↖", +["SubsetEqual"]="⊆", +["nrArr"]="⇏", +["loarr"]="⇽", +["minusdu"]="⨪", +["sup3"]="³", +["Zopf"]="ℤ", +["elsdot"]="⪗", +["NotLessLess"]="≪̸", +["eta"]="η", +["ubrcy"]="ў", +["Yscr"]="𝒴", +["subset"]="⊂", +["Cfr"]="ℭ", +["harrcir"]="⥈", +["supsetneq"]="⊋", +["LeftUpVectorBar"]="⥘", +["LT"]="<", +["DoubleLeftArrow"]="⇐", +["circledcirc"]="⊚", +["bkarow"]="⤍", +["rangd"]="⦒", +["downharpoonright"]="⇂", +["Wopf"]="𝕎", +["ast"]="*", +["planck"]="ℏ", +["gtrdot"]="⋗", +["Ffr"]="𝔉", +["rArr"]="⇒", +["VeryThinSpace"]=" ", +["Ecaron"]="Ě", +["RightVectorBar"]="⥓", +["divonx"]="⋇", +["Xopf"]="𝕏", +["nsubset"]="⊂⃒", +["Otimes"]="⨷", +["bot"]="⊥", +["nsime"]="≄", ["thorn"]="þ", -["ThickSpace"]=" ", -["SquareUnion"]="⊔", -["frac58"]="⅝", -["dfisht"]="⥿", -["MediumSpace"]=" ", -["Lfr"]="𝔏", -["Qopf"]="ℚ", +["subsetneq"]="⊊", +["nltri"]="⋪", +["Cayleys"]="ℭ", +["Efr"]="𝔈", +["Intersection"]="⋂", +["UnderBar"]="_", +["fpartint"]="⨍", +["Iuml"]="Ï", +["rsquo"]="’", +["ecir"]="≖", +["nis"]="⋼", +["fscr"]="𝒻", +["hellip"]="…", +["ogt"]="⧁", ["ntgl"]="≹", -["LessFullEqual"]="≦", -["malt"]="✠", -["mcy"]="м", -["NotGreaterEqual"]="≱", -["bottom"]="⊥", -["NotSucceedsEqual"]="⪰̸", -["lcedil"]="ļ", -["infintie"]="⧝", -["Lcaron"]="Ľ", -["NotSquareSubset"]="⊏̸", -["brvbar"]="¦", -["fallingdotseq"]="≒", -["AElig"]="Æ", -["swarhk"]="⤦", -["Ifr"]="ℑ", -["pi"]="π", -["lcy"]="л", -["copy"]="©", -["dlcorn"]="⌞", -["oacute"]="ó", -["gtreqless"]="⋛", -["neArr"]="⇗", +["frac14"]="¼", +["squf"]="▪", +["circ"]="ˆ", +["prE"]="⪳", +["ordf"]="ª", ["ZHcy"]="Ж", -["Vdashl"]="⫦", -["darr"]="↓", -["circeq"]="≗", +["NegativeVeryThinSpace"]="", +["quot"]="\"", +["excl"]="!", +["sqcaps"]="⊓︀", +["gfr"]="𝔤", +["varsigma"]="ς", +["nwarrow"]="↖", +["reg"]="®", +["longmapsto"]="⟼", +["And"]="⩓", +["cuvee"]="⋎", +["zwj"]="", +["plankv"]="ℏ", +["varepsilon"]="ϵ", +["Aopf"]="𝔸", +["UpTee"]="⊥", +["lescc"]="⪨", +["ltri"]="◃", +["iiint"]="∭", +["ccups"]="⩌", +["alefsym"]="ℵ", +["succneqq"]="⪶", +["hscr"]="𝒽", +["Or"]="⩔", ["yuml"]="ÿ", -["Jfr"]="𝔍", -["Product"]="∏", -["boxDL"]="╗", -["el"]="⪙", -["supe"]="⊇", -["frac13"]="⅓", -["Barwed"]="⌆", -["larrpl"]="⤹", -["SHCHcy"]="Щ", -["LeftUpDownVector"]="⥑", -["Diamond"]="⋄", -["DownLeftVectorBar"]="⥖", -["Cross"]="⨯", -["ncup"]="⩂", -["supnE"]="⫌", -["lne"]="⪇", -["micro"]="µ", -["lowbar"]="_", -["perp"]="⊥", -["sqcap"]="⊓", -["Gfr"]="𝔊", -["raemptyv"]="⦳", -["gesl"]="⋛︀", -["drcrop"]="⌌", -["boxUL"]="╝", -["becaus"]="∵", -["gne"]="⪈", -["scap"]="⪸", -["swarrow"]="↙", -["nesim"]="≂̸", -["DoubleDot"]="¨", -["Mopf"]="𝕄", -["apid"]="≋", -["InvisibleComma"]="", -["Backslash"]="∖", -["mnplus"]="∓", -["niv"]="∋", -["Hfr"]="ℌ", -["rarrlp"]="↬", -["Because"]="∵", -["parsl"]="⫽", -["sup1"]="¹", -["Lt"]="≪", -["par"]="∥", -["Iota"]="Ι", -["beth"]="ℶ", -["Lopf"]="𝕃", +["rcub"]="}", +["lt"]="<", +["vArr"]="⇕", +["EqualTilde"]="≂", +["vDash"]="⊨", +["RightArrow"]="→", +["dlcorn"]="⌞", +["Barv"]="⫧", +["nsc"]="⊁", +["Proportion"]="∷", +["iota"]="ι", +["gscr"]="ℊ", +["abreve"]="ă", +["ThickSpace"]=" ", +["szlig"]="ß", +["lhard"]="↽", +["emptyv"]="∅", +["Tau"]="Τ", +["sharp"]="♯", +["bNot"]="⫭", +["LongLeftRightArrow"]="⟷", +["frac23"]="⅔", +["NotEqual"]="≠", +["scE"]="⪴", +["jfr"]="𝔧", +["bscr"]="𝒷", +["uhblk"]="▀", +["frac35"]="⅗", +["TSHcy"]="Ћ", +["ntrianglerighteq"]="⋭", +["Tcedil"]="Ţ", +["NotGreaterFullEqual"]="≧̸", +["asympeq"]="≍", +["oror"]="⩖", +["ecirc"]="ê", +["ohbar"]="⦵", +["Rho"]="Ρ", +["iacute"]="í", +["ascr"]="𝒶", +["RightUpVector"]="↾", +["Ocirc"]="Ô", +["cedil"]="¸", +["sect"]="§", +["angmsdab"]="⦩", +["FilledVerySmallSquare"]="▪", +["curlywedge"]="⋏", +["lesdotor"]="⪃", +["esdot"]="≐", +["eqvparsl"]="⧥", ["Cap"]="⋒", -["Aring"]="Å", -["rarr"]="→", -["Efr"]="𝔈", -["bigcup"]="⋃", -["DownLeftRightVector"]="⥐", -["lesges"]="⪓", -["NegativeThinSpace"]="", -["DownRightTeeVector"]="⥟", -["npolint"]="⨔", -["gEl"]="⪌", -["lltri"]="◺", -["ogon"]="˛", -["LessEqualGreater"]="⋚", -["sqsupset"]="⊐", -["NotSubsetEqual"]="⊈", -["Ubrcy"]="Ў", -["ShortDownArrow"]="↓", -["ugrave"]="ù", -["Dcaron"]="Ď", -["subE"]="⫅", -["divide"]="÷", -["bigotimes"]="⨂", -["dscy"]="ѕ", -["wreath"]="≀", -["Jopf"]="𝕁", -["pre"]="⪯", -["tdot"]="⃛", -["Cfr"]="ℭ", -["Uogon"]="Ų", -["softcy"]="ь", -["isinE"]="⋹", -["Dstrok"]="Đ", -["Jsercy"]="Ј", -["capdot"]="⩀", -["realpart"]="ℜ", -["hearts"]="♥", -["Atilde"]="Ã", -["LeftArrowRightArrow"]="⇆", -["upharpoonleft"]="↿", -["Iopf"]="𝕀", -["Intersection"]="⋂", -["midcir"]="⫰", -["ocirc"]="ô", -["sdot"]="⋅", -["Dfr"]="𝔇", -["gla"]="⪥", -["DiacriticalGrave"]="`", +["dscr"]="𝒹", +["rbrace"]="}", +["nsccue"]="⋡", +["neArr"]="⇗", +["rightthreetimes"]="⋌", +["plusmn"]="±", ["Ubreve"]="Ŭ", -["int"]="∫", -["PrecedesSlantEqual"]="≼", -["Square"]="□", -["Acy"]="А", +["ifr"]="𝔦", +["Poincareplane"]="ℌ", +["leftrightarrows"]="⇆", +["scnsim"]="⋩", +["cscr"]="𝒸", +["NotHumpEqual"]="≏̸", +["capbrcup"]="⩉", +["curarr"]="↷", +["notinvb"]="⋷", +["LeftArrow"]="←", +["Gopf"]="𝔾", +["ldrushar"]="⥋", +["nscr"]="𝓃", +["Gg"]="⋙", +["ouml"]="ö", +["nsce"]="⪰̸", +["cupbrcap"]="⩈", +["nLt"]="≪⃒", +["bullet"]="•", +["nsqsupe"]="⋣", +["rect"]="▭", +["lbrace"]="{", +["Fopf"]="𝔽", +["COPY"]="©", +["epar"]="⋕", +["mscr"]="𝓂", +["odsold"]="⦼", +["cupor"]="⩅", +["not"]="¬", +["subsim"]="⫇", +["hoarr"]="⇿", +["Scedil"]="Ş", +["eacute"]="é", +["emsp"]=" ", +["uml"]="¨", +["igrave"]="ì", +["pscr"]="𝓅", +["LeftTee"]="⊣", +["Cedilla"]="¸", +["Iopf"]="𝕀", +["HumpEqual"]="≏", +["les"]="⩽", +["Rcedil"]="Ŗ", +["lsquor"]="‚", +["raemptyv"]="⦳", +["NotSucceedsSlantEqual"]="⋡", +["SuchThat"]="∋", +["vert"]="|", +["backcong"]="≌", ["Hopf"]="ℍ", -["precsim"]="≾", -["nleq"]="≰", -["urcorn"]="⌝", -["hyphen"]="‐", -["FilledSmallSquare"]="◼", -["zdot"]="ż", -["ndash"]="–", -["hbar"]="ℏ", -["Wopf"]="𝕎", -["Esim"]="⩳", -["subsetneq"]="⊊", -["boxhD"]="╥", -["searhk"]="⤥", -["late"]="⪭", +["CircleDot"]="⊙", +["Kappa"]="Κ", +["conint"]="∮", +["DZcy"]="Џ", +["prsim"]="≾", +["Copf"]="ℂ", +["curvearrowright"]="↷", +["twixt"]="≬", +["curren"]="¤", +["rtriltri"]="⧎", +["jscr"]="𝒿", +["cupcup"]="⩊", +["Lcedil"]="Ļ", +["supseteqq"]="⫆", +["bfr"]="𝔟", +["lesseqqgtr"]="⪋", +["leftleftarrows"]="⇇", +["Bopf"]="𝔹", +["acute"]="´", ["blacktriangleright"]="▸", -["auml"]="ä", -["NotLessTilde"]="≴", -["Bfr"]="𝔅", -["grave"]="`", -["ltlarr"]="⥶", -["Aogon"]="Ą", -["sdote"]="⩦", -["gtrsim"]="≳", -["nvinfin"]="⧞", -["lgE"]="⪑", -["mdash"]="—", -["Vopf"]="𝕍", -["leftrightarrow"]="↔", -["RBarr"]="⤐", -["amalg"]="⨿", -["preccurlyeq"]="≼", -["EqualTilde"]="≂", -["scpolint"]="⨓", -["NotHumpDownHump"]="≎̸", -["uparrow"]="↑", -["downarrow"]="↓", -["boxdL"]="╕", -["Hstrok"]="Ħ", -["Ccaron"]="Č", -["succsim"]="≿", -["RightFloor"]="⌋", -["DownBreve"]="̑", -["succapprox"]="⪸", -["dsol"]="⧶", -["napid"]="≋̸", -["nprcue"]="⋠", +["frac34"]="¾", +["Gbreve"]="Ğ", +["Updownarrow"]="⇕", +["iscr"]="𝒾", +["sigmav"]="ς", +["trade"]="™", +["minusb"]="⊟", +["GJcy"]="Ѓ", +["TildeFullEqual"]="≅", +["DoubleRightTee"]="⊨", +["nang"]="∠⃒", +["ddotseq"]="⩷", +["copy"]="©", ["Eopf"]="𝔼", -["ell"]="ℓ", -["cupdot"]="⊍", -["Not"]="⫬", -["zigrarr"]="⇝", -["downharpoonright"]="⇂", -["nisd"]="⋺", -["lotimes"]="⨴", -["plusmn"]="±", -["ngE"]="≧̸", -["odash"]="⊝", -["emptyset"]="∅", +["Psi"]="Ψ", +["UpperRightArrow"]="↗", +["geqq"]="≧", +["subedot"]="⫃", +["nvlArr"]="⤂", +["Ncedil"]="Ņ", +["vsupne"]="⊋︀", +["supset"]="⊃", ["squarf"]="▪", -["NotGreaterTilde"]="≵", -["NotTildeFullEqual"]="≇", -["DownArrowUpArrow"]="⇵", -["nwarrow"]="↖", -["looparrowright"]="↬", +["LeftDoubleBracket"]="⟦", +["utrif"]="▴", ["Dopf"]="𝔻", -["oplus"]="⊕", -["UpEquilibrium"]="⥮", -["leftthreetimes"]="⋋", -["DoubleLeftTee"]="⫤", -["nabla"]="∇", -["RuleDelayed"]="⧴", -["euml"]="ë", -["varsupsetneqq"]="⫌︀", -["upsi"]="υ", -["supsup"]="⫖", -["bsol"]="\\", -["Copf"]="ℂ", -["DDotrahd"]="⤑", -["Upsilon"]="Υ", -["UpperRightArrow"]="↗", -["nedot"]="≐̸", -["NotEqual"]="≠", -["bumpeq"]="≏", -["emsp14"]=" ", -["frac38"]="⅜", -["DownTeeArrow"]="↧", -["Bopf"]="𝔹", -["capand"]="⩄", -["nleqq"]="≦̸", -["ratio"]="∶", -["eplus"]="⩱", -["nge"]="≱", -["laquo"]="«", -["urtri"]="◹", -["LeftUpVector"]="↿", -["gl"]="≷", -["Gt"]="≫", -["andd"]="⩜", +["ape"]="≊", +["gEl"]="⪌", +["COPY"]="©", +["afr"]="𝔞", +["Acy"]="А", +["ldquor"]="„", +["because"]="∵", +["Pr"]="⪻", +["OverBar"]="‾", +["lang"]="⟨", +["mopf"]="𝕞", +["crarr"]="↵", +["Epsilon"]="Ε", +["Nfr"]="𝔑", +["kjcy"]="ќ", +["TildeTilde"]="≈", +["bsim"]="∽", +["lcy"]="л", +["larrb"]="⇤", +["ncong"]="≇", +["ENG"]="Ŋ", +["brvbar"]="¦", +["Rightarrow"]="⇒", +["nopf"]="𝕟", +["Wfr"]="𝔚", +["ljcy"]="љ", +["diamondsuit"]="♦", +["latail"]="⤙", +["lambda"]="λ", +["frac14"]="¼", +["mcy"]="м", +["nparsl"]="⫽⃥", +["lBarr"]="⤎", +["subdot"]="⪽", +["frac12"]="½", +["kopf"]="𝕜", +["LeftCeiling"]="⌈", +["erarr"]="⥱", +["pre"]="⪯", +["varr"]="↕", +["Pi"]="Π", +["sub"]="⊂", +["ncy"]="н", +["marker"]="▮", +["rpargt"]="⦔", +["supe"]="⊇", +["veebar"]="⊻", +["checkmark"]="✓", +["nbsp"]=" ", +["sqsupseteq"]="⊒", +["upharpoonright"]="↾", +["lopf"]="𝕝", +["Omicron"]="Ο", +["ccaps"]="⩍", +["lrhard"]="⥭", ["Lstrok"]="Ł", -["gamma"]="γ", -["Sc"]="⪼", -["Aopf"]="𝔸", -["pluscir"]="⨢", -["Itilde"]="Ĩ", -["DoubleRightTee"]="⊨", -["pluse"]="⩲", -["iiint"]="∭", -["dotplus"]="∔", -["vrtri"]="⊳", -["Proportion"]="∷", -["bne"]="=⃥", -["cuepr"]="⋞", +["Mfr"]="𝔐", +["njcy"]="њ", +["ocy"]="о", +["Zcaron"]="Ž", +["NotSucceeds"]="⊁", +["rarrbfs"]="⤠", +["gtrapprox"]="⪆", +["oS"]="Ⓢ", +["diamond"]="⋄", +["gesdot"]="⪀", +["urcorner"]="⌝", +["lotimes"]="⨴", +["pertenk"]="‱", +["rfisht"]="⥽", +["Zfr"]="ℨ", +["Map"]="⤅", +["cross"]="✗", +["DifferentialD"]="ⅆ", +["boxtimes"]="⊠", +["horbar"]="―", +["lg"]="≶", +["orarr"]="↻", +["Vbar"]="⫫", +["ropf"]="𝕣", +["NotDoubleVerticalBar"]="∦", +["Sfr"]="𝔖", +["Iuml"]="Ï", +["leftharpoondown"]="↽", +["atilde"]="ã", +["VerticalTilde"]="≀", +["DoubleContourIntegral"]="∯", +["longleftarrow"]="⟵", +["Im"]="ℑ", +["RightUpVectorBar"]="⥔", +["nGg"]="⋙̸", +["scap"]="⪸", +["nrarr"]="↛", +["ycy"]="ы", +["ucirc"]="û", +["qopf"]="𝕢", +["oopf"]="𝕠", +["yacute"]="ý", +["Xfr"]="𝔛", +["fork"]="⋔", +["in"]="∈", +["xcap"]="⋂", +["check"]="✓", +["jcy"]="й", +["Phi"]="Φ", +["doteq"]="≐", ["vBar"]="⫨", -["yucy"]="ю", -["PrecedesTilde"]="≾", -["varr"]="↕", -["leftarrowtail"]="↢", -["rangle"]="⟩", -["subsub"]="⫕", -["rightarrowtail"]="↣", -["oslash"]="ø", -["mapstodown"]="↧", -["sqsube"]="⊑", -["NewLine"]="\n", -["Vdash"]="⊩", -["num"]="#", -["umacr"]="ū", -["InvisibleTimes"]="", -["bemptyv"]="⦰", +["frown"]="⌢", ["Iogon"]="Į", -["ssmile"]="⌣", -["timesbar"]="⨱", -["Tstrok"]="Ŧ", -["Icy"]="И", -["zacute"]="ź", -["Cedilla"]="¸", -["daleth"]="ℸ", -["semi"]=";", -["ssetmn"]="∖", -["subdot"]="⪽", -["Bernoullis"]="ℬ", -["otimesas"]="⨶", -["circleddash"]="⊝", -["circlearrowright"]="↻", -["NotLeftTriangleEqual"]="⋬", -["NotTilde"]="≁", -["npart"]="∂̸", -["Gbreve"]="Ğ", -["gtrless"]="≷", -["pound"]="£", -["curlyeqsucc"]="⋟", -["blacklozenge"]="⧫", -["ldca"]="⤶", -["nsucc"]="⊁", -["top"]="⊤", -["ufr"]="𝔲", -["sscr"]="𝓈", -["eDDot"]="⩷", -["Updownarrow"]="⇕", -["loz"]="◊", -["Gcy"]="Г", -["boxdl"]="┐", +["gnsim"]="⋧", +["nsupset"]="⊃⃒", +["equals"]="=", +["angmsdac"]="⦪", +["odash"]="⊝", +["Hstrok"]="Ħ", +["homtht"]="∻", +["maltese"]="✠", +["esim"]="≂", +["realine"]="ℛ", +["straightepsilon"]="ϵ", +["utri"]="▵", +["primes"]="ℙ", +["dbkarow"]="⤏", +["NotLessTilde"]="≴", +["nvrArr"]="⤃", +["cularrp"]="⤽", +["supsup"]="⫖", +["rang"]="⟩", +["nshortmid"]="∤", +["NotCupCap"]="≭", +["gnE"]="≩", +["otilde"]="õ", +["LeftTriangle"]="⊲", +["oelig"]="œ", +["curarrm"]="⤼", +["orderof"]="ℴ", +["DoubleLongLeftArrow"]="⟸", +["OverParenthesis"]="⏜", +["amacr"]="ā", +["copysr"]="℗", +["acirc"]="â", +["LeftArrowRightArrow"]="⇆", +["filig"]="fi", +["uopf"]="𝕦", +["rlhar"]="⇌", +["dharl"]="⇃", +["rAarr"]="⇛", +["rarrw"]="↝", +["isin"]="∈", +["simg"]="⪞", +["NoBreak"]="", +["rAtail"]="⤜", +["ndash"]="–", +["IJlig"]="IJ", +["dfr"]="𝔡", +["ohm"]="Ω", +["breve"]="˘", +["ccedil"]="ç", +["topf"]="𝕥", +["nvDash"]="⊭", +["RBarr"]="⤐", +["clubs"]="♣", ["napos"]="ʼn", -["Sqrt"]="√", -["xsqcup"]="⨆", -["Implies"]="⇒", -["uring"]="ů", -["thetav"]="ϑ", -["iiiint"]="⨌", -["nLeftrightarrow"]="⇎", -["lobrk"]="⟦", -["xfr"]="𝔵", -["Abreve"]="Ă", -["micro"]="µ", -["quatint"]="⨖", -["congdot"]="⩭", -["nrtrie"]="⋭", -["Fcy"]="Ф", -["hksearow"]="⤥", -["LowerLeftArrow"]="↙", -["rdca"]="⤷", -["OverBar"]="‾", -["frac12"]="½", -["imacr"]="ī", -["boxVL"]="╣", -["sfr"]="𝔰", -["ensp"]=" ", -["dwangle"]="⦦", -["boxh"]="─", -["Eogon"]="Ę", +["ngtr"]="≯", +["Tstrok"]="Ŧ", +["lrarr"]="⇆", +["eqslantgtr"]="⪖", +["efr"]="𝔢", +["gne"]="⪈", +["csube"]="⫑", +["Xi"]="Ξ", +["sopf"]="𝕤", +["LeftVector"]="↼", +["ggg"]="⋙", +["Ubrcy"]="Ў", +["die"]="¨", +["topbot"]="⌶", +["Rfr"]="ℜ", +["ofcir"]="⦿", ["imped"]="Ƶ", -["Ecy"]="Э", -["lates"]="⪭︀", -["phi"]="φ", -["minusd"]="∸", -["planckh"]="ℎ", -["Ocirc"]="Ô", -["lE"]="≦", -["sum"]="∑", -["lrtri"]="⊿", -["ruluhar"]="⥨", -["lAarr"]="⇚", -["DownArrow"]="↓", -["zscr"]="𝓏", -["questeq"]="≟", -["ngeqq"]="≧̸", -["And"]="⩓", -["Dcy"]="Д", -["angrtvbd"]="⦝", -["rarrpl"]="⥅", -["thkap"]="≈", -["Otimes"]="⨷", -["lesssim"]="≲", -["gE"]="≧", -["ouml"]="ö", -["nsubseteq"]="⊈", -["bigcirc"]="◯", +["plusmn"]="±", +["nles"]="⩽̸", +["pcy"]="п", +["permil"]="‰", +["notinE"]="⋹̸", +["bigoplus"]="⨁", +["boxplus"]="⊞", +["doublebarwedge"]="⌆", +["ccaron"]="č", +["asymp"]="≈", +["sup1"]="¹", +["bumpeq"]="≏", +["nrtrie"]="⋭", +["larrbfs"]="⤟", +["emacr"]="ē", +["gtrless"]="≷", +["Kfr"]="𝔎", +["plus"]="+", +["risingdotseq"]="≓", +["notindot"]="⋵̸", +["Subset"]="⋐", +["CloseCurlyDoubleQuote"]="”", +["nlsim"]="≴", +["dcaron"]="ď", ["boxVR"]="╠", -["Vert"]="‖", -["naturals"]="ℕ", -["plussim"]="⨦", -["wscr"]="𝓌", -["raquo"]="»", -["bigodot"]="⨀", -["dashv"]="⊣", -["hairsp"]=" ", -["inodot"]="ı", -["vnsup"]="⊃⃒", +["lne"]="⪇", +["Pfr"]="𝔓", +["rightsquigarrow"]="↝", +["phone"]="☎", +["DiacriticalDot"]="˙", +["Congruent"]="≡", +["SquareIntersection"]="⊓", +["ordf"]="ª", +["loz"]="◊", ["cire"]="≗", -["vartriangleleft"]="⊲", -["rbrke"]="⦌", -["boxuL"]="╛", -["sce"]="⪰", -["nrtri"]="⋫", -["loarr"]="⇽", -["ShortRightArrow"]="→", -["xscr"]="𝓍", -["Bcy"]="Б", -["HumpEqual"]="≏", -["lmidot"]="ŀ", -["DownLeftVector"]="↽", -["leftharpoonup"]="↼", +["ecaron"]="ě", +["nsub"]="⊄", +["Fouriertrf"]="ℱ", +["Qfr"]="𝔔", +["dblac"]="˝", +["sc"]="≻", +["xrarr"]="⟶", +["ImaginaryI"]="ⅈ", +["angmsdag"]="⦮", +["wopf"]="𝕨", +["middot"]="·", +["gsiml"]="⪐", +["biguplus"]="⨄", +["Prime"]="″", +["bigcirc"]="◯", +["vsubnE"]="⫋︀", +["lrtri"]="⊿", +["nparallel"]="∦", ["lbbrk"]="❲", -["rarrtl"]="↣", -["SucceedsEqual"]="⪰", -["HumpDownHump"]="≎", -["Vee"]="⋁", -["Gopf"]="𝔾", -["otilde"]="õ", -["ofr"]="𝔬", -["Sub"]="⋐", -["gnE"]="≩", -["SquareSuperset"]="⊐", -["leftrightharpoons"]="⇋", -["tosa"]="⤩", -["Ucirc"]="Û", -["mscr"]="𝓂", -["Exists"]="∃", -["langle"]="⟨", -["rfr"]="𝔯", -["THORN"]="Þ", -["gtreqqless"]="⪌", -["eqvparsl"]="⧥", -["NotCongruent"]="≢", -["phiv"]="ϕ", -["lsquor"]="‚", -["prec"]="≺", -["igrave"]="ì", -["Fopf"]="𝔽", -["nwArr"]="⇖", -["nscr"]="𝓃", -["gescc"]="⪩", -["intprod"]="⨼", -["larrlp"]="↫", -["AMP"]="&", -["psi"]="ψ", -["mDDot"]="∺", -["VDash"]="⊫", -["Lleftarrow"]="⇚", -["mfr"]="𝔪", +["dotsquare"]="⊡", +["rceil"]="⌉", ["gesles"]="⪔", -["kscr"]="𝓀", -["Omega"]="Ω", -["bumpe"]="≏", -["NotDoubleVerticalBar"]="∦", -["frac18"]="⅛", -["ecolon"]="≕", -["compfn"]="∘", -["supdot"]="⪾", -["Alpha"]="Α", -["rsquor"]="’", +["roarr"]="⇾", +["simplus"]="⨤", +["lagran"]="ℒ", +["pr"]="≺", +["mnplus"]="∓", +["Iota"]="Ι", +["NestedLessLess"]="≪", +["utilde"]="ũ", +["mldr"]="…", +["bigstar"]="★", +["micro"]="µ", ["percnt"]="%", -["pfr"]="𝔭", -["frasl"]="⁄", -["lscr"]="𝓁", -["aleph"]="ℵ", -["swArr"]="⇙", -["uuml"]="ü", -["uacute"]="ú", -["scE"]="⪴", -["hellip"]="…", +["fllig"]="fl", +["euml"]="ë", +["circledR"]="®", +["lltri"]="◺", +["IEcy"]="Е", +["notniva"]="∌", +["or"]="∨", +["curvearrowleft"]="↶", +["gnapprox"]="⪊", +["NotLessSlantEqual"]="⩽̸", +["Cconint"]="∰", +["NotSucceedsTilde"]="≿̸", +["gammad"]="ϝ", +["rightharpoondown"]="⇁", +["CounterClockwiseContourIntegral"]="∳", +["supdot"]="⪾", +["upsi"]="υ", +["nvle"]="≤⃒", +["beth"]="ℶ", +["nhArr"]="⇎", +["Gamma"]="Γ", +["complement"]="∁", +["xoplus"]="⨁", +["chi"]="χ", +["backepsilon"]="϶", +["nsube"]="⊈", +["aopf"]="𝕒", +["para"]="¶", +["drbkarow"]="⤐", +["Dstrok"]="Đ", +["isinE"]="⋹", +["Ecirc"]="Ê", +["aelig"]="æ", ["ulcorner"]="⌜", -["prnap"]="⪹", -["Gg"]="⋙", -["wedge"]="∧", -["SquareSubset"]="⊏", -["qscr"]="𝓆", -["kfr"]="𝔨", -["RightTee"]="⊢", -["eqsim"]="≂", -["rbrksld"]="⦎", -["ohm"]="Ω", -["lozf"]="⧫", -["cups"]="∪︀", -["epsilon"]="ε", -["ncap"]="⩃", -["Leftarrow"]="⇐", -["ultri"]="◸", -["egrave"]="è", -["vBarv"]="⫩", -["bNot"]="⫭", -["nfr"]="𝔫", -["rsqb"]="]", -["OpenCurlyDoubleQuote"]="“", -["rsquo"]="’", -["Del"]="∇", -["smtes"]="⪬︀", -["varphi"]="ϕ", -["CirclePlus"]="⊕", -["prcue"]="≼", -["curren"]="¤", -["nltri"]="⋪", -["oscr"]="ℴ", -["Wcirc"]="Ŵ", -["prime"]="′", -["ifr"]="𝔦", -["apos"]="'", -["UpTee"]="⊥", -["lescc"]="⪨", -["NegativeMediumSpace"]="", -["DownTee"]="⊤", -["NotSquareSubsetEqual"]="⋢", -["LowerRightArrow"]="↘", -["wr"]="≀", +["Lcaron"]="Ľ", +["bopf"]="𝕓", +["midast"]="*", +["barvee"]="⊽", +["nvgt"]=">⃒", +["bnequiv"]="≡⃥", +["caron"]="ˇ", ["andand"]="⩕", -["gvnE"]="≩︀", -["lfr"]="𝔩", -["lowast"]="∗", -["gfr"]="𝔤", -["digamma"]="ϝ", -["cemptyv"]="⦲", -["ubreve"]="ŭ", -["dstrok"]="đ", +["eparsl"]="⧣", +["xhArr"]="⟺", +["Yuml"]="Ÿ", +["fallingdotseq"]="≒", +["vltri"]="⊲", +["gtrarr"]="⥸", +["nGtv"]="≫̸", +["congdot"]="⩭", +["lfisht"]="⥼", +["nrtri"]="⋫", +["prnsim"]="⋨", +["nsupE"]="⫆̸", +["Colone"]="⩴", +["SquareSuperset"]="⊐", +["boxUL"]="╝", +["Rrightarrow"]="⇛", +["nleftrightarrow"]="↮", +["Conint"]="∯", +["ffilig"]="ffi", +["nleqq"]="≦̸", +["drcrop"]="⌌", +["boxh"]="─", +["Lang"]="⟪", +["ldrdhar"]="⥧", +["rbrack"]="]", +["nvinfin"]="⧞", +["succsim"]="≿", +["boxhu"]="┴", +["tau"]="τ", +["incare"]="℅", +["flat"]="♭", +["angst"]="Å", +["Oslash"]="Ø", +["Vfr"]="𝔙", +["tscy"]="ц", +["lates"]="⪭︀", +["eopf"]="𝕖", +["Because"]="∵", +["frac25"]="⅖", +["daleth"]="ℸ", +["ic"]="", +["ensp"]=" ", +["lrm"]="", +["DoubleLeftRightArrow"]="⇔", +["kappa"]="κ", +["fopf"]="𝕗", +["cularr"]="↶", +["shy"]="", +["yen"]="¥", +["glj"]="⪤", +["dzcy"]="џ", ["expectation"]="ℰ", -["sime"]="≃", -["ltrif"]="◂", -["iacute"]="í", -["chi"]="χ", +["dash"]="‐", +["female"]="♀", +["UnderBrace"]="⏟", +["rotimes"]="⨵", +["caps"]="∩︀", +["copf"]="𝕔", +["lparlt"]="⦓", +["NotLess"]="≮", +["simrarr"]="⥲", +["dtri"]="▿", +["supne"]="⊋", +["block"]="█", +["siml"]="⪝", +["blk12"]="▒", +["natural"]="♮", +["frac34"]="¾", +["frac38"]="⅜", +["Ufr"]="𝔘", +["gg"]="≫", +["Square"]="□", +["lt"]="<", ["erDot"]="≓", -["Vcy"]="В", +["RightAngleBracket"]="⟩", +["LeftDownTeeVector"]="⥡", +["NotGreaterGreater"]="≫̸", +["uogon"]="ų", +["ocirc"]="ô", +["sung"]="♪", +["dollar"]="$", +["Scaron"]="Š", +["top"]="⊤", +["iopf"]="𝕚", +["udhar"]="⥮", +["gjcy"]="ѓ", +["ncap"]="⩃", +["circlearrowleft"]="↺", +["bernou"]="ℬ", +["angmsdaf"]="⦭", +["ldsh"]="↲", +["isins"]="⋴", +["RoundImplies"]="⥰", +["bigtriangledown"]="▽", +["LeftAngleBracket"]="⟨", +["HorizontalLine"]="─", +["Vdashl"]="⫦", +["rHar"]="⥤", +["Tcaron"]="Ť", +["LeftDownVectorBar"]="⥙", +["jopf"]="𝕛", +["LeftRightVector"]="⥎", +["LessGreater"]="≶", +["npart"]="∂̸", +["nsmid"]="∤", +["RightTriangleBar"]="⧐", +["nesim"]="≂̸", +["deg"]="°", +["LeftTeeArrow"]="↤", +["NotHumpDownHump"]="≎̸", +["tridot"]="◬", +["lceil"]="⌈", +["ExponentialE"]="ⅇ", +["tosa"]="⤩", +["gopf"]="𝕘", +["ContourIntegral"]="∮", +["late"]="⪭", +["bbrk"]="⎵", +["half"]="½", ["boxhd"]="┬", -["DoubleDownArrow"]="⇓", -["lArr"]="⇐", -["demptyv"]="⦱", -["smt"]="⪪", -["intcal"]="⊺", -["in"]="∈", -["capcup"]="⩇", -["kjcy"]="ќ", -["Ccirc"]="Ĉ", -["bnequiv"]="≡⃥", -["Emacr"]="Ē", -["siml"]="⪝", -["jfr"]="𝔧", -["gesdoto"]="⪂", -["efr"]="𝔢", -["precneqq"]="⪵", -["because"]="∵", -["Udblac"]="Ű", -["lg"]="≶", -["boxvr"]="├", -["fpartint"]="⨍", -["rbbrk"]="❳", -["LT"]="<", -["cap"]="∩", -["circledR"]="®", -["notinvc"]="⋶", -["zwj"]="", -["nle"]="≰", -["hfr"]="𝔥", -["bigsqcup"]="⨆", -["nGg"]="⋙̸", -["doublebarwedge"]="⌆", +["hopf"]="𝕙", +["Ouml"]="Ö", +["Atilde"]="Ã", +["planckh"]="ℎ", +["MinusPlus"]="∓", +["uharl"]="↿", +["aleph"]="ℵ", +["boxHD"]="╦", +["lesseqgtr"]="⋚", +["colon"]=":", +["SquareSupersetEqual"]="⊒", +["isinsv"]="⋳", +["lnapprox"]="⪉", +["PrecedesSlantEqual"]="≼", +["boxuL"]="╛", +["csup"]="⫐", +["hstrok"]="ħ", +["leftrightharpoons"]="⇋", +["boxuR"]="╘", +["DD"]="ⅅ", +["Longrightarrow"]="⟹", +["epsilon"]="ε", +["NotTildeTilde"]="≉", +["nfr"]="𝔫", +["Vscr"]="𝒱", +["Ncy"]="Н", +["boxUl"]="╜", +["searr"]="↘", +["ddagger"]="‡", +["KHcy"]="Х", +["NotSuperset"]="⊃⃒", +["Uparrow"]="⇑", +["nsqsube"]="⋢", +["Imacr"]="Ī", +["nspar"]="∦", +["supsetneqq"]="⫌", +["Sscr"]="𝒮", +["lobrk"]="⟦", +["mfr"]="𝔪", +["acirc"]="â", +["subne"]="⊊", +["Icirc"]="Î", +["Re"]="ℜ", +["nearrow"]="↗", ["YUcy"]="Ю", -["empty"]="∅", -["nacute"]="ń", -["Acirc"]="Â", -["bigtriangleup"]="△", -["hybull"]="⁃", -["Ycy"]="Ы", -["isindot"]="⋵", -["iota"]="ι", -["numero"]="№", -["cfr"]="𝔠", -["llarr"]="⇇", -["lrhard"]="⥭", -["cross"]="✗", +["eqsim"]="≂", +["UnionPlus"]="⊎", +["topcir"]="⫱", +["boxVL"]="╣", +["Xscr"]="𝒳", +["QUOT"]="\"", +["RightDownVectorBar"]="⥕", +["epsi"]="ε", +["natur"]="♮", +["leftthreetimes"]="⋋", +["hercon"]="⊹", +["lHar"]="⥢", +["Aring"]="Å", +["Kcedil"]="Ķ", +["kfr"]="𝔨", +["Oacute"]="Ó", ["zwnj"]="", +["plusdu"]="⨥", +["Kcy"]="К", +["sqcup"]="⊔", +["zscr"]="𝓏", +["Assign"]="≔", +["zopf"]="𝕫", +["lstrok"]="ł", +["zigrarr"]="⇝", +["ShortDownArrow"]="↓", +["simlE"]="⪟", +["mid"]="∣", ["zeta"]="ζ", -["precnsim"]="⋨", -["zcy"]="з", +["gE"]="≧", +["zeetrf"]="ℨ", +["qfr"]="𝔮", ["zcaron"]="ž", -["xodot"]="⨀", -["RightDownTeeVector"]="⥝", -["ljcy"]="љ", +["Yacute"]="Ý", +["hksearow"]="⤥", +["Atilde"]="Ã", +["zacute"]="ź", +["bsemi"]="⁏", +["bigtriangleup"]="△", +["yuml"]="ÿ", +["yucy"]="ю", ["yscr"]="𝓎", +["yopf"]="𝕪", ["yicy"]="ї", -["Rcy"]="Р", -["nsubset"]="⊂⃒", -["yen"]="¥", -["ycy"]="ы", -["simeq"]="≃", -["dharr"]="⇂", -["ycirc"]="ŷ", -["hArr"]="⇔", -["yacute"]="ý", -["yacute"]="ý", +["urcorn"]="⌝", +["Aacute"]="Á", +["backsimeq"]="⋍", +["ShortUpArrow"]="↑", ["xwedge"]="⋀", -["xoplus"]="⨁", -["nparsl"]="⫽⃥", -["PartialD"]="∂", -["YAcy"]="Я", -["xrArr"]="⟹", -["xotime"]="⨂", -["sstarf"]="⋆", -["yuml"]="ÿ", -["Int"]="∬", -["bsolb"]="⧅", +["Jcy"]="Й", +["nltrie"]="⋬", +["starf"]="★", +["zfr"]="𝔷", +["comma"]=",", +["xsqcup"]="⨆", +["boxVr"]="╟", +["cirscir"]="⧂", +["ucirc"]="û", +["Cross"]="⨯", +["naturals"]="ℕ", +["quaternions"]="ℍ", +["xopf"]="𝕩", +["xodot"]="⨀", ["xnis"]="⋻", -["xmap"]="⟼", -["hercon"]="⊹", -["xlArr"]="⟸", -["xharr"]="⟷", -["rbrack"]="]", +["lsaquo"]="‹", +["xlarr"]="⟵", +["Zacute"]="Ź", +["vdash"]="⊢", +["submult"]="⫁", +["Oscr"]="𝒪", ["xdtri"]="▽", -["diamond"]="⋄", +["LowerRightArrow"]="↘", ["xcup"]="⋃", -["subsup"]="⫓", -["lneqq"]="≨", -["dharl"]="⇃", -["Scy"]="С", -["wopf"]="𝕨", -["rightleftharpoons"]="⇌", -["wfr"]="𝔴", -["nsupseteqq"]="⫆̸", -["boxuR"]="╘", -["permil"]="‰", +["Ycy"]="Ы", +["timesb"]="⊠", +["Ucirc"]="Û", +["eth"]="ð", +["wscr"]="𝓌", +["ratail"]="⤚", +["wr"]="≀", +["Ograve"]="Ò", +["wp"]="℘", +["euml"]="ë", +["yfr"]="𝔶", +["rangle"]="⟩", +["hearts"]="♥", ["wedgeq"]="≙", -["eparsl"]="⧣", -["RoundImplies"]="⥰", -["afr"]="𝔞", -["vsubne"]="⊊︀", -["sup2"]="²", +["wedge"]="∧", +["gtcir"]="⩺", +["par"]="∥", +["swarr"]="↙", +["phiv"]="ϕ", +["NotElement"]="∉", +["alpha"]="α", +["SquareUnion"]="⊔", +["parsl"]="⫽", ["vscr"]="𝓋", +["rharu"]="⇀", +["vrtri"]="⊳", +["comp"]="∁", +["Agrave"]="À", +["rdca"]="⤷", +["vprop"]="∝", +["Tscr"]="𝒯", ["vopf"]="𝕧", -["lbrace"]="{", +["ldca"]="⤶", ["vnsub"]="⊂⃒", -["vltri"]="⊲", -["Uacute"]="Ú", -["vfr"]="𝔳", -["sacute"]="ś", -["njcy"]="њ", -["frac35"]="⅗", -["squf"]="▪", +["gbreve"]="ğ", +["NotSquareSubset"]="⊏̸", +["verbar"]="|", +["YAcy"]="Я", ["veeeq"]="≚", -["lsime"]="⪍", -["mapstoleft"]="↤", +["downharpoonleft"]="⇃", +["Star"]="⋆", +["xfr"]="𝔵", +["nges"]="⩾̸", +["GreaterGreater"]="⪢", +["vartriangleright"]="⊳", +["rcy"]="р", +["vartheta"]="ϑ", +["varsupsetneqq"]="⫌︀", +["dashv"]="⊣", ["varsupsetneq"]="⊋︀", -["varsubsetneq"]="⊊︀", -["Tcy"]="Т", -["cwint"]="∱", -["varsigma"]="ς", -["LessGreater"]="≶", +["Ncaron"]="Ň", +["varsubsetneqq"]="⫋︀", ["varrho"]="ϱ", -["varpropto"]="∝", -["pr"]="≺", -["backprime"]="‵", +["triangledown"]="▿", +["varpi"]="ϖ", +["sol"]="/", +["ssetmn"]="∖", +["varnothing"]="∅", ["varkappa"]="ϰ", -["Poincareplane"]="ℌ", -["roplus"]="⨮", -["Edot"]="Ė", -["copysr"]="℗", +["vangrt"]="⦜", +["Leftarrow"]="⇐", +["Qscr"]="𝒬", +["uwangle"]="⦧", +["rarrap"]="⥵", ["uuml"]="ü", -["dfr"]="𝔡", ["uuarr"]="⇈", -["uogon"]="ų", -["Uscr"]="𝒰", -["gel"]="⋛", -["olarr"]="↺", -["lsaquo"]="‹", -["omacr"]="ō", -["utdot"]="⋰", -["or"]="∨", -["Ocirc"]="Ô", -["ClockwiseContourIntegral"]="∲", -["SmallCircle"]="∘", -["gtcc"]="⪧", ["uscr"]="𝓊", +["urtri"]="◹", +["uring"]="ů", +["sect"]="§", +["quatint"]="⨖", ["urcrop"]="⌎", -["ContourIntegral"]="∮", -["szlig"]="ß", -["egs"]="⪖", -["Ucy"]="У", -["ange"]="⦤", -["upharpoonright"]="↾", -["xcap"]="⋂", +["wfr"]="𝔴", +["duhar"]="⥯", +["upuparrows"]="⇈", +["macr"]="¯", +["SmallCircle"]="∘", +["upsih"]="ϒ", +["uplus"]="⊎", +["shy"]="", +["uparrow"]="↑", ["uml"]="¨", -["nsubseteqq"]="⫅̸", +["eDot"]="≑", +["blk34"]="▓", +["umacr"]="ū", +["ultri"]="◸", +["rbbrk"]="❳", ["ulcorn"]="⌜", -["uhblk"]="▀", -["scirc"]="ŝ", -["shy"]="", -["uharl"]="↿", +["uharr"]="↾", ["ugrave"]="ù", -["lstrok"]="ł", -["Gamma"]="Γ", -["udhar"]="⥮", -["udblac"]="ű", -["ucirc"]="û", -["loang"]="⟬", -["uarr"]="↑", +["Ograve"]="Ò", +["nsupseteq"]="⊉", +["ufisht"]="⥾", +["Breve"]="˘", +["ucy"]="у", +["cylcty"]="⌭", +["ubreve"]="ŭ", +["SHcy"]="Ш", +["boxdR"]="╒", +["awint"]="⨑", +["uHar"]="⥣", ["uArr"]="⇑", -["twoheadrightarrow"]="↠", +["REG"]="®", +["twoheadleftarrow"]="↞", ["tstrok"]="ŧ", +["iprod"]="⨼", ["tshcy"]="ћ", -["tscy"]="ц", -["angsph"]="∢", -["kappa"]="κ", ["tscr"]="𝓉", -["tritime"]="⨻", -["trisb"]="⧍", +["trpezium"]="⏢", +["ycirc"]="ŷ", +["larrhk"]="↩", +["triplus"]="⨹", ["triminus"]="⨺", -["trie"]="≜", -["tridot"]="◬", -["aacute"]="á", +["Rsh"]="↱", +["becaus"]="∵", +["Acirc"]="Â", ["trianglerighteq"]="⊵", -["RightTeeVector"]="⥛", ["triangleright"]="▹", +["hkswarow"]="⤦", +["triangleq"]="≜", +["AElig"]="Æ", ["trianglelefteq"]="⊴", +["varpropto"]="∝", ["triangle"]="▵", -["NegativeVeryThinSpace"]="", -["triangledown"]="▿", -["dash"]="‐", -["trade"]="™", +["tprime"]="‴", ["topfork"]="⫚", -["Upsi"]="ϒ", -["topcir"]="⫱", -["loplus"]="⨭", -["Zdot"]="Ż", -["lbrke"]="⦋", -["angmsd"]="∡", -["dArr"]="⇓", -["topbot"]="⌶", ["toea"]="⤨", -["iexcl"]="¡", -["acirc"]="â", -["easter"]="⩮", -["CloseCurlyDoubleQuote"]="”", -["cupcup"]="⩊", -["rlhar"]="⇌", -["nsimeq"]="≄", -["Uparrow"]="⇑", -["tau"]="τ", -["npr"]="⊀", -["phone"]="☎", -["emacr"]="ē", -["SHcy"]="Ш", -["gtdot"]="⋗", -["ReverseUpEquilibrium"]="⥯", +["ac"]="∾", +["timesd"]="⨰", +["UpArrowDownArrow"]="⇅", +["timesbar"]="⨱", +["llhard"]="⥫", +["CHcy"]="Ч", +["odblac"]="ő", +["THORN"]="Þ", +["notni"]="∌", +["nbump"]="≎̸", +["eqcolon"]="≕", ["tilde"]="˜", -["angmsdac"]="⦪", -["duhar"]="⥯", -["approxeq"]="≊", -["NotSupersetEqual"]="⊉", -["thorn"]="þ", -["thksim"]="∼", -["subsim"]="⫇", -["bnot"]="⌐", +["simgE"]="⪠", +["intercal"]="⊺", +["thetasym"]="ϑ", +["xcirc"]="◯", ["thinsp"]=" ", ["thicksim"]="∼", -["gt"]=">", -["UpperLeftArrow"]="↖", -["thetasym"]="ϑ", -["simlE"]="⪟", -["bbrktbrk"]="⎶", -["Jcirc"]="Ĵ", -["cedil"]="¸", -["NotLessSlantEqual"]="⩽̸", -["rx"]="℞", -["infin"]="∞", -["curlyvee"]="⋎", -["LeftArrow"]="←", -["tfr"]="𝔱", -["blacksquare"]="▪", -["emptyv"]="∅", -["Mellintrf"]="ℳ", -["aogon"]="ą", -["succnapprox"]="⪺", -["tcy"]="т", -["ecaron"]="ě", +["LeftArrowBar"]="⇤", +["Uuml"]="Ü", +["DownTeeArrow"]="↧", +["cent"]="¢", +["hookleftarrow"]="↩", +["odiv"]="⨸", +["therefore"]="∴", +["ClockwiseContourIntegral"]="∲", +["Ofr"]="𝔒", +["auml"]="ä", +["frac12"]="½", +["nRightarrow"]="⇏", +["kcedil"]="ķ", +["DownRightVectorBar"]="⥗", +["boxDL"]="╗", ["tcedil"]="ţ", -["boxhU"]="╨", -["boxVl"]="╢", -["gacute"]="ǵ", -["tcaron"]="ť", -["boxDr"]="╓", -["bump"]="≎", -["blk12"]="▒", -["RightArrow"]="→", -["els"]="⪕", -["apacir"]="⩯", -["acy"]="а", -["omid"]="⦶", -["boxbox"]="⧉", -["iecy"]="е", -["szlig"]="ß", -["upsih"]="ϒ", -["swnwar"]="⤪", -["Icirc"]="Î", -["swarr"]="↙", -["times"]="×", -["Ograve"]="Ò", -["hoarr"]="⇿", -["NotTildeEqual"]="≄", -["IEcy"]="Е", -["iexcl"]="¡", -["bdquo"]="„", -["TildeTilde"]="≈", +["boxUr"]="╙", +["icirc"]="î", +["lmoustache"]="⎰", +["prime"]="′", +["ngeq"]="≱", ["nshortparallel"]="∦", -["subedot"]="⫃", -["supsetneq"]="⊋", -["CenterDot"]="·", -["lessapprox"]="⪅", -["LeftVectorBar"]="⥒", -["bigoplus"]="⨁", -["supseteqq"]="⫆", -["drcorn"]="⌟", -["hstrok"]="ħ", -["HorizontalLine"]="─", -["curarrm"]="⤼", -["lopar"]="⦅", +["szlig"]="ß", +["Egrave"]="È", +["sqsubset"]="⊏", +["NotRightTriangleEqual"]="⋭", +["swarrow"]="↙", +["Ucirc"]="Û", +["DownArrowBar"]="⤓", +["Lfr"]="𝔏", ["wcirc"]="ŵ", +["LessLess"]="⪡", +["Tilde"]="∼", +["empty"]="∅", +["swarhk"]="⤦", +["DownLeftVector"]="↽", +["Uscr"]="𝒰", +["khcy"]="х", +["gesl"]="⋛︀", +["supsub"]="⫔", +["malt"]="✠", +["cirmid"]="⫯", +["PrecedesTilde"]="≾", +["lharul"]="⥪", +["rightleftharpoons"]="⇌", +["Ccedil"]="Ç", +["plusb"]="⊞", +["nsupe"]="⊉", +["geq"]="≥", +["dHar"]="⥥", +["lcedil"]="ļ", +["ange"]="⦤", +["supseteq"]="⊇", +["Upsi"]="ϒ", +["mapstodown"]="↧", +["profalar"]="⌮", +["cupdot"]="⊍", +["mapstoleft"]="↤", +["xotime"]="⨂", +["tbrk"]="⎴", +["supmult"]="⫂", +["disin"]="⋲", ["suphsub"]="⫗", -["Otilde"]="Õ", -["EmptySmallSquare"]="◻", +["eg"]="⪚", ["supedot"]="⫄", -["Kopf"]="𝕂", -["boxminus"]="⊟", -["csupe"]="⫒", -["Ffr"]="𝔉", -["origof"]="⊶", -["sup3"]="³", -["boxH"]="═", -["vsubnE"]="⫋︀", -["Hcirc"]="Ĥ", -["block"]="█", +["NonBreakingSpace"]=" ", +["Euml"]="Ë", ["bsolhsub"]="⟈", -["Supset"]="⋑", -["GreaterFullEqual"]="≧", +["supdsub"]="⫘", +["sup3"]="³", +["DoubleLeftTee"]="⫤", +["angrtvb"]="⊾", +["supsim"]="⫈", +["sup2"]="²", +["sup2"]="²", +["circledast"]="⊛", +["rfr"]="𝔯", +["darr"]="↓", +["rarrhk"]="↪", +["macr"]="¯", ["sup1"]="¹", -["llcorner"]="⌞", -["sopf"]="𝕤", -["larrbfs"]="⤟", -["succneqq"]="⪶", -["part"]="∂", -["eacute"]="é", -["COPY"]="©", -["frac23"]="⅔", -["dbkarow"]="⤏", -["succeq"]="⪰", -["notni"]="∌", -["Euml"]="Ë", -["harrcir"]="⥈", -["leftrightsquigarrow"]="↭", -["xcirc"]="◯", -["caret"]="⁁", -["les"]="⩽", -["lharul"]="⥪", -["bsime"]="⋍", -["DoubleLeftArrow"]="⇐", -["ecirc"]="ê", -["subsetneqq"]="⫋", -["crarr"]="↵", -["cuwed"]="⋏", -["Ugrave"]="Ù", -["Gcirc"]="Ĝ", -["LeftTriangleBar"]="⧏", +["aacute"]="á", +["oscr"]="ℴ", +["lharu"]="↼", +["telrec"]="⌕", +["Dashv"]="⫤", +["succnsim"]="⋩", +["AElig"]="Æ", +["Vee"]="⋁", +["succnapprox"]="⪺", +["CapitalDifferentialD"]="ⅅ", ["gsim"]="≳", -["RightTriangleEqual"]="⊵", -["lacute"]="ĺ", -["Ccedil"]="Ç", -["ee"]="ⅇ", -["heartsuit"]="♥", -["coloneq"]="≔", -["subseteq"]="⊆", -["NotSucceedsTilde"]="≿̸", +["succapprox"]="⪸", +["rmoustache"]="⎱", +["DotEqual"]="≐", +["subsup"]="⫓", +["Gcedil"]="Ģ", +["questeq"]="≟", +["lthree"]="⋋", +["cong"]="≅", +["lcub"]="{", +["radic"]="√", +["subrarr"]="⥹", +["nvlt"]="<⃒", ["subplus"]="⪿", -["cupcap"]="⩆", -["Amacr"]="Ā", -["angst"]="Å", -["supsetneqq"]="⫌", -["sube"]="⊆", -["imagpart"]="ℑ", -["Lambda"]="Λ", -["Afr"]="𝔄", -["sub"]="⊂", +["bigsqcup"]="⨆", +["downarrow"]="↓", +["auml"]="ä", +["boxdL"]="╕", +["boxvr"]="├", +["lbrkslu"]="⦍", +["bigwedge"]="⋀", +["apacir"]="⩯", +["Wscr"]="𝒲", +["iecy"]="е", +["VerticalSeparator"]="❘", +["Yfr"]="𝔜", ["strns"]="¯", ["straightphi"]="ϕ", -["boxvL"]="╡", -["dagger"]="†", -["eta"]="η", -["KHcy"]="Х", -["Yfr"]="𝔜", -["lbrack"]="[", -["VerticalBar"]="∣", -["rightleftarrows"]="⇄", -["fltns"]="▱", -["verbar"]="|", -["RightAngleBracket"]="⟩", -["DownRightVector"]="⇁", -["Lacute"]="Ĺ", -["sol"]="/", -["lrm"]="", -["lesdot"]="⩿", -["nleqslant"]="⩽̸", -["capcap"]="⩋", +["kcy"]="к", +["aogon"]="ą", +["star"]="☆", +["caret"]="⁁", +["cups"]="∪︀", +["iquest"]="¿", +["spar"]="∥", +["NotExists"]="∄", +["Gt"]="≫", ["squ"]="□", -["xutri"]="△", -["TSHcy"]="Ћ", -["gap"]="⪆", -["gtrdot"]="⋗", -["scnap"]="⪺", -["bkarow"]="⤍", -["NotPrecedes"]="⊀", -["suphsol"]="⟉", +["sqsupe"]="⊒", +["subnE"]="⫋", ["sqsup"]="⊐", -["epsi"]="ε", -["sqsubset"]="⊏", -["check"]="✓", -["UpArrowBar"]="⤒", -["NotPrecedesEqual"]="⪯̸", -["csube"]="⫑", -["nsupset"]="⊃⃒", -["lesdoto"]="⪁", +["sqsubseteq"]="⊑", +["ffr"]="𝔣", +["UpTeeArrow"]="↥", +["middot"]="·", +["DoubleLongRightArrow"]="⟹", +["sqsube"]="⊑", +["sce"]="⪰", +["Sup"]="⋑", +["cacute"]="ć", +["GreaterFullEqual"]="≧", +["pfr"]="𝔭", +["Lleftarrow"]="⇚", +["heartsuit"]="♥", +["precsim"]="≾", +["nsucceq"]="⪰̸", ["sqcups"]="⊔︀", -["suplarr"]="⥻", -["nsim"]="≁", -["NotEqualTilde"]="≂̸", -["nearr"]="↗", -["SquareIntersection"]="⊓", -["intlarhk"]="⨗", -["Ecirc"]="Ê", -["vangrt"]="⦜", -["fllig"]="fl", -["Leftrightarrow"]="⇔", -["primes"]="ℙ", -["nvlArr"]="⤂", +["Igrave"]="Ì", +["iquest"]="¿", +["Pcy"]="П", +["thksim"]="∼", +["djcy"]="ђ", +["hfr"]="𝔥", +["spadesuit"]="♠", +["rbrkslu"]="⦐", +["shcy"]="ш", +["barwed"]="⌅", +["rpar"]=")", +["iiiint"]="⨌", +["solb"]="⧄", +["Integral"]="∫", +["napE"]="⩰̸", +["softcy"]="ь", +["NotRightTriangleBar"]="⧐̸", +["Mu"]="Μ", +["frasl"]="⁄", +["Icy"]="И", +["dfisht"]="⥿", ["smte"]="⪬", -["ltri"]="◃", -["Tscr"]="𝒯", +["smt"]="⪪", +["bottom"]="⊥", +["oacute"]="ó", +["ofr"]="𝔬", ["smid"]="∣", -["smeparsl"]="⧤", -["rarrc"]="⤳", -["divideontimes"]="⋇", -["eth"]="ð", -["boxvR"]="╞", -["copy"]="©", -["nges"]="⩾̸", -["fcy"]="ф", -["ShortUpArrow"]="↑", -["simplus"]="⨤", -["frac45"]="⅘", -["nexists"]="∄", -["LeftTeeArrow"]="↤", -["leftleftarrows"]="⇇", -["simg"]="⪞", -["euro"]="€", -["simdot"]="⩪", -["sim"]="∼", -["sigmav"]="ς", -["iuml"]="ï", -["updownarrow"]="↕", -["shy"]="", -["solb"]="⧄", +["ReverseUpEquilibrium"]="⥯", +["smashp"]="⨳", +["slarr"]="←", +["simne"]="≆", +["LeftRightArrow"]="↔", +["thkap"]="≈", +["nlArr"]="⇍", +["chcy"]="ч", +["not"]="¬", +["kgreen"]="ĸ", +["simeq"]="≃", +["LongRightArrow"]="⟶", +["sime"]="≃", +["sigma"]="σ", +["odot"]="⊙", +["amp"]="&", +["Longleftrightarrow"]="⟺", +["Upsilon"]="Υ", +["upharpoonleft"]="↿", +["bigotimes"]="⨂", +["parallel"]="∥", +["ffllig"]="ffl", +["shortparallel"]="∥", +["boxdr"]="┌", +["shortmid"]="∣", +["Euml"]="Ë", +["UpDownArrow"]="↕", +["lcaron"]="ľ", +["sfrown"]="⌢", +["harr"]="↔", +["dsol"]="⧶", +["Beta"]="Β", +["srarr"]="→", +["boxHd"]="╤", ["nesear"]="⤨", -["Umacr"]="Ū", -["uharr"]="↾", -["Therefore"]="∴", -["Barv"]="⫧", -["amacr"]="ā", ["setmn"]="∖", +["DoubleDot"]="¨", ["setminus"]="∖", -["Sscr"]="𝒮", +["andd"]="⩜", +["leftrightarrow"]="↔", ["seswar"]="⤩", -["ccupssm"]="⩐", -["searr"]="↘", +["eogon"]="ę", +["bne"]="=⃥", +["DownBreve"]="̑", +["nLtv"]="≪̸", +["nprcue"]="⋠", +["SucceedsSlantEqual"]="≽", +["downdownarrows"]="⇊", +["seArr"]="⇘", +["Utilde"]="Ũ", +["Gammad"]="Ϝ", +["sdote"]="⩦", +["iexcl"]="¡", +["nvdash"]="⊬", +["csupe"]="⫒", ["sdotb"]="⊡", -["icirc"]="î", -["amp"]="&", -["gcy"]="г", -["Aacute"]="Á", -["boxvh"]="┼", -["bfr"]="𝔟", -["OverParenthesis"]="⏜", -["sqsupe"]="⊒", -["amp"]="&", -["frac14"]="¼", -["ZeroWidthSpace"]="", -["Colon"]="∷", -["Proportional"]="∝", -["thickapprox"]="≈", -["subseteqq"]="⫅", -["IJlig"]="IJ", -["scedil"]="ş", -["lrarr"]="⇆", -["angmsdaf"]="⦭", -["downharpoonleft"]="⇃", +["scsim"]="≿", +["bcy"]="б", +["NotTilde"]="≁", +["minus"]="−", +["scnE"]="⪶", +["scirc"]="ŝ", +["oplus"]="⊕", +["para"]="¶", +["Ycirc"]="Ŷ", +["notinva"]="∉", +["nLl"]="⋘̸", +["Aring"]="Å", +["THORN"]="Þ", +["numero"]="№", +["scaron"]="š", +["bsol"]="\\", +["harrw"]="↭", +["exponentiale"]="ⅇ", +["eDDot"]="⩷", +["AMP"]="&", +["gamma"]="γ", +["opar"]="⦷", +["cwint"]="∱", +["GreaterEqual"]="≥", +["bigcap"]="⋂", +["rtimes"]="⋊", +["integers"]="ℤ", +["easter"]="⩮", ["RightDoubleBracket"]="⟧", -["half"]="½", -["larr"]="←", ["sbquo"]="‚", -["Vscr"]="𝒱", -["nVdash"]="⊮", -["DownRightVectorBar"]="⥗", -["RightDownVector"]="⇂", -["disin"]="⋲", -["nsce"]="⪰̸", -["rbrace"]="}", -["MinusPlus"]="∓", -["rtrif"]="▸", -["parsim"]="⫳", -["supseteq"]="⊇", -["Superset"]="⊃", -["Verbar"]="‖", +["cfr"]="𝔠", +["ruluhar"]="⥨", +["image"]="ℑ", +["nleqslant"]="⩽̸", +["Yopf"]="𝕐", +["apE"]="⩰", +["NotPrecedesEqual"]="⪯̸", +["rsqb"]="]", +["rtrie"]="⊵", +["rthree"]="⋌", +["amp"]="&", +["eng"]="ŋ", +["ll"]="≪", +["rrarr"]="⇉", +["RightTee"]="⊢", +["ETH"]="Ð", +["ReverseEquilibrium"]="⇋", +["langle"]="⟨", ["Zeta"]="Ζ", -["nsccue"]="⋡", -["bsemi"]="⁏", -["ldquor"]="„", -["curarr"]="↷", -["rscr"]="𝓇", -["rppolint"]="⨒", -["rpargt"]="⦔", -["rotimes"]="⨵", -["Equal"]="⩵", -["ropf"]="𝕣", -["ropar"]="⦆", -["roarr"]="⇾", -["odot"]="⊙", -["natural"]="♮", -["slarr"]="←", -["angmsdae"]="⦬", -["acE"]="∾̳", +["roplus"]="⨮", +["there4"]="∴", +["DownRightTeeVector"]="⥟", +["npar"]="∦", +["robrk"]="⟧", +["exist"]="∃", +["lfr"]="𝔩", +["VDash"]="⊫", +["rnmid"]="⫮", +["rmoust"]="⎱", ["rlm"]="", -["COPY"]="©", -["iogon"]="į", -["nleftrightarrow"]="↮", -["reg"]="®", -["risingdotseq"]="≓", -["rightsquigarrow"]="↝", -["dtri"]="▿", -["Larr"]="↞", -["icy"]="и", -["gimel"]="ℷ", +["Ccirc"]="Ĉ", +["imagpart"]="ℑ", +["Equilibrium"]="⇌", +["dd"]="ⅆ", +["cuepr"]="⋞", +["Agrave"]="À", +["cuesc"]="⋟", +["square"]="□", +["notnivc"]="⋽", +["rbrksld"]="⦎", ["cup"]="∪", -["DJcy"]="Ђ", -["gtrapprox"]="⪆", -["rightharpoonup"]="⇀", -["prsim"]="≾", -["rightharpoondown"]="⇁", -["frac16"]="⅙", -["nbsp"]=" ", -["cedil"]="¸", -["numsp"]=" ", +["OpenCurlyDoubleQuote"]="“", +["Lacute"]="Ĺ", +["NewLine"]="\n", +["Sigma"]="Σ", +["Abreve"]="Ă", +["rightleftarrows"]="⇄", +["tint"]="∭", +["angmsdae"]="⦬", +["Leftrightarrow"]="⇔", +["rdquor"]="”", +["Verbar"]="‖", +["Gfr"]="𝔊", ["rightarrow"]="→", ["rhov"]="ϱ", -["rdquo"]="”", -["rharul"]="⥬", -["frac34"]="¾", -["ldrdhar"]="⥧", -["gnsim"]="⋧", -["rtriltri"]="⧎", -["emsp"]=" ", -["rlarr"]="⇄", -["Oslash"]="Ø", -["LeftDownTeeVector"]="⥡", +["Alpha"]="Α", +["rho"]="ρ", +["DownLeftTeeVector"]="⥞", +["ntriangleright"]="⋫", ["reg"]="®", -["LeftTeeVector"]="⥚", -["gsiml"]="⪐", -["QUOT"]="\"", -["blk14"]="░", -["rightrightarrows"]="⇉", -["NotGreaterGreater"]="≫̸", -["Xscr"]="𝒳", -["Re"]="ℜ", -["Ouml"]="Ö", +["Int"]="∬", +["agrave"]="à", +["Ecirc"]="Ê", +["NotReverseElement"]="∌", +["backprime"]="‵", +["Jfr"]="𝔍", ["rdsh"]="↳", -["and"]="∧", -["larrb"]="⇤", -["TripleDot"]="⃛", -["bcy"]="б", -["diams"]="♦", -["veebar"]="⊻", -["rcub"]="}", -["Scirc"]="Ŝ", -["ac"]="∾", -["rceil"]="⌉", -["rcedil"]="ŗ", -["cupbrcap"]="⩈", -["rcaron"]="ř", -["cuesc"]="⋟", -["HilbertSpace"]="ℋ", -["plus"]="+", -["rbrkslu"]="⦐", -["LessLess"]="⪡", -["macr"]="¯", -["notinE"]="⋹̸", +["jsercy"]="ј", +["Bscr"]="ℬ", +["boxH"]="═", +["leq"]="≤", +["NotPrecedes"]="⊀", +["coloneq"]="≔", +["boxvh"]="┼", +["larr"]="←", +["ncup"]="⩂", +["EmptySmallSquare"]="◻", +["vartriangleleft"]="⊲", +["iacute"]="í", +["nVDash"]="⊯", +["lap"]="⪅", +["precapprox"]="⪷", +["ecolon"]="≕", +["lsqb"]="[", ["rbarr"]="⤍", -["abreve"]="ă", -["sqcup"]="⊔", -["ratail"]="⤚", -["VeryThinSpace"]=" ", -["Uarrocir"]="⥉", -["rarrfs"]="⤞", -["Odblac"]="Ő", -["Imacr"]="Ī", -["ordm"]="º", -["odsold"]="⦼", -["NJcy"]="Њ", -["Yacute"]="Ý", -["rarrbfs"]="⤠", -["prop"]="∝", -["notin"]="∉", -["vsupne"]="⊋︀", -["bigcap"]="⋂", -["Phi"]="Φ", -["Ograve"]="Ò", -["Yscr"]="𝒴", -["approx"]="≈", -["racute"]="ŕ", -["ggg"]="⋙", -["lmoust"]="⎰", +["yacy"]="я", +["efDot"]="≒", +["ratio"]="∶", +["wreath"]="≀", +["nearhk"]="⤤", +["rarrpl"]="⥅", +["nvge"]="≥⃒", +["searrow"]="↘", +["thorn"]="þ", +["rdquo"]="”", +["LessFullEqual"]="≦", +["nvrtrie"]="⊵⃒", +["nsubseteqq"]="⫅̸", +["nedot"]="≐̸", +["VerticalLine"]="|", +["lsh"]="↰", +["DownRightVector"]="⇁", +["ecirc"]="ê", +["andv"]="⩚", +["trie"]="≜", +["race"]="∽̱", ["rBarr"]="⤏", -["gneqq"]="≩", -["isinv"]="∈", -["harr"]="↔", -["rArr"]="⇒", -["rAarr"]="⇛", -["quot"]="\"", +["lbrksld"]="⦏", +["emsp14"]=" ", +["RuleDelayed"]="⧴", +["vsubne"]="⊊︀", +["ShortLeftArrow"]="←", +["gtlPar"]="⦕", ["quest"]="?", -["iuml"]="ï", -["LeftRightArrow"]="↔", -["LeftDoubleBracket"]="⟦", -["gesdot"]="⪀", -["Ntilde"]="Ñ", -["boxUR"]="╚", -["exist"]="∃", -["subnE"]="⫋", -["ograve"]="ò", -["qopf"]="𝕢", -["Zacute"]="Ź", -["qfr"]="𝔮", -["dcy"]="д", -["NotReverseElement"]="∌", -["DotEqual"]="≐", -["VerticalLine"]="|", -["pscr"]="𝓅", -["prurel"]="⊰", -["cdot"]="ċ", -["bprime"]="‵", -["ltdot"]="⋖", -["prnsim"]="⋨", -["curlywedge"]="⋏", -["prnE"]="⪵", -["REG"]="®", -["sup3"]="³", +["dot"]="˙", +["RightVector"]="⇀", +["rppolint"]="⨒", +["Hat"]="^", +["zcy"]="з", +["suplarr"]="⥻", +["boxhU"]="╨", +["puncsp"]=" ", +["GreaterLess"]="≷", +["psi"]="ψ", +["ncaron"]="ň", +["SupersetEqual"]="⊇", +["propto"]="∝", ["preceq"]="⪯", -["LeftDownVectorBar"]="⥙", -["ForAll"]="∀", +["frac56"]="⅚", +["NotLessGreater"]="≸", +["jukcy"]="є", +["swArr"]="⇙", +["profline"]="⌒", +["prnE"]="⪵", +["larrpl"]="⤹", +["af"]="", +["profsurf"]="⌓", +["Larr"]="↞", ["forkv"]="⫙", -["varpi"]="ϖ", -["nrArr"]="⇏", +["prcue"]="≼", +["RightUpTeeVector"]="⥜", ["pound"]="£", +["ugrave"]="ù", +["popf"]="𝕡", +["frac78"]="⅞", +["suphsol"]="⟉", +["loplus"]="⨭", +["pointint"]="⨕", +["cupcap"]="⩆", +["LessTilde"]="≲", +["pm"]="±", +["blacksquare"]="▪", ["plustwo"]="⨧", -["shchcy"]="щ", -["cacute"]="ć", -["Dashv"]="⫤", -["lHar"]="⥢", -["NotLeftTriangle"]="⋪", -["gbreve"]="ğ", -["boxDl"]="╖", -["Beta"]="Β", -["ReverseEquilibrium"]="⇋", +["copy"]="©", +["plussim"]="⨦", +["Lcy"]="Л", +["pluse"]="⩲", +["ropar"]="⦆", +["OpenCurlyQuote"]="‘", ["plusacir"]="⨣", -["eqslantgtr"]="⪖", -["ecy"]="э", -["pitchfork"]="⋔", -["ctdot"]="⋯", -["odiv"]="⨸", -["lesseqqgtr"]="⪋", -["GreaterLess"]="≷", -["Ocy"]="О", -["weierp"]="℘", -["Uring"]="Ů", -["period"]=".", -["nis"]="⋼", -["cudarrr"]="⤵", -["boxHU"]="╩", -["Ouml"]="Ö", -["Assign"]="≔", -["Lscr"]="ℒ", -["parallel"]="∥", -["there4"]="∴", -["cupor"]="⩅", -["nwarr"]="↖", -["para"]="¶", -["ouml"]="ö", -["otimes"]="⊗", -["drbkarow"]="⤐", -["puncsp"]=" ", -["otilde"]="õ", -["Vvdash"]="⊪", -["osol"]="⊘", +["Exists"]="∃", +["piv"]="ϖ", +["phmmat"]="ℳ", +["angzarr"]="⍼", +["vsupnE"]="⫌︀", +["phi"]="φ", +["perp"]="⊥", +["rdldhar"]="⥩", +["ccirc"]="ĉ", +["Tfr"]="𝔗", +["Tcy"]="Т", +["circeq"]="≗", +["InvisibleTimes"]="", +["OElig"]="Œ", +["trisb"]="⧍", +["Rcaron"]="Ř", +["olt"]="⧀", +["UpArrow"]="↑", +["DDotrahd"]="⤑", +["Uarrocir"]="⥉", +["lacute"]="ĺ", ["oslash"]="ø", -["dd"]="ⅆ", -["NotPrecedesSlantEqual"]="⋠", -["orv"]="⩛", -["orslope"]="⩗", -["KJcy"]="Ќ", -["larrfs"]="⤝", -["orderof"]="ℴ", -["asympeq"]="≍", -["ord"]="⩝", -["NotLess"]="≮", -["NotGreater"]="≯", -["ThinSpace"]=" ", -["ominus"]="⊖", +["Uarr"]="↟", +["bsolb"]="⧅", +["gt"]=">", +["ordm"]="º", +["Itilde"]="Ĩ", +["ordm"]="º", +["Jscr"]="𝒥", +["Rarr"]="↠", +["measuredangle"]="∡", ["DoubleLongLeftRightArrow"]="⟺", -["lesseqgtr"]="⋚", +["lmidot"]="ŀ", +["period"]=".", ["operp"]="⦹", -["quaternions"]="ℍ", -["boxdR"]="╒", -["omega"]="ω", -["Kscr"]="𝒦", -["lessgtr"]="≶", -["utilde"]="ũ", -["olt"]="⧀", -["Rho"]="Ρ", -["olcir"]="⦾", -["oint"]="∮", +["bprime"]="‵", +["numsp"]=" ", +["ominus"]="⊖", +["nldr"]="‥", ["ograve"]="ò", -["Succeeds"]="≻", -["Igrave"]="Ì", -["eogon"]="ę", -["Uacute"]="Ú", -["bbrk"]="⎵", -["ocy"]="о", -["bcong"]="≌", +["omicron"]="ο", +["nearr"]="↗", +["jcirc"]="ĵ", +["nlE"]="≦̸", +["deg"]="°", +["frac13"]="⅓", +["tcy"]="т", +["lowbar"]="_", +["vfr"]="𝔳", +["ogon"]="˛", +["sim"]="∼", +["ocirc"]="ô", +["Icirc"]="Î", +["ocir"]="⊚", +["ZeroWidthSpace"]="", ["oast"]="⊛", +["smile"]="⌣", +["bigvee"]="⋁", ["oacute"]="ó", -["cir"]="○", -["angmsdab"]="⦩", -["Iscr"]="ℐ", -["ldquo"]="“", -["RightVector"]="⇀", -["euml"]="ë", -["between"]="≬", -["oS"]="Ⓢ", -["downdownarrows"]="⇊", -["nvlt"]="<⃒", -["lurdshar"]="⥊", -["starf"]="★", -["xlarr"]="⟵", -["Aring"]="Å", -["Xi"]="Ξ", -["gtcir"]="⩺", -["Nscr"]="𝒩", -["elinters"]="⏧", -["ntrianglelefteq"]="⋬", -["Vbar"]="⫫", +["Egrave"]="È", +["nwnear"]="⤧", +["nwarhk"]="⤣", +["rationals"]="ℚ", +["DiacriticalGrave"]="`", +["npreceq"]="⪯̸", +["rarrc"]="⤳", +["Uogon"]="Ų", +["InvisibleComma"]="", +["nvltrie"]="⊴⃒", +["digamma"]="ϝ", +["cirE"]="⧃", +["AMP"]="&", +["Theta"]="Θ", +["frac15"]="⅕", +["fnof"]="ƒ", +["icirc"]="î", +["Cdot"]="Ċ", +["ngsim"]="≵", +["sube"]="⊆", +["tcaron"]="ť", ["ntilde"]="ñ", -["andv"]="⩚", -["Rsh"]="↱", -["angmsdad"]="⦫", -["nsup"]="⊅", -["nbsp"]=" ", -["SquareSupersetEqual"]="⊒", -["ETH"]="Ð", -["nsube"]="⊈", -["DoubleContourIntegral"]="∯", -["nsubE"]="⫅̸", -["angmsdah"]="⦯", -["NotLessGreater"]="≸", -["awint"]="⨑", -["rtri"]="▹", -["nsc"]="⊁", -["boxvl"]="┤", -["beta"]="β", -["LessSlantEqual"]="⩽", -["supsub"]="⫔", -["agrave"]="à", -["LeftUpTeeVector"]="⥠", -["nrarrw"]="↝̸", -["ltcc"]="⪦", -["nrarrc"]="⤳̸", -["frac78"]="⅞", -["nvrArr"]="⤃", -["igrave"]="ì", -["barwed"]="⌅", -["Mscr"]="ℳ", -["nrarr"]="↛", -["SubsetEqual"]="⊆", -["notnivc"]="⋽", -["notnivb"]="⋾", -["succcurlyeq"]="≽", -["eth"]="ð", -["notinva"]="∉", -["Otilde"]="Õ", -["star"]="☆", -["rangd"]="⦒", -["Psi"]="Ψ", -["nsupe"]="⊉", -["mapstoup"]="↥", -["LJcy"]="Љ", -["looparrowleft"]="↫", -["nlarr"]="↚", -["Ll"]="⋘", -["ordf"]="ª", -["ni"]="∋", +["ufr"]="𝔲", +["Mcy"]="М", ["Delta"]="Δ", -["NotVerticalBar"]="∤", -["backcong"]="≌", -["NoBreak"]="", +["vnsup"]="⊃⃒", +["lAtail"]="⤛", +["DoubleUpArrow"]="⇑", +["aelig"]="æ", +["lscr"]="𝓁", +["Rscr"]="ℛ", +["capcup"]="⩇", +["npolint"]="⨔", +["gesdotol"]="⪄", +["uacute"]="ú", +["bumpE"]="⪮", +["drcorn"]="⌟", +["notnivb"]="⋾", +["notinvc"]="⋶", +["ovbar"]="⌽", +["Mopf"]="𝕄", +["NotGreater"]="≯", +["boxDr"]="╓", +["lrcorner"]="⌟", +["nleq"]="≰", +["nleftarrow"]="↚", +["nle"]="≰", +["boxvl"]="┤", +["Downarrow"]="⇓", +["hcirc"]="ĥ", ["nharr"]="↮", +["tfr"]="𝔱", +["nlt"]="≮", +["gacute"]="ǵ", +["colone"]="≔", +["Rang"]="⟫", ["ngt"]="≯", -["Pscr"]="𝒫", -["laemptyv"]="⦴", -["utrif"]="▴", -["ngeq"]="≱", -["ncedil"]="ņ", -["ncaron"]="ň", -["boxhu"]="┴", -["NotSquareSuperset"]="⊐̸", -["bull"]="•", +["ntilde"]="ñ", +["vcy"]="в", +["boxvL"]="╡", +["NotLeftTriangleBar"]="⧏̸", +["NestedGreaterGreater"]="≫", +["xmap"]="⟼", +["napid"]="≋̸", +["LeftTriangleBar"]="⧏", ["SquareSubsetEqual"]="⊑", -["VerticalSeparator"]="❘", -["natur"]="♮", -["ffr"]="𝔣", -["rdquor"]="”", -["lagran"]="ℒ", -["nRightarrow"]="⇏", -["nLtv"]="≪̸", -["nLl"]="⋘̸", -["Epsilon"]="Ε", -["csup"]="⫐", -["leftarrow"]="←", -["nGt"]="≫⃒", -["multimap"]="⊸", -["mstpos"]="∾", -["SuchThat"]="∋", -["mldr"]="…", -["midast"]="*", -["Sum"]="∑", -["vartheta"]="ϑ", -["mapsto"]="↦", -["nsupseteq"]="⊉", -["Oscr"]="𝒪", -["forall"]="∀", -["aring"]="å", -["ltimes"]="⋉", -["ltcir"]="⩹", -["lt"]="<", -["ii"]="ⅈ", -["equest"]="≟", -["scsim"]="≿", -["lsqb"]="[", -["lsimg"]="⪏", -["Egrave"]="È", -["Downarrow"]="⇓", -["lsim"]="≲", -["eqslantless"]="⪕", -["ucirc"]="û", -["Auml"]="Ä", -["lnsim"]="⋦", -["uplus"]="⊎", -["lhblk"]="▄", -["Ugrave"]="Ù", -["dlcrop"]="⌍", -["OElig"]="Œ", -["lesg"]="⋚︀", -["lesdotor"]="⪃", -["eg"]="⪚", -["lvertneqq"]="≨︀", -["leqslant"]="⩽", -["ccups"]="⩌", -["lceil"]="⌈", -["auml"]="ä", -["RightCeiling"]="⌉", -["lbrksld"]="⦏", -["lbarr"]="⤌", +["eacute"]="é", +["ne"]="≠", +["ncongdot"]="⩭̸", +["boxvR"]="╞", +["PrecedesEqual"]="⪯", +["Omacr"]="Ō", +["egs"]="⪖", +["ouml"]="ö", +["nbsp"]=" ", +["xuplus"]="⨄", +["napprox"]="≉", +["CloseCurlyQuote"]="’", +["nacute"]="ń", +["Chi"]="Χ", +["subsub"]="⫕", +["gescc"]="⪩", +["gcirc"]="ĝ", +["Lsh"]="↰", +["sfr"]="𝔰", +["circlearrowright"]="↻", +["rcaron"]="ř", +["ThinSpace"]=" ", +["otilde"]="õ", +["TRADE"]="™", +["cudarrl"]="⤸", ["lat"]="⪫", -["Rscr"]="ℛ", -["Zcy"]="З", -["bigwedge"]="⋀", -["Prime"]="″", +["nLeftrightarrow"]="⇎", +["leqq"]="≦", +["dagger"]="†", +["dstrok"]="đ", +["sacute"]="ś", +["Amacr"]="Ā", +["mumap"]="⊸", +["models"]="⊧", +["DiacriticalAcute"]="´", +["minusd"]="∸", +["hybull"]="⁃", +["ijlig"]="ij", +["fflig"]="ff", +["NotGreaterEqual"]="≱", +["Colon"]="∷", +["boxV"]="║", +["DotDot"]="⃜", +["mdash"]="—", +["hairsp"]=" ", +["bcong"]="≌", +["mcomma"]="⨩", +["cirfnint"]="⨐", +["TScy"]="Ц", +["luruhar"]="⥦", +["awconint"]="∳", +["nsim"]="≁", +["els"]="⪕", +["imof"]="⊷", +["lpar"]="(", +["lozenge"]="◊", +["oint"]="∮", +["Umacr"]="Ū", +["Sum"]="∑", +["lopar"]="⦅", +["racute"]="ŕ", +["LessEqualGreater"]="⋚", +["Wedge"]="⋀", +["bbrktbrk"]="⎶", +["RightDownTeeVector"]="⥝", +["HumpDownHump"]="≎", +["rarrb"]="⇥", +["longleftrightarrow"]="⟷", +["lnE"]="≨", +["NotGreaterSlantEqual"]="⩾̸", +["Nu"]="Ν", +["NotNestedLessLess"]="⪡̸", +["UpEquilibrium"]="⥮", +["boxhD"]="╥", +["el"]="⪙", ["boxDR"]="╔", -["scnsim"]="⋩", -["efDot"]="≒", -["kopf"]="𝕜", -["minusdu"]="⨪", -["kappav"]="ϰ", +["Gdot"]="Ġ", +["itilde"]="ĩ", +["isindot"]="⋵", +["GreaterEqualLess"]="⋛", +["Ll"]="⋘", +["nrarrw"]="↝̸", +["supnE"]="⫌", +["epsiv"]="ϵ", +["Element"]="∈", +["gtreqless"]="⋛", +["laemptyv"]="⦴", +["nGt"]="≫⃒", +["angsph"]="∢", +["lE"]="≦", +["kscr"]="𝓀", +["Ocy"]="О", +["LowerLeftArrow"]="↙", +["dopf"]="𝕕", +["iukcy"]="і", +["atilde"]="ã", +["DoubleRightArrow"]="⇒", +["oslash"]="ø", +["rarr"]="→", +["intprod"]="⨼", +["hookrightarrow"]="↪", +["intcal"]="⊺", +["infintie"]="⧝", +["escr"]="ℯ", +["iiota"]="℩", +["curren"]="¤", +["Bernoullis"]="ℬ", +["angmsdah"]="⦯", +["ShortRightArrow"]="→", +["boxUR"]="╚", +["ges"]="⩾", +["DoubleDownArrow"]="⇓", +["NotSquareSuperset"]="⊐̸", +["lsim"]="≲", +["bump"]="≎", +["curlyeqsucc"]="⋟", +["SHCHcy"]="Щ", +["frac45"]="⅘", +["qint"]="⨌", +["Precedes"]="≺", +["RightTeeArrow"]="↦", +["frac16"]="⅙", +["euro"]="€", +["smtes"]="⪬︀", +["eth"]="ð", +["ldquo"]="“", +["equivDD"]="⩸", +["Oopf"]="𝕆", ["boxVh"]="╫", -["Uuml"]="Ü", -["centerdot"]="·", -["isinsv"]="⋳", -["isins"]="⋴", -["bot"]="⊥", -["integers"]="ℤ", -["Racute"]="Ŕ", -["ijlig"]="ij", -["bernou"]="ℬ", -["Cconint"]="∰", -["doteq"]="≐", -["hookleftarrow"]="↩", -["epar"]="⋕", -["harrw"]="↭", -["dzigrarr"]="⟿", -["Zscr"]="𝒵", -["alpha"]="α", -["times"]="×", +["GreaterSlantEqual"]="⩾", +["KJcy"]="Ќ", ["egrave"]="è", -["UnionPlus"]="⊎", -["Qscr"]="𝒬", -["Omacr"]="Ō", -["Zfr"]="ℨ", -["gneq"]="⪈", -["divonx"]="⋇", -["gesdotol"]="⪄", -["gvertneqq"]="≩︀", -["geq"]="≥", -["utri"]="▵", -["ge"]="≥", -["vArr"]="⇕", -["Rrightarrow"]="⇛", -["frac25"]="⅖", -["LeftCeiling"]="⌈", -["GreaterGreater"]="⪢", -["LT"]="<", -["Longrightarrow"]="⟹", -["eqcolon"]="≕", -["ofcir"]="⦿", -["boxUl"]="╜", -["Wscr"]="𝒲", -["Sacute"]="Ś", -["Union"]="⋃", -["gg"]="≫", -["DownArrowBar"]="⤓", -["Escr"]="ℰ", -["ecirc"]="ê", -["Lmidot"]="Ŀ", -["Wedge"]="⋀", -["frown"]="⌢", -["ring"]="˚", -["dtdot"]="⋱", -["Ccedil"]="Ç", -["Conint"]="∯", -["dscr"]="𝒹", -["Map"]="⤅", -["EmptyVerySmallSquare"]="▫", -["backsim"]="∽", -["angzarr"]="⍼", -["dHar"]="⥥", -["Mfr"]="𝔐", -["cirE"]="⧃", -["Popf"]="ℙ", -["NestedGreaterGreater"]="≫", -["ReverseElement"]="∋", -["boxVr"]="╟", +["NotGreaterLess"]="≹", +["boxVl"]="╢", +["MediumSpace"]=" ", +["LongLeftArrow"]="⟵", +["uarr"]="↑", +["Ocirc"]="Ô", +["Idot"]="İ", +["bumpe"]="≏", +["nwArr"]="⇖", +["NegativeThinSpace"]="", +["coprod"]="∐", +["VerticalBar"]="∣", +["sccue"]="≽", +["boxDl"]="╖", +["NotSubset"]="⊂⃒", +["Edot"]="Ė", +["scy"]="с", +["Cup"]="⋓", +["centerdot"]="·", +["nsimeq"]="≄", +["DownLeftRightVector"]="⥐", } diff --git a/Master/texmf-dist/tex/luatex/luaxml/luaxml-transform.lua b/Master/texmf-dist/tex/luatex/luaxml/luaxml-transform.lua index b6841fea5fb..4b51eed1170 100644 --- a/Master/texmf-dist/tex/luatex/luaxml/luaxml-transform.lua +++ b/Master/texmf-dist/tex/luatex/luaxml/luaxml-transform.lua @@ -198,6 +198,10 @@ local function add_action(selector, template, parameters, csspar) end +local function reset_actions(selector, csspar) + local css = csspar or css + css:remove_selector(selector) +end --- Transform XML string @@ -243,7 +247,7 @@ end local Transformer --- Make new Transformer object --- @return Tranformer object +-- @return Transformer object local function new() local self = setmetatable({}, Transformer) self.css = cssquery() @@ -289,6 +293,12 @@ function Transformer:add_custom_action(selector, fn ) add_custom_action(selector, fn, self.css) end +--- Remove all actions that match the given selector +---@param selector string +function Transformer:reset_actions(selector) + reset_actions(selector, self.css) +end + -- all methods that use transformation functions must -- correctly handle the cssquery object that this library uses @@ -338,6 +348,7 @@ local M = { print_tex = print_tex, add_action = add_action, add_custom_action = add_custom_action, + reset_actions = reset_actions, simple_content = simple_content, load_file = load_file, process_dom = process_dom, |