From cf050178a67e2947521b9a2aadffaed7f7b32ddf Mon Sep 17 00:00:00 2001 From: Andreas Lind Petersen Date: Wed, 28 Sep 2011 12:59:00 +0200 Subject: [PATCH 1/6] jsdom/browser/htmlencoding.js: Added all entities from http://www.w3.org/TR/html4/sgml/entities.html to the 'entityCharCode' map. Closes #323. --- lib/jsdom/browser/htmlencoding.js | 154 +++++++++++++++++++++++++++++- 1 file changed, 153 insertions(+), 1 deletion(-) diff --git a/lib/jsdom/browser/htmlencoding.js b/lib/jsdom/browser/htmlencoding.js index 529e567b0c..d8e41b71de 100644 --- a/lib/jsdom/browser/htmlencoding.js +++ b/lib/jsdom/browser/htmlencoding.js @@ -99,7 +99,159 @@ var entityCharCodes = { 'uuml': 252, 'yacute': 253, 'thorn': 254, - 'yuml': 255 + 'yuml': 255, + 'OElig': 338, + 'oelig': 339, + 'Scaron': 352, + 'scaron': 353, + 'Yuml': 376, + 'fnof': 402, + 'circ': 710, + 'tilde': 732, + 'Alpha': 913, + 'Beta': 914, + 'Gamma': 915, + 'Delta': 916, + 'Epsilon': 917, + 'Zeta': 918, + 'Eta': 919, + 'Theta': 920, + 'Iota': 921, + 'Kappa': 922, + 'Lambda': 923, + 'Mu': 924, + 'Nu': 925, + 'Xi': 926, + 'Omicron': 927, + 'Pi': 928, + 'Rho': 929, + 'Sigma': 931, + 'Tau': 932, + 'Upsilon': 933, + 'Phi': 934, + 'Chi': 935, + 'Psi': 936, + 'Omega': 937, + 'alpha': 945, + 'beta': 946, + 'gamma': 947, + 'delta': 948, + 'epsilon': 949, + 'zeta': 950, + 'eta': 951, + 'theta': 952, + 'iota': 953, + 'kappa': 954, + 'lambda': 955, + 'mu': 956, + 'nu': 957, + 'xi': 958, + 'omicron': 959, + 'pi': 960, + 'rho': 961, + 'sigmaf': 962, + 'sigma': 963, + 'tau': 964, + 'upsilon': 965, + 'phi': 966, + 'chi': 967, + 'psi': 968, + 'omega': 969, + 'thetasym': 977, + 'upsih': 978, + 'piv': 982, + 'bull': 8226, + 'hellip': 8230, + 'prime': 8242, + 'Prime': 8243, + 'oline': 8254, + 'frasl': 8260, + 'weierp': 8472, + 'image': 8465, + 'real': 8476, + 'trade': 8482, + 'alefsym': 8501, + 'larr': 8592, + 'uarr': 8593, + 'rarr': 8594, + 'darr': 8595, + 'harr': 8596, + 'crarr': 8629, + 'lArr': 8656, + 'uArr': 8657, + 'rArr': 8658, + 'dArr': 8659, + 'hArr': 8660, + 'forall': 8704, + 'part': 8706, + 'exist': 8707, + 'empty': 8709, + 'nabla': 8711, + 'isin': 8712, + 'notin': 8713, + 'ni': 8715, + 'prod': 8719, + 'sum': 8721, + 'minus': 8722, + 'lowast': 8727, + 'radic': 8730, + 'prop': 8733, + 'infin': 8734, + 'ang': 8736, + 'and': 8743, + 'or': 8744, + 'cap': 8745, + 'cup': 8746, + 'int': 8747, + 'there4': 8756, + 'sim': 8764, + 'cong': 8773, + 'asymp': 8776, + 'ne': 8800, + 'equiv': 8801, + 'le': 8804, + 'ge': 8805, + 'sub': 8834, + 'sup': 8835, + 'nsub': 8836, + 'sube': 8838, + 'supe': 8839, + 'oplus': 8853, + 'otimes': 8855, + 'perp': 8869, + 'sdot': 8901, + 'lceil': 8968, + 'rceil': 8969, + 'lfloor': 8970, + 'rfloor': 8971, + 'lang': 9001, + 'rang': 9002, + 'loz': 9674, + 'spades': 9824, + 'clubs': 9827, + 'hearts': 9829, + 'diams': 9830, + 'ensp': 8194, + 'emsp': 8195, + 'thinsp': 8201, + 'zwnj': 8204, + 'zwj': 8205, + 'lrm': 8206, + 'rlm': 8207, + 'ndash': 8211, + 'mdash': 8212, + 'lsquo': 8216, + 'rsquo': 8217, + 'sbquo': 8218, + 'ldquo': 8220, + 'rdquo': 8221, + 'bdquo': 8222, + 'dagger': 8224, + 'Dagger': 8225, + 'permil': 8240, + 'lsaquo': 8249, + 'rsaquo': 8250, + 'euro': 8364 }; var specialCharEntities = { From 80447dbef352d7585fd16762c82d53d0fe0be8e7 Mon Sep 17 00:00:00 2001 From: Andreas Lind Petersen Date: Wed, 28 Sep 2011 14:56:41 +0200 Subject: [PATCH 2/6] jsdom/browser/htmlencoding.js: Added all entities from http://www.w3.org/TR/html5/named-character-references.html to the 'entityCharCodes' map. --- lib/jsdom/browser/htmlencoding.js | 1338 +++++++++++++++++++++++++++-- 1 file changed, 1274 insertions(+), 64 deletions(-) diff --git a/lib/jsdom/browser/htmlencoding.js b/lib/jsdom/browser/htmlencoding.js index d8e41b71de..a63888fd67 100644 --- a/lib/jsdom/browser/htmlencoding.js +++ b/lib/jsdom/browser/htmlencoding.js @@ -19,9 +19,11 @@ var entityCharCodes = { 'not': 172, 'shy': 173, 'reg': 174, - 'macr': 175, + 'macr': 175, // http://www.w3.org/TR/html4/sgml/entities.html + 'strns': 175, // http://www.w3.org/TR/html5/named-character-references.html 'deg': 176, - 'plusmn': 177, + 'plusmn': 177, // http://www.w3.org/TR/html4/sgml/entities.html + 'pm': 177, // http://www.w3.org/TR/html5/named-character-references.html 'sup2': 178, 'sup3': 179, 'acute': 180, @@ -33,7 +35,8 @@ var entityCharCodes = { 'ordm': 186, 'raquo': 187, 'frac14': 188, - 'frac12': 189, + 'half': 189, // http://www.w3.org/TR/html4/sgml/entities.html + 'frac12': 189, // http://www.w3.org/TR/html5/named-character-references.html 'frac34': 190, 'iquest': 191, 'Agrave': 192, @@ -41,7 +44,8 @@ var entityCharCodes = { 'Acirc': 194, 'Atilde': 195, 'Auml': 196, - 'Aring': 197, + 'Aring': 197, // http://www.w3.org/TR/html4/sgml/entities.html + 'angst': 197, // http://www.w3.org/TR/html5/named-character-references.html 'AElig': 198, 'Ccedil': 199, 'Egrave': 200, @@ -100,14 +104,138 @@ var entityCharCodes = { 'yacute': 253, 'thorn': 254, 'yuml': 255, + 'Amacr': 256, + 'amacr': 257, + 'Abreve': 258, + 'abreve': 259, + 'Aogon': 260, + 'aogon': 261, + 'Cacute': 262, + 'cacute': 263, + 'Ccirc': 264, + 'ccirc': 265, + 'Cdot': 266, + 'cdot': 267, + 'Ccaron': 268, + 'ccaron': 269, + 'Dcaron': 270, + 'dcaron': 271, + 'Dstrok': 272, + 'dstrok': 273, + 'Emacr': 274, + 'emacr': 275, + 'Edot': 278, + 'edot': 279, + 'Eogon': 280, + 'eogon': 281, + 'Ecaron': 282, + 'ecaron': 283, + 'Gcirc': 284, + 'gcirc': 285, + 'Gbreve': 286, + 'gbreve': 287, + 'Gdot': 288, + 'gdot': 289, + 'Gcedil': 290, + 'Hcirc': 292, + 'hcirc': 293, + 'Hstrok': 294, + 'hstrok': 295, + 'Itilde': 296, + 'itilde': 297, + 'Imacr': 298, + 'imacr': 299, + 'Iogon': 302, + 'iogon': 303, + 'Idot': 304, + 'inodot': 305, + 'IJlig': 306, + 'ijlig': 307, + 'Jcirc': 308, + 'jcirc': 309, + 'Kcedil': 310, + 'kcedil': 311, + 'kgreen': 312, + 'Lacute': 313, + 'lacute': 314, + 'Lcedil': 315, + 'lcedil': 316, + 'Lcaron': 317, + 'lcaron': 318, + 'Lmidot': 319, + 'lmidot': 320, + 'Lstrok': 321, + 'lstrok': 322, + 'Nacute': 323, + 'nacute': 324, + 'Ncedil': 325, + 'ncedil': 326, + 'Ncaron': 327, + 'ncaron': 328, + 'napos': 329, + 'ENG': 330, + 'eng': 331, + 'Omacr': 332, + 'omacr': 333, + 'Odblac': 336, + 'odblac': 337, 'OElig': 338, 'oelig': 339, + 'Racute': 340, + 'racute': 341, + 'Rcedil': 342, + 'rcedil': 343, + 'Rcaron': 344, + 'rcaron': 345, + 'Sacute': 346, + 'sacute': 347, + 'Scirc': 348, + 'scirc': 349, + 'Scedil': 350, + 'scedil': 351, 'Scaron': 352, 'scaron': 353, + 'Tcedil': 354, + 'tcedil': 355, + 'Tcaron': 356, + 'tcaron': 357, + 'Tstrok': 358, + 'tstrok': 359, + 'Utilde': 360, + 'utilde': 361, + 'Umacr': 362, + 'umacr': 363, + 'Ubreve': 364, + 'ubreve': 365, + 'Uring': 366, + 'uring': 367, + 'Udblac': 368, + 'udblac': 369, + 'Uogon': 370, + 'uogon': 371, + 'Wcirc': 372, + 'wcirc': 373, + 'Ycirc': 374, + 'ycirc': 375, 'Yuml': 376, + 'Zacute': 377, + 'zacute': 378, + 'Zdot': 379, + 'zdot': 380, + 'Zcaron': 381, + 'zcaron': 382, 'fnof': 402, + 'imped': 437, + 'gacute': 501, + 'jmath': 567, 'circ': 710, + 'caron': 711, + 'breve': 728, + 'dot': 729, + 'ring': 730, + 'ogon': 731, 'tilde': 732, + 'dblac': 733, 'Alpha': 913, 'Beta': 914, 'Gamma': 915, @@ -131,7 +259,8 @@ var entityCharCodes = { 'Phi': 934, 'Chi': 935, 'Psi': 936, - 'Omega': 937, + 'Omega': 937, // http://www.w3.org/TR/html4/sgml/entities.html + 'ohm': 937, // http://www.w3.org/TR/html5/named-character-references.html 'alpha': 945, 'beta': 946, 'gamma': 947, @@ -149,7 +278,8 @@ var entityCharCodes = { 'omicron': 959, 'pi': 960, 'rho': 961, - 'sigmaf': 962, + 'sigmaf': 962, // http://www.w3.org/TR/html4/sgml/entities.html + 'varsigma': 962, // http://www.w3.org/TR/html5/named-character-references.html 'sigma': 963, 'tau': 964, 'upsilon': 965, @@ -157,101 +287,1181 @@ var entityCharCodes = { 'chi': 967, 'psi': 968, 'omega': 969, - 'thetasym': 977, + 'thetasym': 977, // http://www.w3.org/TR/html4/sgml/entities.html + 'vartheta': 977, // http://www.w3.org/TR/html5/named-character-references.html 'upsih': 978, - 'piv': 982, - 'bull': 8226, - 'hellip': 8230, + 'varphi': 981, + 'piv': 982, // http://www.w3.org/TR/html4/sgml/entities.html + 'varpi': 982, // http://www.w3.org/TR/html5/named-character-references.html + 'Gammad': 988, + 'gammad': 989, + 'varkappa': 1008, + 'varrho': 1009, + 'varepsilon': 1013, + 'bepsi': 1014, + 'IOcy': 1025, + 'DJcy': 1026, + 'GJcy': 1027, + 'Jukcy': 1028, + 'DScy': 1029, + 'Iukcy': 1030, + 'YIcy': 1031, + 'Jsercy': 1032, + 'LJcy': 1033, + 'NJcy': 1034, + 'TSHcy': 1035, + 'KJcy': 1036, + 'Ubrcy': 1038, + 'DZcy': 1039, + 'Acy': 1040, + 'Bcy': 1041, + 'Vcy': 1042, + 'Gcy': 1043, + 'Dcy': 1044, + 'IEcy': 1045, + 'ZHcy': 1046, + 'Zcy': 1047, + 'Icy': 1048, + 'Jcy': 1049, + 'Kcy': 1050, + 'Lcy': 1051, + 'Mcy': 1052, + 'Ncy': 1053, + 'Ocy': 1054, + 'Pcy': 1055, + 'Rcy': 1056, + 'Scy': 1057, + 'Tcy': 1058, + 'Ucy': 1059, + 'Fcy': 1060, + 'KHcy': 1061, + 'TScy': 1062, + 'CHcy': 1063, + 'SHcy': 1064, + 'SHCHcy': 1065, + 'HARDcy': 1066, + 'Ycy': 1067, + 'SOFTcy': 1068, + 'Ecy': 1069, + 'YUcy': 1070, + 'YAcy': 1071, + 'acy': 1072, + 'bcy': 1073, + 'vcy': 1074, + 'gcy': 1075, + 'dcy': 1076, + 'iecy': 1077, + 'zhcy': 1078, + 'zcy': 1079, + 'icy': 1080, + 'jcy': 1081, + 'kcy': 1082, + 'lcy': 1083, + 'mcy': 1084, + 'ncy': 1085, + 'ocy': 1086, + 'pcy': 1087, + 'rcy': 1088, + 'scy': 1089, + 'tcy': 1090, + 'ucy': 1091, + 'fcy': 1092, + 'khcy': 1093, + 'tscy': 1094, + 'chcy': 1095, + 'shcy': 1096, + 'shchcy': 1097, + 'hardcy': 1098, + 'ycy': 1099, + 'softcy': 1100, + 'ecy': 1101, + 'yucy': 1102, + 'yacy': 1103, + 'iocy': 1105, + 'djcy': 1106, + 'gjcy': 1107, + 'jukcy': 1108, + 'dscy': 1109, + 'iukcy': 1110, + 'yicy': 1111, + 'jsercy': 1112, + 'ljcy': 1113, + 'njcy': 1114, + 'tshcy': 1115, + 'kjcy': 1116, + 'ubrcy': 1118, + 'dzcy': 1119, + 'ensp': 8194, + 'emsp': 8195, + 'emsp13': 8196, + 'emsp14': 8197, + 'numsp': 8199, + 'puncsp': 8200, + 'thinsp': 8201, + 'hairsp': 8202, + 'ZeroWidthSpace': 8203, + 'zwnj': 8204, + 'zwj': 8205, + 'lrm': 8206, + 'rlm': 8207, + 'hyphen': 8208, + 'ndash': 8211, + 'mdash': 8212, + 'horbar': 8213, + 'Vert': 8214, + 'lsquo': 8216, + 'rsquo': 8217, // http://www.w3.org/TR/html4/sgml/entities.html + 'rsquor': 8217, // http://www.w3.org/TR/html5/named-character-references.html + 'sbquo': 8218, + 'ldquo': 8220, + 'rdquo': 8221, // http://www.w3.org/TR/html4/sgml/entities.html + 'rdquor': 8221, // http://www.w3.org/TR/html5/named-character-references.html + 'ldquo': 8222, // http://www.w3.org/TR/html4/sgml/entities.html + 'ldquor': 8222, // http://www.w3.org/TR/html5/named-character-references.html + 'dagger': 8224, + 'Dagger': 8225, // http://www.w3.org/TR/html4/sgml/entities.html + 'ddagger': 8225, // http://www.w3.org/TR/html5/named-character-references.html + 'bull': 8226, // http://www.w3.org/TR/html4/sgml/entities.html + 'bullet': 8226, // http://www.w3.org/TR/html5/named-character-references.html + 'nldr': 8229, + 'hellip': 8230, // http://www.w3.org/TR/html4/sgml/entities.html + 'mldr': 8230, // http://www.w3.org/TR/html5/named-character-references.html + 'permil': 8240, + 'pertenk': 8241, 'prime': 8242, 'Prime': 8243, + 'tprime': 8244, + 'bprime': 8245, + 'lsaquo': 8249, + 'rsaquo': 8250, 'oline': 8254, + 'caret': 8257, + 'hybull': 8259, 'frasl': 8260, - 'weierp': 8472, - 'image': 8465, - 'real': 8476, + 'bsemi': 8271, + 'qprime': 8279, + 'MediumSpace': 8287, + 'NoBreak': 8288, + 'af': 8289, + 'it': 8290, + 'ic': 8291, + 'euro': 8364, + 'complexes': 8450, + 'incare': 8453, + 'gscr': 8458, + 'hamilt': 8459, + 'Poincareplane': 8460, + 'quaternions': 8461, + 'planckh': 8462, + 'plankv': 8463, + 'imagline': 8464, + 'image': 8465, // http://www.w3.org/TR/html4/sgml/entities.html + 'imagpart': 8465, // http://www.w3.org/TR/html5/named-character-references.html + 'lagran': 8466, + 'ell': 8467, + 'naturals': 8469, + 'numero': 8470, + 'copysr': 8471, + 'weierp': 8472, // http://www.w3.org/TR/html4/sgml/entities.html + 'wp': 8472, // http://www.w3.org/TR/html5/named-character-references.html + 'primes': 8473, + 'rationals': 8474, + 'realine': 8475, + 'real': 8476, // http://www.w3.org/TR/html4/sgml/entities.html + 'realpart': 8476, // http://www.w3.org/TR/html5/named-character-references.html + 'reals': 8477, + 'rx': 8478, 'trade': 8482, - 'alefsym': 8501, - 'larr': 8592, - 'uarr': 8593, - 'rarr': 8594, - 'darr': 8595, - 'harr': 8596, + 'integers': 8484, + 'mho': 8487, + 'zeetrf': 8488, + 'iiota': 8489, + 'bernou': 8492, + 'Cfr': 8493, + 'escr': 8495, + 'expectation': 8496, + 'Fscr': 8497, + 'phmmat': 8499, + 'oscr': 8500, + 'alefsym': 8501, // http://www.w3.org/TR/html4/sgml/entities.html + 'aleph': 8501, // http://www.w3.org/TR/html5/named-character-references.html + 'beth': 8502, + 'gimel': 8503, + 'daleth': 8504, + 'DD': 8517, + 'dd': 8518, + 'exponentiale': 8519, + 'ii': 8520, + 'frac13': 8531, + 'frac23': 8532, + 'frac15': 8533, + 'frac25': 8534, + 'frac35': 8535, + 'frac45': 8536, + 'frac16': 8537, + 'frac56': 8538, + 'frac18': 8539, + 'frac38': 8540, + 'frac58': 8541, + 'frac78': 8542, + 'larr': 8592, // http://www.w3.org/TR/html4/sgml/entities.html + 'slarr': 8592, // http://www.w3.org/TR/html5/named-character-references.html + 'uarr': 8593, // http://www.w3.org/TR/html4/sgml/entities.html + 'uparrow': 8593, // http://www.w3.org/TR/html5/named-character-references.html + 'rarr': 8594, // http://www.w3.org/TR/html4/sgml/entities.html + 'srarr': 8594, // http://www.w3.org/TR/html5/named-character-references.html + 'darr': 8595, // http://www.w3.org/TR/html4/sgml/entities.html + 'downarrow': 8595, // http://www.w3.org/TR/html5/named-character-references.html + 'harr': 8596, // http://www.w3.org/TR/html4/sgml/entities.html + 'leftrightarrow': 8596, // http://www.w3.org/TR/html5/named-character-references.html + 'varr': 8597, + 'nwarrow': 8598, + 'nearrow': 8599, + 'searrow': 8600, + 'swarrow': 8601, + 'nleftarrow': 8602, + 'nrightarrow': 8603, + 'rightsquigarrow': 8605, + 'twoheadleftarrow': 8606, + 'Uarr': 8607, + 'twoheadrightarrow': 8608, + 'Darr': 8609, + 'leftarrowtail': 8610, + 'rightarrowtail': 8611, + 'mapstoleft': 8612, + 'mapstoup': 8613, + 'mapsto': 8614, + 'mapstodown': 8615, + 'larrhk': 8617, + 'rarrhk': 8618, + 'looparrowleft': 8619, + 'rarrlp': 8620, + 'leftrightsquigarrow': 8621, + 'nleftrightarrow': 8622, + 'lsh': 8624, + 'rsh': 8625, + 'ldsh': 8626, + 'rdsh': 8627, 'crarr': 8629, + 'curvearrowleft': 8630, + 'curvearrowright': 8631, + 'olarr': 8634, + 'orarr': 8635, + 'lharu': 8636, + 'lhard': 8637, + 'upharpoonright': 8638, + 'upharpoonleft': 8639, + 'rightharpoonup': 8640, + 'rightharpoondown': 8641, + 'downharpoonright': 8642, + 'downharpoonleft': 8643, + 'rlarr': 8644, + 'udarr': 8645, + 'lrarr': 8646, + 'llarr': 8647, + 'uuarr': 8648, + 'rrarr': 8649, + 'downdownarrows': 8650, + 'lrhar': 8651, + 'rlhar': 8652, + 'nlArr': 8653, + 'nhArr': 8654, + 'nrArr': 8655, 'lArr': 8656, 'uArr': 8657, 'rArr': 8658, 'dArr': 8659, - 'hArr': 8660, + 'hArr': 8660, // http://www.w3.org/TR/html4/sgml/entities.html + 'iff': 8660, // http://www.w3.org/TR/html5/named-character-references.html + 'vArr': 8661, + 'nwArr': 8662, + 'neArr': 8663, + 'seArr': 8664, + 'swArr': 8665, + 'lAarr': 8666, + 'rAarr': 8667, + 'zigrarr': 8669, + 'larrb': 8676, + 'rarrb': 8677, + 'duarr': 8693, + 'loarr': 8701, + 'roarr': 8702, + 'hoarr': 8703, 'forall': 8704, + 'complement': 8705, 'part': 8706, 'exist': 8707, - 'empty': 8709, + 'nexists': 8708, + 'empty': 8709, // http://www.w3.org/TR/html4/sgml/entities.html + 'varnothing': 8709, // http://www.w3.org/TR/html5/named-character-references.html 'nabla': 8711, - 'isin': 8712, - 'notin': 8713, - 'ni': 8715, + 'isin': 8712, // http://www.w3.org/TR/html4/sgml/entities.html + 'isinv': 8712, // http://www.w3.org/TR/html5/named-character-references.html + 'notin': 8713, // http://www.w3.org/TR/html4/sgml/entities.html + 'notinva': 8713, // http://www.w3.org/TR/html5/named-character-references.html + 'ni': 8715, // http://www.w3.org/TR/html4/sgml/entities.html + 'niv': 8715, // http://www.w3.org/TR/html5/named-character-references.html + 'notniva': 8716, 'prod': 8719, + 'coprod': 8720, 'sum': 8721, 'minus': 8722, + 'mp': 8723, + 'plusdo': 8724, + 'ssetmn': 8726, 'lowast': 8727, + 'compfn': 8728, 'radic': 8730, - 'prop': 8733, + 'prop': 8733, // http://www.w3.org/TR/html4/sgml/entities.html + 'vprop': 8733, // http://www.w3.org/TR/html5/named-character-references.html 'infin': 8734, - 'ang': 8736, - 'and': 8743, - 'or': 8744, + 'angrt': 8735, + 'ang': 8736, // http://www.w3.org/TR/html4/sgml/entities.html + 'angle': 8736, // http://www.w3.org/TR/html5/named-character-references.html + 'measuredangle': 8737, + 'angsph': 8738, + 'smid': 8739, + 'nsmid': 8740, + 'spar': 8741, + 'nspar': 8742, + 'and': 8743, // http://www.w3.org/TR/html4/sgml/entities.html + 'wedge': 8743, // http://www.w3.org/TR/html5/named-character-references.html + 'or': 8744, // http://www.w3.org/TR/html4/sgml/entities.html + 'vee': 8744, // http://www.w3.org/TR/html5/named-character-references.html 'cap': 8745, 'cup': 8746, 'int': 8747, - 'there4': 8756, - 'sim': 8764, + 'Int': 8748, + 'tint': 8749, + 'oint': 8750, + 'DoubleContourIntegral': 8751, + 'Cconint': 8752, + 'cwint': 8753, + 'cwconint': 8754, + 'awconint': 8755, + 'there4': 8756, // http://www.w3.org/TR/html4/sgml/entities.html + 'therefore': 8756, // http://www.w3.org/TR/html5/named-character-references.html + 'because': 8757, + 'ratio': 8758, + 'Proportion': 8759, + 'minusd': 8760, + 'mDDot': 8762, + 'homtht': 8763, + 'sim': 8764, // http://www.w3.org/TR/html4/sgml/entities.html + 'thksim': 8764, // http://www.w3.org/TR/html5/named-character-references.html + 'bsim': 8765, + 'mstpos': 8766, + 'acd': 8767, + 'wreath': 8768, + 'nsim': 8769, + 'esim': 8770, + 'simeq': 8771, + 'nsimeq': 8772, 'cong': 8773, - 'asymp': 8776, + 'simne': 8774, + 'ncong': 8775, + 'asymp': 8776, // http://www.w3.org/TR/html4/sgml/entities.html + 'thkap': 8776, // http://www.w3.org/TR/html5/named-character-references.html + 'napprox': 8777, + 'approxeq': 8778, + 'apid': 8779, + 'bcong': 8780, + 'asympeq': 8781, + 'bump': 8782, + 'bumpeq': 8783, + 'esdot': 8784, + 'eDot': 8785, + 'fallingdotseq': 8786, + 'risingdotseq': 8787, + 'coloneq': 8788, + 'eqcolon': 8789, + 'eqcirc': 8790, + 'cire': 8791, + 'wedgeq': 8793, + 'veeeq': 8794, + 'trie': 8796, + 'questeq': 8799, 'ne': 8800, 'equiv': 8801, - 'le': 8804, - 'ge': 8805, - 'sub': 8834, - 'sup': 8835, + 'nequiv': 8802, + 'le': 8804, // http://www.w3.org/TR/html4/sgml/entities.html + 'leq': 8804, // http://www.w3.org/TR/html5/named-character-references.html + 'ge': 8805, // http://www.w3.org/TR/html4/sgml/entities.html + 'geq': 8805, // http://www.w3.org/TR/html5/named-character-references.html + 'leqq': 8806, + 'geqq': 8807, + 'lneqq': 8808, + 'gneqq': 8809, + 'll': 8810, + 'gg': 8811, + 'twixt': 8812, + 'NotCupCap': 8813, + 'nlt': 8814, + 'ngtr': 8815, + 'nleq': 8816, + 'ngeq': 8817, + 'lsim': 8818, + 'gtrsim': 8819, + 'nlsim': 8820, + 'ngsim': 8821, + 'lg': 8822, + 'gtrless': 8823, + 'ntlg': 8824, + 'ntgl': 8825, + 'prec': 8826, + 'succ': 8827, + 'preccurlyeq': 8828, + 'succcurlyeq': 8829, + 'prsim': 8830, + 'succsim': 8831, + 'nprec': 8832, + 'nsucc': 8833, + 'sub': 8834, // http://www.w3.org/TR/html4/sgml/entities.html + 'subset': 8834, // http://www.w3.org/TR/html5/named-character-references.html + 'sup': 8835, // http://www.w3.org/TR/html4/sgml/entities.html + 'supset': 8835, // http://www.w3.org/TR/html5/named-character-references.html 'nsub': 8836, - 'sube': 8838, - 'supe': 8839, + 'nsup': 8837, + 'sube': 8838, // http://www.w3.org/TR/html4/sgml/entities.html + 'subseteq': 8838, // http://www.w3.org/TR/html5/named-character-references.html + 'supe': 8839, // http://www.w3.org/TR/html4/sgml/entities.html + 'supseteq': 8839, // http://www.w3.org/TR/html5/named-character-references.html + 'nsubseteq': 8840, + 'nsupseteq': 8841, + 'subsetneq': 8842, + 'supsetneq': 8843, + 'cupdot': 8845, + 'uplus': 8846, + 'sqsubset': 8847, + 'sqsupset': 8848, + 'sqsubseteq': 8849, + 'sqsupseteq': 8850, + 'sqcap': 8851, + 'sqcup': 8852, 'oplus': 8853, + 'ominus': 8854, 'otimes': 8855, + 'osol': 8856, + 'odot': 8857, + 'ocir': 8858, + 'oast': 8859, + 'odash': 8861, + 'plusb': 8862, + 'minusb': 8863, + 'timesb': 8864, + 'sdotb': 8865, + 'vdash': 8866, + 'dashv': 8867, + 'top': 8868, 'perp': 8869, + 'models': 8871, + 'vDash': 8872, + 'Vdash': 8873, + 'Vvdash': 8874, + 'VDash': 8875, + 'nvdash': 8876, + 'nvDash': 8877, + 'nVdash': 8878, + 'nVDash': 8879, + 'prurel': 8880, + 'vltri': 8882, + 'vrtri': 8883, + 'trianglelefteq': 8884, + 'trianglerighteq': 8885, + 'origof': 8886, + 'imof': 8887, + 'mumap': 8888, + 'hercon': 8889, + 'intercal': 8890, + 'veebar': 8891, + 'barvee': 8893, + 'angrtvb': 8894, + 'lrtri': 8895, + 'xwedge': 8896, + 'xvee': 8897, + 'xcap': 8898, + 'xcup': 8899, + 'diamond': 8900, 'sdot': 8901, + 'sstarf': 8902, + 'divonx': 8903, + 'bowtie': 8904, + 'ltimes': 8905, + 'rtimes': 8906, + 'lthree': 8907, + 'rthree': 8908, + 'bsime': 8909, + 'cuvee': 8910, + 'cuwed': 8911, + 'Subset': 8912, + 'Supset': 8913, + 'Cap': 8914, + 'Cup': 8915, + 'pitchfork': 8916, + 'epar': 8917, + 'ltdot': 8918, + 'gtrdot': 8919, + 'Ll': 8920, + 'ggg': 8921, + 'lesseqgtr': 8922, + 'gtreqless': 8923, + 'curlyeqprec': 8926, + 'curlyeqsucc': 8927, + 'nprcue': 8928, + 'nsccue': 8929, + 'nsqsube': 8930, + 'nsqsupe': 8931, + 'lnsim': 8934, + 'gnsim': 8935, + 'prnsim': 8936, + 'succnsim': 8937, + 'ntriangleleft': 8938, + 'ntriangleright': 8939, + 'ntrianglelefteq': 8940, + 'ntrianglerighteq': 8941, + 'vellip': 8942, + 'ctdot': 8943, + 'utdot': 8944, + 'dtdot': 8945, + 'disin': 8946, + 'isinsv': 8947, + 'isins': 8948, + 'isindot': 8949, + 'notinvc': 8950, + 'notinvb': 8951, + 'isinE': 8953, + 'nisd': 8954, + 'xnis': 8955, + 'nis': 8956, + 'notnivc': 8957, + 'notnivb': 8958, + 'barwedge': 8965, + 'doublebarwedge': 8966, 'lceil': 8968, 'rceil': 8969, 'lfloor': 8970, 'rfloor': 8971, - 'lang': 9001, - 'rang': 9002, - 'loz': 9674, - 'spades': 9824, - 'clubs': 9827, - 'hearts': 9829, + 'drcrop': 8972, + 'dlcrop': 8973, + 'urcrop': 8974, + 'ulcrop': 8975, + 'bnot': 8976, + 'profline': 8978, + 'profsurf': 8979, + 'telrec': 8981, + 'target': 8982, + 'ulcorner': 8988, + 'urcorner': 8989, + 'llcorner': 8990, + 'lrcorner': 8991, + 'sfrown': 8994, + 'ssmile': 8995, + 'lang': 9001, // http://www.w3.org/TR/html4/sgml/entities.html + 'rang': 9002, // http://www.w3.org/TR/html4/sgml/entities.html + 'cylcty': 9005, + 'profalar': 9006, + 'topbot': 9014, + 'ovbar': 9021, + 'solbar': 9023, + 'angzarr': 9084, + 'lmoustache': 9136, + 'rmoustache': 9137, + 'tbrk': 9140, + 'bbrk': 9141, + 'bbrktbrk': 9142, + 'OverParenthesis': 9180, + 'UnderParenthesis': 9181, + 'OverBrace': 9182, + 'UnderBrace': 9183, + 'trpezium': 9186, + 'elinters': 9191, + 'blank': 9251, + 'oS': 9416, + 'boxh': 9472, + 'boxv': 9474, + 'boxdr': 9484, + 'boxdl': 9488, + 'boxur': 9492, + 'boxul': 9496, + 'boxvr': 9500, + 'boxvl': 9508, + 'boxhd': 9516, + 'boxhu': 9524, + 'boxvh': 9532, + 'boxH': 9552, + 'boxV': 9553, + 'boxdR': 9554, + 'boxDr': 9555, + 'boxDR': 9556, + 'boxdL': 9557, + 'boxDl': 9558, + 'boxDL': 9559, + 'boxuR': 9560, + 'boxUr': 9561, + 'boxUR': 9562, + 'boxuL': 9563, + 'boxUl': 9564, + 'boxUL': 9565, + 'boxvR': 9566, + 'boxVr': 9567, + 'boxVR': 9568, + 'boxvL': 9569, + 'boxVl': 9570, + 'boxVL': 9571, + 'boxHd': 9572, + 'boxhD': 9573, + 'boxHD': 9574, + 'boxHu': 9575, + 'boxhU': 9576, + 'boxHU': 9577, + 'boxvH': 9578, + 'boxVh': 9579, + 'boxVH': 9580, + 'uhblk': 9600, + 'lhblk': 9604, + 'block': 9608, + 'blk14': 9617, + 'blk12': 9618, + 'blk34': 9619, + 'square': 9633, + 'squf': 9642, + 'EmptyVerySmallSquare': 9643, + 'rect': 9645, + 'marker': 9646, + 'fltns': 9649, + 'xutri': 9651, + 'utrif': 9652, + 'utri': 9653, + 'rtrif': 9656, + 'triangleright': 9657, + 'xdtri': 9661, + 'dtrif': 9662, + 'triangledown': 9663, + 'ltrif': 9666, + 'triangleleft': 9667, + 'loz': 9674, // http://www.w3.org/TR/html4/sgml/entities.html + 'lozenge': 9674, // http://www.w3.org/TR/html5/named-character-references.html + 'cir': 9675, + 'tridot': 9708, + 'xcirc': 9711, + 'ultri': 9720, + 'urtri': 9721, + 'lltri': 9722, + 'EmptySmallSquare': 9723, + 'FilledSmallSquare': 9724, + 'starf': 9733, + 'star': 9734, + 'phone': 9742, + 'female': 9792, + 'male': 9794, + 'spades': 9824, // http://www.w3.org/TR/html4/sgml/entities.html + 'spadesuit': 9824, // http://www.w3.org/TR/html5/named-character-references.html + 'clubs': 9827, // http://www.w3.org/TR/html4/sgml/entities.html + 'clubsuit': 9827, // http://www.w3.org/TR/html5/named-character-references.html + 'hearts': 9829, // http://www.w3.org/TR/html4/sgml/entities.html + 'heartsuit': 9829, // http://www.w3.org/TR/html5/named-character-references.html 'diams': 9830, - 'ensp': 8194, - 'emsp': 8195, - 'thinsp': 8201, - 'zwnj': 8204, - 'zwj': 8205, - 'lrm': 8206, - 'rlm': 8207, - 'ndash': 8211, - 'mdash': 8212, - 'lsquo': 8216, - 'rsquo': 8217, - 'sbquo': 8218, - 'ldquo': 8220, - 'rdquo': 8221, - 'bdquo': 8222, - 'dagger': 8224, - 'Dagger': 8225, - 'permil': 8240, - 'lsaquo': 8249, - 'rsaquo': 8250, - 'euro': 8364 + 'sung': 9834, + 'flat': 9837, + 'natural': 9838, + 'sharp': 9839, + 'checkmark': 10003, + 'cross': 10007, + 'maltese': 10016, + 'sext': 10038, + 'VerticalSeparator': 10072, + 'lbbrk': 10098, + 'rbbrk': 10099, + 'bsolhsub': 10184, + 'suphsol': 10185, + 'lobrk': 10214, + 'robrk': 10215, + 'langle': 10216, + 'rangle': 10217, + 'Lang': 10218, + 'Rang': 10219, + 'loang': 10220, + 'roang': 10221, + 'xlarr': 10229, + 'xrarr': 10230, + 'xharr': 10231, + 'xlArr': 10232, + 'xrArr': 10233, + 'xhArr': 10234, + 'xmap': 10236, + 'dzigrarr': 10239, + 'nvlArr': 10498, + 'nvrArr': 10499, + 'nvHarr': 10500, + 'Map': 10501, + 'lbarr': 10508, + 'rbarr': 10509, + 'lBarr': 10510, + 'rBarr': 10511, + 'drbkarow': 10512, + 'DDotrahd': 10513, + 'UpArrowBar': 10514, + 'DownArrowBar': 10515, + 'Rarrtl': 10518, + 'latail': 10521, + 'ratail': 10522, + 'lAtail': 10523, + 'rAtail': 10524, + 'larrfs': 10525, + 'rarrfs': 10526, + 'larrbfs': 10527, + 'rarrbfs': 10528, + 'nwarhk': 10531, + 'nearhk': 10532, + 'searhk': 10533, + 'swarhk': 10534, + 'nwnear': 10535, + 'toea': 10536, + 'tosa': 10537, + 'swnwar': 10538, + 'rarrc': 10547, + 'cudarrr': 10549, + 'ldca': 10550, + 'rdca': 10551, + 'cudarrl': 10552, + 'larrpl': 10553, + 'curarrm': 10556, + 'cularrp': 10557, + 'rarrpl': 10565, + 'harrcir': 10568, + 'Uarrocir': 10569, + 'lurdshar': 10570, + 'ldrushar': 10571, + 'LeftRightVector': 10574, + 'RightUpDownVector': 10575, + 'DownLeftRightVector': 10576, + 'LeftUpDownVector': 10577, + 'LeftVectorBar': 10578, + 'RightVectorBar': 10579, + 'RightUpVectorBar': 10580, + 'RightDownVectorBar': 10581, + 'DownLeftVectorBar': 10582, + 'DownRightVectorBar': 10583, + 'LeftUpVectorBar': 10584, + 'LeftDownVectorBar': 10585, + 'LeftTeeVector': 10586, + 'RightTeeVector': 10587, + 'RightUpTeeVector': 10588, + 'RightDownTeeVector': 10589, + 'DownLeftTeeVector': 10590, + 'DownRightTeeVector': 10591, + 'LeftUpTeeVector': 10592, + 'LeftDownTeeVector': 10593, + 'lHar': 10594, + 'uHar': 10595, + 'rHar': 10596, + 'dHar': 10597, + 'luruhar': 10598, + 'ldrdhar': 10599, + 'ruluhar': 10600, + 'rdldhar': 10601, + 'lharul': 10602, + 'llhard': 10603, + 'rharul': 10604, + 'lrhard': 10605, + 'udhar': 10606, + 'duhar': 10607, + 'RoundImplies': 10608, + 'erarr': 10609, + 'simrarr': 10610, + 'larrsim': 10611, + 'rarrsim': 10612, + 'rarrap': 10613, + 'ltlarr': 10614, + 'gtrarr': 10616, + 'subrarr': 10617, + 'suplarr': 10619, + 'lfisht': 10620, + 'rfisht': 10621, + 'ufisht': 10622, + 'dfisht': 10623, + 'lopar': 10629, + 'ropar': 10630, + 'lbrke': 10635, + 'rbrke': 10636, + 'lbrkslu': 10637, + 'rbrksld': 10638, + 'lbrksld': 10639, + 'rbrkslu': 10640, + 'langd': 10641, + 'rangd': 10642, + 'lparlt': 10643, + 'rpargt': 10644, + 'gtlPar': 10645, + 'ltrPar': 10646, + 'vzigzag': 10650, + 'vangrt': 10652, + 'angrtvbd': 10653, + 'ange': 10660, + 'range': 10661, + 'dwangle': 10662, + 'uwangle': 10663, + 'angmsdaa': 10664, + 'angmsdab': 10665, + 'angmsdac': 10666, + 'angmsdad': 10667, + 'angmsdae': 10668, + 'angmsdaf': 10669, + 'angmsdag': 10670, + 'angmsdah': 10671, + 'bemptyv': 10672, + 'demptyv': 10673, + 'cemptyv': 10674, + 'raemptyv': 10675, + 'laemptyv': 10676, + 'ohbar': 10677, + 'omid': 10678, + 'opar': 10679, + 'operp': 10681, + 'olcross': 10683, + 'odsold': 10684, + 'olcir': 10686, + 'ofcir': 10687, + 'olt': 10688, + 'ogt': 10689, + 'cirscir': 10690, + 'cirE': 10691, + 'solb': 10692, + 'bsolb': 10693, + 'boxbox': 10697, + 'trisb': 10701, + 'rtriltri': 10702, + 'LeftTriangleBar': 10703, + 'RightTriangleBar': 10704, + 'iinfin': 10716, + 'infintie': 10717, + 'nvinfin': 10718, + 'eparsl': 10723, + 'smeparsl': 10724, + 'eqvparsl': 10725, + 'lozf': 10731, + 'RuleDelayed': 10740, + 'dsol': 10742, + 'xodot': 10752, + 'xoplus': 10753, + 'xotime': 10754, + 'xuplus': 10756, + 'xsqcup': 10758, + 'qint': 10764, + 'fpartint': 10765, + 'cirfnint': 10768, + 'awint': 10769, + 'rppolint': 10770, + 'scpolint': 10771, + 'npolint': 10772, + 'pointint': 10773, + 'quatint': 10774, + 'intlarhk': 10775, + 'pluscir': 10786, + 'plusacir': 10787, + 'simplus': 10788, + 'plusdu': 10789, + 'plussim': 10790, + 'plustwo': 10791, + 'mcomma': 10793, + 'minusdu': 10794, + 'loplus': 10797, + 'roplus': 10798, + 'Cross': 10799, + 'timesd': 10800, + 'timesbar': 10801, + 'smashp': 10803, + 'lotimes': 10804, + 'rotimes': 10805, + 'otimesas': 10806, + 'Otimes': 10807, + 'odiv': 10808, + 'triplus': 10809, + 'triminus': 10810, + 'tritime': 10811, + 'iprod': 10812, + 'amalg': 10815, + 'capdot': 10816, + 'ncup': 10818, + 'ncap': 10819, + 'capand': 10820, + 'cupor': 10821, + 'cupcap': 10822, + 'capcup': 10823, + 'cupbrcap': 10824, + 'capbrcup': 10825, + 'cupcup': 10826, + 'capcap': 10827, + 'ccups': 10828, + 'ccaps': 10829, + 'ccupssm': 10832, + 'And': 10835, + 'Or': 10836, + 'andand': 10837, + 'oror': 10838, + 'orslope': 10839, + 'andslope': 10840, + 'andv': 10842, + 'orv': 10843, + 'andd': 10844, + 'ord': 10845, + 'wedbar': 10847, + 'sdote': 10854, + 'simdot': 10858, + 'congdot': 10861, + 'easter': 10862, + 'apacir': 10863, + 'apE': 10864, + 'eplus': 10865, + 'pluse': 10866, + 'Esim': 10867, + 'Colone': 10868, + 'Equal': 10869, + 'eDDot': 10871, + 'equivDD': 10872, + 'ltcir': 10873, + 'gtcir': 10874, + 'ltquest': 10875, + 'gtquest': 10876, + 'les': 10877, + 'ges': 10878, + 'lesdot': 10879, + 'gesdot': 10880, + 'lesdoto': 10881, + 'gesdoto': 10882, + 'lesdotor': 10883, + 'gesdotol': 10884, + 'lessapprox': 10885, + 'gtrapprox': 10886, + 'lneq': 10887, + 'gneq': 10888, + 'lnapprox': 10889, + 'gnapprox': 10890, + 'lesseqqgtr': 10891, + 'gtreqqless': 10892, + 'lsime': 10893, + 'gsime': 10894, + 'lsimg': 10895, + 'gsiml': 10896, + 'lgE': 10897, + 'glE': 10898, + 'lesges': 10899, + 'gesles': 10900, + 'eqslantless': 10901, + 'eqslantgtr': 10902, + 'elsdot': 10903, + 'egsdot': 10904, + 'el': 10905, + 'eg': 10906, + 'siml': 10909, + 'simg': 10910, + 'simlE': 10911, + 'simgE': 10912, + 'LessLess': 10913, + 'GreaterGreater': 10914, + 'glj': 10916, + 'gla': 10917, + 'ltcc': 10918, + 'gtcc': 10919, + 'lescc': 10920, + 'gescc': 10921, + 'smt': 10922, + 'lat': 10923, + 'smte': 10924, + 'late': 10925, + 'bumpE': 10926, + 'preceq': 10927, + 'succeq': 10928, + 'prE': 10931, + 'scE': 10932, + 'prnE': 10933, + 'succneqq': 10934, + 'precapprox': 10935, + 'succapprox': 10936, + 'prnap': 10937, + 'succnapprox': 10938, + 'Pr': 10939, + 'Sc': 10940, + 'subdot': 10941, + 'supdot': 10942, + 'subplus': 10943, + 'supplus': 10944, + 'submult': 10945, + 'supmult': 10946, + 'subedot': 10947, + 'supedot': 10948, + 'subseteqq': 10949, + 'supseteqq': 10950, + 'subsim': 10951, + 'supsim': 10952, + 'subsetneqq': 10955, + 'supsetneqq': 10956, + 'csub': 10959, + 'csup': 10960, + 'csube': 10961, + 'csupe': 10962, + 'subsup': 10963, + 'supsub': 10964, + 'subsub': 10965, + 'supsup': 10966, + 'suphsub': 10967, + 'supdsub': 10968, + 'forkv': 10969, + 'topfork': 10970, + 'mlcp': 10971, + 'DoubleLeftTee': 10980, + 'Vdashl': 10982, + 'Barv': 10983, + 'vBar': 10984, + 'vBarv': 10985, + 'Vbar': 10987, + 'Not': 10988, + 'bNot': 10989, + 'rnmid': 10990, + 'cirmid': 10991, + 'midcir': 10992, + 'topcir': 10993, + 'nhpar': 10994, + 'parsim': 10995, + 'parsl': 11005, + 'fflig': 64256, + 'filig': 64257, + 'fllig': 64258, + 'ffilig': 64259, + 'ffllig': 64260, + 'Ascr': 119964, + 'Cscr': 119966, + 'Dscr': 119967, + 'Gscr': 119970, + 'Jscr': 119973, + 'Kscr': 119974, + 'Nscr': 119977, + 'Oscr': 119978, + 'Pscr': 119979, + 'Qscr': 119980, + 'Sscr': 119982, + 'Tscr': 119983, + 'Uscr': 119984, + 'Vscr': 119985, + 'Wscr': 119986, + 'Xscr': 119987, + 'Yscr': 119988, + 'Zscr': 119989, + 'ascr': 119990, + 'bscr': 119991, + 'cscr': 119992, + 'dscr': 119993, + 'fscr': 119995, + 'hscr': 119997, + 'iscr': 119998, + 'jscr': 119999, + 'kscr': 120000, + 'lscr': 120001, + 'mscr': 120002, + 'nscr': 120003, + 'pscr': 120005, + 'qscr': 120006, + 'rscr': 120007, + 'sscr': 120008, + 'tscr': 120009, + 'uscr': 120010, + 'vscr': 120011, + 'wscr': 120012, + 'xscr': 120013, + 'yscr': 120014, + 'zscr': 120015, + 'Afr': 120068, + 'Bfr': 120069, + 'Dfr': 120071, + 'Efr': 120072, + 'Ffr': 120073, + 'Gfr': 120074, + 'Jfr': 120077, + 'Kfr': 120078, + 'Lfr': 120079, + 'Mfr': 120080, + 'Nfr': 120081, + 'Ofr': 120082, + 'Pfr': 120083, + 'Qfr': 120084, + 'Sfr': 120086, + 'Tfr': 120087, + 'Ufr': 120088, + 'Vfr': 120089, + 'Wfr': 120090, + 'Xfr': 120091, + 'Yfr': 120092, + 'afr': 120094, + 'bfr': 120095, + 'cfr': 120096, + 'dfr': 120097, + 'efr': 120098, + 'ffr': 120099, + 'gfr': 120100, + 'hfr': 120101, + 'ifr': 120102, + 'jfr': 120103, + 'kfr': 120104, + 'lfr': 120105, + 'mfr': 120106, + 'nfr': 120107, + 'ofr': 120108, + 'pfr': 120109, + 'qfr': 120110, + 'rfr': 120111, + 'sfr': 120112, + 'tfr': 120113, + 'ufr': 120114, + 'vfr': 120115, + 'wfr': 120116, + 'xfr': 120117, + 'yfr': 120118, + 'zfr': 120119, + 'Aopf': 120120, + 'Bopf': 120121, + 'Dopf': 120123, + 'Eopf': 120124, + 'Fopf': 120125, + 'Gopf': 120126, + 'Iopf': 120128, + 'Jopf': 120129, + 'Kopf': 120130, + 'Lopf': 120131, + 'Mopf': 120132, + 'Oopf': 120134, + 'Sopf': 120138, + 'Topf': 120139, + 'Uopf': 120140, + 'Vopf': 120141, + 'Wopf': 120142, + 'Xopf': 120143, + 'Yopf': 120144, + 'aopf': 120146, + 'bopf': 120147, + 'copf': 120148, + 'dopf': 120149, + 'eopf': 120150, + 'fopf': 120151, + 'gopf': 120152, + 'hopf': 120153, + 'iopf': 120154, + 'jopf': 120155, + 'kopf': 120156, + 'lopf': 120157, + 'mopf': 120158, + 'nopf': 120159, + 'oopf': 120160, + 'popf': 120161, + 'qopf': 120162, + 'ropf': 120163, + 'sopf': 120164, + 'topf': 120165, + 'uopf': 120166, + 'vopf': 120167, + 'wopf': 120168, + 'xopf': 120169, + 'yopf': 120170, + 'zopf': 120171 }; var specialCharEntities = { From 720692c09c220cfeaf9bf65a8cf5c2250401c32c Mon Sep 17 00:00:00 2001 From: Andreas Lind Petersen Date: Thu, 29 Sep 2011 11:40:04 +0200 Subject: [PATCH 3/6] jsdom/browser/htmlencoding.js: Changed the (entity name => char code) map to (entity => char) to avoid an unnecessary String.fromCharCode call. Tightened up the HTMLDecode function. --- lib/jsdom/browser/htmlencoding.js | 2959 ++++++++++++++--------------- 1 file changed, 1476 insertions(+), 1483 deletions(-) diff --git a/lib/jsdom/browser/htmlencoding.js b/lib/jsdom/browser/htmlencoding.js index a63888fd67..b701b94c06 100644 --- a/lib/jsdom/browser/htmlencoding.js +++ b/lib/jsdom/browser/htmlencoding.js @@ -1,1467 +1,1467 @@ -var entityCharCodes = { - 'quot': 34, - 'amp': 38, - 'apos': 39, - 'lt': 60, - 'gt': 62, - 'nbsp': 160, - 'iexcl': 161, - 'cent': 162, - 'pound': 163, - 'curren': 164, - 'yen': 165, - 'brvbar': 166, - 'sect': 167, - 'uml': 168, - 'copy': 169, - 'ordf': 170, - 'laquo': 171, - 'not': 172, - 'shy': 173, - 'reg': 174, - 'macr': 175, // http://www.w3.org/TR/html4/sgml/entities.html - 'strns': 175, // http://www.w3.org/TR/html5/named-character-references.html - 'deg': 176, - 'plusmn': 177, // http://www.w3.org/TR/html4/sgml/entities.html - 'pm': 177, // http://www.w3.org/TR/html5/named-character-references.html - 'sup2': 178, - 'sup3': 179, - 'acute': 180, - 'micro': 181, - 'para': 182, - 'middot': 183, - 'cedil': 184, - 'sup1': 185, - 'ordm': 186, - 'raquo': 187, - 'frac14': 188, - 'half': 189, // http://www.w3.org/TR/html4/sgml/entities.html - 'frac12': 189, // http://www.w3.org/TR/html5/named-character-references.html - 'frac34': 190, - 'iquest': 191, - 'Agrave': 192, - 'Aacute': 193, - 'Acirc': 194, - 'Atilde': 195, - 'Auml': 196, - 'Aring': 197, // http://www.w3.org/TR/html4/sgml/entities.html - 'angst': 197, // http://www.w3.org/TR/html5/named-character-references.html - 'AElig': 198, - 'Ccedil': 199, - 'Egrave': 200, - 'Eacute': 201, - 'Ecirc': 202, - 'Euml': 203, - 'Igrave': 204, - 'Iacute': 205, - 'Icirc': 206, - 'Iuml': 207, - 'ETH': 208, - 'Ntilde': 209, - 'Ograve': 210, - 'Oacute': 211, - 'Ocirc': 212, - 'Otilde': 213, - 'Ouml': 214, - 'times': 215, - 'Oslash': 216, - 'Ugrave': 217, - 'Uacute': 218, - 'Ucirc': 219, - 'Uuml': 220, - 'Yacute': 221, - 'THORN': 222, - 'szlig': 223, - 'agrave': 224, - 'aacute': 225, - 'acirc': 226, - 'atilde': 227, - 'auml': 228, - 'aring': 229, - 'aelig': 230, - 'ccedil': 231, - 'egrave': 232, - 'eacute': 233, - 'ecirc': 234, - 'euml': 235, - 'igrave': 236, - 'iacute': 237, - 'icirc': 238, - 'iuml': 239, - 'eth': 240, - 'ntilde': 241, - 'ograve': 242, - 'oacute': 243, - 'ocirc': 244, - 'otilde': 245, - 'ouml': 246, - 'divide': 247, - 'oslash': 248, - 'ugrave': 249, - 'uacute': 250, - 'ucirc': 251, - 'uuml': 252, - 'yacute': 253, - 'thorn': 254, - 'yuml': 255, - 'Amacr': 256, - 'amacr': 257, - 'Abreve': 258, - 'abreve': 259, - 'Aogon': 260, - 'aogon': 261, - 'Cacute': 262, - 'cacute': 263, - 'Ccirc': 264, - 'ccirc': 265, - 'Cdot': 266, - 'cdot': 267, - 'Ccaron': 268, - 'ccaron': 269, - 'Dcaron': 270, - 'dcaron': 271, - 'Dstrok': 272, - 'dstrok': 273, - 'Emacr': 274, - 'emacr': 275, - 'Edot': 278, - 'edot': 279, - 'Eogon': 280, - 'eogon': 281, - 'Ecaron': 282, - 'ecaron': 283, - 'Gcirc': 284, - 'gcirc': 285, - 'Gbreve': 286, - 'gbreve': 287, - 'Gdot': 288, - 'gdot': 289, - 'Gcedil': 290, - 'Hcirc': 292, - 'hcirc': 293, - 'Hstrok': 294, - 'hstrok': 295, - 'Itilde': 296, - 'itilde': 297, - 'Imacr': 298, - 'imacr': 299, - 'Iogon': 302, - 'iogon': 303, - 'Idot': 304, - 'inodot': 305, - 'IJlig': 306, - 'ijlig': 307, - 'Jcirc': 308, - 'jcirc': 309, - 'Kcedil': 310, - 'kcedil': 311, - 'kgreen': 312, - 'Lacute': 313, - 'lacute': 314, - 'Lcedil': 315, - 'lcedil': 316, - 'Lcaron': 317, - 'lcaron': 318, - 'Lmidot': 319, - 'lmidot': 320, - 'Lstrok': 321, - 'lstrok': 322, - 'Nacute': 323, - 'nacute': 324, - 'Ncedil': 325, - 'ncedil': 326, - 'Ncaron': 327, - 'ncaron': 328, - 'napos': 329, - 'ENG': 330, - 'eng': 331, - 'Omacr': 332, - 'omacr': 333, - 'Odblac': 336, - 'odblac': 337, - 'OElig': 338, - 'oelig': 339, - 'Racute': 340, - 'racute': 341, - 'Rcedil': 342, - 'rcedil': 343, - 'Rcaron': 344, - 'rcaron': 345, - 'Sacute': 346, - 'sacute': 347, - 'Scirc': 348, - 'scirc': 349, - 'Scedil': 350, - 'scedil': 351, - 'Scaron': 352, - 'scaron': 353, - 'Tcedil': 354, - 'tcedil': 355, - 'Tcaron': 356, - 'tcaron': 357, - 'Tstrok': 358, - 'tstrok': 359, - 'Utilde': 360, - 'utilde': 361, - 'Umacr': 362, - 'umacr': 363, - 'Ubreve': 364, - 'ubreve': 365, - 'Uring': 366, - 'uring': 367, - 'Udblac': 368, - 'udblac': 369, - 'Uogon': 370, - 'uogon': 371, - 'Wcirc': 372, - 'wcirc': 373, - 'Ycirc': 374, - 'ycirc': 375, - 'Yuml': 376, - 'Zacute': 377, - 'zacute': 378, - 'Zdot': 379, - 'zdot': 380, - 'Zcaron': 381, - 'zcaron': 382, - 'fnof': 402, - 'imped': 437, - 'gacute': 501, - 'jmath': 567, - 'circ': 710, - 'caron': 711, - 'breve': 728, - 'dot': 729, - 'ring': 730, - 'ogon': 731, - 'tilde': 732, - 'dblac': 733, - 'Alpha': 913, - 'Beta': 914, - 'Gamma': 915, - 'Delta': 916, - 'Epsilon': 917, - 'Zeta': 918, - 'Eta': 919, - 'Theta': 920, - 'Iota': 921, - 'Kappa': 922, - 'Lambda': 923, - 'Mu': 924, - 'Nu': 925, - 'Xi': 926, - 'Omicron': 927, - 'Pi': 928, - 'Rho': 929, - 'Sigma': 931, - 'Tau': 932, - 'Upsilon': 933, - 'Phi': 934, - 'Chi': 935, - 'Psi': 936, - 'Omega': 937, // http://www.w3.org/TR/html4/sgml/entities.html - 'ohm': 937, // http://www.w3.org/TR/html5/named-character-references.html - 'alpha': 945, - 'beta': 946, - 'gamma': 947, - 'delta': 948, - 'epsilon': 949, - 'zeta': 950, - 'eta': 951, - 'theta': 952, - 'iota': 953, - 'kappa': 954, - 'lambda': 955, - 'mu': 956, - 'nu': 957, - 'xi': 958, - 'omicron': 959, - 'pi': 960, - 'rho': 961, - 'sigmaf': 962, // http://www.w3.org/TR/html4/sgml/entities.html - 'varsigma': 962, // http://www.w3.org/TR/html5/named-character-references.html - 'sigma': 963, - 'tau': 964, - 'upsilon': 965, - 'phi': 966, - 'chi': 967, - 'psi': 968, - 'omega': 969, - 'thetasym': 977, // http://www.w3.org/TR/html4/sgml/entities.html - 'vartheta': 977, // http://www.w3.org/TR/html5/named-character-references.html - 'upsih': 978, - 'varphi': 981, - 'piv': 982, // http://www.w3.org/TR/html4/sgml/entities.html - 'varpi': 982, // http://www.w3.org/TR/html5/named-character-references.html - 'Gammad': 988, - 'gammad': 989, - 'varkappa': 1008, - 'varrho': 1009, - 'varepsilon': 1013, - 'bepsi': 1014, - 'IOcy': 1025, - 'DJcy': 1026, - 'GJcy': 1027, - 'Jukcy': 1028, - 'DScy': 1029, - 'Iukcy': 1030, - 'YIcy': 1031, - 'Jsercy': 1032, - 'LJcy': 1033, - 'NJcy': 1034, - 'TSHcy': 1035, - 'KJcy': 1036, - 'Ubrcy': 1038, - 'DZcy': 1039, - 'Acy': 1040, - 'Bcy': 1041, - 'Vcy': 1042, - 'Gcy': 1043, - 'Dcy': 1044, - 'IEcy': 1045, - 'ZHcy': 1046, - 'Zcy': 1047, - 'Icy': 1048, - 'Jcy': 1049, - 'Kcy': 1050, - 'Lcy': 1051, - 'Mcy': 1052, - 'Ncy': 1053, - 'Ocy': 1054, - 'Pcy': 1055, - 'Rcy': 1056, - 'Scy': 1057, - 'Tcy': 1058, - 'Ucy': 1059, - 'Fcy': 1060, - 'KHcy': 1061, - 'TScy': 1062, - 'CHcy': 1063, - 'SHcy': 1064, - 'SHCHcy': 1065, - 'HARDcy': 1066, - 'Ycy': 1067, - 'SOFTcy': 1068, - 'Ecy': 1069, - 'YUcy': 1070, - 'YAcy': 1071, - 'acy': 1072, - 'bcy': 1073, - 'vcy': 1074, - 'gcy': 1075, - 'dcy': 1076, - 'iecy': 1077, - 'zhcy': 1078, - 'zcy': 1079, - 'icy': 1080, - 'jcy': 1081, - 'kcy': 1082, - 'lcy': 1083, - 'mcy': 1084, - 'ncy': 1085, - 'ocy': 1086, - 'pcy': 1087, - 'rcy': 1088, - 'scy': 1089, - 'tcy': 1090, - 'ucy': 1091, - 'fcy': 1092, - 'khcy': 1093, - 'tscy': 1094, - 'chcy': 1095, - 'shcy': 1096, - 'shchcy': 1097, - 'hardcy': 1098, - 'ycy': 1099, - 'softcy': 1100, - 'ecy': 1101, - 'yucy': 1102, - 'yacy': 1103, - 'iocy': 1105, - 'djcy': 1106, - 'gjcy': 1107, - 'jukcy': 1108, - 'dscy': 1109, - 'iukcy': 1110, - 'yicy': 1111, - 'jsercy': 1112, - 'ljcy': 1113, - 'njcy': 1114, - 'tshcy': 1115, - 'kjcy': 1116, - 'ubrcy': 1118, - 'dzcy': 1119, - 'ensp': 8194, - 'emsp': 8195, - 'emsp13': 8196, - 'emsp14': 8197, - 'numsp': 8199, - 'puncsp': 8200, - 'thinsp': 8201, - 'hairsp': 8202, - 'ZeroWidthSpace': 8203, - 'zwnj': 8204, - 'zwj': 8205, - 'lrm': 8206, - 'rlm': 8207, - 'hyphen': 8208, - 'ndash': 8211, - 'mdash': 8212, - 'horbar': 8213, - 'Vert': 8214, - 'lsquo': 8216, - 'rsquo': 8217, // http://www.w3.org/TR/html4/sgml/entities.html - 'rsquor': 8217, // http://www.w3.org/TR/html5/named-character-references.html - 'sbquo': 8218, - 'ldquo': 8220, - 'rdquo': 8221, // http://www.w3.org/TR/html4/sgml/entities.html - 'rdquor': 8221, // http://www.w3.org/TR/html5/named-character-references.html - 'ldquo': 8222, // http://www.w3.org/TR/html4/sgml/entities.html - 'ldquor': 8222, // http://www.w3.org/TR/html5/named-character-references.html - 'dagger': 8224, - 'Dagger': 8225, // http://www.w3.org/TR/html4/sgml/entities.html - 'ddagger': 8225, // http://www.w3.org/TR/html5/named-character-references.html - 'bull': 8226, // http://www.w3.org/TR/html4/sgml/entities.html - 'bullet': 8226, // http://www.w3.org/TR/html5/named-character-references.html - 'nldr': 8229, - 'hellip': 8230, // http://www.w3.org/TR/html4/sgml/entities.html - 'mldr': 8230, // http://www.w3.org/TR/html5/named-character-references.html - 'permil': 8240, - 'pertenk': 8241, - 'prime': 8242, - 'Prime': 8243, - 'tprime': 8244, - 'bprime': 8245, - 'lsaquo': 8249, - 'rsaquo': 8250, - 'oline': 8254, - 'caret': 8257, - 'hybull': 8259, - 'frasl': 8260, - 'bsemi': 8271, - 'qprime': 8279, - 'MediumSpace': 8287, - 'NoBreak': 8288, - 'af': 8289, - 'it': 8290, - 'ic': 8291, - 'euro': 8364, - 'complexes': 8450, - 'incare': 8453, - 'gscr': 8458, - 'hamilt': 8459, - 'Poincareplane': 8460, - 'quaternions': 8461, - 'planckh': 8462, - 'plankv': 8463, - 'imagline': 8464, - 'image': 8465, // http://www.w3.org/TR/html4/sgml/entities.html - 'imagpart': 8465, // http://www.w3.org/TR/html5/named-character-references.html - 'lagran': 8466, - 'ell': 8467, - 'naturals': 8469, - 'numero': 8470, - 'copysr': 8471, - 'weierp': 8472, // http://www.w3.org/TR/html4/sgml/entities.html - 'wp': 8472, // http://www.w3.org/TR/html5/named-character-references.html - 'primes': 8473, - 'rationals': 8474, - 'realine': 8475, - 'real': 8476, // http://www.w3.org/TR/html4/sgml/entities.html - 'realpart': 8476, // http://www.w3.org/TR/html5/named-character-references.html - 'reals': 8477, - 'rx': 8478, - 'trade': 8482, - 'integers': 8484, - 'mho': 8487, - 'zeetrf': 8488, - 'iiota': 8489, - 'bernou': 8492, - 'Cfr': 8493, - 'escr': 8495, - 'expectation': 8496, - 'Fscr': 8497, - 'phmmat': 8499, - 'oscr': 8500, - 'alefsym': 8501, // http://www.w3.org/TR/html4/sgml/entities.html - 'aleph': 8501, // http://www.w3.org/TR/html5/named-character-references.html - 'beth': 8502, - 'gimel': 8503, - 'daleth': 8504, - 'DD': 8517, - 'dd': 8518, - 'exponentiale': 8519, - 'ii': 8520, - 'frac13': 8531, - 'frac23': 8532, - 'frac15': 8533, - 'frac25': 8534, - 'frac35': 8535, - 'frac45': 8536, - 'frac16': 8537, - 'frac56': 8538, - 'frac18': 8539, - 'frac38': 8540, - 'frac58': 8541, - 'frac78': 8542, - 'larr': 8592, // http://www.w3.org/TR/html4/sgml/entities.html - 'slarr': 8592, // http://www.w3.org/TR/html5/named-character-references.html - 'uarr': 8593, // http://www.w3.org/TR/html4/sgml/entities.html - 'uparrow': 8593, // http://www.w3.org/TR/html5/named-character-references.html - 'rarr': 8594, // http://www.w3.org/TR/html4/sgml/entities.html - 'srarr': 8594, // http://www.w3.org/TR/html5/named-character-references.html - 'darr': 8595, // http://www.w3.org/TR/html4/sgml/entities.html - 'downarrow': 8595, // http://www.w3.org/TR/html5/named-character-references.html - 'harr': 8596, // http://www.w3.org/TR/html4/sgml/entities.html - 'leftrightarrow': 8596, // http://www.w3.org/TR/html5/named-character-references.html - 'varr': 8597, - 'nwarrow': 8598, - 'nearrow': 8599, - 'searrow': 8600, - 'swarrow': 8601, - 'nleftarrow': 8602, - 'nrightarrow': 8603, - 'rightsquigarrow': 8605, - 'twoheadleftarrow': 8606, - 'Uarr': 8607, - 'twoheadrightarrow': 8608, - 'Darr': 8609, - 'leftarrowtail': 8610, - 'rightarrowtail': 8611, - 'mapstoleft': 8612, - 'mapstoup': 8613, - 'mapsto': 8614, - 'mapstodown': 8615, - 'larrhk': 8617, - 'rarrhk': 8618, - 'looparrowleft': 8619, - 'rarrlp': 8620, - 'leftrightsquigarrow': 8621, - 'nleftrightarrow': 8622, - 'lsh': 8624, - 'rsh': 8625, - 'ldsh': 8626, - 'rdsh': 8627, - 'crarr': 8629, - 'curvearrowleft': 8630, - 'curvearrowright': 8631, - 'olarr': 8634, - 'orarr': 8635, - 'lharu': 8636, - 'lhard': 8637, - 'upharpoonright': 8638, - 'upharpoonleft': 8639, - 'rightharpoonup': 8640, - 'rightharpoondown': 8641, - 'downharpoonright': 8642, - 'downharpoonleft': 8643, - 'rlarr': 8644, - 'udarr': 8645, - 'lrarr': 8646, - 'llarr': 8647, - 'uuarr': 8648, - 'rrarr': 8649, - 'downdownarrows': 8650, - 'lrhar': 8651, - 'rlhar': 8652, - 'nlArr': 8653, - 'nhArr': 8654, - 'nrArr': 8655, - 'lArr': 8656, - 'uArr': 8657, - 'rArr': 8658, - 'dArr': 8659, - 'hArr': 8660, // http://www.w3.org/TR/html4/sgml/entities.html - 'iff': 8660, // http://www.w3.org/TR/html5/named-character-references.html - 'vArr': 8661, - 'nwArr': 8662, - 'neArr': 8663, - 'seArr': 8664, - 'swArr': 8665, - 'lAarr': 8666, - 'rAarr': 8667, - 'zigrarr': 8669, - 'larrb': 8676, - 'rarrb': 8677, - 'duarr': 8693, - 'loarr': 8701, - 'roarr': 8702, - 'hoarr': 8703, - 'forall': 8704, - 'complement': 8705, - 'part': 8706, - 'exist': 8707, - 'nexists': 8708, - 'empty': 8709, // http://www.w3.org/TR/html4/sgml/entities.html - 'varnothing': 8709, // http://www.w3.org/TR/html5/named-character-references.html - 'nabla': 8711, - 'isin': 8712, // http://www.w3.org/TR/html4/sgml/entities.html - 'isinv': 8712, // http://www.w3.org/TR/html5/named-character-references.html - 'notin': 8713, // http://www.w3.org/TR/html4/sgml/entities.html - 'notinva': 8713, // http://www.w3.org/TR/html5/named-character-references.html - 'ni': 8715, // http://www.w3.org/TR/html4/sgml/entities.html - 'niv': 8715, // http://www.w3.org/TR/html5/named-character-references.html - 'notniva': 8716, - 'prod': 8719, - 'coprod': 8720, - 'sum': 8721, - 'minus': 8722, - 'mp': 8723, - 'plusdo': 8724, - 'ssetmn': 8726, - 'lowast': 8727, - 'compfn': 8728, - 'radic': 8730, - 'prop': 8733, // http://www.w3.org/TR/html4/sgml/entities.html - 'vprop': 8733, // http://www.w3.org/TR/html5/named-character-references.html - 'infin': 8734, - 'angrt': 8735, - 'ang': 8736, // http://www.w3.org/TR/html4/sgml/entities.html - 'angle': 8736, // http://www.w3.org/TR/html5/named-character-references.html - 'measuredangle': 8737, - 'angsph': 8738, - 'smid': 8739, - 'nsmid': 8740, - 'spar': 8741, - 'nspar': 8742, - 'and': 8743, // http://www.w3.org/TR/html4/sgml/entities.html - 'wedge': 8743, // http://www.w3.org/TR/html5/named-character-references.html - 'or': 8744, // http://www.w3.org/TR/html4/sgml/entities.html - 'vee': 8744, // http://www.w3.org/TR/html5/named-character-references.html - 'cap': 8745, - 'cup': 8746, - 'int': 8747, - 'Int': 8748, - 'tint': 8749, - 'oint': 8750, - 'DoubleContourIntegral': 8751, - 'Cconint': 8752, - 'cwint': 8753, - 'cwconint': 8754, - 'awconint': 8755, - 'there4': 8756, // http://www.w3.org/TR/html4/sgml/entities.html - 'therefore': 8756, // http://www.w3.org/TR/html5/named-character-references.html - 'because': 8757, - 'ratio': 8758, - 'Proportion': 8759, - 'minusd': 8760, - 'mDDot': 8762, - 'homtht': 8763, - 'sim': 8764, // http://www.w3.org/TR/html4/sgml/entities.html - 'thksim': 8764, // http://www.w3.org/TR/html5/named-character-references.html - 'bsim': 8765, - 'mstpos': 8766, - 'acd': 8767, - 'wreath': 8768, - 'nsim': 8769, - 'esim': 8770, - 'simeq': 8771, - 'nsimeq': 8772, - 'cong': 8773, - 'simne': 8774, - 'ncong': 8775, - 'asymp': 8776, // http://www.w3.org/TR/html4/sgml/entities.html - 'thkap': 8776, // http://www.w3.org/TR/html5/named-character-references.html - 'napprox': 8777, - 'approxeq': 8778, - 'apid': 8779, - 'bcong': 8780, - 'asympeq': 8781, - 'bump': 8782, - 'bumpeq': 8783, - 'esdot': 8784, - 'eDot': 8785, - 'fallingdotseq': 8786, - 'risingdotseq': 8787, - 'coloneq': 8788, - 'eqcolon': 8789, - 'eqcirc': 8790, - 'cire': 8791, - 'wedgeq': 8793, - 'veeeq': 8794, - 'trie': 8796, - 'questeq': 8799, - 'ne': 8800, - 'equiv': 8801, - 'nequiv': 8802, - 'le': 8804, // http://www.w3.org/TR/html4/sgml/entities.html - 'leq': 8804, // http://www.w3.org/TR/html5/named-character-references.html - 'ge': 8805, // http://www.w3.org/TR/html4/sgml/entities.html - 'geq': 8805, // http://www.w3.org/TR/html5/named-character-references.html - 'leqq': 8806, - 'geqq': 8807, - 'lneqq': 8808, - 'gneqq': 8809, - 'll': 8810, - 'gg': 8811, - 'twixt': 8812, - 'NotCupCap': 8813, - 'nlt': 8814, - 'ngtr': 8815, - 'nleq': 8816, - 'ngeq': 8817, - 'lsim': 8818, - 'gtrsim': 8819, - 'nlsim': 8820, - 'ngsim': 8821, - 'lg': 8822, - 'gtrless': 8823, - 'ntlg': 8824, - 'ntgl': 8825, - 'prec': 8826, - 'succ': 8827, - 'preccurlyeq': 8828, - 'succcurlyeq': 8829, - 'prsim': 8830, - 'succsim': 8831, - 'nprec': 8832, - 'nsucc': 8833, - 'sub': 8834, // http://www.w3.org/TR/html4/sgml/entities.html - 'subset': 8834, // http://www.w3.org/TR/html5/named-character-references.html - 'sup': 8835, // http://www.w3.org/TR/html4/sgml/entities.html - 'supset': 8835, // http://www.w3.org/TR/html5/named-character-references.html - 'nsub': 8836, - 'nsup': 8837, - 'sube': 8838, // http://www.w3.org/TR/html4/sgml/entities.html - 'subseteq': 8838, // http://www.w3.org/TR/html5/named-character-references.html - 'supe': 8839, // http://www.w3.org/TR/html4/sgml/entities.html - 'supseteq': 8839, // http://www.w3.org/TR/html5/named-character-references.html - 'nsubseteq': 8840, - 'nsupseteq': 8841, - 'subsetneq': 8842, - 'supsetneq': 8843, - 'cupdot': 8845, - 'uplus': 8846, - 'sqsubset': 8847, - 'sqsupset': 8848, - 'sqsubseteq': 8849, - 'sqsupseteq': 8850, - 'sqcap': 8851, - 'sqcup': 8852, - 'oplus': 8853, - 'ominus': 8854, - 'otimes': 8855, - 'osol': 8856, - 'odot': 8857, - 'ocir': 8858, - 'oast': 8859, - 'odash': 8861, - 'plusb': 8862, - 'minusb': 8863, - 'timesb': 8864, - 'sdotb': 8865, - 'vdash': 8866, - 'dashv': 8867, - 'top': 8868, - 'perp': 8869, - 'models': 8871, - 'vDash': 8872, - 'Vdash': 8873, - 'Vvdash': 8874, - 'VDash': 8875, - 'nvdash': 8876, - 'nvDash': 8877, - 'nVdash': 8878, - 'nVDash': 8879, - 'prurel': 8880, - 'vltri': 8882, - 'vrtri': 8883, - 'trianglelefteq': 8884, - 'trianglerighteq': 8885, - 'origof': 8886, - 'imof': 8887, - 'mumap': 8888, - 'hercon': 8889, - 'intercal': 8890, - 'veebar': 8891, - 'barvee': 8893, - 'angrtvb': 8894, - 'lrtri': 8895, - 'xwedge': 8896, - 'xvee': 8897, - 'xcap': 8898, - 'xcup': 8899, - 'diamond': 8900, - 'sdot': 8901, - 'sstarf': 8902, - 'divonx': 8903, - 'bowtie': 8904, - 'ltimes': 8905, - 'rtimes': 8906, - 'lthree': 8907, - 'rthree': 8908, - 'bsime': 8909, - 'cuvee': 8910, - 'cuwed': 8911, - 'Subset': 8912, - 'Supset': 8913, - 'Cap': 8914, - 'Cup': 8915, - 'pitchfork': 8916, - 'epar': 8917, - 'ltdot': 8918, - 'gtrdot': 8919, - 'Ll': 8920, - 'ggg': 8921, - 'lesseqgtr': 8922, - 'gtreqless': 8923, - 'curlyeqprec': 8926, - 'curlyeqsucc': 8927, - 'nprcue': 8928, - 'nsccue': 8929, - 'nsqsube': 8930, - 'nsqsupe': 8931, - 'lnsim': 8934, - 'gnsim': 8935, - 'prnsim': 8936, - 'succnsim': 8937, - 'ntriangleleft': 8938, - 'ntriangleright': 8939, - 'ntrianglelefteq': 8940, - 'ntrianglerighteq': 8941, - 'vellip': 8942, - 'ctdot': 8943, - 'utdot': 8944, - 'dtdot': 8945, - 'disin': 8946, - 'isinsv': 8947, - 'isins': 8948, - 'isindot': 8949, - 'notinvc': 8950, - 'notinvb': 8951, - 'isinE': 8953, - 'nisd': 8954, - 'xnis': 8955, - 'nis': 8956, - 'notnivc': 8957, - 'notnivb': 8958, - 'barwedge': 8965, - 'doublebarwedge': 8966, - 'lceil': 8968, - 'rceil': 8969, - 'lfloor': 8970, - 'rfloor': 8971, - 'drcrop': 8972, - 'dlcrop': 8973, - 'urcrop': 8974, - 'ulcrop': 8975, - 'bnot': 8976, - 'profline': 8978, - 'profsurf': 8979, - 'telrec': 8981, - 'target': 8982, - 'ulcorner': 8988, - 'urcorner': 8989, - 'llcorner': 8990, - 'lrcorner': 8991, - 'sfrown': 8994, - 'ssmile': 8995, - 'lang': 9001, // http://www.w3.org/TR/html4/sgml/entities.html - 'rang': 9002, // http://www.w3.org/TR/html4/sgml/entities.html - 'cylcty': 9005, - 'profalar': 9006, - 'topbot': 9014, - 'ovbar': 9021, - 'solbar': 9023, - 'angzarr': 9084, - 'lmoustache': 9136, - 'rmoustache': 9137, - 'tbrk': 9140, - 'bbrk': 9141, - 'bbrktbrk': 9142, - 'OverParenthesis': 9180, - 'UnderParenthesis': 9181, - 'OverBrace': 9182, - 'UnderBrace': 9183, - 'trpezium': 9186, - 'elinters': 9191, - 'blank': 9251, - 'oS': 9416, - 'boxh': 9472, - 'boxv': 9474, - 'boxdr': 9484, - 'boxdl': 9488, - 'boxur': 9492, - 'boxul': 9496, - 'boxvr': 9500, - 'boxvl': 9508, - 'boxhd': 9516, - 'boxhu': 9524, - 'boxvh': 9532, - 'boxH': 9552, - 'boxV': 9553, - 'boxdR': 9554, - 'boxDr': 9555, - 'boxDR': 9556, - 'boxdL': 9557, - 'boxDl': 9558, - 'boxDL': 9559, - 'boxuR': 9560, - 'boxUr': 9561, - 'boxUR': 9562, - 'boxuL': 9563, - 'boxUl': 9564, - 'boxUL': 9565, - 'boxvR': 9566, - 'boxVr': 9567, - 'boxVR': 9568, - 'boxvL': 9569, - 'boxVl': 9570, - 'boxVL': 9571, - 'boxHd': 9572, - 'boxhD': 9573, - 'boxHD': 9574, - 'boxHu': 9575, - 'boxhU': 9576, - 'boxHU': 9577, - 'boxvH': 9578, - 'boxVh': 9579, - 'boxVH': 9580, - 'uhblk': 9600, - 'lhblk': 9604, - 'block': 9608, - 'blk14': 9617, - 'blk12': 9618, - 'blk34': 9619, - 'square': 9633, - 'squf': 9642, - 'EmptyVerySmallSquare': 9643, - 'rect': 9645, - 'marker': 9646, - 'fltns': 9649, - 'xutri': 9651, - 'utrif': 9652, - 'utri': 9653, - 'rtrif': 9656, - 'triangleright': 9657, - 'xdtri': 9661, - 'dtrif': 9662, - 'triangledown': 9663, - 'ltrif': 9666, - 'triangleleft': 9667, - 'loz': 9674, // http://www.w3.org/TR/html4/sgml/entities.html - 'lozenge': 9674, // http://www.w3.org/TR/html5/named-character-references.html - 'cir': 9675, - 'tridot': 9708, - 'xcirc': 9711, - 'ultri': 9720, - 'urtri': 9721, - 'lltri': 9722, - 'EmptySmallSquare': 9723, - 'FilledSmallSquare': 9724, - 'starf': 9733, - 'star': 9734, - 'phone': 9742, - 'female': 9792, - 'male': 9794, - 'spades': 9824, // http://www.w3.org/TR/html4/sgml/entities.html - 'spadesuit': 9824, // http://www.w3.org/TR/html5/named-character-references.html - 'clubs': 9827, // http://www.w3.org/TR/html4/sgml/entities.html - 'clubsuit': 9827, // http://www.w3.org/TR/html5/named-character-references.html - 'hearts': 9829, // http://www.w3.org/TR/html4/sgml/entities.html - 'heartsuit': 9829, // http://www.w3.org/TR/html5/named-character-references.html - 'diams': 9830, - 'sung': 9834, - 'flat': 9837, - 'natural': 9838, - 'sharp': 9839, - 'checkmark': 10003, - 'cross': 10007, - 'maltese': 10016, - 'sext': 10038, - 'VerticalSeparator': 10072, - 'lbbrk': 10098, - 'rbbrk': 10099, - 'bsolhsub': 10184, - 'suphsol': 10185, - 'lobrk': 10214, - 'robrk': 10215, - 'langle': 10216, - 'rangle': 10217, - 'Lang': 10218, - 'Rang': 10219, - 'loang': 10220, - 'roang': 10221, - 'xlarr': 10229, - 'xrarr': 10230, - 'xharr': 10231, - 'xlArr': 10232, - 'xrArr': 10233, - 'xhArr': 10234, - 'xmap': 10236, - 'dzigrarr': 10239, - 'nvlArr': 10498, - 'nvrArr': 10499, - 'nvHarr': 10500, - 'Map': 10501, - 'lbarr': 10508, - 'rbarr': 10509, - 'lBarr': 10510, - 'rBarr': 10511, - 'drbkarow': 10512, - 'DDotrahd': 10513, - 'UpArrowBar': 10514, - 'DownArrowBar': 10515, - 'Rarrtl': 10518, - 'latail': 10521, - 'ratail': 10522, - 'lAtail': 10523, - 'rAtail': 10524, - 'larrfs': 10525, - 'rarrfs': 10526, - 'larrbfs': 10527, - 'rarrbfs': 10528, - 'nwarhk': 10531, - 'nearhk': 10532, - 'searhk': 10533, - 'swarhk': 10534, - 'nwnear': 10535, - 'toea': 10536, - 'tosa': 10537, - 'swnwar': 10538, - 'rarrc': 10547, - 'cudarrr': 10549, - 'ldca': 10550, - 'rdca': 10551, - 'cudarrl': 10552, - 'larrpl': 10553, - 'curarrm': 10556, - 'cularrp': 10557, - 'rarrpl': 10565, - 'harrcir': 10568, - 'Uarrocir': 10569, - 'lurdshar': 10570, - 'ldrushar': 10571, - 'LeftRightVector': 10574, - 'RightUpDownVector': 10575, - 'DownLeftRightVector': 10576, - 'LeftUpDownVector': 10577, - 'LeftVectorBar': 10578, - 'RightVectorBar': 10579, - 'RightUpVectorBar': 10580, - 'RightDownVectorBar': 10581, - 'DownLeftVectorBar': 10582, - 'DownRightVectorBar': 10583, - 'LeftUpVectorBar': 10584, - 'LeftDownVectorBar': 10585, - 'LeftTeeVector': 10586, - 'RightTeeVector': 10587, - 'RightUpTeeVector': 10588, - 'RightDownTeeVector': 10589, - 'DownLeftTeeVector': 10590, - 'DownRightTeeVector': 10591, - 'LeftUpTeeVector': 10592, - 'LeftDownTeeVector': 10593, - 'lHar': 10594, - 'uHar': 10595, - 'rHar': 10596, - 'dHar': 10597, - 'luruhar': 10598, - 'ldrdhar': 10599, - 'ruluhar': 10600, - 'rdldhar': 10601, - 'lharul': 10602, - 'llhard': 10603, - 'rharul': 10604, - 'lrhard': 10605, - 'udhar': 10606, - 'duhar': 10607, - 'RoundImplies': 10608, - 'erarr': 10609, - 'simrarr': 10610, - 'larrsim': 10611, - 'rarrsim': 10612, - 'rarrap': 10613, - 'ltlarr': 10614, - 'gtrarr': 10616, - 'subrarr': 10617, - 'suplarr': 10619, - 'lfisht': 10620, - 'rfisht': 10621, - 'ufisht': 10622, - 'dfisht': 10623, - 'lopar': 10629, - 'ropar': 10630, - 'lbrke': 10635, - 'rbrke': 10636, - 'lbrkslu': 10637, - 'rbrksld': 10638, - 'lbrksld': 10639, - 'rbrkslu': 10640, - 'langd': 10641, - 'rangd': 10642, - 'lparlt': 10643, - 'rpargt': 10644, - 'gtlPar': 10645, - 'ltrPar': 10646, - 'vzigzag': 10650, - 'vangrt': 10652, - 'angrtvbd': 10653, - 'ange': 10660, - 'range': 10661, - 'dwangle': 10662, - 'uwangle': 10663, - 'angmsdaa': 10664, - 'angmsdab': 10665, - 'angmsdac': 10666, - 'angmsdad': 10667, - 'angmsdae': 10668, - 'angmsdaf': 10669, - 'angmsdag': 10670, - 'angmsdah': 10671, - 'bemptyv': 10672, - 'demptyv': 10673, - 'cemptyv': 10674, - 'raemptyv': 10675, - 'laemptyv': 10676, - 'ohbar': 10677, - 'omid': 10678, - 'opar': 10679, - 'operp': 10681, - 'olcross': 10683, - 'odsold': 10684, - 'olcir': 10686, - 'ofcir': 10687, - 'olt': 10688, - 'ogt': 10689, - 'cirscir': 10690, - 'cirE': 10691, - 'solb': 10692, - 'bsolb': 10693, - 'boxbox': 10697, - 'trisb': 10701, - 'rtriltri': 10702, - 'LeftTriangleBar': 10703, - 'RightTriangleBar': 10704, - 'iinfin': 10716, - 'infintie': 10717, - 'nvinfin': 10718, - 'eparsl': 10723, - 'smeparsl': 10724, - 'eqvparsl': 10725, - 'lozf': 10731, - 'RuleDelayed': 10740, - 'dsol': 10742, - 'xodot': 10752, - 'xoplus': 10753, - 'xotime': 10754, - 'xuplus': 10756, - 'xsqcup': 10758, - 'qint': 10764, - 'fpartint': 10765, - 'cirfnint': 10768, - 'awint': 10769, - 'rppolint': 10770, - 'scpolint': 10771, - 'npolint': 10772, - 'pointint': 10773, - 'quatint': 10774, - 'intlarhk': 10775, - 'pluscir': 10786, - 'plusacir': 10787, - 'simplus': 10788, - 'plusdu': 10789, - 'plussim': 10790, - 'plustwo': 10791, - 'mcomma': 10793, - 'minusdu': 10794, - 'loplus': 10797, - 'roplus': 10798, - 'Cross': 10799, - 'timesd': 10800, - 'timesbar': 10801, - 'smashp': 10803, - 'lotimes': 10804, - 'rotimes': 10805, - 'otimesas': 10806, - 'Otimes': 10807, - 'odiv': 10808, - 'triplus': 10809, - 'triminus': 10810, - 'tritime': 10811, - 'iprod': 10812, - 'amalg': 10815, - 'capdot': 10816, - 'ncup': 10818, - 'ncap': 10819, - 'capand': 10820, - 'cupor': 10821, - 'cupcap': 10822, - 'capcup': 10823, - 'cupbrcap': 10824, - 'capbrcup': 10825, - 'cupcup': 10826, - 'capcap': 10827, - 'ccups': 10828, - 'ccaps': 10829, - 'ccupssm': 10832, - 'And': 10835, - 'Or': 10836, - 'andand': 10837, - 'oror': 10838, - 'orslope': 10839, - 'andslope': 10840, - 'andv': 10842, - 'orv': 10843, - 'andd': 10844, - 'ord': 10845, - 'wedbar': 10847, - 'sdote': 10854, - 'simdot': 10858, - 'congdot': 10861, - 'easter': 10862, - 'apacir': 10863, - 'apE': 10864, - 'eplus': 10865, - 'pluse': 10866, - 'Esim': 10867, - 'Colone': 10868, - 'Equal': 10869, - 'eDDot': 10871, - 'equivDD': 10872, - 'ltcir': 10873, - 'gtcir': 10874, - 'ltquest': 10875, - 'gtquest': 10876, - 'les': 10877, - 'ges': 10878, - 'lesdot': 10879, - 'gesdot': 10880, - 'lesdoto': 10881, - 'gesdoto': 10882, - 'lesdotor': 10883, - 'gesdotol': 10884, - 'lessapprox': 10885, - 'gtrapprox': 10886, - 'lneq': 10887, - 'gneq': 10888, - 'lnapprox': 10889, - 'gnapprox': 10890, - 'lesseqqgtr': 10891, - 'gtreqqless': 10892, - 'lsime': 10893, - 'gsime': 10894, - 'lsimg': 10895, - 'gsiml': 10896, - 'lgE': 10897, - 'glE': 10898, - 'lesges': 10899, - 'gesles': 10900, - 'eqslantless': 10901, - 'eqslantgtr': 10902, - 'elsdot': 10903, - 'egsdot': 10904, - 'el': 10905, - 'eg': 10906, - 'siml': 10909, - 'simg': 10910, - 'simlE': 10911, - 'simgE': 10912, - 'LessLess': 10913, - 'GreaterGreater': 10914, - 'glj': 10916, - 'gla': 10917, - 'ltcc': 10918, - 'gtcc': 10919, - 'lescc': 10920, - 'gescc': 10921, - 'smt': 10922, - 'lat': 10923, - 'smte': 10924, - 'late': 10925, - 'bumpE': 10926, - 'preceq': 10927, - 'succeq': 10928, - 'prE': 10931, - 'scE': 10932, - 'prnE': 10933, - 'succneqq': 10934, - 'precapprox': 10935, - 'succapprox': 10936, - 'prnap': 10937, - 'succnapprox': 10938, - 'Pr': 10939, - 'Sc': 10940, - 'subdot': 10941, - 'supdot': 10942, - 'subplus': 10943, - 'supplus': 10944, - 'submult': 10945, - 'supmult': 10946, - 'subedot': 10947, - 'supedot': 10948, - 'subseteqq': 10949, - 'supseteqq': 10950, - 'subsim': 10951, - 'supsim': 10952, - 'subsetneqq': 10955, - 'supsetneqq': 10956, - 'csub': 10959, - 'csup': 10960, - 'csube': 10961, - 'csupe': 10962, - 'subsup': 10963, - 'supsub': 10964, - 'subsub': 10965, - 'supsup': 10966, - 'suphsub': 10967, - 'supdsub': 10968, - 'forkv': 10969, - 'topfork': 10970, - 'mlcp': 10971, - 'DoubleLeftTee': 10980, - 'Vdashl': 10982, - 'Barv': 10983, - 'vBar': 10984, - 'vBarv': 10985, - 'Vbar': 10987, - 'Not': 10988, - 'bNot': 10989, - 'rnmid': 10990, - 'cirmid': 10991, - 'midcir': 10992, - 'topcir': 10993, - 'nhpar': 10994, - 'parsim': 10995, - 'parsl': 11005, - 'fflig': 64256, - 'filig': 64257, - 'fllig': 64258, - 'ffilig': 64259, - 'ffllig': 64260, - 'Ascr': 119964, - 'Cscr': 119966, - 'Dscr': 119967, - 'Gscr': 119970, - 'Jscr': 119973, - 'Kscr': 119974, - 'Nscr': 119977, - 'Oscr': 119978, - 'Pscr': 119979, - 'Qscr': 119980, - 'Sscr': 119982, - 'Tscr': 119983, - 'Uscr': 119984, - 'Vscr': 119985, - 'Wscr': 119986, - 'Xscr': 119987, - 'Yscr': 119988, - 'Zscr': 119989, - 'ascr': 119990, - 'bscr': 119991, - 'cscr': 119992, - 'dscr': 119993, - 'fscr': 119995, - 'hscr': 119997, - 'iscr': 119998, - 'jscr': 119999, - 'kscr': 120000, - 'lscr': 120001, - 'mscr': 120002, - 'nscr': 120003, - 'pscr': 120005, - 'qscr': 120006, - 'rscr': 120007, - 'sscr': 120008, - 'tscr': 120009, - 'uscr': 120010, - 'vscr': 120011, - 'wscr': 120012, - 'xscr': 120013, - 'yscr': 120014, - 'zscr': 120015, - 'Afr': 120068, - 'Bfr': 120069, - 'Dfr': 120071, - 'Efr': 120072, - 'Ffr': 120073, - 'Gfr': 120074, - 'Jfr': 120077, - 'Kfr': 120078, - 'Lfr': 120079, - 'Mfr': 120080, - 'Nfr': 120081, - 'Ofr': 120082, - 'Pfr': 120083, - 'Qfr': 120084, - 'Sfr': 120086, - 'Tfr': 120087, - 'Ufr': 120088, - 'Vfr': 120089, - 'Wfr': 120090, - 'Xfr': 120091, - 'Yfr': 120092, - 'afr': 120094, - 'bfr': 120095, - 'cfr': 120096, - 'dfr': 120097, - 'efr': 120098, - 'ffr': 120099, - 'gfr': 120100, - 'hfr': 120101, - 'ifr': 120102, - 'jfr': 120103, - 'kfr': 120104, - 'lfr': 120105, - 'mfr': 120106, - 'nfr': 120107, - 'ofr': 120108, - 'pfr': 120109, - 'qfr': 120110, - 'rfr': 120111, - 'sfr': 120112, - 'tfr': 120113, - 'ufr': 120114, - 'vfr': 120115, - 'wfr': 120116, - 'xfr': 120117, - 'yfr': 120118, - 'zfr': 120119, - 'Aopf': 120120, - 'Bopf': 120121, - 'Dopf': 120123, - 'Eopf': 120124, - 'Fopf': 120125, - 'Gopf': 120126, - 'Iopf': 120128, - 'Jopf': 120129, - 'Kopf': 120130, - 'Lopf': 120131, - 'Mopf': 120132, - 'Oopf': 120134, - 'Sopf': 120138, - 'Topf': 120139, - 'Uopf': 120140, - 'Vopf': 120141, - 'Wopf': 120142, - 'Xopf': 120143, - 'Yopf': 120144, - 'aopf': 120146, - 'bopf': 120147, - 'copf': 120148, - 'dopf': 120149, - 'eopf': 120150, - 'fopf': 120151, - 'gopf': 120152, - 'hopf': 120153, - 'iopf': 120154, - 'jopf': 120155, - 'kopf': 120156, - 'lopf': 120157, - 'mopf': 120158, - 'nopf': 120159, - 'oopf': 120160, - 'popf': 120161, - 'qopf': 120162, - 'ropf': 120163, - 'sopf': 120164, - 'topf': 120165, - 'uopf': 120166, - 'vopf': 120167, - 'wopf': 120168, - 'xopf': 120169, - 'yopf': 120170, - 'zopf': 120171 +var charByEntityName = { + 'quot': '"', + 'amp': '&', + 'apos': '\'', + 'lt': '<', + 'gt': '>', + 'nbsp': ' ', + 'iexcl': '¡', + 'cent': '¢', + 'pound': '£', + 'curren': '¤', + 'yen': '¥', + 'brvbar': '¦', + 'sect': '§', + 'uml': '¨', + 'copy': '©', + 'ordf': 'ª', + 'laquo': '«', + 'not': '¬', + 'shy': '­', + 'reg': '®', + 'macr': '¯', // http://www.w3.org/TR/html4/sgml/entities.html + 'strns': '¯', // http://www.w3.org/TR/html5/named-character-references.html + 'deg': '°', + 'plusmn': '±', // http://www.w3.org/TR/html4/sgml/entities.html + 'pm': '±', // http://www.w3.org/TR/html5/named-character-references.html + 'sup2': '²', + 'sup3': '³', + 'acute': '´', + 'micro': 'µ', + 'para': '¶', + 'middot': '·', + 'cedil': '¸', + 'sup1': '¹', + 'ordm': 'º', + 'raquo': '»', + 'frac14': '¼', + 'half': '½', // http://www.w3.org/TR/html4/sgml/entities.html + 'frac12': '½', // http://www.w3.org/TR/html5/named-character-references.html + 'frac34': '¾', + 'iquest': '¿', + 'Agrave': 'À', + 'Aacute': 'Á', + 'Acirc': 'Â', + 'Atilde': 'Ã', + 'Auml': 'Ä', + 'Aring': 'Å', // http://www.w3.org/TR/html4/sgml/entities.html + 'angst': 'Å', // http://www.w3.org/TR/html5/named-character-references.html + 'AElig': 'Æ', + 'Ccedil': 'Ç', + 'Egrave': 'È', + 'Eacute': 'É', + 'Ecirc': 'Ê', + 'Euml': 'Ë', + 'Igrave': 'Ì', + 'Iacute': 'Í', + 'Icirc': 'Î', + 'Iuml': 'Ï', + 'ETH': 'Ð', + 'Ntilde': 'Ñ', + 'Ograve': 'Ò', + 'Oacute': 'Ó', + 'Ocirc': 'Ô', + 'Otilde': 'Õ', + 'Ouml': 'Ö', + 'times': '×', + 'Oslash': 'Ø', + 'Ugrave': 'Ù', + 'Uacute': 'Ú', + 'Ucirc': 'Û', + 'Uuml': 'Ü', + 'Yacute': 'Ý', + 'THORN': 'Þ', + 'szlig': 'ß', + 'agrave': 'à', + 'aacute': 'á', + 'acirc': 'â', + 'atilde': 'ã', + 'auml': 'ä', + 'aring': 'å', + 'aelig': 'æ', + 'ccedil': 'ç', + 'egrave': 'è', + 'eacute': 'é', + 'ecirc': 'ê', + 'euml': 'ë', + 'igrave': 'ì', + 'iacute': 'í', + 'icirc': 'î', + 'iuml': 'ï', + 'eth': 'ð', + 'ntilde': 'ñ', + 'ograve': 'ò', + 'oacute': 'ó', + 'ocirc': 'ô', + 'otilde': 'õ', + 'ouml': 'ö', + 'divide': '÷', + 'oslash': 'ø', + 'ugrave': 'ù', + 'uacute': 'ú', + 'ucirc': 'û', + 'uuml': 'ü', + 'yacute': 'ý', + 'thorn': 'þ', + 'yuml': 'ÿ', + 'Amacr': 'Ā', + 'amacr': 'ā', + 'Abreve': 'Ă', + 'abreve': 'ă', + 'Aogon': 'Ą', + 'aogon': 'ą', + 'Cacute': 'Ć', + 'cacute': 'ć', + 'Ccirc': 'Ĉ', + 'ccirc': 'ĉ', + 'Cdot': 'Ċ', + 'cdot': 'ċ', + 'Ccaron': 'Č', + 'ccaron': 'č', + 'Dcaron': 'Ď', + 'dcaron': 'ď', + 'Dstrok': 'Đ', + 'dstrok': 'đ', + 'Emacr': 'Ē', + 'emacr': 'ē', + 'Edot': 'Ė', + 'edot': 'ė', + 'Eogon': 'Ę', + 'eogon': 'ę', + 'Ecaron': 'Ě', + 'ecaron': 'ě', + 'Gcirc': 'Ĝ', + 'gcirc': 'ĝ', + 'Gbreve': 'Ğ', + 'gbreve': 'ğ', + 'Gdot': 'Ġ', + 'gdot': 'ġ', + 'Gcedil': 'Ģ', + 'Hcirc': 'Ĥ', + 'hcirc': 'ĥ', + 'Hstrok': 'Ħ', + 'hstrok': 'ħ', + 'Itilde': 'Ĩ', + 'itilde': 'ĩ', + 'Imacr': 'Ī', + 'imacr': 'ī', + 'Iogon': 'Į', + 'iogon': 'į', + 'Idot': 'İ', + 'inodot': 'ı', + 'IJlig': 'IJ', + 'ijlig': 'ij', + 'Jcirc': 'Ĵ', + 'jcirc': 'ĵ', + 'Kcedil': 'Ķ', + 'kcedil': 'ķ', + 'kgreen': 'ĸ', + 'Lacute': 'Ĺ', + 'lacute': 'ĺ', + 'Lcedil': 'Ļ', + 'lcedil': 'ļ', + 'Lcaron': 'Ľ', + 'lcaron': 'ľ', + 'Lmidot': 'Ŀ', + 'lmidot': 'ŀ', + 'Lstrok': 'Ł', + 'lstrok': 'ł', + 'Nacute': 'Ń', + 'nacute': 'ń', + 'Ncedil': 'Ņ', + 'ncedil': 'ņ', + 'Ncaron': 'Ň', + 'ncaron': 'ň', + 'napos': 'ʼn', + 'ENG': 'Ŋ', + 'eng': 'ŋ', + 'Omacr': 'Ō', + 'omacr': 'ō', + 'Odblac': 'Ő', + 'odblac': 'ő', + 'OElig': 'Œ', + 'oelig': 'œ', + 'Racute': 'Ŕ', + 'racute': 'ŕ', + 'Rcedil': 'Ŗ', + 'rcedil': 'ŗ', + 'Rcaron': 'Ř', + 'rcaron': 'ř', + 'Sacute': 'Ś', + 'sacute': 'ś', + 'Scirc': 'Ŝ', + 'scirc': 'ŝ', + 'Scedil': 'Ş', + 'scedil': 'ş', + 'Scaron': 'Š', + 'scaron': 'š', + 'Tcedil': 'Ţ', + 'tcedil': 'ţ', + 'Tcaron': 'Ť', + 'tcaron': 'ť', + 'Tstrok': 'Ŧ', + 'tstrok': 'ŧ', + 'Utilde': 'Ũ', + 'utilde': 'ũ', + 'Umacr': 'Ū', + 'umacr': 'ū', + 'Ubreve': 'Ŭ', + 'ubreve': 'ŭ', + 'Uring': 'Ů', + 'uring': 'ů', + 'Udblac': 'Ű', + 'udblac': 'ű', + 'Uogon': 'Ų', + 'uogon': 'ų', + 'Wcirc': 'Ŵ', + 'wcirc': 'ŵ', + 'Ycirc': 'Ŷ', + 'ycirc': 'ŷ', + 'Yuml': 'Ÿ', + 'Zacute': 'Ź', + 'zacute': 'ź', + 'Zdot': 'Ż', + 'zdot': 'ż', + 'Zcaron': 'Ž', + 'zcaron': 'ž', + 'fnof': 'ƒ', + 'imped': 'Ƶ', + 'gacute': 'ǵ', + 'jmath': 'ȷ', + 'circ': 'ˆ', + 'caron': 'ˇ', + 'breve': '˘', + 'dot': '˙', + 'ring': '˚', + 'ogon': '˛', + 'tilde': '˜', + 'dblac': '˝', + 'Alpha': 'Α', + 'Beta': 'Β', + 'Gamma': 'Γ', + 'Delta': 'Δ', + 'Epsilon': 'Ε', + 'Zeta': 'Ζ', + 'Eta': 'Η', + 'Theta': 'Θ', + 'Iota': 'Ι', + 'Kappa': 'Κ', + 'Lambda': 'Λ', + 'Mu': 'Μ', + 'Nu': 'Ν', + 'Xi': 'Ξ', + 'Omicron': 'Ο', + 'Pi': 'Π', + 'Rho': 'Ρ', + 'Sigma': 'Σ', + 'Tau': 'Τ', + 'Upsilon': 'Υ', + 'Phi': 'Φ', + 'Chi': 'Χ', + 'Psi': 'Ψ', + 'Omega': 'Ω', // http://www.w3.org/TR/html4/sgml/entities.html + 'ohm': 'Ω', // http://www.w3.org/TR/html5/named-character-references.html + 'alpha': 'α', + 'beta': 'β', + 'gamma': 'γ', + 'delta': 'δ', + 'epsilon': 'ε', + 'zeta': 'ζ', + 'eta': 'η', + 'theta': 'θ', + 'iota': 'ι', + 'kappa': 'κ', + 'lambda': 'λ', + 'mu': 'μ', + 'nu': 'ν', + 'xi': 'ξ', + 'omicron': 'ο', + 'pi': 'π', + 'rho': 'ρ', + 'sigmaf': 'ς', // http://www.w3.org/TR/html4/sgml/entities.html + 'varsigma': 'ς', // http://www.w3.org/TR/html5/named-character-references.html + 'sigma': 'σ', + 'tau': 'τ', + 'upsilon': 'υ', + 'phi': 'φ', + 'chi': 'χ', + 'psi': 'ψ', + 'omega': 'ω', + 'thetasym': 'ϑ', // http://www.w3.org/TR/html4/sgml/entities.html + 'vartheta': 'ϑ', // http://www.w3.org/TR/html5/named-character-references.html + 'upsih': 'ϒ', + 'varphi': 'ϕ', + 'piv': 'ϖ', // http://www.w3.org/TR/html4/sgml/entities.html + 'varpi': 'ϖ', // http://www.w3.org/TR/html5/named-character-references.html + 'Gammad': 'Ϝ', + 'gammad': 'ϝ', + 'varkappa': 'ϰ', + 'varrho': 'ϱ', + 'varepsilon': 'ϵ', + 'bepsi': '϶', + 'IOcy': 'Ё', + 'DJcy': 'Ђ', + 'GJcy': 'Ѓ', + 'Jukcy': 'Є', + 'DScy': 'Ѕ', + 'Iukcy': 'І', + 'YIcy': 'Ї', + 'Jsercy': 'Ј', + 'LJcy': 'Љ', + 'NJcy': 'Њ', + 'TSHcy': 'Ћ', + 'KJcy': 'Ќ', + 'Ubrcy': 'Ў', + 'DZcy': 'Џ', + 'Acy': 'А', + 'Bcy': 'Б', + 'Vcy': 'В', + 'Gcy': 'Г', + 'Dcy': 'Д', + 'IEcy': 'Е', + 'ZHcy': 'Ж', + 'Zcy': 'З', + 'Icy': 'И', + 'Jcy': 'Й', + 'Kcy': 'К', + 'Lcy': 'Л', + 'Mcy': 'М', + 'Ncy': 'Н', + 'Ocy': 'О', + 'Pcy': 'П', + 'Rcy': 'Р', + 'Scy': 'С', + 'Tcy': 'Т', + 'Ucy': 'У', + 'Fcy': 'Ф', + 'KHcy': 'Х', + 'TScy': 'Ц', + 'CHcy': 'Ч', + 'SHcy': 'Ш', + 'SHCHcy': 'Щ', + 'HARDcy': 'Ъ', + 'Ycy': 'Ы', + 'SOFTcy': 'Ь', + 'Ecy': 'Э', + 'YUcy': 'Ю', + 'YAcy': 'Я', + 'acy': 'а', + 'bcy': 'б', + 'vcy': 'в', + 'gcy': 'г', + 'dcy': 'д', + 'iecy': 'е', + 'zhcy': 'ж', + 'zcy': 'з', + 'icy': 'и', + 'jcy': 'й', + 'kcy': 'к', + 'lcy': 'л', + 'mcy': 'м', + 'ncy': 'н', + 'ocy': 'о', + 'pcy': 'п', + 'rcy': 'р', + 'scy': 'с', + 'tcy': 'т', + 'ucy': 'у', + 'fcy': 'ф', + 'khcy': 'х', + 'tscy': 'ц', + 'chcy': 'ч', + 'shcy': 'ш', + 'shchcy': 'щ', + 'hardcy': 'ъ', + 'ycy': 'ы', + 'softcy': 'ь', + 'ecy': 'э', + 'yucy': 'ю', + 'yacy': 'я', + 'iocy': 'ё', + 'djcy': 'ђ', + 'gjcy': 'ѓ', + 'jukcy': 'є', + 'dscy': 'ѕ', + 'iukcy': 'і', + 'yicy': 'ї', + 'jsercy': 'ј', + 'ljcy': 'љ', + 'njcy': 'њ', + 'tshcy': 'ћ', + 'kjcy': 'ќ', + 'ubrcy': 'ў', + 'dzcy': 'џ', + 'ensp': ' ', + 'emsp': ' ', + 'emsp13': ' ', + 'emsp14': ' ', + 'numsp': ' ', + 'puncsp': ' ', + 'thinsp': ' ', + 'hairsp': ' ', + 'ZeroWidthSpace': '​', + 'zwnj': '‌', + 'zwj': '‍', + 'lrm': '‎', + 'rlm': '‏', + 'hyphen': '‐', + 'ndash': '–', + 'mdash': '—', + 'horbar': '―', + 'Vert': '‖', + 'lsquo': '‘', + 'rsquo': '’', // http://www.w3.org/TR/html4/sgml/entities.html + 'rsquor': '’', // http://www.w3.org/TR/html5/named-character-references.html + 'sbquo': '‚', + 'ldquo': '“', + 'rdquo': '”', // http://www.w3.org/TR/html4/sgml/entities.html + 'rdquor': '”', // http://www.w3.org/TR/html5/named-character-references.html + 'ldquo': '„', // http://www.w3.org/TR/html4/sgml/entities.html + 'ldquor': '„', // http://www.w3.org/TR/html5/named-character-references.html + 'dagger': '†', + 'Dagger': '‡', // http://www.w3.org/TR/html4/sgml/entities.html + 'ddagger': '‡', // http://www.w3.org/TR/html5/named-character-references.html + 'bull': '•', // http://www.w3.org/TR/html4/sgml/entities.html + 'bullet': '•', // http://www.w3.org/TR/html5/named-character-references.html + 'nldr': '‥', + 'hellip': '…', // http://www.w3.org/TR/html4/sgml/entities.html + 'mldr': '…', // http://www.w3.org/TR/html5/named-character-references.html + 'permil': '‰', + 'pertenk': '‱', + 'prime': '′', + 'Prime': '″', + 'tprime': '‴', + 'bprime': '‵', + 'lsaquo': '‹', + 'rsaquo': '›', + 'oline': '‾', + 'caret': '⁁', + 'hybull': '⁃', + 'frasl': '⁄', + 'bsemi': '⁏', + 'qprime': '⁗', + 'MediumSpace': ' ', + 'NoBreak': '⁠', + 'af': '⁡', + 'it': '⁢', + 'ic': '⁣', + 'euro': '€', + 'complexes': 'ℂ', + 'incare': '℅', + 'gscr': 'ℊ', + 'hamilt': 'ℋ', + 'Poincareplane': 'ℌ', + 'quaternions': 'ℍ', + 'planckh': 'ℎ', + 'plankv': 'ℏ', + 'imagline': 'ℐ', + 'image': 'ℑ', // http://www.w3.org/TR/html4/sgml/entities.html + 'imagpart': 'ℑ', // http://www.w3.org/TR/html5/named-character-references.html + 'lagran': 'ℒ', + 'ell': 'ℓ', + 'naturals': 'ℕ', + 'numero': '№', + 'copysr': '℗', + 'weierp': '℘', // http://www.w3.org/TR/html4/sgml/entities.html + 'wp': '℘', // http://www.w3.org/TR/html5/named-character-references.html + 'primes': 'ℙ', + 'rationals': 'ℚ', + 'realine': 'ℛ', + 'real': 'ℜ', // http://www.w3.org/TR/html4/sgml/entities.html + 'realpart': 'ℜ', // http://www.w3.org/TR/html5/named-character-references.html + 'reals': 'ℝ', + 'rx': '℞', + 'trade': '™', + 'integers': 'ℤ', + 'mho': '℧', + 'zeetrf': 'ℨ', + 'iiota': '℩', + 'bernou': 'ℬ', + 'Cfr': 'ℭ', + 'escr': 'ℯ', + 'expectation': 'ℰ', + 'Fscr': 'ℱ', + 'phmmat': 'ℳ', + 'oscr': 'ℴ', + 'alefsym': 'ℵ', // http://www.w3.org/TR/html4/sgml/entities.html + 'aleph': 'ℵ', // http://www.w3.org/TR/html5/named-character-references.html + 'beth': 'ℶ', + 'gimel': 'ℷ', + 'daleth': 'ℸ', + 'DD': 'ⅅ', + 'dd': 'ⅆ', + 'exponentiale': 'ⅇ', + 'ii': 'ⅈ', + 'frac13': '⅓', + 'frac23': '⅔', + 'frac15': '⅕', + 'frac25': '⅖', + 'frac35': '⅗', + 'frac45': '⅘', + 'frac16': '⅙', + 'frac56': '⅚', + 'frac18': '⅛', + 'frac38': '⅜', + 'frac58': '⅝', + 'frac78': '⅞', + 'larr': '←', // http://www.w3.org/TR/html4/sgml/entities.html + 'slarr': '←', // http://www.w3.org/TR/html5/named-character-references.html + 'uarr': '↑', // http://www.w3.org/TR/html4/sgml/entities.html + 'uparrow': '↑', // http://www.w3.org/TR/html5/named-character-references.html + 'rarr': '→', // http://www.w3.org/TR/html4/sgml/entities.html + 'srarr': '→', // http://www.w3.org/TR/html5/named-character-references.html + 'darr': '↓', // http://www.w3.org/TR/html4/sgml/entities.html + 'downarrow': '↓', // http://www.w3.org/TR/html5/named-character-references.html + 'harr': '↔', // http://www.w3.org/TR/html4/sgml/entities.html + 'leftrightarrow': '↔', // http://www.w3.org/TR/html5/named-character-references.html + 'varr': '↕', + 'nwarrow': '↖', + 'nearrow': '↗', + 'searrow': '↘', + 'swarrow': '↙', + 'nleftarrow': '↚', + 'nrightarrow': '↛', + 'rightsquigarrow': '↝', + 'twoheadleftarrow': '↞', + 'Uarr': '↟', + 'twoheadrightarrow': '↠', + 'Darr': '↡', + 'leftarrowtail': '↢', + 'rightarrowtail': '↣', + 'mapstoleft': '↤', + 'mapstoup': '↥', + 'mapsto': '↦', + 'mapstodown': '↧', + 'larrhk': '↩', + 'rarrhk': '↪', + 'looparrowleft': '↫', + 'rarrlp': '↬', + 'leftrightsquigarrow': '↭', + 'nleftrightarrow': '↮', + 'lsh': '↰', + 'rsh': '↱', + 'ldsh': '↲', + 'rdsh': '↳', + 'crarr': '↵', + 'curvearrowleft': '↶', + 'curvearrowright': '↷', + 'olarr': '↺', + 'orarr': '↻', + 'lharu': '↼', + 'lhard': '↽', + 'upharpoonright': '↾', + 'upharpoonleft': '↿', + 'rightharpoonup': '⇀', + 'rightharpoondown': '⇁', + 'downharpoonright': '⇂', + 'downharpoonleft': '⇃', + 'rlarr': '⇄', + 'udarr': '⇅', + 'lrarr': '⇆', + 'llarr': '⇇', + 'uuarr': '⇈', + 'rrarr': '⇉', + 'downdownarrows': '⇊', + 'lrhar': '⇋', + 'rlhar': '⇌', + 'nlArr': '⇍', + 'nhArr': '⇎', + 'nrArr': '⇏', + 'lArr': '⇐', + 'uArr': '⇑', + 'rArr': '⇒', + 'dArr': '⇓', + 'hArr': '⇔', // http://www.w3.org/TR/html4/sgml/entities.html + 'iff': '⇔', // http://www.w3.org/TR/html5/named-character-references.html + 'vArr': '⇕', + 'nwArr': '⇖', + 'neArr': '⇗', + 'seArr': '⇘', + 'swArr': '⇙', + 'lAarr': '⇚', + 'rAarr': '⇛', + 'zigrarr': '⇝', + 'larrb': '⇤', + 'rarrb': '⇥', + 'duarr': '⇵', + 'loarr': '⇽', + 'roarr': '⇾', + 'hoarr': '⇿', + 'forall': '∀', + 'complement': '∁', + 'part': '∂', + 'exist': '∃', + 'nexists': '∄', + 'empty': '∅', // http://www.w3.org/TR/html4/sgml/entities.html + 'varnothing': '∅', // http://www.w3.org/TR/html5/named-character-references.html + 'nabla': '∇', + 'isin': '∈', // http://www.w3.org/TR/html4/sgml/entities.html + 'isinv': '∈', // http://www.w3.org/TR/html5/named-character-references.html + 'notin': '∉', // http://www.w3.org/TR/html4/sgml/entities.html + 'notinva': '∉', // http://www.w3.org/TR/html5/named-character-references.html + 'ni': '∋', // http://www.w3.org/TR/html4/sgml/entities.html + 'niv': '∋', // http://www.w3.org/TR/html5/named-character-references.html + 'notniva': '∌', + 'prod': '∏', + 'coprod': '∐', + 'sum': '∑', + 'minus': '−', + 'mp': '∓', + 'plusdo': '∔', + 'ssetmn': '∖', + 'lowast': '∗', + 'compfn': '∘', + 'radic': '√', + 'prop': '∝', // http://www.w3.org/TR/html4/sgml/entities.html + 'vprop': '∝', // http://www.w3.org/TR/html5/named-character-references.html + 'infin': '∞', + 'angrt': '∟', + 'ang': '∠', // http://www.w3.org/TR/html4/sgml/entities.html + 'angle': '∠', // http://www.w3.org/TR/html5/named-character-references.html + 'measuredangle': '∡', + 'angsph': '∢', + 'smid': '∣', + 'nsmid': '∤', + 'spar': '∥', + 'nspar': '∦', + 'and': '∧', // http://www.w3.org/TR/html4/sgml/entities.html + 'wedge': '∧', // http://www.w3.org/TR/html5/named-character-references.html + 'or': '∨', // http://www.w3.org/TR/html4/sgml/entities.html + 'vee': '∨', // http://www.w3.org/TR/html5/named-character-references.html + 'cap': '∩', + 'cup': '∪', + 'int': '∫', + 'Int': '∬', + 'tint': '∭', + 'oint': '∮', + 'DoubleContourIntegral': '∯', + 'Cconint': '∰', + 'cwint': '∱', + 'cwconint': '∲', + 'awconint': '∳', + 'there4': '∴', // http://www.w3.org/TR/html4/sgml/entities.html + 'therefore': '∴', // http://www.w3.org/TR/html5/named-character-references.html + 'because': '∵', + 'ratio': '∶', + 'Proportion': '∷', + 'minusd': '∸', + 'mDDot': '∺', + 'homtht': '∻', + 'sim': '∼', // http://www.w3.org/TR/html4/sgml/entities.html + 'thksim': '∼', // http://www.w3.org/TR/html5/named-character-references.html + 'bsim': '∽', + 'mstpos': '∾', + 'acd': '∿', + 'wreath': '≀', + 'nsim': '≁', + 'esim': '≂', + 'simeq': '≃', + 'nsimeq': '≄', + 'cong': '≅', + 'simne': '≆', + 'ncong': '≇', + 'asymp': '≈', // http://www.w3.org/TR/html4/sgml/entities.html + 'thkap': '≈', // http://www.w3.org/TR/html5/named-character-references.html + 'napprox': '≉', + 'approxeq': '≊', + 'apid': '≋', + 'bcong': '≌', + 'asympeq': '≍', + 'bump': '≎', + 'bumpeq': '≏', + 'esdot': '≐', + 'eDot': '≑', + 'fallingdotseq': '≒', + 'risingdotseq': '≓', + 'coloneq': '≔', + 'eqcolon': '≕', + 'eqcirc': '≖', + 'cire': '≗', + 'wedgeq': '≙', + 'veeeq': '≚', + 'trie': '≜', + 'questeq': '≟', + 'ne': '≠', + 'equiv': '≡', + 'nequiv': '≢', + 'le': '≤', // http://www.w3.org/TR/html4/sgml/entities.html + 'leq': '≤', // http://www.w3.org/TR/html5/named-character-references.html + 'ge': '≥', // http://www.w3.org/TR/html4/sgml/entities.html + 'geq': '≥', // http://www.w3.org/TR/html5/named-character-references.html + 'leqq': '≦', + 'geqq': '≧', + 'lneqq': '≨', + 'gneqq': '≩', + 'll': '≪', + 'gg': '≫', + 'twixt': '≬', + 'NotCupCap': '≭', + 'nlt': '≮', + 'ngtr': '≯', + 'nleq': '≰', + 'ngeq': '≱', + 'lsim': '≲', + 'gtrsim': '≳', + 'nlsim': '≴', + 'ngsim': '≵', + 'lg': '≶', + 'gtrless': '≷', + 'ntlg': '≸', + 'ntgl': '≹', + 'prec': '≺', + 'succ': '≻', + 'preccurlyeq': '≼', + 'succcurlyeq': '≽', + 'prsim': '≾', + 'succsim': '≿', + 'nprec': '⊀', + 'nsucc': '⊁', + 'sub': '⊂', // http://www.w3.org/TR/html4/sgml/entities.html + 'subset': '⊂', // http://www.w3.org/TR/html5/named-character-references.html + 'sup': '⊃', // http://www.w3.org/TR/html4/sgml/entities.html + 'supset': '⊃', // http://www.w3.org/TR/html5/named-character-references.html + 'nsub': '⊄', + 'nsup': '⊅', + 'sube': '⊆', // http://www.w3.org/TR/html4/sgml/entities.html + 'subseteq': '⊆', // http://www.w3.org/TR/html5/named-character-references.html + 'supe': '⊇', // http://www.w3.org/TR/html4/sgml/entities.html + 'supseteq': '⊇', // http://www.w3.org/TR/html5/named-character-references.html + 'nsubseteq': '⊈', + 'nsupseteq': '⊉', + 'subsetneq': '⊊', + 'supsetneq': '⊋', + 'cupdot': '⊍', + 'uplus': '⊎', + 'sqsubset': '⊏', + 'sqsupset': '⊐', + 'sqsubseteq': '⊑', + 'sqsupseteq': '⊒', + 'sqcap': '⊓', + 'sqcup': '⊔', + 'oplus': '⊕', + 'ominus': '⊖', + 'otimes': '⊗', + 'osol': '⊘', + 'odot': '⊙', + 'ocir': '⊚', + 'oast': '⊛', + 'odash': '⊝', + 'plusb': '⊞', + 'minusb': '⊟', + 'timesb': '⊠', + 'sdotb': '⊡', + 'vdash': '⊢', + 'dashv': '⊣', + 'top': '⊤', + 'perp': '⊥', + 'models': '⊧', + 'vDash': '⊨', + 'Vdash': '⊩', + 'Vvdash': '⊪', + 'VDash': '⊫', + 'nvdash': '⊬', + 'nvDash': '⊭', + 'nVdash': '⊮', + 'nVDash': '⊯', + 'prurel': '⊰', + 'vltri': '⊲', + 'vrtri': '⊳', + 'trianglelefteq': '⊴', + 'trianglerighteq': '⊵', + 'origof': '⊶', + 'imof': '⊷', + 'mumap': '⊸', + 'hercon': '⊹', + 'intercal': '⊺', + 'veebar': '⊻', + 'barvee': '⊽', + 'angrtvb': '⊾', + 'lrtri': '⊿', + 'xwedge': '⋀', + 'xvee': '⋁', + 'xcap': '⋂', + 'xcup': '⋃', + 'diamond': '⋄', + 'sdot': '⋅', + 'sstarf': '⋆', + 'divonx': '⋇', + 'bowtie': '⋈', + 'ltimes': '⋉', + 'rtimes': '⋊', + 'lthree': '⋋', + 'rthree': '⋌', + 'bsime': '⋍', + 'cuvee': '⋎', + 'cuwed': '⋏', + 'Subset': '⋐', + 'Supset': '⋑', + 'Cap': '⋒', + 'Cup': '⋓', + 'pitchfork': '⋔', + 'epar': '⋕', + 'ltdot': '⋖', + 'gtrdot': '⋗', + 'Ll': '⋘', + 'ggg': '⋙', + 'lesseqgtr': '⋚', + 'gtreqless': '⋛', + 'curlyeqprec': '⋞', + 'curlyeqsucc': '⋟', + 'nprcue': '⋠', + 'nsccue': '⋡', + 'nsqsube': '⋢', + 'nsqsupe': '⋣', + 'lnsim': '⋦', + 'gnsim': '⋧', + 'prnsim': '⋨', + 'succnsim': '⋩', + 'ntriangleleft': '⋪', + 'ntriangleright': '⋫', + 'ntrianglelefteq': '⋬', + 'ntrianglerighteq': '⋭', + 'vellip': '⋮', + 'ctdot': '⋯', + 'utdot': '⋰', + 'dtdot': '⋱', + 'disin': '⋲', + 'isinsv': '⋳', + 'isins': '⋴', + 'isindot': '⋵', + 'notinvc': '⋶', + 'notinvb': '⋷', + 'isinE': '⋹', + 'nisd': '⋺', + 'xnis': '⋻', + 'nis': '⋼', + 'notnivc': '⋽', + 'notnivb': '⋾', + 'barwedge': '⌅', + 'doublebarwedge': '⌆', + 'lceil': '⌈', + 'rceil': '⌉', + 'lfloor': '⌊', + 'rfloor': '⌋', + 'drcrop': '⌌', + 'dlcrop': '⌍', + 'urcrop': '⌎', + 'ulcrop': '⌏', + 'bnot': '⌐', + 'profline': '⌒', + 'profsurf': '⌓', + 'telrec': '⌕', + 'target': '⌖', + 'ulcorner': '⌜', + 'urcorner': '⌝', + 'llcorner': '⌞', + 'lrcorner': '⌟', + 'sfrown': '⌢', + 'ssmile': '⌣', + 'lang': '〈', // http://www.w3.org/TR/html4/sgml/entities.html + 'rang': '〉', // http://www.w3.org/TR/html4/sgml/entities.html + 'cylcty': '⌭', + 'profalar': '⌮', + 'topbot': '⌶', + 'ovbar': '⌽', + 'solbar': '⌿', + 'angzarr': '⍼', + 'lmoustache': '⎰', + 'rmoustache': '⎱', + 'tbrk': '⎴', + 'bbrk': '⎵', + 'bbrktbrk': '⎶', + 'OverParenthesis': '⏜', + 'UnderParenthesis': '⏝', + 'OverBrace': '⏞', + 'UnderBrace': '⏟', + 'trpezium': '⏢', + 'elinters': '⏧', + 'blank': '␣', + 'oS': 'Ⓢ', + 'boxh': '─', + 'boxv': '│', + 'boxdr': '┌', + 'boxdl': '┐', + 'boxur': '└', + 'boxul': '┘', + 'boxvr': '├', + 'boxvl': '┤', + 'boxhd': '┬', + 'boxhu': '┴', + 'boxvh': '┼', + 'boxH': '═', + 'boxV': '║', + 'boxdR': '╒', + 'boxDr': '╓', + 'boxDR': '╔', + 'boxdL': '╕', + 'boxDl': '╖', + 'boxDL': '╗', + 'boxuR': '╘', + 'boxUr': '╙', + 'boxUR': '╚', + 'boxuL': '╛', + 'boxUl': '╜', + 'boxUL': '╝', + 'boxvR': '╞', + 'boxVr': '╟', + 'boxVR': '╠', + 'boxvL': '╡', + 'boxVl': '╢', + 'boxVL': '╣', + 'boxHd': '╤', + 'boxhD': '╥', + 'boxHD': '╦', + 'boxHu': '╧', + 'boxhU': '╨', + 'boxHU': '╩', + 'boxvH': '╪', + 'boxVh': '╫', + 'boxVH': '╬', + 'uhblk': '▀', + 'lhblk': '▄', + 'block': '█', + 'blk14': '░', + 'blk12': '▒', + 'blk34': '▓', + 'square': '□', + 'squf': '▪', + 'EmptyVerySmallSquare': '▫', + 'rect': '▭', + 'marker': '▮', + 'fltns': '▱', + 'xutri': '△', + 'utrif': '▴', + 'utri': '▵', + 'rtrif': '▸', + 'triangleright': '▹', + 'xdtri': '▽', + 'dtrif': '▾', + 'triangledown': '▿', + 'ltrif': '◂', + 'triangleleft': '◃', + 'loz': '◊', // http://www.w3.org/TR/html4/sgml/entities.html + 'lozenge': '◊', // http://www.w3.org/TR/html5/named-character-references.html + 'cir': '○', + 'tridot': '◬', + 'xcirc': '◯', + 'ultri': '◸', + 'urtri': '◹', + 'lltri': '◺', + 'EmptySmallSquare': '◻', + 'FilledSmallSquare': '◼', + 'starf': '★', + 'star': '☆', + 'phone': '☎', + 'female': '♀', + 'male': '♂', + 'spades': '♠', // http://www.w3.org/TR/html4/sgml/entities.html + 'spadesuit': '♠', // http://www.w3.org/TR/html5/named-character-references.html + 'clubs': '♣', // http://www.w3.org/TR/html4/sgml/entities.html + 'clubsuit': '♣', // http://www.w3.org/TR/html5/named-character-references.html + 'hearts': '♥', // http://www.w3.org/TR/html4/sgml/entities.html + 'heartsuit': '♥', // http://www.w3.org/TR/html5/named-character-references.html + 'diams': '♦', + 'sung': '♪', + 'flat': '♭', + 'natural': '♮', + 'sharp': '♯', + 'checkmark': '✓', + 'cross': '✗', + 'maltese': '✠', + 'sext': '✶', + 'VerticalSeparator': '❘', + 'lbbrk': '❲', + 'rbbrk': '❳', + 'bsolhsub': '⟈', + 'suphsol': '⟉', + 'lobrk': '⟦', + 'robrk': '⟧', + 'langle': '⟨', + 'rangle': '⟩', + 'Lang': '⟪', + 'Rang': '⟫', + 'loang': '⟬', + 'roang': '⟭', + 'xlarr': '⟵', + 'xrarr': '⟶', + 'xharr': '⟷', + 'xlArr': '⟸', + 'xrArr': '⟹', + 'xhArr': '⟺', + 'xmap': '⟼', + 'dzigrarr': '⟿', + 'nvlArr': '⤂', + 'nvrArr': '⤃', + 'nvHarr': '⤄', + 'Map': '⤅', + 'lbarr': '⤌', + 'rbarr': '⤍', + 'lBarr': '⤎', + 'rBarr': '⤏', + 'drbkarow': '⤐', + 'DDotrahd': '⤑', + 'UpArrowBar': '⤒', + 'DownArrowBar': '⤓', + 'Rarrtl': '⤖', + 'latail': '⤙', + 'ratail': '⤚', + 'lAtail': '⤛', + 'rAtail': '⤜', + 'larrfs': '⤝', + 'rarrfs': '⤞', + 'larrbfs': '⤟', + 'rarrbfs': '⤠', + 'nwarhk': '⤣', + 'nearhk': '⤤', + 'searhk': '⤥', + 'swarhk': '⤦', + 'nwnear': '⤧', + 'toea': '⤨', + 'tosa': '⤩', + 'swnwar': '⤪', + 'rarrc': '⤳', + 'cudarrr': '⤵', + 'ldca': '⤶', + 'rdca': '⤷', + 'cudarrl': '⤸', + 'larrpl': '⤹', + 'curarrm': '⤼', + 'cularrp': '⤽', + 'rarrpl': '⥅', + 'harrcir': '⥈', + 'Uarrocir': '⥉', + 'lurdshar': '⥊', + 'ldrushar': '⥋', + 'LeftRightVector': '⥎', + 'RightUpDownVector': '⥏', + 'DownLeftRightVector': '⥐', + 'LeftUpDownVector': '⥑', + 'LeftVectorBar': '⥒', + 'RightVectorBar': '⥓', + 'RightUpVectorBar': '⥔', + 'RightDownVectorBar': '⥕', + 'DownLeftVectorBar': '⥖', + 'DownRightVectorBar': '⥗', + 'LeftUpVectorBar': '⥘', + 'LeftDownVectorBar': '⥙', + 'LeftTeeVector': '⥚', + 'RightTeeVector': '⥛', + 'RightUpTeeVector': '⥜', + 'RightDownTeeVector': '⥝', + 'DownLeftTeeVector': '⥞', + 'DownRightTeeVector': '⥟', + 'LeftUpTeeVector': '⥠', + 'LeftDownTeeVector': '⥡', + 'lHar': '⥢', + 'uHar': '⥣', + 'rHar': '⥤', + 'dHar': '⥥', + 'luruhar': '⥦', + 'ldrdhar': '⥧', + 'ruluhar': '⥨', + 'rdldhar': '⥩', + 'lharul': '⥪', + 'llhard': '⥫', + 'rharul': '⥬', + 'lrhard': '⥭', + 'udhar': '⥮', + 'duhar': '⥯', + 'RoundImplies': '⥰', + 'erarr': '⥱', + 'simrarr': '⥲', + 'larrsim': '⥳', + 'rarrsim': '⥴', + 'rarrap': '⥵', + 'ltlarr': '⥶', + 'gtrarr': '⥸', + 'subrarr': '⥹', + 'suplarr': '⥻', + 'lfisht': '⥼', + 'rfisht': '⥽', + 'ufisht': '⥾', + 'dfisht': '⥿', + 'lopar': '⦅', + 'ropar': '⦆', + 'lbrke': '⦋', + 'rbrke': '⦌', + 'lbrkslu': '⦍', + 'rbrksld': '⦎', + 'lbrksld': '⦏', + 'rbrkslu': '⦐', + 'langd': '⦑', + 'rangd': '⦒', + 'lparlt': '⦓', + 'rpargt': '⦔', + 'gtlPar': '⦕', + 'ltrPar': '⦖', + 'vzigzag': '⦚', + 'vangrt': '⦜', + 'angrtvbd': '⦝', + 'ange': '⦤', + 'range': '⦥', + 'dwangle': '⦦', + 'uwangle': '⦧', + 'angmsdaa': '⦨', + 'angmsdab': '⦩', + 'angmsdac': '⦪', + 'angmsdad': '⦫', + 'angmsdae': '⦬', + 'angmsdaf': '⦭', + 'angmsdag': '⦮', + 'angmsdah': '⦯', + 'bemptyv': '⦰', + 'demptyv': '⦱', + 'cemptyv': '⦲', + 'raemptyv': '⦳', + 'laemptyv': '⦴', + 'ohbar': '⦵', + 'omid': '⦶', + 'opar': '⦷', + 'operp': '⦹', + 'olcross': '⦻', + 'odsold': '⦼', + 'olcir': '⦾', + 'ofcir': '⦿', + 'olt': '⧀', + 'ogt': '⧁', + 'cirscir': '⧂', + 'cirE': '⧃', + 'solb': '⧄', + 'bsolb': '⧅', + 'boxbox': '⧉', + 'trisb': '⧍', + 'rtriltri': '⧎', + 'LeftTriangleBar': '⧏', + 'RightTriangleBar': '⧐', + 'iinfin': '⧜', + 'infintie': '⧝', + 'nvinfin': '⧞', + 'eparsl': '⧣', + 'smeparsl': '⧤', + 'eqvparsl': '⧥', + 'lozf': '⧫', + 'RuleDelayed': '⧴', + 'dsol': '⧶', + 'xodot': '⨀', + 'xoplus': '⨁', + 'xotime': '⨂', + 'xuplus': '⨄', + 'xsqcup': '⨆', + 'qint': '⨌', + 'fpartint': '⨍', + 'cirfnint': '⨐', + 'awint': '⨑', + 'rppolint': '⨒', + 'scpolint': '⨓', + 'npolint': '⨔', + 'pointint': '⨕', + 'quatint': '⨖', + 'intlarhk': '⨗', + 'pluscir': '⨢', + 'plusacir': '⨣', + 'simplus': '⨤', + 'plusdu': '⨥', + 'plussim': '⨦', + 'plustwo': '⨧', + 'mcomma': '⨩', + 'minusdu': '⨪', + 'loplus': '⨭', + 'roplus': '⨮', + 'Cross': '⨯', + 'timesd': '⨰', + 'timesbar': '⨱', + 'smashp': '⨳', + 'lotimes': '⨴', + 'rotimes': '⨵', + 'otimesas': '⨶', + 'Otimes': '⨷', + 'odiv': '⨸', + 'triplus': '⨹', + 'triminus': '⨺', + 'tritime': '⨻', + 'iprod': '⨼', + 'amalg': '⨿', + 'capdot': '⩀', + 'ncup': '⩂', + 'ncap': '⩃', + 'capand': '⩄', + 'cupor': '⩅', + 'cupcap': '⩆', + 'capcup': '⩇', + 'cupbrcap': '⩈', + 'capbrcup': '⩉', + 'cupcup': '⩊', + 'capcap': '⩋', + 'ccups': '⩌', + 'ccaps': '⩍', + 'ccupssm': '⩐', + 'And': '⩓', + 'Or': '⩔', + 'andand': '⩕', + 'oror': '⩖', + 'orslope': '⩗', + 'andslope': '⩘', + 'andv': '⩚', + 'orv': '⩛', + 'andd': '⩜', + 'ord': '⩝', + 'wedbar': '⩟', + 'sdote': '⩦', + 'simdot': '⩪', + 'congdot': '⩭', + 'easter': '⩮', + 'apacir': '⩯', + 'apE': '⩰', + 'eplus': '⩱', + 'pluse': '⩲', + 'Esim': '⩳', + 'Colone': '⩴', + 'Equal': '⩵', + 'eDDot': '⩷', + 'equivDD': '⩸', + 'ltcir': '⩹', + 'gtcir': '⩺', + 'ltquest': '⩻', + 'gtquest': '⩼', + 'les': '⩽', + 'ges': '⩾', + 'lesdot': '⩿', + 'gesdot': '⪀', + 'lesdoto': '⪁', + 'gesdoto': '⪂', + 'lesdotor': '⪃', + 'gesdotol': '⪄', + 'lessapprox': '⪅', + 'gtrapprox': '⪆', + 'lneq': '⪇', + 'gneq': '⪈', + 'lnapprox': '⪉', + 'gnapprox': '⪊', + 'lesseqqgtr': '⪋', + 'gtreqqless': '⪌', + 'lsime': '⪍', + 'gsime': '⪎', + 'lsimg': '⪏', + 'gsiml': '⪐', + 'lgE': '⪑', + 'glE': '⪒', + 'lesges': '⪓', + 'gesles': '⪔', + 'eqslantless': '⪕', + 'eqslantgtr': '⪖', + 'elsdot': '⪗', + 'egsdot': '⪘', + 'el': '⪙', + 'eg': '⪚', + 'siml': '⪝', + 'simg': '⪞', + 'simlE': '⪟', + 'simgE': '⪠', + 'LessLess': '⪡', + 'GreaterGreater': '⪢', + 'glj': '⪤', + 'gla': '⪥', + 'ltcc': '⪦', + 'gtcc': '⪧', + 'lescc': '⪨', + 'gescc': '⪩', + 'smt': '⪪', + 'lat': '⪫', + 'smte': '⪬', + 'late': '⪭', + 'bumpE': '⪮', + 'preceq': '⪯', + 'succeq': '⪰', + 'prE': '⪳', + 'scE': '⪴', + 'prnE': '⪵', + 'succneqq': '⪶', + 'precapprox': '⪷', + 'succapprox': '⪸', + 'prnap': '⪹', + 'succnapprox': '⪺', + 'Pr': '⪻', + 'Sc': '⪼', + 'subdot': '⪽', + 'supdot': '⪾', + 'subplus': '⪿', + 'supplus': '⫀', + 'submult': '⫁', + 'supmult': '⫂', + 'subedot': '⫃', + 'supedot': '⫄', + 'subseteqq': '⫅', + 'supseteqq': '⫆', + 'subsim': '⫇', + 'supsim': '⫈', + 'subsetneqq': '⫋', + 'supsetneqq': '⫌', + 'csub': '⫏', + 'csup': '⫐', + 'csube': '⫑', + 'csupe': '⫒', + 'subsup': '⫓', + 'supsub': '⫔', + 'subsub': '⫕', + 'supsup': '⫖', + 'suphsub': '⫗', + 'supdsub': '⫘', + 'forkv': '⫙', + 'topfork': '⫚', + 'mlcp': '⫛', + 'DoubleLeftTee': '⫤', + 'Vdashl': '⫦', + 'Barv': '⫧', + 'vBar': '⫨', + 'vBarv': '⫩', + 'Vbar': '⫫', + 'Not': '⫬', + 'bNot': '⫭', + 'rnmid': '⫮', + 'cirmid': '⫯', + 'midcir': '⫰', + 'topcir': '⫱', + 'nhpar': '⫲', + 'parsim': '⫳', + 'parsl': '⫽', + 'fflig': 'ff', + 'filig': 'fi', + 'fllig': 'fl', + 'ffilig': 'ffi', + 'ffllig': 'ffl', + 'Ascr': '풜', + 'Cscr': '풞', + 'Dscr': '풟', + 'Gscr': '풢', + 'Jscr': '풥', + 'Kscr': '풦', + 'Nscr': '풩', + 'Oscr': '풪', + 'Pscr': '풫', + 'Qscr': '풬', + 'Sscr': '풮', + 'Tscr': '풯', + 'Uscr': '풰', + 'Vscr': '풱', + 'Wscr': '풲', + 'Xscr': '풳', + 'Yscr': '풴', + 'Zscr': '풵', + 'ascr': '풶', + 'bscr': '풷', + 'cscr': '풸', + 'dscr': '풹', + 'fscr': '풻', + 'hscr': '풽', + 'iscr': '풾', + 'jscr': '풿', + 'kscr': '퓀', + 'lscr': '퓁', + 'mscr': '퓂', + 'nscr': '퓃', + 'pscr': '퓅', + 'qscr': '퓆', + 'rscr': '퓇', + 'sscr': '퓈', + 'tscr': '퓉', + 'uscr': '퓊', + 'vscr': '퓋', + 'wscr': '퓌', + 'xscr': '퓍', + 'yscr': '퓎', + 'zscr': '퓏', + 'Afr': '프', + 'Bfr': '픅', + 'Dfr': '픇', + 'Efr': '픈', + 'Ffr': '픉', + 'Gfr': '픊', + 'Jfr': '픍', + 'Kfr': '픎', + 'Lfr': '픏', + 'Mfr': '픐', + 'Nfr': '픑', + 'Ofr': '픒', + 'Pfr': '픓', + 'Qfr': '픔', + 'Sfr': '픖', + 'Tfr': '픗', + 'Ufr': '픘', + 'Vfr': '픙', + 'Wfr': '픚', + 'Xfr': '픛', + 'Yfr': '픜', + 'afr': '픞', + 'bfr': '픟', + 'cfr': '픠', + 'dfr': '픡', + 'efr': '픢', + 'ffr': '픣', + 'gfr': '픤', + 'hfr': '픥', + 'ifr': '픦', + 'jfr': '픧', + 'kfr': '픨', + 'lfr': '픩', + 'mfr': '픪', + 'nfr': '픫', + 'ofr': '픬', + 'pfr': '픭', + 'qfr': '픮', + 'rfr': '픯', + 'sfr': '픰', + 'tfr': '픱', + 'ufr': '픲', + 'vfr': '픳', + 'wfr': '픴', + 'xfr': '픵', + 'yfr': '픶', + 'zfr': '픷', + 'Aopf': '픸', + 'Bopf': '픹', + 'Dopf': '픻', + 'Eopf': '피', + 'Fopf': '픽', + 'Gopf': '픾', + 'Iopf': '핀', + 'Jopf': '핁', + 'Kopf': '핂', + 'Lopf': '핃', + 'Mopf': '필', + 'Oopf': '핆', + 'Sopf': '핊', + 'Topf': '핋', + 'Uopf': '핌', + 'Vopf': '핍', + 'Wopf': '핎', + 'Xopf': '핏', + 'Yopf': '핐', + 'aopf': '핒', + 'bopf': '핓', + 'copf': '핔', + 'dopf': '핕', + 'eopf': '핖', + 'fopf': '핗', + 'gopf': '하', + 'hopf': '학', + 'iopf': '핚', + 'jopf': '핛', + 'kopf': '한', + 'lopf': '핝', + 'mopf': '핞', + 'nopf': '핟', + 'oopf': '할', + 'popf': '핡', + 'qopf': '핢', + 'ropf': '핣', + 'sopf': '핤', + 'topf': '핥', + 'uopf': '핦', + 'vopf': '핧', + 'wopf': '함', + 'xopf': '합', + 'yopf': '핪', + 'zopf': '핫' }; var specialCharEntities = { @@ -1472,29 +1472,22 @@ var specialCharEntities = { '\xA0': ' ' }; -var entityRegExp = /&([#a-z0-9]+);/gi; +var entityRegExp = /&(?:#([0-9]+)|#x([0-9a-f]+)|([a-z0-9]+));/gi; var attributeModeSpecialCharRegExp = /["&<>\xA0]/g; var nonAttributeModeSpecialCharRegExp = /[&<>\xA0]/g; -function entityToChar(s, name) { - var code = entityCharCodes[name]; - if (!code && name[0] === '#') { - if (name[1] === 'x' || name[1] === 'X') { - code = parseInt(name.substring(2), 16); - } - else { - code = parseInt(name.substring(1), 10); - } - if (isNaN(code)) { - code = undefined; - } - } - return code ? String.fromCharCode(code) : s; -} - exports.HTMLDecode = function decode(s) { - if (!s) return ''; - return s.replace(entityRegExp, entityToChar); + if (!s) return ''; + return s.replace(entityRegExp, function ($0, decimalStr, hexStr, entityName) { + if (decimalStr) { + return String.fromCharCode(parseInt(decimalStr, 10)); + } else if (hexStr) { + return String.fromCharCode(parseInt(hexStr, 16)); + } else { + // Fall back to the original string if we don't know the entity, as per browser behavior: + return charByEntityName[entityName] || $0; + } + }); }; function specialCharToEntity(s) { From 834c75253aa07f78c109ae7e5e748a66880be1bb Mon Sep 17 00:00:00 2001 From: Andreas Lind Petersen Date: Thu, 29 Sep 2011 11:51:15 +0200 Subject: [PATCH 4/6] Added quick test for the parsing of unknown entities. --- test/jsdom/index.js | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/test/jsdom/index.js b/test/jsdom/index.js index 5ddfe77735..ca693ee9a2 100644 --- a/test/jsdom/index.js +++ b/test/jsdom/index.js @@ -787,6 +787,15 @@ exports.tests = { test.done(); }, + parsing_and_serializing_unknown_entities: function (test) { + var html = '&nowayjose;☺ lah; q;'; + var document = jsdom.jsdom(html); + test.strictEqual(document.body.firstChild.nodeValue, "&nowayjose;☺ lah; q;", + "Unknown and unparsable entities should be left in the decoded text"); + test.strictEqual(document.body.innerHTML, "&nowayjose;☺&#xblah;&#9q;", + "Unknown and unparsable entities should be reserialized as literal text"); + }, + document_title_and_entities: function (test) { var html = '<b>Hello</b>'; var document = jsdom.jsdom(html); From 6f91c8c89d619ee09f90cbbedbc5e883b5d580a2 Mon Sep 17 00:00:00 2001 From: Andreas Lind Petersen Date: Thu, 29 Sep 2011 11:53:45 +0200 Subject: [PATCH 5/6] test/jsdom/index.js: Fixed whitespace and missing semicolons. --- test/jsdom/index.js | 86 ++++++++++++++++++++++----------------------- 1 file changed, 43 insertions(+), 43 deletions(-) diff --git a/test/jsdom/index.js b/test/jsdom/index.js index ca693ee9a2..70f0abc445 100644 --- a/test/jsdom/index.js +++ b/test/jsdom/index.js @@ -78,7 +78,7 @@ exports.tests = { test.notEqual(window.location, null, 'window.location should not be null'); test.done(); } - }) + }); }, env_with_overridden_url : function(test) { @@ -95,7 +95,7 @@ exports.tests = { "hash should be empty string by default"); test.done(); } - }) + }); }, env_with_overridden_hash: function(test) { @@ -109,7 +109,7 @@ exports.tests = { "hash should pull from URL"); test.done(); } - }) + }); }, env_with_non_existant_script : function(test) { @@ -119,7 +119,7 @@ exports.tests = { scripts: ['path/to/invalid.js', 'another/invalid.js'], done: function(errors, window) { test.notEqual(errors, null, 'errors should not be null'); - test.equal(errors.length, 2, 'errors is an array') + test.equal(errors.length, 2, 'errors is an array'); test.notEqual(window.location, null, 'window.location should not be null'); test.done(); } @@ -145,7 +145,7 @@ exports.tests = { done: function(errors, window) { server.close(); if (errors) { - test.ok(false, errors.message) + test.ok(false, errors.message); } else { test.notEqual(window.location, null, 'window.location should not be null'); test.equal(window.attachedHere, 123, 'script should execute on our window'); @@ -196,7 +196,7 @@ exports.tests = { scripts: 'https://doesntmatter.com/script.js', done: function(errors, window) { if (errors) { - test.ok(false, errors.message) + test.ok(false, errors.message); } else { test.notEqual(window.location, null, 'window.location should not be null'); test.equal(window.attachedHere, 123, 'script should execute on our window'); @@ -219,7 +219,7 @@ exports.tests = { done : function(errors, window) { test.ok(null === errors, "error should not be null"); test.ok(null !== window.location, "window should be valid"); - test.equal(window.attachedHere, 123, "script should execute on our window") + test.equal(window.attachedHere, 123, "script should execute on our window"); test.equal(window.document.getElementsByTagName("p").item(0).innerHTML, 'hello world!', "anchor text"); test.done(); } @@ -312,7 +312,7 @@ exports.tests = { var doc = jsdom.jsdom(); doc.appendChild(doc.createElement('html')); } catch (e) { - test.equal(e.code, 3, 'Should throw HIERARCHY_ERR') + test.equal(e.code, 3, 'Should throw HIERARCHY_ERR'); code = e.code; throw(e); } @@ -351,7 +351,7 @@ exports.tests = { doc2.onload = function() { test.equal(doc2.getElementById("test").innerHTML, 'hello from html', 'js should not be executed (doc2)'); test.done(); - } + }; }, load_multiple_resources_with_defer_close: function(test) { @@ -511,10 +511,10 @@ exports.tests = { link5\ protocol\ \ - ' + '; function testLocal() { - var url = '/path/to/docroot/index.html' + var url = '/path/to/docroot/index.html'; var doc = jsdom.jsdom(html, null, {url: url}); test.equal(doc.getElementById("link1").href, 'http://example.com', 'Absolute URL should be left alone'); test.equal(doc.getElementById("link2").href, '/local.html', 'Relative URL should be resolved'); @@ -525,7 +525,7 @@ exports.tests = { } function testRemote() { - var url = 'http://example.com/path/to/docroot/index.html' + var url = 'http://example.com/path/to/docroot/index.html'; var doc = jsdom.jsdom(html, null, {url: url}); test.equal(doc.getElementById("link1").href, 'http://example.com', 'Absolute URL should be left alone'); test.equal(doc.getElementById("link2").href, 'http://example.com/local.html', 'Relative URL should be resolved'); @@ -573,7 +573,7 @@ exports.tests = { var buffer = require("fs").readFileSync(__dirname + "/files/env.html"), dom; test.doesNotThrow(function(){ dom = jsdom.jsdom(buffer); }, 'buffers should automatically be stringified'); - test.equal(dom.documentElement.getElementsByTagName("*").length, 3, 'should parse as per usual') + test.equal(dom.documentElement.getElementsByTagName("*").length, 3, 'should parse as per usual'); test.done(); }, @@ -670,13 +670,13 @@ exports.tests = { childNodes_updates_on_insertChild : function(test) { var window = jsdom.jsdom("").createWindow(); - var div = window.document.createElement("div") - var text = window.document.createTextNode("bar") + var div = window.document.createElement("div"); + var text = window.document.createTextNode("bar"); div.appendChild(text); test.strictEqual(text, div.childNodes[0], "childNodes NodeList should update after appendChild"); - text = window.document.createTextNode("bar") + text = window.document.createTextNode("bar"); div.insertBefore(text, null); test.strictEqual(text, div.childNodes[1], "childNodes NodeList should update after insertBefore"); @@ -685,7 +685,7 @@ exports.tests = { option_set_selected : function(test) { var window = jsdom.jsdom("").createWindow(); - var select = window.document.createElement("select") + var select = window.document.createElement("select"); var option0 = window.document.createElement('option'); select.appendChild(option0); @@ -716,16 +716,16 @@ exports.tests = { }, case_sensitivity_of_markup_missing_html_and_body : function(test){ - var spaces = /[ \n]*/g, - doc1 = jsdom.html("").outerHTML.replace(spaces, ''), - doc2 = jsdom.html("").outerHTML.replace(spaces, ''), - doc3 = jsdom.html("").outerHTML.replace(spaces, ''), - doc4 = jsdom.html("").outerHTML.replace(spaces, ''), - doc5 = jsdom.html("").outerHTML.replace(spaces, ''); - - test.ok(doc1 === doc2 && doc2 == doc3 && doc3 === doc4 && doc4 == doc5, - 'they should all serialize the same'); - test.done(); + var spaces = /[ \n]*/g, + doc1 = jsdom.html("").outerHTML.replace(spaces, ''), + doc2 = jsdom.html("").outerHTML.replace(spaces, ''), + doc3 = jsdom.html("").outerHTML.replace(spaces, ''), + doc4 = jsdom.html("").outerHTML.replace(spaces, ''), + doc5 = jsdom.html("").outerHTML.replace(spaces, ''); + + test.ok(doc1 === doc2 && doc2 == doc3 && doc3 === doc4 && doc4 == doc5, + 'they should all serialize the same'); + test.done(); }, children_should_be_available_right_after_document_creation : function(test) { @@ -753,7 +753,7 @@ exports.tests = { 'jquery.js' ], function () { // ensure the callback gets called! - test.done() + test.done(); }); }, @@ -769,22 +769,22 @@ exports.tests = { }, parsing_and_serializing_entities: function(test) { - var html = '<æ☺foo'; - var document = jsdom.jsdom(html); - var anchor = document.getElementsByTagName('a')[0]; + var html = '<æ☺foo'; + var document = jsdom.jsdom(html); + var anchor = document.getElementsByTagName('a')[0]; - test.strictEqual(anchor.getAttribute('href'), 'http://example.com/?a=b&c=d', - "href attribute value should be deentitified"); + test.strictEqual(anchor.getAttribute('href'), 'http://example.com/?a=b&c=d', + "href attribute value should be deentitified"); - test.strictEqual(anchor.firstChild.nodeValue, '<æ☺foo', - "nodeValue of text node should be deentitified"); + test.strictEqual(anchor.firstChild.nodeValue, '<æ☺foo', + "nodeValue of text node should be deentitified"); - test.ok(anchor.outerHTML.indexOf('http://example.com/?a=b&c=d') !== -1, - "outerHTML of anchor href should be entitified"); + test.ok(anchor.outerHTML.indexOf('http://example.com/?a=b&c=d') !== -1, + "outerHTML of anchor href should be entitified"); - test.ok(anchor.innerHTML.indexOf("<") === 0, - "innerHTML of anchor should begin with <"); - test.done(); + test.ok(anchor.innerHTML.indexOf("<") === 0, + "innerHTML of anchor should begin with <"); + test.done(); }, parsing_and_serializing_unknown_entities: function (test) { @@ -874,10 +874,10 @@ exports.tests = { allow_ender_to_run : function(test) { jsdom.env('', [__dirname + '/files/ender-qwery.js'], function(e, w) { test.ok(!e, 'no errors'); - test.ok(w.ender, 'ender exists') + test.ok(w.ender, 'ender exists'); test.ok(w.$, 'window contains $'); test.done(); - }) + }); }, // see: https://github.com/tmpvar/jsdom/issues/259 @@ -921,7 +921,7 @@ exports.tests = { var thrown = false; var doc; try { - doc = jsdom.jsdom('
') + doc = jsdom.jsdom('
'); } catch (e) { thrown = true; } From 73f68ec86ebeff191530a6cd1c1c4b78eb70a00a Mon Sep 17 00:00:00 2001 From: Elijah Insua Date: Sun, 9 Oct 2011 20:42:23 -0700 Subject: [PATCH 6/6] add missing test.done() --- test/jsdom/index.js | 1 + 1 file changed, 1 insertion(+) diff --git a/test/jsdom/index.js b/test/jsdom/index.js index 70f0abc445..d438376301 100644 --- a/test/jsdom/index.js +++ b/test/jsdom/index.js @@ -794,6 +794,7 @@ exports.tests = { "Unknown and unparsable entities should be left in the decoded text"); test.strictEqual(document.body.innerHTML, "&nowayjose;☺&#xblah;&#9q;", "Unknown and unparsable entities should be reserialized as literal text"); + test.done(); }, document_title_and_entities: function (test) {