├── .gitattributes ├── bower.json ├── .gitignore ├── component.json ├── data ├── decode-map-overrides.json ├── encode-paired-symbols.json ├── invalid-code-points.json ├── decode-legacy-named-references.json ├── decode-map-legacy.json ├── encode-lone-code-points.json ├── encode-map.json └── decode-map.json ├── coverage ├── prettify.css ├── index.html ├── he │ └── index.html └── prettify.js ├── tests └── index.html ├── LICENSE-MIT.txt ├── package.json ├── .travis.yml ├── scripts ├── export-data.js ├── process-data.js └── scrape-spec.js ├── Gruntfile.js ├── src └── he.js └── README.md /.gitattributes: -------------------------------------------------------------------------------- 1 | # Automatically normalize line endings for all text-based files 2 | * text=auto 3 | -------------------------------------------------------------------------------- /bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "he", 3 | "version": "0.3.6", 4 | "main": "he.js", 5 | "ignore": [ 6 | "bin", 7 | "coverage", 8 | "data", 9 | "man", 10 | "scripts", 11 | "src", 12 | "tests", 13 | ".*", 14 | "component.json", 15 | "Gruntfile.js", 16 | "node_modules", 17 | "package.json" 18 | ] 19 | } 20 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # JSON version of coverage report 2 | coverage/coverage.json 3 | 4 | # Installed npm modules 5 | node_modules 6 | 7 | # Folder view configuration files 8 | .DS_Store 9 | Desktop.ini 10 | 11 | # Thumbnail cache files 12 | ._* 13 | Thumbs.db 14 | 15 | # Files that might appear on external disks 16 | .Spotlight-V100 17 | .Trashes 18 | -------------------------------------------------------------------------------- /component.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "he", 3 | "version": "0.3.6", 4 | "description": "A robust HTML entities encoder/decoder with full Unicode support.", 5 | "repo": "mathiasbynens/he", 6 | "license": "MIT", 7 | "scripts": [ 8 | "he.js" 9 | ], 10 | "main": "he.js", 11 | "keywords": [ 12 | "string", 13 | "entities", 14 | "entity", 15 | "html", 16 | "encode", 17 | "decode", 18 | "unicode" 19 | ] 20 | } 21 | -------------------------------------------------------------------------------- /data/decode-map-overrides.json: -------------------------------------------------------------------------------- 1 | { 2 | "0": "\uFFFD", 3 | "128": "\u20AC", 4 | "130": "\u201A", 5 | "131": "\u0192", 6 | "132": "\u201E", 7 | "133": "\u2026", 8 | "134": "\u2020", 9 | "135": "\u2021", 10 | "136": "\u02C6", 11 | "137": "\u2030", 12 | "138": "\u0160", 13 | "139": "\u2039", 14 | "140": "\u0152", 15 | "142": "\u017D", 16 | "145": "\u2018", 17 | "146": "\u2019", 18 | "147": "\u201C", 19 | "148": "\u201D", 20 | "149": "\u2022", 21 | "150": "\u2013", 22 | "151": "\u2014", 23 | "152": "\u02DC", 24 | "153": "\u2122", 25 | "154": "\u0161", 26 | "155": "\u203A", 27 | "156": "\u0153", 28 | "158": "\u017E", 29 | "159": "\u0178" 30 | } 31 | -------------------------------------------------------------------------------- /coverage/prettify.css: -------------------------------------------------------------------------------- 1 | .pln{color:#000}@media screen{.str{color:#080}.kwd{color:#008}.com{color:#800}.typ{color:#606}.lit{color:#066}.pun,.opn,.clo{color:#660}.tag{color:#008}.atn{color:#606}.atv{color:#080}.dec,.var{color:#606}.fun{color:red}}@media print,projection{.str{color:#060}.kwd{color:#006;font-weight:bold}.com{color:#600;font-style:italic}.typ{color:#404;font-weight:bold}.lit{color:#044}.pun,.opn,.clo{color:#440}.tag{color:#006;font-weight:bold}.atn{color:#404}.atv{color:#060}}pre.prettyprint{padding:2px;border:1px solid #888}ol.linenums{margin-top:0;margin-bottom:0}li.L0,li.L1,li.L2,li.L3,li.L5,li.L6,li.L7,li.L8{list-style-type:none}li.L1,li.L3,li.L5,li.L7,li.L9{background:#eee} 2 | -------------------------------------------------------------------------------- /tests/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | he test suite 6 | 7 | 8 | 9 |
10 | 11 | 12 | 22 | 34 | 35 | 36 | -------------------------------------------------------------------------------- /LICENSE-MIT.txt: -------------------------------------------------------------------------------- 1 | Copyright Mathias Bynens 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining 4 | a copy of this software and associated documentation files (the 5 | "Software"), to deal in the Software without restriction, including 6 | without limitation the rights to use, copy, modify, merge, publish, 7 | distribute, sublicense, and/or sell copies of the Software, and to 8 | permit persons to whom the Software is furnished to do so, subject to 9 | the following conditions: 10 | 11 | The above copyright notice and this permission notice shall be 12 | included in all copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 15 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 16 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 17 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 18 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 19 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 20 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "he", 3 | "version": "0.3.6-patch1", 4 | "description": "A robust HTML entities encoder/decoder with full Unicode support.", 5 | "homepage": "http://mths.be/he", 6 | "main": "he.js", 7 | "keywords": [ 8 | "string", 9 | "entities", 10 | "entity", 11 | "html", 12 | "encode", 13 | "decode", 14 | "unicode" 15 | ], 16 | "licenses": [ 17 | { 18 | "type": "MIT", 19 | "url": "http://mths.be/mit" 20 | } 21 | ], 22 | "author": { 23 | "name": "Mathias Bynens", 24 | "url": "http://mathiasbynens.be/" 25 | }, 26 | "repository": { 27 | "type": "git", 28 | "url": "https://github.com/mathiasbynens/he.git" 29 | }, 30 | "bugs": { 31 | "url": "https://github.com/mathiasbynens/he/issues" 32 | }, 33 | "files": [ 34 | "LICENSE-MIT.txt", 35 | "he.js" 36 | ], 37 | "scripts": { 38 | "test": "node tests/tests.js" 39 | }, 40 | "dependencies": {}, 41 | "devDependencies": { 42 | "grunt": "~0.4.1", 43 | "grunt-shell": "~0.5.0", 44 | "grunt-template": "~0.2.1", 45 | "istanbul": "~0.1.44", 46 | "jsesc": "~0.4.2", 47 | "lodash": "~2.2.1", 48 | "qunit-clib": "~1.3.0", 49 | "qunitjs": "~1.11.0", 50 | "regenerate": "~0.5.4", 51 | "requirejs": "~2.1.9" 52 | } 53 | } 54 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - "0.10" 4 | before_script: 5 | - "npm install -g grunt-cli" 6 | # Narwhal uses a hardcoded path to openjdk v6, so use that version 7 | - "sudo apt-get update -qq" 8 | - "sudo apt-get install -qq openjdk-6-jre" 9 | - "PACKAGE=rhino1_7R3; wget http://ftp.mozilla.org/pub/mozilla.org/js/$PACKAGE.zip && sudo unzip $PACKAGE -d /opt/ && rm $PACKAGE.zip" 10 | - "PACKAGE=rhino1_7R3; echo -e '#!/bin/sh\\njava -jar /opt/'$PACKAGE'/js.jar $@' | sudo tee /usr/local/bin/rhino && sudo chmod +x /usr/local/bin/rhino" 11 | - "PACKAGE=ringojs-0.9; wget http://ringojs.org/downloads/$PACKAGE.zip && sudo unzip $PACKAGE -d /opt/ && rm $PACKAGE.zip" 12 | - "PACKAGE=ringojs-0.9; sudo ln -s /opt/$PACKAGE/bin/ringo /usr/local/bin/ringo && sudo chmod +x /usr/local/bin/ringo" 13 | - "PACKAGE=v0.3.2; wget https://github.com/280north/narwhal/archive/$PACKAGE.zip && sudo unzip $PACKAGE -d /opt/ && rm $PACKAGE.zip" 14 | - "PACKAGE=narwhal-0.3.2; sudo ln -s /opt/$PACKAGE/bin/narwhal /usr/local/bin/narwhal && sudo chmod +x /usr/local/bin/narwhal" 15 | # If the enviroment stores rt.jar in a different directory, find it and symlink the directory 16 | - "PREFIX=/usr/lib/jvm; if [ ! -d $PREFIX/java-6-openjdk ]; then for d in $PREFIX/java-6-openjdk-*; do if [ -e $d/jre/lib/rt.jar ]; then sudo ln -s $d $PREFIX/java-6-openjdk; break; fi; done; fi" 17 | script: 18 | "grunt ci" 19 | -------------------------------------------------------------------------------- /data/encode-paired-symbols.json: -------------------------------------------------------------------------------- 1 | [ 2 | "<\u20D2", 3 | "=\u20E5", 4 | ">\u20D2", 5 | "fj", 6 | "\u205F\u200A", 7 | "\u219D\u0338", 8 | "\u2202\u0338", 9 | "\u2220\u20D2", 10 | "\u2229\uFE00", 11 | "\u222A\uFE00", 12 | "\u223C\u20D2", 13 | "\u223D\u0331", 14 | "\u223E\u0333", 15 | "\u2242\u0338", 16 | "\u224B\u0338", 17 | "\u224D\u20D2", 18 | "\u224E\u0338", 19 | "\u224F\u0338", 20 | "\u2250\u0338", 21 | "\u2261\u20E5", 22 | "\u2264\u20D2", 23 | "\u2265\u20D2", 24 | "\u2266\u0338", 25 | "\u2267\u0338", 26 | "\u2268\uFE00", 27 | "\u2269\uFE00", 28 | "\u226A\u0338", 29 | "\u226A\u20D2", 30 | "\u226B\u0338", 31 | "\u226B\u20D2", 32 | "\u227F\u0338", 33 | "\u2282\u20D2", 34 | "\u2283\u20D2", 35 | "\u228A\uFE00", 36 | "\u228B\uFE00", 37 | "\u228F\u0338", 38 | "\u2290\u0338", 39 | "\u2293\uFE00", 40 | "\u2294\uFE00", 41 | "\u22B4\u20D2", 42 | "\u22B5\u20D2", 43 | "\u22D8\u0338", 44 | "\u22D9\u0338", 45 | "\u22DA\uFE00", 46 | "\u22DB\uFE00", 47 | "\u22F5\u0338", 48 | "\u22F9\u0338", 49 | "\u2933\u0338", 50 | "\u29CF\u0338", 51 | "\u29D0\u0338", 52 | "\u2A6D\u0338", 53 | "\u2A70\u0338", 54 | "\u2A7D\u0338", 55 | "\u2A7E\u0338", 56 | "\u2AA1\u0338", 57 | "\u2AA2\u0338", 58 | "\u2AAC\uFE00", 59 | "\u2AAD\uFE00", 60 | "\u2AAF\u0338", 61 | "\u2AB0\u0338", 62 | "\u2AC5\u0338", 63 | "\u2AC6\u0338", 64 | "\u2ACB\uFE00", 65 | "\u2ACC\uFE00", 66 | "\u2AFD\u20E5" 67 | ] 68 | -------------------------------------------------------------------------------- /data/invalid-code-points.json: -------------------------------------------------------------------------------- 1 | [ 2 | 1, 3 | 2, 4 | 3, 5 | 4, 6 | 5, 7 | 6, 8 | 7, 9 | 8, 10 | 11, 11 | 13, 12 | 14, 13 | 15, 14 | 16, 15 | 17, 16 | 18, 17 | 19, 18 | 20, 19 | 21, 20 | 22, 21 | 23, 22 | 24, 23 | 25, 24 | 26, 25 | 27, 26 | 28, 27 | 29, 28 | 30, 29 | 31, 30 | 127, 31 | 128, 32 | 129, 33 | 130, 34 | 131, 35 | 132, 36 | 133, 37 | 134, 38 | 135, 39 | 136, 40 | 137, 41 | 138, 42 | 139, 43 | 140, 44 | 141, 45 | 142, 46 | 143, 47 | 144, 48 | 145, 49 | 146, 50 | 147, 51 | 148, 52 | 149, 53 | 150, 54 | 151, 55 | 152, 56 | 153, 57 | 154, 58 | 155, 59 | 156, 60 | 157, 61 | 158, 62 | 159, 63 | 64976, 64 | 64977, 65 | 64978, 66 | 64979, 67 | 64980, 68 | 64981, 69 | 64982, 70 | 64983, 71 | 64984, 72 | 64985, 73 | 64986, 74 | 64987, 75 | 64988, 76 | 64989, 77 | 64990, 78 | 64991, 79 | 64992, 80 | 64993, 81 | 64994, 82 | 64995, 83 | 64996, 84 | 64997, 85 | 64998, 86 | 64999, 87 | 65000, 88 | 65001, 89 | 65002, 90 | 65003, 91 | 65004, 92 | 65005, 93 | 65006, 94 | 65007, 95 | 65534, 96 | 65535, 97 | 131070, 98 | 131071, 99 | 196606, 100 | 196607, 101 | 262142, 102 | 262143, 103 | 327678, 104 | 327679, 105 | 393214, 106 | 393215, 107 | 458750, 108 | 458751, 109 | 524286, 110 | 524287, 111 | 589822, 112 | 589823, 113 | 655358, 114 | 655359, 115 | 720894, 116 | 720895, 117 | 786430, 118 | 786431, 119 | 851966, 120 | 851967, 121 | 917502, 122 | 917503, 123 | 983038, 124 | 983039, 125 | 1048574, 126 | 1048575, 127 | 1114110, 128 | 1114111 129 | ] 130 | -------------------------------------------------------------------------------- /data/decode-legacy-named-references.json: -------------------------------------------------------------------------------- 1 | [ 2 | "Aacute", 3 | "iacute", 4 | "Uacute", 5 | "plusmn", 6 | "otilde", 7 | "Otilde", 8 | "Agrave", 9 | "agrave", 10 | "yacute", 11 | "Yacute", 12 | "oslash", 13 | "Oslash", 14 | "Atilde", 15 | "atilde", 16 | "brvbar", 17 | "Ccedil", 18 | "ccedil", 19 | "ograve", 20 | "curren", 21 | "divide", 22 | "Eacute", 23 | "eacute", 24 | "Ograve", 25 | "oacute", 26 | "Egrave", 27 | "egrave", 28 | "ugrave", 29 | "frac12", 30 | "frac14", 31 | "frac34", 32 | "Ugrave", 33 | "Oacute", 34 | "Iacute", 35 | "ntilde", 36 | "Ntilde", 37 | "uacute", 38 | "middot", 39 | "Igrave", 40 | "igrave", 41 | "iquest", 42 | "aacute", 43 | "laquo", 44 | "THORN", 45 | "micro", 46 | "iexcl", 47 | "icirc", 48 | "Icirc", 49 | "Acirc", 50 | "ucirc", 51 | "ecirc", 52 | "Ocirc", 53 | "ocirc", 54 | "Ecirc", 55 | "Ucirc", 56 | "aring", 57 | "Aring", 58 | "aelig", 59 | "AElig", 60 | "acute", 61 | "pound", 62 | "raquo", 63 | "acirc", 64 | "times", 65 | "thorn", 66 | "szlig", 67 | "cedil", 68 | "COPY", 69 | "Auml", 70 | "ordf", 71 | "ordm", 72 | "uuml", 73 | "macr", 74 | "Uuml", 75 | "auml", 76 | "Ouml", 77 | "ouml", 78 | "para", 79 | "nbsp", 80 | "Euml", 81 | "quot", 82 | "QUOT", 83 | "euml", 84 | "yuml", 85 | "cent", 86 | "sect", 87 | "copy", 88 | "sup1", 89 | "sup2", 90 | "sup3", 91 | "Iuml", 92 | "iuml", 93 | "shy", 94 | "eth", 95 | "reg", 96 | "not", 97 | "yen", 98 | "amp", 99 | "AMP", 100 | "REG", 101 | "uml", 102 | "ETH", 103 | "deg", 104 | "gt", 105 | "GT", 106 | "LT", 107 | "lt" 108 | ] 109 | -------------------------------------------------------------------------------- /scripts/export-data.js: -------------------------------------------------------------------------------- 1 | var fs = require('fs'); 2 | var jsesc = require('jsesc'); 3 | var regenerate = require('regenerate'); 4 | 5 | var readJSON = function(fileName) { 6 | var contents = fs.readFileSync('data/' + fileName + '.json', 'utf-8'); 7 | var object = JSON.parse(contents); 8 | if (Array.isArray(object)) { 9 | return object; 10 | } 11 | return jsesc(object, { 12 | 'compact': true, 13 | 'quotes': 'single' 14 | }); 15 | }; 16 | 17 | var joinStrings = function(a, b) { 18 | if (a && b) { 19 | return a + '|' + b; 20 | } 21 | return a + b; 22 | }; 23 | 24 | var loneCodePoints = readJSON('encode-lone-code-points'); 25 | var arrayEncodeMultipleSymbols = readJSON('encode-paired-symbols'); 26 | var arrayEncodeMultipleSymbolsASCII = arrayEncodeMultipleSymbols 27 | .filter(function(string) { 28 | return /^[\0-\x7F]+$/.test(string); 29 | }); 30 | 31 | var encodeSingleSymbolsASCII = regenerate(loneCodePoints) 32 | .removeRange(0x7F + 1, 0x10FFFF).toString(); 33 | var encodeSingleSymbolsNonASCII = regenerate(loneCodePoints) 34 | .removeRange(0x00, 0x7F).toString(); 35 | var encodeMultipleSymbolsASCII = jsesc( 36 | arrayEncodeMultipleSymbolsASCII.join('|') 37 | ); 38 | var encodeMultipleSymbolsNonASCII = jsesc( 39 | regenerate.difference( 40 | arrayEncodeMultipleSymbols, 41 | arrayEncodeMultipleSymbolsASCII 42 | ).join('|') 43 | ); 44 | var encodeASCII = joinStrings( 45 | encodeMultipleSymbolsASCII, 46 | encodeSingleSymbolsASCII 47 | ); 48 | var encodeNonASCII = joinStrings( 49 | encodeMultipleSymbolsNonASCII, 50 | encodeSingleSymbolsNonASCII 51 | ); 52 | 53 | module.exports = { 54 | 'encodeMap': readJSON('encode-map'), 55 | 'encodeASCII': encodeASCII, // not used 56 | 'encodeNonASCII': encodeNonASCII, 57 | 'decodeOverrides': readJSON('decode-map-overrides'), 58 | 'decodeMap': readJSON('decode-map'), 59 | 'decodeMapLegacy': readJSON('decode-map-legacy'), 60 | 'astralSymbol': regenerate.fromCodePointRange(0x010000, 0x10FFFF), 61 | 'invalidCodePoints': jsesc(readJSON('invalid-code-points')), 62 | 'regexDecimalEscapeSource': '&#([0-9]+)(;?)', 63 | 'regexHexadecimalEscapeSource': '&#[xX]([a-fA-F0-9]+)(;?)', 64 | 'regexNamedReferenceSource': '&([0-9a-zA-Z]+);', 65 | 'regexLegacyReferenceSource': '&(' + 66 | readJSON('decode-legacy-named-references').join('|') + ')([=a-zA-Z0-9])?', 67 | 'version': JSON.parse(fs.readFileSync('package.json', 'utf-8')).version 68 | }; 69 | -------------------------------------------------------------------------------- /data/decode-map-legacy.json: -------------------------------------------------------------------------------- 1 | { 2 | "Aacute": "\u00C1", 3 | "aacute": "\u00E1", 4 | "Acirc": "\u00C2", 5 | "acirc": "\u00E2", 6 | "acute": "\u00B4", 7 | "AElig": "\u00C6", 8 | "aelig": "\u00E6", 9 | "Agrave": "\u00C0", 10 | "agrave": "\u00E0", 11 | "amp": "&", 12 | "AMP": "&", 13 | "Aring": "\u00C5", 14 | "aring": "\u00E5", 15 | "Atilde": "\u00C3", 16 | "atilde": "\u00E3", 17 | "Auml": "\u00C4", 18 | "auml": "\u00E4", 19 | "brvbar": "\u00A6", 20 | "Ccedil": "\u00C7", 21 | "ccedil": "\u00E7", 22 | "cedil": "\u00B8", 23 | "cent": "\u00A2", 24 | "copy": "\u00A9", 25 | "COPY": "\u00A9", 26 | "curren": "\u00A4", 27 | "deg": "\u00B0", 28 | "divide": "\u00F7", 29 | "Eacute": "\u00C9", 30 | "eacute": "\u00E9", 31 | "Ecirc": "\u00CA", 32 | "ecirc": "\u00EA", 33 | "Egrave": "\u00C8", 34 | "egrave": "\u00E8", 35 | "ETH": "\u00D0", 36 | "eth": "\u00F0", 37 | "Euml": "\u00CB", 38 | "euml": "\u00EB", 39 | "frac12": "\u00BD", 40 | "frac14": "\u00BC", 41 | "frac34": "\u00BE", 42 | "gt": ">", 43 | "GT": ">", 44 | "Iacute": "\u00CD", 45 | "iacute": "\u00ED", 46 | "Icirc": "\u00CE", 47 | "icirc": "\u00EE", 48 | "iexcl": "\u00A1", 49 | "Igrave": "\u00CC", 50 | "igrave": "\u00EC", 51 | "iquest": "\u00BF", 52 | "Iuml": "\u00CF", 53 | "iuml": "\u00EF", 54 | "laquo": "\u00AB", 55 | "lt": "<", 56 | "LT": "<", 57 | "macr": "\u00AF", 58 | "micro": "\u00B5", 59 | "middot": "\u00B7", 60 | "nbsp": "\u00A0", 61 | "not": "\u00AC", 62 | "Ntilde": "\u00D1", 63 | "ntilde": "\u00F1", 64 | "Oacute": "\u00D3", 65 | "oacute": "\u00F3", 66 | "Ocirc": "\u00D4", 67 | "ocirc": "\u00F4", 68 | "Ograve": "\u00D2", 69 | "ograve": "\u00F2", 70 | "ordf": "\u00AA", 71 | "ordm": "\u00BA", 72 | "Oslash": "\u00D8", 73 | "oslash": "\u00F8", 74 | "Otilde": "\u00D5", 75 | "otilde": "\u00F5", 76 | "Ouml": "\u00D6", 77 | "ouml": "\u00F6", 78 | "para": "\u00B6", 79 | "plusmn": "\u00B1", 80 | "pound": "\u00A3", 81 | "quot": "\"", 82 | "QUOT": "\"", 83 | "raquo": "\u00BB", 84 | "reg": "\u00AE", 85 | "REG": "\u00AE", 86 | "sect": "\u00A7", 87 | "shy": "\u00AD", 88 | "sup1": "\u00B9", 89 | "sup2": "\u00B2", 90 | "sup3": "\u00B3", 91 | "szlig": "\u00DF", 92 | "THORN": "\u00DE", 93 | "thorn": "\u00FE", 94 | "times": "\u00D7", 95 | "Uacute": "\u00DA", 96 | "uacute": "\u00FA", 97 | "Ucirc": "\u00DB", 98 | "ucirc": "\u00FB", 99 | "Ugrave": "\u00D9", 100 | "ugrave": "\u00F9", 101 | "uml": "\u00A8", 102 | "Uuml": "\u00DC", 103 | "uuml": "\u00FC", 104 | "Yacute": "\u00DD", 105 | "yacute": "\u00FD", 106 | "yen": "\u00A5", 107 | "yuml": "\u00FF" 108 | } 109 | -------------------------------------------------------------------------------- /scripts/process-data.js: -------------------------------------------------------------------------------- 1 | var fs = require('fs'); 2 | var jsesc = require('jsesc'); 3 | var _ = require('lodash'); 4 | 5 | // http://www.whatwg.org/specs/web-apps/current-work/multipage/entities.json 6 | var data = JSON.parse(fs.readFileSync('data/entities.json', 'utf8')); 7 | 8 | var encodeMap = {}; 9 | var encodeMultipleSymbols = []; 10 | var encodeSingleCodePoints = []; 11 | var decodeMap = {}; 12 | var decodeMapLegacy = {}; 13 | 14 | _.forOwn(data, function(value, key) { 15 | var referenceWithLeadingAmpersand = key; 16 | var referenceWithoutLeadingAmpersand = referenceWithLeadingAmpersand.replace(/^&/, ''); 17 | var referenceOnly = referenceWithoutLeadingAmpersand.replace(/;$/, ''); 18 | var string = value.characters; 19 | var codePoints = value.codepoints; 20 | var tmp; 21 | if (/;$/.test(referenceWithoutLeadingAmpersand)) { 22 | // only if the entity has a trailing semicolon 23 | tmp = encodeMap[string]; 24 | // Prefer short named character references with as few uppercase letters as possible 25 | if ( // only add an entry if… 26 | !tmp || ( // …there is no entry for this string yet, or… 27 | tmp.length > referenceOnly.length || // …this reference is shorter, or… 28 | ( 29 | // …this reference contains fewer uppercase letters 30 | tmp.length == referenceOnly.length && 31 | (referenceOnly.match(/[A-Z]/g) || []).length < 32 | (tmp.match(/[A-Z]/g) || []).length 33 | ) 34 | ) 35 | ) { 36 | encodeMap[string] = referenceOnly; 37 | } else { 38 | // do nothing 39 | } 40 | if (codePoints.length == 1) { 41 | encodeSingleCodePoints.push(codePoints[0]); 42 | } else { 43 | encodeMultipleSymbols.push(string); 44 | } 45 | } 46 | if (/;$/.test(referenceWithoutLeadingAmpersand)) { 47 | decodeMap[referenceWithoutLeadingAmpersand.replace(/;$/, '')] = string; 48 | } else { 49 | decodeMapLegacy[referenceWithoutLeadingAmpersand] = string; 50 | } 51 | }); 52 | 53 | encodeMultipleSymbols = _.uniq( 54 | encodeMultipleSymbols.sort(), // sort strings by code point value 55 | true 56 | ); 57 | 58 | encodeSingleCodePoints = _.uniq( 59 | _.sortBy(encodeSingleCodePoints), // numeric sort 60 | true 61 | ); 62 | 63 | var legacyReferences = _.keys(decodeMapLegacy).sort(function(a, b) { 64 | if (a.length > b.length) { 65 | return -1; 66 | } 67 | if (a.length < b.length) { 68 | return 1; 69 | } 70 | // a.length == b.length, so sort alphabetically 71 | return a - b; 72 | }); 73 | 74 | var writeJSON = function(fileName, object) { 75 | var json = jsesc(object, { 76 | 'compact': false, 77 | 'json': true 78 | }); 79 | fs.writeFileSync(fileName, json + '\n'); 80 | }; 81 | 82 | writeJSON('data/decode-map.json', decodeMap); 83 | writeJSON('data/decode-map-legacy.json', decodeMapLegacy); 84 | writeJSON('data/decode-legacy-named-references.json', legacyReferences); 85 | writeJSON('data/encode-map.json', encodeMap); 86 | writeJSON('data/encode-paired-symbols.json', encodeMultipleSymbols); 87 | writeJSON('data/encode-lone-code-points.json', encodeSingleCodePoints); 88 | -------------------------------------------------------------------------------- /Gruntfile.js: -------------------------------------------------------------------------------- 1 | module.exports = function(grunt) { 2 | 3 | grunt.initConfig({ 4 | 'shell': { 5 | 'options': { 6 | 'stdout': true, 7 | 'stderr': true, 8 | 'failOnError': true 9 | }, 10 | 'cover': { 11 | 'command': 'istanbul cover --report "html" --verbose --dir "coverage" "tests/tests.js"' 12 | }, 13 | 'fetch-entities': { 14 | 'command': 'curl http://www.whatwg.org/specs/web-apps/current-work/entities.json | sed "s/ /\t/g" > data/entities.json' 15 | }, 16 | 'fetch-and-scrape-spec': { 17 | 'command': 'phantomjs --load-images=no scripts/scrape-spec.js' 18 | }, 19 | 'process-data': { 20 | 'command': 'node scripts/process-data.js' 21 | }, 22 | 'test-narwhal': { 23 | 'command': 'echo "Testing in Narwhal..."; export NARWHAL_OPTIMIZATION=-1; narwhal "tests/tests.js"' 24 | }, 25 | 'test-phantomjs': { 26 | 'command': 'echo "Testing in PhantomJS..."; phantomjs "tests/tests.js"' 27 | }, 28 | // Rhino 1.7R4 has a bug that makes it impossible to test he. 29 | // https://bugzilla.mozilla.org/show_bug.cgi?id=775566 30 | // To test, use Rhino 1.7R3, or wait (heh) for the 1.7R5 release. 31 | 'test-rhino': { 32 | 'command': 'echo "Testing in Rhino..."; rhino -opt -1 "tests.js"', 33 | 'options': { 34 | 'execOptions': { 35 | 'cwd': 'tests' 36 | } 37 | } 38 | }, 39 | 'test-ringo': { 40 | 'command': 'echo "Testing in Ringo..."; ringo -o -1 "tests/tests.js"' 41 | }, 42 | 'test-node': { 43 | 'command': 'echo "Testing in Node..."; node "tests/tests.js"' 44 | }, 45 | 'test-browser': { 46 | 'command': 'echo "Testing in a browser..."; open "tests/index.html"' 47 | } 48 | }, 49 | 'template': { 50 | 'build-he': { 51 | 'options': { 52 | 'data': function() { 53 | return require('./scripts/export-data.js'); 54 | } 55 | }, 56 | 'files': { 57 | 'he.js': ['src/he.js'] 58 | } 59 | }, 60 | 'build-tests': { 61 | 'options': { 62 | 'data': function() { 63 | return { 64 | 'testData': require('fs') 65 | .readFileSync('data/entities.json', 'utf-8').trim() 66 | } 67 | } 68 | }, 69 | 'files': { 70 | 'tests/tests.js': ['tests/tests.src.js'] 71 | } 72 | } 73 | } 74 | }); 75 | 76 | grunt.loadNpmTasks('grunt-template'); 77 | grunt.loadNpmTasks('grunt-shell'); 78 | 79 | grunt.registerTask('cover', 'shell:cover'); 80 | grunt.registerTask('ci', [ 81 | 'shell:test-narwhal', 82 | 'shell:test-phantomjs', 83 | 'shell:test-rhino', 84 | 'shell:test-ringo', 85 | 'shell:test-node', 86 | ]); 87 | grunt.registerTask('test', [ 88 | 'ci', 89 | 'shell:test-browser' 90 | ]); 91 | 92 | grunt.registerTask('default', [ 93 | 'template', 94 | 'shell:test-node' 95 | ]); 96 | 97 | grunt.registerTask('build', [ 98 | 'shell:process-data', 99 | 'default' 100 | ]); 101 | 102 | grunt.registerTask('fetch', [ 103 | 'shell:fetch-entities', 104 | 'shell:fetch-and-scrape-spec', 105 | 'build' 106 | ]); 107 | 108 | }; 109 | -------------------------------------------------------------------------------- /scripts/scrape-spec.js: -------------------------------------------------------------------------------- 1 | var page = require('webpage').create(); 2 | var fs = require('fs'); 3 | var jsesc = require('jsesc'); 4 | 5 | var open = function(url, callback) { 6 | page.open(url, function(status) { 7 | if (status != 'success') { 8 | return phantom.exit(); 9 | } 10 | callback(); 11 | }); 12 | }; 13 | 14 | var writeJSON = function(fileName, contents) { 15 | fs.write(fileName, contents + '\n', 'w'); 16 | console.log(fileName + ' created successfully.'); 17 | }; 18 | 19 | open('http://www.whatwg.org/specs/web-apps/current-work/multipage/tokenization.html#table-charref-overrides', function() { 20 | var result = page.evaluate(function() { 21 | 22 | // Modified version of `ucs2encode`; see http://mths.be/punycode 23 | var stringFromCharCode = String.fromCharCode; 24 | var codePointToSymbol = function(codePoint) { 25 | var output = ''; 26 | if (codePoint > 0xFFFF) { 27 | codePoint -= 0x10000; 28 | output += stringFromCharCode(codePoint >>> 10 & 0x3FF | 0xD800); 29 | codePoint = 0xDC00 | codePoint & 0x3FF; 30 | } 31 | output += stringFromCharCode(codePoint); 32 | return output; 33 | }; 34 | 35 | var range = function(start, stop) { 36 | for (var result = []; start <= stop; result.push(start++)); 37 | return result; 38 | }; 39 | 40 | var table = document.querySelector('#table-charref-overrides'); 41 | 42 | // Code points that cause parse errors 43 | var siblings = table.parentNode.children; 44 | var max = siblings.length - 1; 45 | var text = siblings[max].innerText; 46 | var codePoints = []; 47 | text.replace(/0x([a-fA-F0-9]+)\s+to\s+0x([a-fA-F0-9]+)/g, function($0, $1, $2) { 48 | var start = parseInt($1, 16); 49 | var end = parseInt($2, 16); 50 | codePoints = codePoints.concat(range(start, end)); 51 | return ''; 52 | }).replace(/0x([a-fA-F0-9]+)/g, function($0, $1) { 53 | var codePoint = parseInt($1, 16); 54 | codePoints.push(codePoint); 55 | return ''; 56 | }); 57 | 58 | // Character reference overrides 59 | var cells = table.querySelectorAll('td'); 60 | var keys = [].filter.call(cells, function(cell, index) { 61 | return index % 3 == 0; 62 | }).map(function(cell) { 63 | return Number(cell.innerText.trim()); 64 | }); 65 | var values = [].filter.call(cells, function(cell, index) { 66 | return index % 3 == 1; 67 | }).map(function(cell) { 68 | var hex = cell.innerText.trim().replace('U+', ''); 69 | var codePoint = parseInt(hex, 16); 70 | return codePointToSymbol(codePoint); 71 | }); 72 | 73 | var overrides = {}; 74 | keys = keys.forEach(function(codePoint, index) { 75 | var symbol = codePointToSymbol(codePoint); 76 | var correspondingValue = values[index]; 77 | var mapsToItself = symbol == correspondingValue; 78 | var alreadyMarkedAsInvalid = codePoints.indexOf(codePoint) > -1; 79 | if (mapsToItself && !alreadyMarkedAsInvalid) { 80 | codePoints.push(codePoint); 81 | return; 82 | } 83 | if (!mapsToItself || !alreadyMarkedAsInvalid) { 84 | overrides[codePoint] = correspondingValue; 85 | } 86 | }); 87 | 88 | // Pass everything back to PhantomJS 89 | return { 90 | 'overrides': overrides, 91 | // When passed as an array, it comes out as an object, so pass it as a 92 | // comma-separated string instead 93 | 'codePoints': codePoints.join(',') 94 | }; 95 | 96 | }); 97 | 98 | writeJSON('data/decode-map-overrides.json', jsesc(result.overrides, { 99 | 'json': true, 100 | 'compact': false 101 | })); 102 | 103 | var codePoints = result.codePoints.split(',').map(function(string) { 104 | return parseInt(string, 10); 105 | }).sort(function(a, b) { 106 | return a - b; 107 | }); 108 | writeJSON('data/invalid-code-points.json', jsesc(codePoints, { 109 | 'json': true, 110 | 'compact': false 111 | })); 112 | 113 | phantom.exit(); 114 | }); 115 | -------------------------------------------------------------------------------- /src/he.js: -------------------------------------------------------------------------------- 1 | /*! http://mths.be/he v<%= version %> by @mathias | MIT license */ 2 | ;(function(root) { 3 | 4 | // Detect free variables `exports` 5 | var freeExports = typeof exports == 'object' && exports; 6 | 7 | // Detect free variable `module` 8 | var freeModule = typeof module == 'object' && module && 9 | module.exports == freeExports && module; 10 | 11 | // Detect free variable `global`, from Node.js or Browserified code, 12 | // and use it as `root` 13 | var freeGlobal = typeof global == 'object' && global; 14 | if (freeGlobal.global === freeGlobal || freeGlobal.window === freeGlobal) { 15 | root = freeGlobal; 16 | } 17 | 18 | /*--------------------------------------------------------------------------*/ 19 | 20 | var regexAstralSymbols = /<%= astralSymbol %>/g; 21 | var regexASCII = /[\0-\x7F]/g; 22 | var regexNonASCII = /[^\0-\x7F]/g; 23 | 24 | var regexEncodeNonASCII = /<%= encodeNonASCII %>/g; 25 | var encodeMap = <%= encodeMap %>; 26 | 27 | var regexEscape = /[&<>"']/g; 28 | var escapeMap = { 29 | '&': '&', 30 | '<': '<', 31 | '"': '"', 32 | '\'': ''', 33 | // See http://mathiasbynens.be/notes/ambiguous-ampersands: in HTML, the 34 | // following is not strictly necessary unless it’s part of a tag or an 35 | // unquoted attribute value. We’re only escaping it for XML support, and to 36 | // match existing `htmlEscape` implementations. 37 | '>': '>' 38 | }; 39 | 40 | var regexInvalidEntity = /&#(?:[xX][^a-fA-F0-9]|[^0-9xX])/; 41 | var regexDecode = /<%= 42 | regexDecimalEscapeSource 43 | %>|<%= 44 | regexHexadecimalEscapeSource 45 | %>|<%= 46 | regexNamedReferenceSource 47 | %>|<%= 48 | regexLegacyReferenceSource 49 | %>/g; 50 | var decodeMap = <%= decodeMap %>; 51 | var decodeMapLegacy = <%= decodeMapLegacy %>; 52 | var decodeMapNumeric = <%= decodeOverrides %>; 53 | var invalidCodePoints = <%= invalidCodePoints %>; 54 | 55 | /*--------------------------------------------------------------------------*/ 56 | 57 | var stringFromCharCode = String.fromCharCode; 58 | 59 | var object = {}; 60 | var hasOwnProperty = object.hasOwnProperty; 61 | var has = function(object, propertyName) { 62 | return hasOwnProperty.call(object, propertyName); 63 | }; 64 | 65 | var contains = function(array, value) { 66 | var index = -1; 67 | var length = array.length; 68 | while (++index < length) { 69 | if (array[index] == value) { 70 | return true; 71 | } 72 | } 73 | return false; 74 | }; 75 | 76 | var merge = function(options, defaults) { 77 | if (!options) { 78 | return defaults; 79 | } 80 | var key; 81 | var result = {}; 82 | for (key in defaults) { 83 | // `hasOwnProperty` check is not needed here, since only recognized 84 | // option names are used 85 | result[key] = has(options, key) ? options[key] : defaults[key]; 86 | } 87 | return result; 88 | }; 89 | 90 | // Modified version of `ucs2encode`; see http://mths.be/punycode 91 | var codePointToSymbol = function(codePoint, strict) { 92 | var output = ''; 93 | if ((codePoint >= 0xD800 && codePoint <= 0xDFFF) || codePoint > 0x10FFFF) { 94 | // See issue #4: 95 | // “Otherwise, if the number is in the range 0xD800 to 0xDFFF or is 96 | // greater than 0x10FFFF, then this is a parse error. Return a U+FFFD 97 | // REPLACEMENT CHARACTER.” 98 | if (strict) { 99 | parseError('character reference outside the permissible Unicode range'); 100 | } 101 | return '\uFFFD'; 102 | } 103 | if (has(decodeMapNumeric, codePoint)) { 104 | if (strict) { 105 | parseError('disallowed character reference'); 106 | } 107 | return decodeMapNumeric[codePoint]; 108 | } 109 | if (strict && contains(invalidCodePoints, codePoint)) { 110 | parseError('disallowed character reference'); 111 | } 112 | if (codePoint > 0xFFFF) { 113 | codePoint -= 0x10000; 114 | output += stringFromCharCode(codePoint >>> 10 & 0x3FF | 0xD800); 115 | codePoint = 0xDC00 | codePoint & 0x3FF; 116 | } 117 | output += stringFromCharCode(codePoint); 118 | return output; 119 | }; 120 | 121 | var hexEscape = function(symbol) { 122 | return '&#x' + symbol.charCodeAt(0).toString(16).toUpperCase() + ';'; 123 | }; 124 | 125 | var parseError = function(message) { 126 | throw Error('Parse error: ' + message); 127 | }; 128 | 129 | /*--------------------------------------------------------------------------*/ 130 | 131 | var encode = function(string, options) { 132 | options = merge(options, encode.options); 133 | var encodeEverything = options.encodeEverything; 134 | var useNamedReferences = options.useNamedReferences; 135 | if (encodeEverything) { 136 | // Encode ASCII symbols 137 | string = string.replace(regexASCII, function(symbol) { 138 | // Use named references if requested & possible 139 | if (useNamedReferences && has(encodeMap, symbol)) { 140 | return '&' + encodeMap[symbol] + ';'; 141 | } 142 | return hexEscape(symbol); 143 | }); 144 | // Shorten a few escapes that represent two symbols, of which at least one 145 | // is within the ASCII range 146 | if (useNamedReferences) { 147 | string = string 148 | .replace(/>\u20D2/g, '>⃒') 149 | .replace(/<\u20D2/g, '<⃒') 150 | .replace(/fj/g, 'fj'); 151 | } 152 | // Encode non-ASCII symbols 153 | if (useNamedReferences) { 154 | // Encode non-ASCII symbols that can be replaced with a named reference 155 | string = string.replace(regexEncodeNonASCII, function(string) { 156 | return '&' + encodeMap[string] + ';'; // no need to check `has()` here 157 | }); 158 | } 159 | // Note: any remaining non-ASCII symbols are handled outside of the `if` 160 | } else if (useNamedReferences) { 161 | // Apply named character references 162 | // Encode `<>"'&` using named character references 163 | string = string.replace(regexEscape, function(string) { 164 | return '&' + encodeMap[string] + ';'; // no need to check `has()` here 165 | }); 166 | // Shorten escapes that represent two symbols, of which at least one is 167 | // `<>"'&` 168 | string = string 169 | .replace(/>\u20D2/g, '>⃒') 170 | .replace(/<\u20D2/g, '<⃒'); 171 | // Encode non-ASCII symbols that can be replaced with a named reference 172 | string = string.replace(regexEncodeNonASCII, function(string) { 173 | return '&' + encodeMap[string] + ';'; // no need to check `has()` here 174 | }); 175 | } else { 176 | // Encode `<>"'&` using hexadecimal escapes, now that they’re not handled 177 | // using named character references 178 | string = string.replace(regexEscape, hexEscape); 179 | } 180 | return string 181 | // Encode astral symbols 182 | .replace(regexAstralSymbols, function($0) { 183 | // http://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae 184 | var high = $0.charCodeAt(0); 185 | var low = $0.charCodeAt(1); 186 | var codePoint = (high - 0xD800) * 0x400 + low - 0xDC00 + 0x10000; 187 | return '&#x' + codePoint.toString(16).toUpperCase() + ';'; 188 | }) 189 | // Encode any remaining non-ASCII symbols using a hexadecimal escape 190 | .replace(regexNonASCII, hexEscape); 191 | }; 192 | // Expose default options (so they can be overridden globally) 193 | encode.options = { 194 | 'useNamedReferences': false, 195 | 'encodeEverything': false 196 | }; 197 | 198 | var decode = function(html, options) { 199 | options = merge(options, decode.options); 200 | var strict = options.strict; 201 | if (strict && regexInvalidEntity.test(html)) { 202 | parseError('malformed character reference'); 203 | } 204 | return html.replace(regexDecode, function($0, $1, $2, $3, $4, $5, $6, $7) { 205 | var codePoint; 206 | var semicolon; 207 | var hexDigits; 208 | var reference; 209 | var next; 210 | if ($1) { 211 | // Decode decimal escapes, e.g. `𝌆` 212 | codePoint = $1; 213 | semicolon = $2; 214 | if (strict && !semicolon) { 215 | parseError('character reference was not terminated by a semicolon'); 216 | } 217 | return codePointToSymbol(codePoint, strict); 218 | } 219 | if ($3) { 220 | // Decode hexadecimal escapes, e.g. `𝌆` 221 | hexDigits = $3; 222 | semicolon = $4; 223 | if (strict && !semicolon) { 224 | parseError('character reference was not terminated by a semicolon'); 225 | } 226 | codePoint = parseInt(hexDigits, 16); 227 | return codePointToSymbol(codePoint, strict); 228 | } 229 | if ($5) { 230 | // Decode named character references with trailing `;`, e.g. `©` 231 | reference = $5; 232 | if (has(decodeMap, reference)) { 233 | return decodeMap[reference]; 234 | } else { 235 | // ambiguous ampersand; see http://mths.be/notes/ambiguous-ampersands 236 | if (strict) { 237 | parseError( 238 | 'named character reference was not terminated by a semicolon' 239 | ); 240 | } 241 | return $0; 242 | } 243 | } 244 | // If we’re still here, it’s a legacy reference for sure. No need for an 245 | // extra `if` check. 246 | // Decode named character references without trailing `;`, e.g. `&` 247 | // This is only a parse error if it gets converted to `&`, or if it is 248 | // followed by `=` in an attribute context. 249 | reference = $6; 250 | next = $7; 251 | if (next && options.isAttributeValue) { 252 | if (strict && next == '=') { 253 | parseError('`&` did not start a character reference'); 254 | } 255 | return $0; 256 | } else { 257 | if (strict) { 258 | parseError( 259 | 'named character reference was not terminated by a semicolon' 260 | ); 261 | } 262 | // no need to check `has()` here 263 | return decodeMapLegacy[reference] + (next || ''); 264 | } 265 | }); 266 | }; 267 | // Expose default options (so they can be overridden globally) 268 | decode.options = { 269 | 'isAttributeValue': false, 270 | 'strict': false 271 | }; 272 | 273 | var escape = function(string) { 274 | return string.replace(regexEscape, function($0) { 275 | return escapeMap[$0]; // no need to check `has()` here 276 | }); 277 | }; 278 | 279 | /*--------------------------------------------------------------------------*/ 280 | 281 | var he = { 282 | 'version': '<%= version %>', 283 | 'encode': encode, 284 | 'decode': decode, 285 | 'escape': escape, 286 | 'unescape': decode 287 | }; 288 | 289 | // Some AMD build optimizers, like r.js, check for specific condition patterns 290 | // like the following: 291 | if ( 292 | typeof define == 'function' && 293 | typeof define.amd == 'object' && 294 | define.amd 295 | ) { 296 | define(function() { 297 | return he; 298 | }); 299 | } else if (freeExports && !freeExports.nodeType) { 300 | if (freeModule) { // in Node.js or RingoJS v0.8.0+ 301 | freeModule.exports = he; 302 | } else { // in Narwhal or RingoJS v0.7.0- 303 | for (var key in he) { 304 | has(he, key) && (freeExports[key] = he[key]); 305 | } 306 | } 307 | } else { // in Rhino or a web browser 308 | root.he = he; 309 | } 310 | 311 | }(this)); 312 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # he [![Build status](https://travis-ci.org/mathiasbynens/he.png?branch=master)](https://travis-ci.org/mathiasbynens/he) [![Dependency status](https://gemnasium.com/mathiasbynens/he.png)](https://gemnasium.com/mathiasbynens/he) 2 | 3 | _he_ (for “HTML entities”) is a robust HTML entity encoder/decoder written in JavaScript. It supports [all standardized named character references as per HTML](http://www.whatwg.org/specs/web-apps/current-work/multipage/named-character-references.html), handles [ambiguous ampersands](http://mathiasbynens.be/notes/ambiguous-ampersands) and other edge cases [just like a browser would](http://www.whatwg.org/specs/web-apps/current-work/multipage/tokenization.html#tokenizing-character-references), has an extensive test suite, and — contrary to many other JavaScript solutions — _he_ handles astral Unicode symbols just fine. [An online demo is available.](http://mothereff.in/html-entities) 4 | 5 | ## Installation 6 | 7 | Via [npm](http://npmjs.org/): 8 | 9 | ```bash 10 | npm install he 11 | ``` 12 | 13 | Via [Bower](http://bower.io/): 14 | 15 | ```bash 16 | bower install he 17 | ``` 18 | 19 | Via [Component](https://github.com/component/component): 20 | 21 | ```bash 22 | component install mathiasbynens/he 23 | ``` 24 | 25 | In a browser: 26 | 27 | ```html 28 | 29 | ``` 30 | 31 | In [Narwhal](http://narwhaljs.org/), [Node.js](http://nodejs.org/), and [RingoJS](http://ringojs.org/): 32 | 33 | ```js 34 | var he = require('he'); 35 | ``` 36 | 37 | In [Rhino](http://www.mozilla.org/rhino/): 38 | 39 | ```js 40 | load('he.js'); 41 | ``` 42 | 43 | Using an AMD loader like [RequireJS](http://requirejs.org/): 44 | 45 | ```js 46 | require( 47 | { 48 | 'paths': { 49 | 'he': 'path/to/he' 50 | } 51 | }, 52 | ['he'], 53 | function(he) { 54 | console.log(he); 55 | } 56 | ); 57 | ``` 58 | 59 | ## API 60 | 61 | ### `he.version` 62 | 63 | A string representing the semantic version number. 64 | 65 | ### `he.encode(text, options)` 66 | 67 | This function takes a string of text and encodes (by default) any symbols that aren’t printable ASCII symbols, replacing them with character references. As long as the input string contains allowed code points only, the return value of this function is always valid HTML. 68 | 69 | ```js 70 | he.encode('foo © bar ≠ baz 𝌆 qux'); 71 | // → 'foo © bar ≠ baz 𝌆 qux' 72 | ``` 73 | 74 | The `options` object is optional. It recognizes the following properties: 75 | 76 | #### `useNamedReferences` 77 | 78 | The default value for the `useNamedReferences` option is `false`. This means that `encode()` will not use any named character references (e.g. `©`) in the output — hexadecimal escapes (e.g. `©`) will be used instead. Set it to `true` to enable the use of named references. 79 | 80 | **Note that if compatibility with older browsers is a concern, this option should remain disabled.** 81 | 82 | ```js 83 | // Using the global default setting (defaults to `false`): 84 | he.encode('foo © bar ≠ baz 𝌆 qux'); 85 | // → 'foo © bar ≠ baz 𝌆 qux' 86 | 87 | // Passing an `options` object to `encode`, to explicitly disallow named references: 88 | he.encode('foo © bar ≠ baz 𝌆 qux', { 89 | 'useNamedReferences': false 90 | }); 91 | // → 'foo © bar ≠ baz 𝌆 qux' 92 | 93 | // Passing an `options` object to `encode`, to explicitly allow named references: 94 | he.encode('foo © bar ≠ baz 𝌆 qux', { 95 | 'useNamedReferences': true 96 | }); 97 | // → 'foo © bar ≠ baz 𝌆 qux' 98 | ``` 99 | 100 | #### `encodeEverything` 101 | 102 | The default value for the `encodeEverything` option is `false`. This means that `encode()` will not use any character references for printable ASCII symbols that don’t need escaping. Set it to `true` to encode every symbol in the input string. 103 | 104 | ```js 105 | // Using the global default setting (defaults to `false`): 106 | he.encode('foo © bar ≠ baz 𝌆 qux'); 107 | // → 'foo © bar ≠ baz 𝌆 qux' 108 | 109 | // Passing an `options` object to `encode`, to explicitly encode all symbols: 110 | he.encode('foo © bar ≠ baz 𝌆 qux', { 111 | 'encodeEverything': true 112 | }); 113 | // → 'foo © bar ≠ baz 𝌆 qux' 114 | 115 | // This setting can be combined with the `useNamedReferences` option: 116 | he.encode('foo © bar ≠ baz 𝌆 qux', { 117 | 'encodeEverything': true, 118 | 'useNamedReferences': true 119 | }); 120 | // → 'foo © bar ≠ baz 𝌆 qux' 121 | ``` 122 | 123 | #### Overriding default `encode` options globally 124 | 125 | The global default setting can be overridden by modifying the `he.encode.options` object. This saves you from passing in an `options` object for every call to `encode` if you want to use the non-default setting. 126 | 127 | ```js 128 | // Read the global default setting: 129 | he.encode.options.useNamedReferences; 130 | // → `false` by default 131 | 132 | // Override the global default setting: 133 | he.encode.options.useNamedReferences = true; 134 | 135 | // Using the global default setting, which is now `true`: 136 | he.encode('foo © bar ≠ baz 𝌆 qux'); 137 | // → 'foo © bar ≠ baz 𝌆 qux' 138 | ``` 139 | 140 | ### `he.decode(html, options)` 141 | 142 | This function takes a string of HTML and decodes any named and numerical character references in it using [the algorithm described in section 12.2.4.69 of the HTML spec](http://www.whatwg.org/specs/web-apps/current-work/multipage/tokenization.html#tokenizing-character-references). 143 | 144 | ```js 145 | he.decode('foo © bar ≠ baz 𝌆 qux'); 146 | // → 'foo © bar ≠ baz 𝌆 qux' 147 | ``` 148 | 149 | The `options` object is optional. It recognizes the following properties: 150 | 151 | #### `isAttributeValue` 152 | 153 | The default value for the `isAttributeValue` option is `false`. This means that `decode()` will decode the string as if it were used in a text context in an HTML document. HTML has different rules for parsing character references in attribute values — set this option to `true` to treat the input string as if it were used as an attribute value. 154 | 155 | ```js 156 | // Using the global default setting (defaults to `false`, i.e. HTML text context): 157 | he.decode('foo&bar'); 158 | // → 'foo&bar' 159 | 160 | // Passing an `options` object to `decode`, to explicitly assume an HTML text context: 161 | he.decode('foo&bar', { 162 | 'isAttributeValue': false 163 | }); 164 | // → 'foo&bar' 165 | 166 | // Passing an `options` object to `decode`, to explicitly assume an HTML attribute value context: 167 | he.decode('foo&bar', { 168 | 'isAttributeValue': true 169 | }); 170 | // → 'foo&bar' 171 | ``` 172 | 173 | #### `strict` 174 | 175 | The default value for the `strict` option is `false`. This means that `decode()` will decode any HTML text content you feed it, even if it contains any entities that cause [parse errors](http://www.whatwg.org/specs/web-apps/current-work/multipage/tokenization.html#tokenizing-character-references). To throw an error when such invalid HTML is encountered, set the `strict` option to `true`. This option makes it possible to use _he_ as part of HTML parsers and HTML validators. 176 | 177 | ```js 178 | // Using the global default setting (defaults to `false`, i.e. error-tolerant mode): 179 | he.decode('foo&bar'); 180 | // → 'foo&bar' 181 | 182 | // Passing an `options` object to `decode`, to explicitly enable error-tolerant mode: 183 | he.decode('foo&bar', { 184 | 'strict': false 185 | }); 186 | // → 'foo&bar' 187 | 188 | // Passing an `options` object to `decode`, to explicitly enable strict mode: 189 | he.decode('foo&bar', { 190 | 'strict': true 191 | }); 192 | // → Parse error 193 | ``` 194 | 195 | #### Overriding default `decode` options globally 196 | 197 | The global default settings for the `decode` function can be overridden by modifying the `he.decode.options` object. This saves you from passing in an `options` object for every call to `decode` if you want to use a non-default setting. 198 | 199 | ```js 200 | // Read the global default setting: 201 | he.decode.options.isAttributeValue; 202 | // → `false` by default 203 | 204 | // Override the global default setting: 205 | he.decode.options.isAttributeValue = true; 206 | 207 | // Using the global default setting, which is now `true`: 208 | he.decode('foo&bar'); 209 | // → 'foo&bar' 210 | ``` 211 | 212 | ### `he.escape(text)` 213 | 214 | This function takes a string of text and escapes it for use in text contexts in XML or HTML documents. Only the following characters are escaped: `&`, `<`, `>`, `"`, and `'`. 215 | 216 | ```js 217 | he.escape(''); 218 | // → '<img src='x' onerror="prompt(1)">' 219 | ``` 220 | 221 | ### `he.unescape(html, options)` 222 | 223 | `he.unescape` is an alias for `he.decode`. It takes a string of HTML and decodes any named and numerical character references in it. 224 | 225 | ### Using the `he` binary 226 | 227 | To use the `he` binary in your shell, simply install _he_ globally using npm: 228 | 229 | ```bash 230 | npm install -g he 231 | ``` 232 | 233 | After that you will be able to encode/decode HTML entities from the command line: 234 | 235 | ```bash 236 | $ he --encode 'föo ♥ bår 𝌆 baz' 237 | föo ♥ bår 𝌆 baz 238 | 239 | $ he --encode --use-named-refs 'föo ♥ bår 𝌆 baz' 240 | föo ♥ bår 𝌆 baz 241 | 242 | $ he --decode 'föo ♥ bår 𝌆 baz' 243 | föo ♥ bår 𝌆 baz 244 | ``` 245 | 246 | Read a local text file, encode it for use in an HTML text context, and save the result to a new file: 247 | 248 | ```bash 249 | $ he --encode < foo.txt > foo-escaped.html 250 | ``` 251 | 252 | Or do the same with an online text file: 253 | 254 | ```bash 255 | $ curl -sL "http://git.io/HnfEaw" | he --encode > escaped.html 256 | ``` 257 | 258 | Or, the opposite — read a local file containing a snippet of HTML in a text context, decode it back to plain text, and save the result to a new file: 259 | 260 | ```bash 261 | $ he --decode < foo-escaped.html > foo.txt 262 | ``` 263 | 264 | Or do the same with an online HTML snippet: 265 | 266 | ```bash 267 | $ curl -sL "http://git.io/HnfEaw" | he --decode > decoded.txt 268 | ``` 269 | 270 | See `he --help` for the full list of options. 271 | 272 | ## Support 273 | 274 | he has been tested in at least Chrome 27-29, Firefox 3-22, Safari 4-6, Opera 10-12, IE 6-10, Node.js v0.10.0, Narwhal 0.3.2, RingoJS 0.8-0.9, PhantomJS 1.9.0, and Rhino 1.7RC4. 275 | 276 | ## Unit tests & code coverage 277 | 278 | After cloning this repository, run `npm install` to install the dependencies needed for he development and testing. You may want to install Istanbul _globally_ using `npm install istanbul -g`. 279 | 280 | Once that’s done, you can run the unit tests in Node using `npm test` or `node tests/tests.js`. To run the tests in Rhino, Ringo, Narwhal, and web browsers as well, use `grunt test`. 281 | 282 | To generate [the code coverage report](http://rawgithub.com/mathiasbynens/he/master/coverage/he/he.js.html), use `grunt cover`. 283 | 284 | ## Acknowledgements 285 | 286 | Thanks to [Simon Pieters](http://simon.html5.org/) ([@zcorpan](https://twitter.com/zcorpan)) for the many suggestions. 287 | 288 | ## Author 289 | 290 | | [![twitter/mathias](http://gravatar.com/avatar/24e08a9ea84deb17ae121074d0f17125?s=70)](http://twitter.com/mathias "Follow @mathias on Twitter") | 291 | |---| 292 | | [Mathias Bynens](http://mathiasbynens.be/) | 293 | 294 | ## License 295 | 296 | _he_ is available under the [MIT](http://mths.be/mit) license. 297 | -------------------------------------------------------------------------------- /coverage/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Code coverage report for All files 5 | 6 | 7 | 8 | 9 | 180 | 181 | 182 |
183 |

Code coverage report for All files

184 |

185 | 186 | Statements: 96.48% (137 / 142)      187 | 188 | 189 | Branches: 90.43% (85 / 94)      190 | 191 | 192 | Functions: 94.44% (17 / 18)      193 | 194 | 195 | Lines: 96.48% (137 / 142)      196 | 197 |

198 |
199 |
200 |
201 |
202 | 203 | 204 | 205 | 206 | 207 | 208 | 209 | 210 | 211 | 212 | 213 | 214 | 215 | 216 | 217 | 218 | 219 | 220 | 221 | 222 | 223 | 224 | 225 | 226 | 227 | 228 | 229 | 230 | 231 |
FileStatementsBranchesFunctionsLines
he/96.48%(137 / 142)90.43%(85 / 94)94.44%(17 / 18)96.48%(137 / 142)
232 |
233 |
234 | 237 | 238 | 239 | 240 | 241 | 332 | 333 | 334 | -------------------------------------------------------------------------------- /coverage/he/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Code coverage report for he/ 5 | 6 | 7 | 8 | 9 | 180 | 181 | 182 |
183 |

Code coverage report for he/

184 |

185 | 186 | Statements: 96.48% (137 / 142)      187 | 188 | 189 | Branches: 90.43% (85 / 94)      190 | 191 | 192 | Functions: 94.44% (17 / 18)      193 | 194 | 195 | Lines: 96.48% (137 / 142)      196 | 197 |

198 |
All files » he/
199 |
200 |
201 |
202 | 203 | 204 | 205 | 206 | 207 | 208 | 209 | 210 | 211 | 212 | 213 | 214 | 215 | 216 | 217 | 218 | 219 | 220 | 221 | 222 | 223 | 224 | 225 | 226 | 227 | 228 | 229 | 230 | 231 |
FileStatementsBranchesFunctionsLines
he.js96.48%(137 / 142)90.43%(85 / 94)94.44%(17 / 18)96.48%(137 / 142)
232 |
233 |
234 | 237 | 238 | 239 | 240 | 241 | 332 | 333 | 334 | -------------------------------------------------------------------------------- /coverage/prettify.js: -------------------------------------------------------------------------------- 1 | window.PR_SHOULD_USE_CONTINUATION=true;(function(){var h=["break,continue,do,else,for,if,return,while"];var u=[h,"auto,case,char,const,default,double,enum,extern,float,goto,int,long,register,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile"];var p=[u,"catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof"];var l=[p,"alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,dynamic_cast,explicit,export,friend,inline,late_check,mutable,namespace,nullptr,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where"];var x=[p,"abstract,boolean,byte,extends,final,finally,implements,import,instanceof,null,native,package,strictfp,super,synchronized,throws,transient"];var R=[x,"as,base,by,checked,decimal,delegate,descending,dynamic,event,fixed,foreach,from,group,implicit,in,interface,internal,into,is,lock,object,out,override,orderby,params,partial,readonly,ref,sbyte,sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,var"];var r="all,and,by,catch,class,else,extends,false,finally,for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then,true,try,unless,until,when,while,yes";var w=[p,"debugger,eval,export,function,get,null,set,undefined,var,with,Infinity,NaN"];var s="caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END";var I=[h,"and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None"];var f=[h,"alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END"];var H=[h,"case,done,elif,esac,eval,fi,function,in,local,set,then,until"];var A=[l,R,w,s+I,f,H];var e=/^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)/;var C="str";var z="kwd";var j="com";var O="typ";var G="lit";var L="pun";var F="pln";var m="tag";var E="dec";var J="src";var P="atn";var n="atv";var N="nocode";var M="(?:^^\\.?|[+-]|\\!|\\!=|\\!==|\\#|\\%|\\%=|&|&&|&&=|&=|\\(|\\*|\\*=|\\+=|\\,|\\-=|\\->|\\/|\\/=|:|::|\\;|<|<<|<<=|<=|=|==|===|>|>=|>>|>>=|>>>|>>>=|\\?|\\@|\\[|\\^|\\^=|\\^\\^|\\^\\^=|\\{|\\||\\|=|\\|\\||\\|\\|=|\\~|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\\s*";function k(Z){var ad=0;var S=false;var ac=false;for(var V=0,U=Z.length;V122)){if(!(al<65||ag>90)){af.push([Math.max(65,ag)|32,Math.min(al,90)|32])}if(!(al<97||ag>122)){af.push([Math.max(97,ag)&~32,Math.min(al,122)&~32])}}}}af.sort(function(av,au){return(av[0]-au[0])||(au[1]-av[1])});var ai=[];var ap=[NaN,NaN];for(var ar=0;arat[0]){if(at[1]+1>at[0]){an.push("-")}an.push(T(at[1]))}}an.push("]");return an.join("")}function W(al){var aj=al.source.match(new RegExp("(?:\\[(?:[^\\x5C\\x5D]|\\\\[\\s\\S])*\\]|\\\\u[A-Fa-f0-9]{4}|\\\\x[A-Fa-f0-9]{2}|\\\\[0-9]+|\\\\[^ux0-9]|\\(\\?[:!=]|[\\(\\)\\^]|[^\\x5B\\x5C\\(\\)\\^]+)","g"));var ah=aj.length;var an=[];for(var ak=0,am=0;ak=2&&ai==="["){aj[ak]=X(ag)}else{if(ai!=="\\"){aj[ak]=ag.replace(/[a-zA-Z]/g,function(ao){var ap=ao.charCodeAt(0);return"["+String.fromCharCode(ap&~32,ap|32)+"]"})}}}}return aj.join("")}var aa=[];for(var V=0,U=Z.length;V=0;){S[ac.charAt(ae)]=Y}}var af=Y[1];var aa=""+af;if(!ag.hasOwnProperty(aa)){ah.push(af);ag[aa]=null}}ah.push(/[\0-\uffff]/);V=k(ah)})();var X=T.length;var W=function(ah){var Z=ah.sourceCode,Y=ah.basePos;var ad=[Y,F];var af=0;var an=Z.match(V)||[];var aj={};for(var ae=0,aq=an.length;ae=5&&"lang-"===ap.substring(0,5);if(am&&!(ai&&typeof ai[1]==="string")){am=false;ap=J}if(!am){aj[ag]=ap}}var ab=af;af+=ag.length;if(!am){ad.push(Y+ab,ap)}else{var al=ai[1];var ak=ag.indexOf(al);var ac=ak+al.length;if(ai[2]){ac=ag.length-ai[2].length;ak=ac-al.length}var ar=ap.substring(5);B(Y+ab,ag.substring(0,ak),W,ad);B(Y+ab+ak,al,q(ar,al),ad);B(Y+ab+ac,ag.substring(ac),W,ad)}}ah.decorations=ad};return W}function i(T){var W=[],S=[];if(T.tripleQuotedStrings){W.push([C,/^(?:\'\'\'(?:[^\'\\]|\\[\s\S]|\'{1,2}(?=[^\']))*(?:\'\'\'|$)|\"\"\"(?:[^\"\\]|\\[\s\S]|\"{1,2}(?=[^\"]))*(?:\"\"\"|$)|\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$))/,null,"'\""])}else{if(T.multiLineStrings){W.push([C,/^(?:\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$)|\`(?:[^\\\`]|\\[\s\S])*(?:\`|$))/,null,"'\"`"])}else{W.push([C,/^(?:\'(?:[^\\\'\r\n]|\\.)*(?:\'|$)|\"(?:[^\\\"\r\n]|\\.)*(?:\"|$))/,null,"\"'"])}}if(T.verbatimStrings){S.push([C,/^@\"(?:[^\"]|\"\")*(?:\"|$)/,null])}var Y=T.hashComments;if(Y){if(T.cStyleComments){if(Y>1){W.push([j,/^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/,null,"#"])}else{W.push([j,/^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\r\n]*)/,null,"#"])}S.push([C,/^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/,null])}else{W.push([j,/^#[^\r\n]*/,null,"#"])}}if(T.cStyleComments){S.push([j,/^\/\/[^\r\n]*/,null]);S.push([j,/^\/\*[\s\S]*?(?:\*\/|$)/,null])}if(T.regexLiterals){var X=("/(?=[^/*])(?:[^/\\x5B\\x5C]|\\x5C[\\s\\S]|\\x5B(?:[^\\x5C\\x5D]|\\x5C[\\s\\S])*(?:\\x5D|$))+/");S.push(["lang-regex",new RegExp("^"+M+"("+X+")")])}var V=T.types;if(V){S.push([O,V])}var U=(""+T.keywords).replace(/^ | $/g,"");if(U.length){S.push([z,new RegExp("^(?:"+U.replace(/[\s,]+/g,"|")+")\\b"),null])}W.push([F,/^\s+/,null," \r\n\t\xA0"]);S.push([G,/^@[a-z_$][a-z_$@0-9]*/i,null],[O,/^(?:[@_]?[A-Z]+[a-z][A-Za-z_$@0-9]*|\w+_t\b)/,null],[F,/^[a-z_$][a-z_$@0-9]*/i,null],[G,new RegExp("^(?:0x[a-f0-9]+|(?:\\d(?:_\\d+)*\\d*(?:\\.\\d*)?|\\.\\d\\+)(?:e[+\\-]?\\d+)?)[a-z]*","i"),null,"0123456789"],[F,/^\\[\s\S]?/,null],[L,/^.[^\s\w\.$@\'\"\`\/\#\\]*/,null]);return g(W,S)}var K=i({keywords:A,hashComments:true,cStyleComments:true,multiLineStrings:true,regexLiterals:true});function Q(V,ag){var U=/(?:^|\s)nocode(?:\s|$)/;var ab=/\r\n?|\n/;var ac=V.ownerDocument;var S;if(V.currentStyle){S=V.currentStyle.whiteSpace}else{if(window.getComputedStyle){S=ac.defaultView.getComputedStyle(V,null).getPropertyValue("white-space")}}var Z=S&&"pre"===S.substring(0,3);var af=ac.createElement("LI");while(V.firstChild){af.appendChild(V.firstChild)}var W=[af];function ae(al){switch(al.nodeType){case 1:if(U.test(al.className)){break}if("BR"===al.nodeName){ad(al);if(al.parentNode){al.parentNode.removeChild(al)}}else{for(var an=al.firstChild;an;an=an.nextSibling){ae(an)}}break;case 3:case 4:if(Z){var am=al.nodeValue;var aj=am.match(ab);if(aj){var ai=am.substring(0,aj.index);al.nodeValue=ai;var ah=am.substring(aj.index+aj[0].length);if(ah){var ak=al.parentNode;ak.insertBefore(ac.createTextNode(ah),al.nextSibling)}ad(al);if(!ai){al.parentNode.removeChild(al)}}}break}}function ad(ak){while(!ak.nextSibling){ak=ak.parentNode;if(!ak){return}}function ai(al,ar){var aq=ar?al.cloneNode(false):al;var ao=al.parentNode;if(ao){var ap=ai(ao,1);var an=al.nextSibling;ap.appendChild(aq);for(var am=an;am;am=an){an=am.nextSibling;ap.appendChild(am)}}return aq}var ah=ai(ak.nextSibling,0);for(var aj;(aj=ah.parentNode)&&aj.nodeType===1;){ah=aj}W.push(ah)}for(var Y=0;Y=S){ah+=2}if(V>=ap){Z+=2}}}var t={};function c(U,V){for(var S=V.length;--S>=0;){var T=V[S];if(!t.hasOwnProperty(T)){t[T]=U}else{if(window.console){console.warn("cannot override language handler %s",T)}}}}function q(T,S){if(!(T&&t.hasOwnProperty(T))){T=/^\s*]*(?:>|$)/],[j,/^<\!--[\s\S]*?(?:-\->|$)/],["lang-",/^<\?([\s\S]+?)(?:\?>|$)/],["lang-",/^<%([\s\S]+?)(?:%>|$)/],[L,/^(?:<[%?]|[%?]>)/],["lang-",/^]*>([\s\S]+?)<\/xmp\b[^>]*>/i],["lang-js",/^]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-css",/^]*>([\s\S]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i]]),["default-markup","htm","html","mxml","xhtml","xml","xsl"]);c(g([[F,/^[\s]+/,null," \t\r\n"],[n,/^(?:\"[^\"]*\"?|\'[^\']*\'?)/,null,"\"'"]],[[m,/^^<\/?[a-z](?:[\w.:-]*\w)?|\/?>$/i],[P,/^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],["lang-uq.val",/^=\s*([^>\'\"\s]*(?:[^>\'\"\s\/]|\/(?=\s)))/],[L,/^[=<>\/]+/],["lang-js",/^on\w+\s*=\s*\"([^\"]+)\"/i],["lang-js",/^on\w+\s*=\s*\'([^\']+)\'/i],["lang-js",/^on\w+\s*=\s*([^\"\'>\s]+)/i],["lang-css",/^style\s*=\s*\"([^\"]+)\"/i],["lang-css",/^style\s*=\s*\'([^\']+)\'/i],["lang-css",/^style\s*=\s*([^\"\'>\s]+)/i]]),["in.tag"]);c(g([],[[n,/^[\s\S]+/]]),["uq.val"]);c(i({keywords:l,hashComments:true,cStyleComments:true,types:e}),["c","cc","cpp","cxx","cyc","m"]);c(i({keywords:"null,true,false"}),["json"]);c(i({keywords:R,hashComments:true,cStyleComments:true,verbatimStrings:true,types:e}),["cs"]);c(i({keywords:x,cStyleComments:true}),["java"]);c(i({keywords:H,hashComments:true,multiLineStrings:true}),["bsh","csh","sh"]);c(i({keywords:I,hashComments:true,multiLineStrings:true,tripleQuotedStrings:true}),["cv","py"]);c(i({keywords:s,hashComments:true,multiLineStrings:true,regexLiterals:true}),["perl","pl","pm"]);c(i({keywords:f,hashComments:true,multiLineStrings:true,regexLiterals:true}),["rb"]);c(i({keywords:w,cStyleComments:true,regexLiterals:true}),["js"]);c(i({keywords:r,hashComments:3,cStyleComments:true,multilineStrings:true,tripleQuotedStrings:true,regexLiterals:true}),["coffee"]);c(g([],[[C,/^[\s\S]+/]]),["regex"]);function d(V){var U=V.langExtension;try{var S=a(V.sourceNode);var T=S.sourceCode;V.sourceCode=T;V.spans=S.spans;V.basePos=0;q(U,T)(V);D(V)}catch(W){if("console" in window){console.log(W&&W.stack?W.stack:W)}}}function y(W,V,U){var S=document.createElement("PRE");S.innerHTML=W;if(U){Q(S,U)}var T={langExtension:V,numberLines:U,sourceNode:S};d(T);return S.innerHTML}function b(ad){function Y(af){return document.getElementsByTagName(af)}var ac=[Y("pre"),Y("code"),Y("xmp")];var T=[];for(var aa=0;aa=0){var ah=ai.match(ab);var am;if(!ah&&(am=o(aj))&&"CODE"===am.tagName){ah=am.className.match(ab)}if(ah){ah=ah[1]}var al=false;for(var ak=aj.parentNode;ak;ak=ak.parentNode){if((ak.tagName==="pre"||ak.tagName==="code"||ak.tagName==="xmp")&&ak.className&&ak.className.indexOf("prettyprint")>=0){al=true;break}}if(!al){var af=aj.className.match(/\blinenums\b(?::(\d+))?/);af=af?af[1]&&af[1].length?+af[1]:true:false;if(af){Q(aj,af)}S={langExtension:ah,sourceNode:aj,numberLines:af};d(S)}}}if(X]*(?:>|$)/],[PR.PR_COMMENT,/^<\!--[\s\S]*?(?:-\->|$)/],[PR.PR_PUNCTUATION,/^(?:<[%?]|[%?]>)/],["lang-",/^<\?([\s\S]+?)(?:\?>|$)/],["lang-",/^<%([\s\S]+?)(?:%>|$)/],["lang-",/^]*>([\s\S]+?)<\/xmp\b[^>]*>/i],["lang-handlebars",/^]*type\s*=\s*['"]?text\/x-handlebars-template['"]?\b[^>]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-js",/^]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-css",/^]*>([\s\S]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i],[PR.PR_DECLARATION,/^{{[#^>/]?\s*[\w.][^}]*}}/],[PR.PR_DECLARATION,/^{{&?\s*[\w.][^}]*}}/],[PR.PR_DECLARATION,/^{{{>?\s*[\w.][^}]*}}}/],[PR.PR_COMMENT,/^{{![^}]*}}/]]),["handlebars","hbs"]);PR.registerLangHandler(PR.createSimpleLexer([[PR.PR_PLAIN,/^[ \t\r\n\f]+/,null," \t\r\n\f"]],[[PR.PR_STRING,/^\"(?:[^\n\r\f\\\"]|\\(?:\r\n?|\n|\f)|\\[\s\S])*\"/,null],[PR.PR_STRING,/^\'(?:[^\n\r\f\\\']|\\(?:\r\n?|\n|\f)|\\[\s\S])*\'/,null],["lang-css-str",/^url\(([^\)\"\']*)\)/i],[PR.PR_KEYWORD,/^(?:url|rgb|\!important|@import|@page|@media|@charset|inherit)(?=[^\-\w]|$)/i,null],["lang-css-kw",/^(-?(?:[_a-z]|(?:\\[0-9a-f]+ ?))(?:[_a-z0-9\-]|\\(?:\\[0-9a-f]+ ?))*)\s*:/i],[PR.PR_COMMENT,/^\/\*[^*]*\*+(?:[^\/*][^*]*\*+)*\//],[PR.PR_COMMENT,/^(?:)/],[PR.PR_LITERAL,/^(?:\d+|\d*\.\d+)(?:%|[a-z]+)?/i],[PR.PR_LITERAL,/^#(?:[0-9a-f]{3}){1,2}/i],[PR.PR_PLAIN,/^-?(?:[_a-z]|(?:\\[\da-f]+ ?))(?:[_a-z\d\-]|\\(?:\\[\da-f]+ ?))*/i],[PR.PR_PUNCTUATION,/^[^\s\w\'\"]+/]]),["css"]);PR.registerLangHandler(PR.createSimpleLexer([],[[PR.PR_KEYWORD,/^-?(?:[_a-z]|(?:\\[\da-f]+ ?))(?:[_a-z\d\-]|\\(?:\\[\da-f]+ ?))*/i]]),["css-kw"]);PR.registerLangHandler(PR.createSimpleLexer([],[[PR.PR_STRING,/^[^\)\"\']+/]]),["css-str"]); 2 | -------------------------------------------------------------------------------- /data/encode-lone-code-points.json: -------------------------------------------------------------------------------- 1 | [ 2 | 9, 3 | 10, 4 | 33, 5 | 34, 6 | 35, 7 | 36, 8 | 37, 9 | 38, 10 | 39, 11 | 40, 12 | 41, 13 | 42, 14 | 43, 15 | 44, 16 | 46, 17 | 47, 18 | 58, 19 | 59, 20 | 60, 21 | 61, 22 | 62, 23 | 63, 24 | 64, 25 | 91, 26 | 92, 27 | 93, 28 | 94, 29 | 95, 30 | 96, 31 | 123, 32 | 124, 33 | 125, 34 | 160, 35 | 161, 36 | 162, 37 | 163, 38 | 164, 39 | 165, 40 | 166, 41 | 167, 42 | 168, 43 | 169, 44 | 170, 45 | 171, 46 | 172, 47 | 173, 48 | 174, 49 | 175, 50 | 176, 51 | 177, 52 | 178, 53 | 179, 54 | 180, 55 | 181, 56 | 182, 57 | 183, 58 | 184, 59 | 185, 60 | 186, 61 | 187, 62 | 188, 63 | 189, 64 | 190, 65 | 191, 66 | 192, 67 | 193, 68 | 194, 69 | 195, 70 | 196, 71 | 197, 72 | 198, 73 | 199, 74 | 200, 75 | 201, 76 | 202, 77 | 203, 78 | 204, 79 | 205, 80 | 206, 81 | 207, 82 | 208, 83 | 209, 84 | 210, 85 | 211, 86 | 212, 87 | 213, 88 | 214, 89 | 215, 90 | 216, 91 | 217, 92 | 218, 93 | 219, 94 | 220, 95 | 221, 96 | 222, 97 | 223, 98 | 224, 99 | 225, 100 | 226, 101 | 227, 102 | 228, 103 | 229, 104 | 230, 105 | 231, 106 | 232, 107 | 233, 108 | 234, 109 | 235, 110 | 236, 111 | 237, 112 | 238, 113 | 239, 114 | 240, 115 | 241, 116 | 242, 117 | 243, 118 | 244, 119 | 245, 120 | 246, 121 | 247, 122 | 248, 123 | 249, 124 | 250, 125 | 251, 126 | 252, 127 | 253, 128 | 254, 129 | 255, 130 | 256, 131 | 257, 132 | 258, 133 | 259, 134 | 260, 135 | 261, 136 | 262, 137 | 263, 138 | 264, 139 | 265, 140 | 266, 141 | 267, 142 | 268, 143 | 269, 144 | 270, 145 | 271, 146 | 272, 147 | 273, 148 | 274, 149 | 275, 150 | 278, 151 | 279, 152 | 280, 153 | 281, 154 | 282, 155 | 283, 156 | 284, 157 | 285, 158 | 286, 159 | 287, 160 | 288, 161 | 289, 162 | 290, 163 | 292, 164 | 293, 165 | 294, 166 | 295, 167 | 296, 168 | 297, 169 | 298, 170 | 299, 171 | 302, 172 | 303, 173 | 304, 174 | 305, 175 | 306, 176 | 307, 177 | 308, 178 | 309, 179 | 310, 180 | 311, 181 | 312, 182 | 313, 183 | 314, 184 | 315, 185 | 316, 186 | 317, 187 | 318, 188 | 319, 189 | 320, 190 | 321, 191 | 322, 192 | 323, 193 | 324, 194 | 325, 195 | 326, 196 | 327, 197 | 328, 198 | 329, 199 | 330, 200 | 331, 201 | 332, 202 | 333, 203 | 336, 204 | 337, 205 | 338, 206 | 339, 207 | 340, 208 | 341, 209 | 342, 210 | 343, 211 | 344, 212 | 345, 213 | 346, 214 | 347, 215 | 348, 216 | 349, 217 | 350, 218 | 351, 219 | 352, 220 | 353, 221 | 354, 222 | 355, 223 | 356, 224 | 357, 225 | 358, 226 | 359, 227 | 360, 228 | 361, 229 | 362, 230 | 363, 231 | 364, 232 | 365, 233 | 366, 234 | 367, 235 | 368, 236 | 369, 237 | 370, 238 | 371, 239 | 372, 240 | 373, 241 | 374, 242 | 375, 243 | 376, 244 | 377, 245 | 378, 246 | 379, 247 | 380, 248 | 381, 249 | 382, 250 | 402, 251 | 437, 252 | 501, 253 | 567, 254 | 710, 255 | 711, 256 | 728, 257 | 729, 258 | 730, 259 | 731, 260 | 732, 261 | 733, 262 | 785, 263 | 913, 264 | 914, 265 | 915, 266 | 916, 267 | 917, 268 | 918, 269 | 919, 270 | 920, 271 | 921, 272 | 922, 273 | 923, 274 | 924, 275 | 925, 276 | 926, 277 | 927, 278 | 928, 279 | 929, 280 | 931, 281 | 932, 282 | 933, 283 | 934, 284 | 935, 285 | 936, 286 | 937, 287 | 945, 288 | 946, 289 | 947, 290 | 948, 291 | 949, 292 | 950, 293 | 951, 294 | 952, 295 | 953, 296 | 954, 297 | 955, 298 | 956, 299 | 957, 300 | 958, 301 | 959, 302 | 960, 303 | 961, 304 | 962, 305 | 963, 306 | 964, 307 | 965, 308 | 966, 309 | 967, 310 | 968, 311 | 969, 312 | 977, 313 | 978, 314 | 981, 315 | 982, 316 | 988, 317 | 989, 318 | 1008, 319 | 1009, 320 | 1013, 321 | 1014, 322 | 1025, 323 | 1026, 324 | 1027, 325 | 1028, 326 | 1029, 327 | 1030, 328 | 1031, 329 | 1032, 330 | 1033, 331 | 1034, 332 | 1035, 333 | 1036, 334 | 1038, 335 | 1039, 336 | 1040, 337 | 1041, 338 | 1042, 339 | 1043, 340 | 1044, 341 | 1045, 342 | 1046, 343 | 1047, 344 | 1048, 345 | 1049, 346 | 1050, 347 | 1051, 348 | 1052, 349 | 1053, 350 | 1054, 351 | 1055, 352 | 1056, 353 | 1057, 354 | 1058, 355 | 1059, 356 | 1060, 357 | 1061, 358 | 1062, 359 | 1063, 360 | 1064, 361 | 1065, 362 | 1066, 363 | 1067, 364 | 1068, 365 | 1069, 366 | 1070, 367 | 1071, 368 | 1072, 369 | 1073, 370 | 1074, 371 | 1075, 372 | 1076, 373 | 1077, 374 | 1078, 375 | 1079, 376 | 1080, 377 | 1081, 378 | 1082, 379 | 1083, 380 | 1084, 381 | 1085, 382 | 1086, 383 | 1087, 384 | 1088, 385 | 1089, 386 | 1090, 387 | 1091, 388 | 1092, 389 | 1093, 390 | 1094, 391 | 1095, 392 | 1096, 393 | 1097, 394 | 1098, 395 | 1099, 396 | 1100, 397 | 1101, 398 | 1102, 399 | 1103, 400 | 1105, 401 | 1106, 402 | 1107, 403 | 1108, 404 | 1109, 405 | 1110, 406 | 1111, 407 | 1112, 408 | 1113, 409 | 1114, 410 | 1115, 411 | 1116, 412 | 1118, 413 | 1119, 414 | 8194, 415 | 8195, 416 | 8196, 417 | 8197, 418 | 8199, 419 | 8200, 420 | 8201, 421 | 8202, 422 | 8203, 423 | 8204, 424 | 8205, 425 | 8206, 426 | 8207, 427 | 8208, 428 | 8211, 429 | 8212, 430 | 8213, 431 | 8214, 432 | 8216, 433 | 8217, 434 | 8218, 435 | 8220, 436 | 8221, 437 | 8222, 438 | 8224, 439 | 8225, 440 | 8226, 441 | 8229, 442 | 8230, 443 | 8240, 444 | 8241, 445 | 8242, 446 | 8243, 447 | 8244, 448 | 8245, 449 | 8249, 450 | 8250, 451 | 8254, 452 | 8257, 453 | 8259, 454 | 8260, 455 | 8271, 456 | 8279, 457 | 8287, 458 | 8288, 459 | 8289, 460 | 8290, 461 | 8291, 462 | 8364, 463 | 8411, 464 | 8412, 465 | 8450, 466 | 8453, 467 | 8458, 468 | 8459, 469 | 8460, 470 | 8461, 471 | 8462, 472 | 8463, 473 | 8464, 474 | 8465, 475 | 8466, 476 | 8467, 477 | 8469, 478 | 8470, 479 | 8471, 480 | 8472, 481 | 8473, 482 | 8474, 483 | 8475, 484 | 8476, 485 | 8477, 486 | 8478, 487 | 8482, 488 | 8484, 489 | 8487, 490 | 8488, 491 | 8489, 492 | 8492, 493 | 8493, 494 | 8495, 495 | 8496, 496 | 8497, 497 | 8499, 498 | 8500, 499 | 8501, 500 | 8502, 501 | 8503, 502 | 8504, 503 | 8517, 504 | 8518, 505 | 8519, 506 | 8520, 507 | 8531, 508 | 8532, 509 | 8533, 510 | 8534, 511 | 8535, 512 | 8536, 513 | 8537, 514 | 8538, 515 | 8539, 516 | 8540, 517 | 8541, 518 | 8542, 519 | 8592, 520 | 8593, 521 | 8594, 522 | 8595, 523 | 8596, 524 | 8597, 525 | 8598, 526 | 8599, 527 | 8600, 528 | 8601, 529 | 8602, 530 | 8603, 531 | 8605, 532 | 8606, 533 | 8607, 534 | 8608, 535 | 8609, 536 | 8610, 537 | 8611, 538 | 8612, 539 | 8613, 540 | 8614, 541 | 8615, 542 | 8617, 543 | 8618, 544 | 8619, 545 | 8620, 546 | 8621, 547 | 8622, 548 | 8624, 549 | 8625, 550 | 8626, 551 | 8627, 552 | 8629, 553 | 8630, 554 | 8631, 555 | 8634, 556 | 8635, 557 | 8636, 558 | 8637, 559 | 8638, 560 | 8639, 561 | 8640, 562 | 8641, 563 | 8642, 564 | 8643, 565 | 8644, 566 | 8645, 567 | 8646, 568 | 8647, 569 | 8648, 570 | 8649, 571 | 8650, 572 | 8651, 573 | 8652, 574 | 8653, 575 | 8654, 576 | 8655, 577 | 8656, 578 | 8657, 579 | 8658, 580 | 8659, 581 | 8660, 582 | 8661, 583 | 8662, 584 | 8663, 585 | 8664, 586 | 8665, 587 | 8666, 588 | 8667, 589 | 8669, 590 | 8676, 591 | 8677, 592 | 8693, 593 | 8701, 594 | 8702, 595 | 8703, 596 | 8704, 597 | 8705, 598 | 8706, 599 | 8707, 600 | 8708, 601 | 8709, 602 | 8711, 603 | 8712, 604 | 8713, 605 | 8715, 606 | 8716, 607 | 8719, 608 | 8720, 609 | 8721, 610 | 8722, 611 | 8723, 612 | 8724, 613 | 8726, 614 | 8727, 615 | 8728, 616 | 8730, 617 | 8733, 618 | 8734, 619 | 8735, 620 | 8736, 621 | 8737, 622 | 8738, 623 | 8739, 624 | 8740, 625 | 8741, 626 | 8742, 627 | 8743, 628 | 8744, 629 | 8745, 630 | 8746, 631 | 8747, 632 | 8748, 633 | 8749, 634 | 8750, 635 | 8751, 636 | 8752, 637 | 8753, 638 | 8754, 639 | 8755, 640 | 8756, 641 | 8757, 642 | 8758, 643 | 8759, 644 | 8760, 645 | 8762, 646 | 8763, 647 | 8764, 648 | 8765, 649 | 8766, 650 | 8767, 651 | 8768, 652 | 8769, 653 | 8770, 654 | 8771, 655 | 8772, 656 | 8773, 657 | 8774, 658 | 8775, 659 | 8776, 660 | 8777, 661 | 8778, 662 | 8779, 663 | 8780, 664 | 8781, 665 | 8782, 666 | 8783, 667 | 8784, 668 | 8785, 669 | 8786, 670 | 8787, 671 | 8788, 672 | 8789, 673 | 8790, 674 | 8791, 675 | 8793, 676 | 8794, 677 | 8796, 678 | 8799, 679 | 8800, 680 | 8801, 681 | 8802, 682 | 8804, 683 | 8805, 684 | 8806, 685 | 8807, 686 | 8808, 687 | 8809, 688 | 8810, 689 | 8811, 690 | 8812, 691 | 8813, 692 | 8814, 693 | 8815, 694 | 8816, 695 | 8817, 696 | 8818, 697 | 8819, 698 | 8820, 699 | 8821, 700 | 8822, 701 | 8823, 702 | 8824, 703 | 8825, 704 | 8826, 705 | 8827, 706 | 8828, 707 | 8829, 708 | 8830, 709 | 8831, 710 | 8832, 711 | 8833, 712 | 8834, 713 | 8835, 714 | 8836, 715 | 8837, 716 | 8838, 717 | 8839, 718 | 8840, 719 | 8841, 720 | 8842, 721 | 8843, 722 | 8845, 723 | 8846, 724 | 8847, 725 | 8848, 726 | 8849, 727 | 8850, 728 | 8851, 729 | 8852, 730 | 8853, 731 | 8854, 732 | 8855, 733 | 8856, 734 | 8857, 735 | 8858, 736 | 8859, 737 | 8861, 738 | 8862, 739 | 8863, 740 | 8864, 741 | 8865, 742 | 8866, 743 | 8867, 744 | 8868, 745 | 8869, 746 | 8871, 747 | 8872, 748 | 8873, 749 | 8874, 750 | 8875, 751 | 8876, 752 | 8877, 753 | 8878, 754 | 8879, 755 | 8880, 756 | 8882, 757 | 8883, 758 | 8884, 759 | 8885, 760 | 8886, 761 | 8887, 762 | 8888, 763 | 8889, 764 | 8890, 765 | 8891, 766 | 8893, 767 | 8894, 768 | 8895, 769 | 8896, 770 | 8897, 771 | 8898, 772 | 8899, 773 | 8900, 774 | 8901, 775 | 8902, 776 | 8903, 777 | 8904, 778 | 8905, 779 | 8906, 780 | 8907, 781 | 8908, 782 | 8909, 783 | 8910, 784 | 8911, 785 | 8912, 786 | 8913, 787 | 8914, 788 | 8915, 789 | 8916, 790 | 8917, 791 | 8918, 792 | 8919, 793 | 8920, 794 | 8921, 795 | 8922, 796 | 8923, 797 | 8926, 798 | 8927, 799 | 8928, 800 | 8929, 801 | 8930, 802 | 8931, 803 | 8934, 804 | 8935, 805 | 8936, 806 | 8937, 807 | 8938, 808 | 8939, 809 | 8940, 810 | 8941, 811 | 8942, 812 | 8943, 813 | 8944, 814 | 8945, 815 | 8946, 816 | 8947, 817 | 8948, 818 | 8949, 819 | 8950, 820 | 8951, 821 | 8953, 822 | 8954, 823 | 8955, 824 | 8956, 825 | 8957, 826 | 8958, 827 | 8965, 828 | 8966, 829 | 8968, 830 | 8969, 831 | 8970, 832 | 8971, 833 | 8972, 834 | 8973, 835 | 8974, 836 | 8975, 837 | 8976, 838 | 8978, 839 | 8979, 840 | 8981, 841 | 8982, 842 | 8988, 843 | 8989, 844 | 8990, 845 | 8991, 846 | 8994, 847 | 8995, 848 | 9005, 849 | 9006, 850 | 9014, 851 | 9021, 852 | 9023, 853 | 9084, 854 | 9136, 855 | 9137, 856 | 9140, 857 | 9141, 858 | 9142, 859 | 9180, 860 | 9181, 861 | 9182, 862 | 9183, 863 | 9186, 864 | 9191, 865 | 9251, 866 | 9416, 867 | 9472, 868 | 9474, 869 | 9484, 870 | 9488, 871 | 9492, 872 | 9496, 873 | 9500, 874 | 9508, 875 | 9516, 876 | 9524, 877 | 9532, 878 | 9552, 879 | 9553, 880 | 9554, 881 | 9555, 882 | 9556, 883 | 9557, 884 | 9558, 885 | 9559, 886 | 9560, 887 | 9561, 888 | 9562, 889 | 9563, 890 | 9564, 891 | 9565, 892 | 9566, 893 | 9567, 894 | 9568, 895 | 9569, 896 | 9570, 897 | 9571, 898 | 9572, 899 | 9573, 900 | 9574, 901 | 9575, 902 | 9576, 903 | 9577, 904 | 9578, 905 | 9579, 906 | 9580, 907 | 9600, 908 | 9604, 909 | 9608, 910 | 9617, 911 | 9618, 912 | 9619, 913 | 9633, 914 | 9642, 915 | 9643, 916 | 9645, 917 | 9646, 918 | 9649, 919 | 9651, 920 | 9652, 921 | 9653, 922 | 9656, 923 | 9657, 924 | 9661, 925 | 9662, 926 | 9663, 927 | 9666, 928 | 9667, 929 | 9674, 930 | 9675, 931 | 9708, 932 | 9711, 933 | 9720, 934 | 9721, 935 | 9722, 936 | 9723, 937 | 9724, 938 | 9733, 939 | 9734, 940 | 9742, 941 | 9792, 942 | 9794, 943 | 9824, 944 | 9827, 945 | 9829, 946 | 9830, 947 | 9834, 948 | 9837, 949 | 9838, 950 | 9839, 951 | 10003, 952 | 10007, 953 | 10016, 954 | 10038, 955 | 10072, 956 | 10098, 957 | 10099, 958 | 10184, 959 | 10185, 960 | 10214, 961 | 10215, 962 | 10216, 963 | 10217, 964 | 10218, 965 | 10219, 966 | 10220, 967 | 10221, 968 | 10229, 969 | 10230, 970 | 10231, 971 | 10232, 972 | 10233, 973 | 10234, 974 | 10236, 975 | 10239, 976 | 10498, 977 | 10499, 978 | 10500, 979 | 10501, 980 | 10508, 981 | 10509, 982 | 10510, 983 | 10511, 984 | 10512, 985 | 10513, 986 | 10514, 987 | 10515, 988 | 10518, 989 | 10521, 990 | 10522, 991 | 10523, 992 | 10524, 993 | 10525, 994 | 10526, 995 | 10527, 996 | 10528, 997 | 10531, 998 | 10532, 999 | 10533, 1000 | 10534, 1001 | 10535, 1002 | 10536, 1003 | 10537, 1004 | 10538, 1005 | 10547, 1006 | 10549, 1007 | 10550, 1008 | 10551, 1009 | 10552, 1010 | 10553, 1011 | 10556, 1012 | 10557, 1013 | 10565, 1014 | 10568, 1015 | 10569, 1016 | 10570, 1017 | 10571, 1018 | 10574, 1019 | 10575, 1020 | 10576, 1021 | 10577, 1022 | 10578, 1023 | 10579, 1024 | 10580, 1025 | 10581, 1026 | 10582, 1027 | 10583, 1028 | 10584, 1029 | 10585, 1030 | 10586, 1031 | 10587, 1032 | 10588, 1033 | 10589, 1034 | 10590, 1035 | 10591, 1036 | 10592, 1037 | 10593, 1038 | 10594, 1039 | 10595, 1040 | 10596, 1041 | 10597, 1042 | 10598, 1043 | 10599, 1044 | 10600, 1045 | 10601, 1046 | 10602, 1047 | 10603, 1048 | 10604, 1049 | 10605, 1050 | 10606, 1051 | 10607, 1052 | 10608, 1053 | 10609, 1054 | 10610, 1055 | 10611, 1056 | 10612, 1057 | 10613, 1058 | 10614, 1059 | 10616, 1060 | 10617, 1061 | 10619, 1062 | 10620, 1063 | 10621, 1064 | 10622, 1065 | 10623, 1066 | 10629, 1067 | 10630, 1068 | 10635, 1069 | 10636, 1070 | 10637, 1071 | 10638, 1072 | 10639, 1073 | 10640, 1074 | 10641, 1075 | 10642, 1076 | 10643, 1077 | 10644, 1078 | 10645, 1079 | 10646, 1080 | 10650, 1081 | 10652, 1082 | 10653, 1083 | 10660, 1084 | 10661, 1085 | 10662, 1086 | 10663, 1087 | 10664, 1088 | 10665, 1089 | 10666, 1090 | 10667, 1091 | 10668, 1092 | 10669, 1093 | 10670, 1094 | 10671, 1095 | 10672, 1096 | 10673, 1097 | 10674, 1098 | 10675, 1099 | 10676, 1100 | 10677, 1101 | 10678, 1102 | 10679, 1103 | 10681, 1104 | 10683, 1105 | 10684, 1106 | 10686, 1107 | 10687, 1108 | 10688, 1109 | 10689, 1110 | 10690, 1111 | 10691, 1112 | 10692, 1113 | 10693, 1114 | 10697, 1115 | 10701, 1116 | 10702, 1117 | 10703, 1118 | 10704, 1119 | 10716, 1120 | 10717, 1121 | 10718, 1122 | 10723, 1123 | 10724, 1124 | 10725, 1125 | 10731, 1126 | 10740, 1127 | 10742, 1128 | 10752, 1129 | 10753, 1130 | 10754, 1131 | 10756, 1132 | 10758, 1133 | 10764, 1134 | 10765, 1135 | 10768, 1136 | 10769, 1137 | 10770, 1138 | 10771, 1139 | 10772, 1140 | 10773, 1141 | 10774, 1142 | 10775, 1143 | 10786, 1144 | 10787, 1145 | 10788, 1146 | 10789, 1147 | 10790, 1148 | 10791, 1149 | 10793, 1150 | 10794, 1151 | 10797, 1152 | 10798, 1153 | 10799, 1154 | 10800, 1155 | 10801, 1156 | 10803, 1157 | 10804, 1158 | 10805, 1159 | 10806, 1160 | 10807, 1161 | 10808, 1162 | 10809, 1163 | 10810, 1164 | 10811, 1165 | 10812, 1166 | 10815, 1167 | 10816, 1168 | 10818, 1169 | 10819, 1170 | 10820, 1171 | 10821, 1172 | 10822, 1173 | 10823, 1174 | 10824, 1175 | 10825, 1176 | 10826, 1177 | 10827, 1178 | 10828, 1179 | 10829, 1180 | 10832, 1181 | 10835, 1182 | 10836, 1183 | 10837, 1184 | 10838, 1185 | 10839, 1186 | 10840, 1187 | 10842, 1188 | 10843, 1189 | 10844, 1190 | 10845, 1191 | 10847, 1192 | 10854, 1193 | 10858, 1194 | 10861, 1195 | 10862, 1196 | 10863, 1197 | 10864, 1198 | 10865, 1199 | 10866, 1200 | 10867, 1201 | 10868, 1202 | 10869, 1203 | 10871, 1204 | 10872, 1205 | 10873, 1206 | 10874, 1207 | 10875, 1208 | 10876, 1209 | 10877, 1210 | 10878, 1211 | 10879, 1212 | 10880, 1213 | 10881, 1214 | 10882, 1215 | 10883, 1216 | 10884, 1217 | 10885, 1218 | 10886, 1219 | 10887, 1220 | 10888, 1221 | 10889, 1222 | 10890, 1223 | 10891, 1224 | 10892, 1225 | 10893, 1226 | 10894, 1227 | 10895, 1228 | 10896, 1229 | 10897, 1230 | 10898, 1231 | 10899, 1232 | 10900, 1233 | 10901, 1234 | 10902, 1235 | 10903, 1236 | 10904, 1237 | 10905, 1238 | 10906, 1239 | 10909, 1240 | 10910, 1241 | 10911, 1242 | 10912, 1243 | 10913, 1244 | 10914, 1245 | 10916, 1246 | 10917, 1247 | 10918, 1248 | 10919, 1249 | 10920, 1250 | 10921, 1251 | 10922, 1252 | 10923, 1253 | 10924, 1254 | 10925, 1255 | 10926, 1256 | 10927, 1257 | 10928, 1258 | 10931, 1259 | 10932, 1260 | 10933, 1261 | 10934, 1262 | 10935, 1263 | 10936, 1264 | 10937, 1265 | 10938, 1266 | 10939, 1267 | 10940, 1268 | 10941, 1269 | 10942, 1270 | 10943, 1271 | 10944, 1272 | 10945, 1273 | 10946, 1274 | 10947, 1275 | 10948, 1276 | 10949, 1277 | 10950, 1278 | 10951, 1279 | 10952, 1280 | 10955, 1281 | 10956, 1282 | 10959, 1283 | 10960, 1284 | 10961, 1285 | 10962, 1286 | 10963, 1287 | 10964, 1288 | 10965, 1289 | 10966, 1290 | 10967, 1291 | 10968, 1292 | 10969, 1293 | 10970, 1294 | 10971, 1295 | 10980, 1296 | 10982, 1297 | 10983, 1298 | 10984, 1299 | 10985, 1300 | 10987, 1301 | 10988, 1302 | 10989, 1303 | 10990, 1304 | 10991, 1305 | 10992, 1306 | 10993, 1307 | 10994, 1308 | 10995, 1309 | 11005, 1310 | 64256, 1311 | 64257, 1312 | 64258, 1313 | 64259, 1314 | 64260, 1315 | 119964, 1316 | 119966, 1317 | 119967, 1318 | 119970, 1319 | 119973, 1320 | 119974, 1321 | 119977, 1322 | 119978, 1323 | 119979, 1324 | 119980, 1325 | 119982, 1326 | 119983, 1327 | 119984, 1328 | 119985, 1329 | 119986, 1330 | 119987, 1331 | 119988, 1332 | 119989, 1333 | 119990, 1334 | 119991, 1335 | 119992, 1336 | 119993, 1337 | 119995, 1338 | 119997, 1339 | 119998, 1340 | 119999, 1341 | 120000, 1342 | 120001, 1343 | 120002, 1344 | 120003, 1345 | 120005, 1346 | 120006, 1347 | 120007, 1348 | 120008, 1349 | 120009, 1350 | 120010, 1351 | 120011, 1352 | 120012, 1353 | 120013, 1354 | 120014, 1355 | 120015, 1356 | 120068, 1357 | 120069, 1358 | 120071, 1359 | 120072, 1360 | 120073, 1361 | 120074, 1362 | 120077, 1363 | 120078, 1364 | 120079, 1365 | 120080, 1366 | 120081, 1367 | 120082, 1368 | 120083, 1369 | 120084, 1370 | 120086, 1371 | 120087, 1372 | 120088, 1373 | 120089, 1374 | 120090, 1375 | 120091, 1376 | 120092, 1377 | 120094, 1378 | 120095, 1379 | 120096, 1380 | 120097, 1381 | 120098, 1382 | 120099, 1383 | 120100, 1384 | 120101, 1385 | 120102, 1386 | 120103, 1387 | 120104, 1388 | 120105, 1389 | 120106, 1390 | 120107, 1391 | 120108, 1392 | 120109, 1393 | 120110, 1394 | 120111, 1395 | 120112, 1396 | 120113, 1397 | 120114, 1398 | 120115, 1399 | 120116, 1400 | 120117, 1401 | 120118, 1402 | 120119, 1403 | 120120, 1404 | 120121, 1405 | 120123, 1406 | 120124, 1407 | 120125, 1408 | 120126, 1409 | 120128, 1410 | 120129, 1411 | 120130, 1412 | 120131, 1413 | 120132, 1414 | 120134, 1415 | 120138, 1416 | 120139, 1417 | 120140, 1418 | 120141, 1419 | 120142, 1420 | 120143, 1421 | 120144, 1422 | 120146, 1423 | 120147, 1424 | 120148, 1425 | 120149, 1426 | 120150, 1427 | 120151, 1428 | 120152, 1429 | 120153, 1430 | 120154, 1431 | 120155, 1432 | 120156, 1433 | 120157, 1434 | 120158, 1435 | 120159, 1436 | 120160, 1437 | 120161, 1438 | 120162, 1439 | 120163, 1440 | 120164, 1441 | 120165, 1442 | 120166, 1443 | 120167, 1444 | 120168, 1445 | 120169, 1446 | 120170, 1447 | 120171 1448 | ] 1449 | -------------------------------------------------------------------------------- /data/encode-map.json: -------------------------------------------------------------------------------- 1 | { 2 | "\u00C1": "Aacute", 3 | "\u00E1": "aacute", 4 | "\u0102": "Abreve", 5 | "\u0103": "abreve", 6 | "\u223E": "ac", 7 | "\u223F": "acd", 8 | "\u223E\u0333": "acE", 9 | "\u00C2": "Acirc", 10 | "\u00E2": "acirc", 11 | "\u00B4": "acute", 12 | "\u0410": "Acy", 13 | "\u0430": "acy", 14 | "\u00C6": "AElig", 15 | "\u00E6": "aelig", 16 | "\u2061": "af", 17 | "\uD835\uDD04": "Afr", 18 | "\uD835\uDD1E": "afr", 19 | "\u00C0": "Agrave", 20 | "\u00E0": "agrave", 21 | "\u2135": "aleph", 22 | "\u0391": "Alpha", 23 | "\u03B1": "alpha", 24 | "\u0100": "Amacr", 25 | "\u0101": "amacr", 26 | "\u2A3F": "amalg", 27 | "&": "amp", 28 | "\u2A55": "andand", 29 | "\u2A53": "And", 30 | "\u2227": "and", 31 | "\u2A5C": "andd", 32 | "\u2A58": "andslope", 33 | "\u2A5A": "andv", 34 | "\u2220": "ang", 35 | "\u29A4": "ange", 36 | "\u29A8": "angmsdaa", 37 | "\u29A9": "angmsdab", 38 | "\u29AA": "angmsdac", 39 | "\u29AB": "angmsdad", 40 | "\u29AC": "angmsdae", 41 | "\u29AD": "angmsdaf", 42 | "\u29AE": "angmsdag", 43 | "\u29AF": "angmsdah", 44 | "\u2221": "angmsd", 45 | "\u221F": "angrt", 46 | "\u22BE": "angrtvb", 47 | "\u299D": "angrtvbd", 48 | "\u2222": "angsph", 49 | "\u00C5": "angst", 50 | "\u237C": "angzarr", 51 | "\u0104": "Aogon", 52 | "\u0105": "aogon", 53 | "\uD835\uDD38": "Aopf", 54 | "\uD835\uDD52": "aopf", 55 | "\u2A6F": "apacir", 56 | "\u2248": "ap", 57 | "\u2A70": "apE", 58 | "\u224A": "ape", 59 | "\u224B": "apid", 60 | "'": "apos", 61 | "\u00E5": "aring", 62 | "\uD835\uDC9C": "Ascr", 63 | "\uD835\uDCB6": "ascr", 64 | "\u2254": "colone", 65 | "*": "ast", 66 | "\u224D": "CupCap", 67 | "\u00C3": "Atilde", 68 | "\u00E3": "atilde", 69 | "\u00C4": "Auml", 70 | "\u00E4": "auml", 71 | "\u2233": "awconint", 72 | "\u2A11": "awint", 73 | "\u224C": "bcong", 74 | "\u03F6": "bepsi", 75 | "\u2035": "bprime", 76 | "\u223D": "bsim", 77 | "\u22CD": "bsime", 78 | "\u2216": "setmn", 79 | "\u2AE7": "Barv", 80 | "\u22BD": "barvee", 81 | "\u2305": "barwed", 82 | "\u2306": "Barwed", 83 | "\u23B5": "bbrk", 84 | "\u23B6": "bbrktbrk", 85 | "\u0411": "Bcy", 86 | "\u0431": "bcy", 87 | "\u201E": "bdquo", 88 | "\u2235": "becaus", 89 | "\u29B0": "bemptyv", 90 | "\u212C": "Bscr", 91 | "\u0392": "Beta", 92 | "\u03B2": "beta", 93 | "\u2136": "beth", 94 | "\u226C": "twixt", 95 | "\uD835\uDD05": "Bfr", 96 | "\uD835\uDD1F": "bfr", 97 | "\u22C2": "xcap", 98 | "\u25EF": "xcirc", 99 | "\u22C3": "xcup", 100 | "\u2A00": "xodot", 101 | "\u2A01": "xoplus", 102 | "\u2A02": "xotime", 103 | "\u2A06": "xsqcup", 104 | "\u2605": "starf", 105 | "\u25BD": "xdtri", 106 | "\u25B3": "xutri", 107 | "\u2A04": "xuplus", 108 | "\u22C1": "Vee", 109 | "\u22C0": "Wedge", 110 | "\u290D": "rbarr", 111 | "\u29EB": "lozf", 112 | "\u25AA": "squf", 113 | "\u25B4": "utrif", 114 | "\u25BE": "dtrif", 115 | "\u25C2": "ltrif", 116 | "\u25B8": "rtrif", 117 | "\u2423": "blank", 118 | "\u2592": "blk12", 119 | "\u2591": "blk14", 120 | "\u2593": "blk34", 121 | "\u2588": "block", 122 | "=\u20E5": "bne", 123 | "\u2261\u20E5": "bnequiv", 124 | "\u2AED": "bNot", 125 | "\u2310": "bnot", 126 | "\uD835\uDD39": "Bopf", 127 | "\uD835\uDD53": "bopf", 128 | "\u22A5": "bot", 129 | "\u22C8": "bowtie", 130 | "\u29C9": "boxbox", 131 | "\u2510": "boxdl", 132 | "\u2555": "boxdL", 133 | "\u2556": "boxDl", 134 | "\u2557": "boxDL", 135 | "\u250C": "boxdr", 136 | "\u2552": "boxdR", 137 | "\u2553": "boxDr", 138 | "\u2554": "boxDR", 139 | "\u2500": "boxh", 140 | "\u2550": "boxH", 141 | "\u252C": "boxhd", 142 | "\u2564": "boxHd", 143 | "\u2565": "boxhD", 144 | "\u2566": "boxHD", 145 | "\u2534": "boxhu", 146 | "\u2567": "boxHu", 147 | "\u2568": "boxhU", 148 | "\u2569": "boxHU", 149 | "\u229F": "minusb", 150 | "\u229E": "plusb", 151 | "\u22A0": "timesb", 152 | "\u2518": "boxul", 153 | "\u255B": "boxuL", 154 | "\u255C": "boxUl", 155 | "\u255D": "boxUL", 156 | "\u2514": "boxur", 157 | "\u2558": "boxuR", 158 | "\u2559": "boxUr", 159 | "\u255A": "boxUR", 160 | "\u2502": "boxv", 161 | "\u2551": "boxV", 162 | "\u253C": "boxvh", 163 | "\u256A": "boxvH", 164 | "\u256B": "boxVh", 165 | "\u256C": "boxVH", 166 | "\u2524": "boxvl", 167 | "\u2561": "boxvL", 168 | "\u2562": "boxVl", 169 | "\u2563": "boxVL", 170 | "\u251C": "boxvr", 171 | "\u255E": "boxvR", 172 | "\u255F": "boxVr", 173 | "\u2560": "boxVR", 174 | "\u02D8": "breve", 175 | "\u00A6": "brvbar", 176 | "\uD835\uDCB7": "bscr", 177 | "\u204F": "bsemi", 178 | "\u29C5": "bsolb", 179 | "\\": "bsol", 180 | "\u27C8": "bsolhsub", 181 | "\u2022": "bull", 182 | "\u224E": "bump", 183 | "\u2AAE": "bumpE", 184 | "\u224F": "bumpe", 185 | "\u0106": "Cacute", 186 | "\u0107": "cacute", 187 | "\u2A44": "capand", 188 | "\u2A49": "capbrcup", 189 | "\u2A4B": "capcap", 190 | "\u2229": "cap", 191 | "\u22D2": "Cap", 192 | "\u2A47": "capcup", 193 | "\u2A40": "capdot", 194 | "\u2145": "DD", 195 | "\u2229\uFE00": "caps", 196 | "\u2041": "caret", 197 | "\u02C7": "caron", 198 | "\u212D": "Cfr", 199 | "\u2A4D": "ccaps", 200 | "\u010C": "Ccaron", 201 | "\u010D": "ccaron", 202 | "\u00C7": "Ccedil", 203 | "\u00E7": "ccedil", 204 | "\u0108": "Ccirc", 205 | "\u0109": "ccirc", 206 | "\u2230": "Cconint", 207 | "\u2A4C": "ccups", 208 | "\u2A50": "ccupssm", 209 | "\u010A": "Cdot", 210 | "\u010B": "cdot", 211 | "\u00B8": "cedil", 212 | "\u29B2": "cemptyv", 213 | "\u00A2": "cent", 214 | "\u00B7": "middot", 215 | "\uD835\uDD20": "cfr", 216 | "\u0427": "CHcy", 217 | "\u0447": "chcy", 218 | "\u2713": "check", 219 | "\u03A7": "Chi", 220 | "\u03C7": "chi", 221 | "\u02C6": "circ", 222 | "\u2257": "cire", 223 | "\u21BA": "olarr", 224 | "\u21BB": "orarr", 225 | "\u229B": "oast", 226 | "\u229A": "ocir", 227 | "\u229D": "odash", 228 | "\u2299": "odot", 229 | "\u00AE": "reg", 230 | "\u24C8": "oS", 231 | "\u2296": "ominus", 232 | "\u2295": "oplus", 233 | "\u2297": "otimes", 234 | "\u25CB": "cir", 235 | "\u29C3": "cirE", 236 | "\u2A10": "cirfnint", 237 | "\u2AEF": "cirmid", 238 | "\u29C2": "cirscir", 239 | "\u2232": "cwconint", 240 | "\u201D": "rdquo", 241 | "\u2019": "rsquo", 242 | "\u2663": "clubs", 243 | ":": "colon", 244 | "\u2237": "Colon", 245 | "\u2A74": "Colone", 246 | ",": "comma", 247 | "@": "commat", 248 | "\u2201": "comp", 249 | "\u2218": "compfn", 250 | "\u2102": "Copf", 251 | "\u2245": "cong", 252 | "\u2A6D": "congdot", 253 | "\u2261": "equiv", 254 | "\u222E": "oint", 255 | "\u222F": "Conint", 256 | "\uD835\uDD54": "copf", 257 | "\u2210": "coprod", 258 | "\u00A9": "copy", 259 | "\u2117": "copysr", 260 | "\u21B5": "crarr", 261 | "\u2717": "cross", 262 | "\u2A2F": "Cross", 263 | "\uD835\uDC9E": "Cscr", 264 | "\uD835\uDCB8": "cscr", 265 | "\u2ACF": "csub", 266 | "\u2AD1": "csube", 267 | "\u2AD0": "csup", 268 | "\u2AD2": "csupe", 269 | "\u22EF": "ctdot", 270 | "\u2938": "cudarrl", 271 | "\u2935": "cudarrr", 272 | "\u22DE": "cuepr", 273 | "\u22DF": "cuesc", 274 | "\u21B6": "cularr", 275 | "\u293D": "cularrp", 276 | "\u2A48": "cupbrcap", 277 | "\u2A46": "cupcap", 278 | "\u222A": "cup", 279 | "\u22D3": "Cup", 280 | "\u2A4A": "cupcup", 281 | "\u228D": "cupdot", 282 | "\u2A45": "cupor", 283 | "\u222A\uFE00": "cups", 284 | "\u21B7": "curarr", 285 | "\u293C": "curarrm", 286 | "\u22CE": "cuvee", 287 | "\u22CF": "cuwed", 288 | "\u00A4": "curren", 289 | "\u2231": "cwint", 290 | "\u232D": "cylcty", 291 | "\u2020": "dagger", 292 | "\u2021": "Dagger", 293 | "\u2138": "daleth", 294 | "\u2193": "darr", 295 | "\u21A1": "Darr", 296 | "\u21D3": "dArr", 297 | "\u2010": "dash", 298 | "\u2AE4": "Dashv", 299 | "\u22A3": "dashv", 300 | "\u290F": "rBarr", 301 | "\u02DD": "dblac", 302 | "\u010E": "Dcaron", 303 | "\u010F": "dcaron", 304 | "\u0414": "Dcy", 305 | "\u0434": "dcy", 306 | "\u21CA": "ddarr", 307 | "\u2146": "dd", 308 | "\u2911": "DDotrahd", 309 | "\u2A77": "eDDot", 310 | "\u00B0": "deg", 311 | "\u2207": "Del", 312 | "\u0394": "Delta", 313 | "\u03B4": "delta", 314 | "\u29B1": "demptyv", 315 | "\u297F": "dfisht", 316 | "\uD835\uDD07": "Dfr", 317 | "\uD835\uDD21": "dfr", 318 | "\u2965": "dHar", 319 | "\u21C3": "dharl", 320 | "\u21C2": "dharr", 321 | "\u02D9": "dot", 322 | "`": "grave", 323 | "\u02DC": "tilde", 324 | "\u22C4": "diam", 325 | "\u2666": "diams", 326 | "\u00A8": "die", 327 | "\u03DD": "gammad", 328 | "\u22F2": "disin", 329 | "\u00F7": "div", 330 | "\u22C7": "divonx", 331 | "\u0402": "DJcy", 332 | "\u0452": "djcy", 333 | "\u231E": "dlcorn", 334 | "\u230D": "dlcrop", 335 | "$": "dollar", 336 | "\uD835\uDD3B": "Dopf", 337 | "\uD835\uDD55": "dopf", 338 | "\u20DC": "DotDot", 339 | "\u2250": "doteq", 340 | "\u2251": "eDot", 341 | "\u2238": "minusd", 342 | "\u2214": "plusdo", 343 | "\u22A1": "sdotb", 344 | "\u21D0": "lArr", 345 | "\u21D4": "iff", 346 | "\u27F8": "xlArr", 347 | "\u27FA": "xhArr", 348 | "\u27F9": "xrArr", 349 | "\u21D2": "rArr", 350 | "\u22A8": "vDash", 351 | "\u21D1": "uArr", 352 | "\u21D5": "vArr", 353 | "\u2225": "par", 354 | "\u2913": "DownArrowBar", 355 | "\u21F5": "duarr", 356 | "\u0311": "DownBreve", 357 | "\u2950": "DownLeftRightVector", 358 | "\u295E": "DownLeftTeeVector", 359 | "\u2956": "DownLeftVectorBar", 360 | "\u21BD": "lhard", 361 | "\u295F": "DownRightTeeVector", 362 | "\u2957": "DownRightVectorBar", 363 | "\u21C1": "rhard", 364 | "\u21A7": "mapstodown", 365 | "\u22A4": "top", 366 | "\u2910": "RBarr", 367 | "\u231F": "drcorn", 368 | "\u230C": "drcrop", 369 | "\uD835\uDC9F": "Dscr", 370 | "\uD835\uDCB9": "dscr", 371 | "\u0405": "DScy", 372 | "\u0455": "dscy", 373 | "\u29F6": "dsol", 374 | "\u0110": "Dstrok", 375 | "\u0111": "dstrok", 376 | "\u22F1": "dtdot", 377 | "\u25BF": "dtri", 378 | "\u296F": "duhar", 379 | "\u29A6": "dwangle", 380 | "\u040F": "DZcy", 381 | "\u045F": "dzcy", 382 | "\u27FF": "dzigrarr", 383 | "\u00C9": "Eacute", 384 | "\u00E9": "eacute", 385 | "\u2A6E": "easter", 386 | "\u011A": "Ecaron", 387 | "\u011B": "ecaron", 388 | "\u00CA": "Ecirc", 389 | "\u00EA": "ecirc", 390 | "\u2256": "ecir", 391 | "\u2255": "ecolon", 392 | "\u042D": "Ecy", 393 | "\u044D": "ecy", 394 | "\u0116": "Edot", 395 | "\u0117": "edot", 396 | "\u2147": "ee", 397 | "\u2252": "efDot", 398 | "\uD835\uDD08": "Efr", 399 | "\uD835\uDD22": "efr", 400 | "\u2A9A": "eg", 401 | "\u00C8": "Egrave", 402 | "\u00E8": "egrave", 403 | "\u2A96": "egs", 404 | "\u2A98": "egsdot", 405 | "\u2A99": "el", 406 | "\u2208": "in", 407 | "\u23E7": "elinters", 408 | "\u2113": "ell", 409 | "\u2A95": "els", 410 | "\u2A97": "elsdot", 411 | "\u0112": "Emacr", 412 | "\u0113": "emacr", 413 | "\u2205": "empty", 414 | "\u25FB": "EmptySmallSquare", 415 | "\u25AB": "EmptyVerySmallSquare", 416 | "\u2004": "emsp13", 417 | "\u2005": "emsp14", 418 | "\u2003": "emsp", 419 | "\u014A": "ENG", 420 | "\u014B": "eng", 421 | "\u2002": "ensp", 422 | "\u0118": "Eogon", 423 | "\u0119": "eogon", 424 | "\uD835\uDD3C": "Eopf", 425 | "\uD835\uDD56": "eopf", 426 | "\u22D5": "epar", 427 | "\u29E3": "eparsl", 428 | "\u2A71": "eplus", 429 | "\u03B5": "epsi", 430 | "\u0395": "Epsilon", 431 | "\u03F5": "epsiv", 432 | "\u2242": "esim", 433 | "\u2A75": "Equal", 434 | "=": "equals", 435 | "\u225F": "equest", 436 | "\u21CC": "rlhar", 437 | "\u2A78": "equivDD", 438 | "\u29E5": "eqvparsl", 439 | "\u2971": "erarr", 440 | "\u2253": "erDot", 441 | "\u212F": "escr", 442 | "\u2130": "Escr", 443 | "\u2A73": "Esim", 444 | "\u0397": "Eta", 445 | "\u03B7": "eta", 446 | "\u00D0": "ETH", 447 | "\u00F0": "eth", 448 | "\u00CB": "Euml", 449 | "\u00EB": "euml", 450 | "\u20AC": "euro", 451 | "!": "excl", 452 | "\u2203": "exist", 453 | "\u0424": "Fcy", 454 | "\u0444": "fcy", 455 | "\u2640": "female", 456 | "\uFB03": "ffilig", 457 | "\uFB00": "fflig", 458 | "\uFB04": "ffllig", 459 | "\uD835\uDD09": "Ffr", 460 | "\uD835\uDD23": "ffr", 461 | "\uFB01": "filig", 462 | "\u25FC": "FilledSmallSquare", 463 | "fj": "fjlig", 464 | "\u266D": "flat", 465 | "\uFB02": "fllig", 466 | "\u25B1": "fltns", 467 | "\u0192": "fnof", 468 | "\uD835\uDD3D": "Fopf", 469 | "\uD835\uDD57": "fopf", 470 | "\u2200": "forall", 471 | "\u22D4": "fork", 472 | "\u2AD9": "forkv", 473 | "\u2131": "Fscr", 474 | "\u2A0D": "fpartint", 475 | "\u00BD": "half", 476 | "\u2153": "frac13", 477 | "\u00BC": "frac14", 478 | "\u2155": "frac15", 479 | "\u2159": "frac16", 480 | "\u215B": "frac18", 481 | "\u2154": "frac23", 482 | "\u2156": "frac25", 483 | "\u00BE": "frac34", 484 | "\u2157": "frac35", 485 | "\u215C": "frac38", 486 | "\u2158": "frac45", 487 | "\u215A": "frac56", 488 | "\u215D": "frac58", 489 | "\u215E": "frac78", 490 | "\u2044": "frasl", 491 | "\u2322": "frown", 492 | "\uD835\uDCBB": "fscr", 493 | "\u01F5": "gacute", 494 | "\u0393": "Gamma", 495 | "\u03B3": "gamma", 496 | "\u03DC": "Gammad", 497 | "\u2A86": "gap", 498 | "\u011E": "Gbreve", 499 | "\u011F": "gbreve", 500 | "\u0122": "Gcedil", 501 | "\u011C": "Gcirc", 502 | "\u011D": "gcirc", 503 | "\u0413": "Gcy", 504 | "\u0433": "gcy", 505 | "\u0120": "Gdot", 506 | "\u0121": "gdot", 507 | "\u2265": "ge", 508 | "\u2267": "gE", 509 | "\u2A8C": "gEl", 510 | "\u22DB": "gel", 511 | "\u2A7E": "ges", 512 | "\u2AA9": "gescc", 513 | "\u2A80": "gesdot", 514 | "\u2A82": "gesdoto", 515 | "\u2A84": "gesdotol", 516 | "\u22DB\uFE00": "gesl", 517 | "\u2A94": "gesles", 518 | "\uD835\uDD0A": "Gfr", 519 | "\uD835\uDD24": "gfr", 520 | "\u226B": "gg", 521 | "\u22D9": "Gg", 522 | "\u2137": "gimel", 523 | "\u0403": "GJcy", 524 | "\u0453": "gjcy", 525 | "\u2AA5": "gla", 526 | "\u2277": "gl", 527 | "\u2A92": "glE", 528 | "\u2AA4": "glj", 529 | "\u2A8A": "gnap", 530 | "\u2A88": "gne", 531 | "\u2269": "gnE", 532 | "\u22E7": "gnsim", 533 | "\uD835\uDD3E": "Gopf", 534 | "\uD835\uDD58": "gopf", 535 | "\u2AA2": "GreaterGreater", 536 | "\u2273": "gsim", 537 | "\uD835\uDCA2": "Gscr", 538 | "\u210A": "gscr", 539 | "\u2A8E": "gsime", 540 | "\u2A90": "gsiml", 541 | "\u2AA7": "gtcc", 542 | "\u2A7A": "gtcir", 543 | ">": "gt", 544 | "\u22D7": "gtdot", 545 | "\u2995": "gtlPar", 546 | "\u2A7C": "gtquest", 547 | "\u2978": "gtrarr", 548 | "\u2269\uFE00": "gvnE", 549 | "\u200A": "hairsp", 550 | "\u210B": "Hscr", 551 | "\u042A": "HARDcy", 552 | "\u044A": "hardcy", 553 | "\u2948": "harrcir", 554 | "\u2194": "harr", 555 | "\u21AD": "harrw", 556 | "^": "Hat", 557 | "\u210F": "hbar", 558 | "\u0124": "Hcirc", 559 | "\u0125": "hcirc", 560 | "\u2665": "hearts", 561 | "\u2026": "mldr", 562 | "\u22B9": "hercon", 563 | "\uD835\uDD25": "hfr", 564 | "\u210C": "Hfr", 565 | "\u2925": "searhk", 566 | "\u2926": "swarhk", 567 | "\u21FF": "hoarr", 568 | "\u223B": "homtht", 569 | "\u21A9": "larrhk", 570 | "\u21AA": "rarrhk", 571 | "\uD835\uDD59": "hopf", 572 | "\u210D": "Hopf", 573 | "\u2015": "horbar", 574 | "\uD835\uDCBD": "hscr", 575 | "\u0126": "Hstrok", 576 | "\u0127": "hstrok", 577 | "\u2043": "hybull", 578 | "\u00CD": "Iacute", 579 | "\u00ED": "iacute", 580 | "\u2063": "ic", 581 | "\u00CE": "Icirc", 582 | "\u00EE": "icirc", 583 | "\u0418": "Icy", 584 | "\u0438": "icy", 585 | "\u0130": "Idot", 586 | "\u0415": "IEcy", 587 | "\u0435": "iecy", 588 | "\u00A1": "iexcl", 589 | "\uD835\uDD26": "ifr", 590 | "\u2111": "Im", 591 | "\u00CC": "Igrave", 592 | "\u00EC": "igrave", 593 | "\u2148": "ii", 594 | "\u2A0C": "qint", 595 | "\u222D": "tint", 596 | "\u29DC": "iinfin", 597 | "\u2129": "iiota", 598 | "\u0132": "IJlig", 599 | "\u0133": "ijlig", 600 | "\u012A": "Imacr", 601 | "\u012B": "imacr", 602 | "\u2110": "Iscr", 603 | "\u0131": "imath", 604 | "\u22B7": "imof", 605 | "\u01B5": "imped", 606 | "\u2105": "incare", 607 | "\u221E": "infin", 608 | "\u29DD": "infintie", 609 | "\u22BA": "intcal", 610 | "\u222B": "int", 611 | "\u222C": "Int", 612 | "\u2124": "Zopf", 613 | "\u2A17": "intlarhk", 614 | "\u2A3C": "iprod", 615 | "\u2062": "it", 616 | "\u0401": "IOcy", 617 | "\u0451": "iocy", 618 | "\u012E": "Iogon", 619 | "\u012F": "iogon", 620 | "\uD835\uDD40": "Iopf", 621 | "\uD835\uDD5A": "iopf", 622 | "\u0399": "Iota", 623 | "\u03B9": "iota", 624 | "\u00BF": "iquest", 625 | "\uD835\uDCBE": "iscr", 626 | "\u22F5": "isindot", 627 | "\u22F9": "isinE", 628 | "\u22F4": "isins", 629 | "\u22F3": "isinsv", 630 | "\u0128": "Itilde", 631 | "\u0129": "itilde", 632 | "\u0406": "Iukcy", 633 | "\u0456": "iukcy", 634 | "\u00CF": "Iuml", 635 | "\u00EF": "iuml", 636 | "\u0134": "Jcirc", 637 | "\u0135": "jcirc", 638 | "\u0419": "Jcy", 639 | "\u0439": "jcy", 640 | "\uD835\uDD0D": "Jfr", 641 | "\uD835\uDD27": "jfr", 642 | "\u0237": "jmath", 643 | "\uD835\uDD41": "Jopf", 644 | "\uD835\uDD5B": "jopf", 645 | "\uD835\uDCA5": "Jscr", 646 | "\uD835\uDCBF": "jscr", 647 | "\u0408": "Jsercy", 648 | "\u0458": "jsercy", 649 | "\u0404": "Jukcy", 650 | "\u0454": "jukcy", 651 | "\u039A": "Kappa", 652 | "\u03BA": "kappa", 653 | "\u03F0": "kappav", 654 | "\u0136": "Kcedil", 655 | "\u0137": "kcedil", 656 | "\u041A": "Kcy", 657 | "\u043A": "kcy", 658 | "\uD835\uDD0E": "Kfr", 659 | "\uD835\uDD28": "kfr", 660 | "\u0138": "kgreen", 661 | "\u0425": "KHcy", 662 | "\u0445": "khcy", 663 | "\u040C": "KJcy", 664 | "\u045C": "kjcy", 665 | "\uD835\uDD42": "Kopf", 666 | "\uD835\uDD5C": "kopf", 667 | "\uD835\uDCA6": "Kscr", 668 | "\uD835\uDCC0": "kscr", 669 | "\u21DA": "lAarr", 670 | "\u0139": "Lacute", 671 | "\u013A": "lacute", 672 | "\u29B4": "laemptyv", 673 | "\u2112": "Lscr", 674 | "\u039B": "Lambda", 675 | "\u03BB": "lambda", 676 | "\u27E8": "lang", 677 | "\u27EA": "Lang", 678 | "\u2991": "langd", 679 | "\u2A85": "lap", 680 | "\u00AB": "laquo", 681 | "\u21E4": "larrb", 682 | "\u291F": "larrbfs", 683 | "\u2190": "larr", 684 | "\u219E": "Larr", 685 | "\u291D": "larrfs", 686 | "\u21AB": "larrlp", 687 | "\u2939": "larrpl", 688 | "\u2973": "larrsim", 689 | "\u21A2": "larrtl", 690 | "\u2919": "latail", 691 | "\u291B": "lAtail", 692 | "\u2AAB": "lat", 693 | "\u2AAD": "late", 694 | "\u2AAD\uFE00": "lates", 695 | "\u290C": "lbarr", 696 | "\u290E": "lBarr", 697 | "\u2772": "lbbrk", 698 | "{": "lcub", 699 | "[": "lsqb", 700 | "\u298B": "lbrke", 701 | "\u298F": "lbrksld", 702 | "\u298D": "lbrkslu", 703 | "\u013D": "Lcaron", 704 | "\u013E": "lcaron", 705 | "\u013B": "Lcedil", 706 | "\u013C": "lcedil", 707 | "\u2308": "lceil", 708 | "\u041B": "Lcy", 709 | "\u043B": "lcy", 710 | "\u2936": "ldca", 711 | "\u201C": "ldquo", 712 | "\u2967": "ldrdhar", 713 | "\u294B": "ldrushar", 714 | "\u21B2": "ldsh", 715 | "\u2264": "le", 716 | "\u2266": "lE", 717 | "\u21C6": "lrarr", 718 | "\u27E6": "lobrk", 719 | "\u2961": "LeftDownTeeVector", 720 | "\u2959": "LeftDownVectorBar", 721 | "\u230A": "lfloor", 722 | "\u21BC": "lharu", 723 | "\u21C7": "llarr", 724 | "\u21CB": "lrhar", 725 | "\u294E": "LeftRightVector", 726 | "\u21A4": "mapstoleft", 727 | "\u295A": "LeftTeeVector", 728 | "\u22CB": "lthree", 729 | "\u29CF": "LeftTriangleBar", 730 | "\u22B2": "vltri", 731 | "\u22B4": "ltrie", 732 | "\u2951": "LeftUpDownVector", 733 | "\u2960": "LeftUpTeeVector", 734 | "\u2958": "LeftUpVectorBar", 735 | "\u21BF": "uharl", 736 | "\u2952": "LeftVectorBar", 737 | "\u2A8B": "lEg", 738 | "\u22DA": "leg", 739 | "\u2A7D": "les", 740 | "\u2AA8": "lescc", 741 | "\u2A7F": "lesdot", 742 | "\u2A81": "lesdoto", 743 | "\u2A83": "lesdotor", 744 | "\u22DA\uFE00": "lesg", 745 | "\u2A93": "lesges", 746 | "\u22D6": "ltdot", 747 | "\u2276": "lg", 748 | "\u2AA1": "LessLess", 749 | "\u2272": "lsim", 750 | "\u297C": "lfisht", 751 | "\uD835\uDD0F": "Lfr", 752 | "\uD835\uDD29": "lfr", 753 | "\u2A91": "lgE", 754 | "\u2962": "lHar", 755 | "\u296A": "lharul", 756 | "\u2584": "lhblk", 757 | "\u0409": "LJcy", 758 | "\u0459": "ljcy", 759 | "\u226A": "ll", 760 | "\u22D8": "Ll", 761 | "\u296B": "llhard", 762 | "\u25FA": "lltri", 763 | "\u013F": "Lmidot", 764 | "\u0140": "lmidot", 765 | "\u23B0": "lmoust", 766 | "\u2A89": "lnap", 767 | "\u2A87": "lne", 768 | "\u2268": "lnE", 769 | "\u22E6": "lnsim", 770 | "\u27EC": "loang", 771 | "\u21FD": "loarr", 772 | "\u27F5": "xlarr", 773 | "\u27F7": "xharr", 774 | "\u27FC": "xmap", 775 | "\u27F6": "xrarr", 776 | "\u21AC": "rarrlp", 777 | "\u2985": "lopar", 778 | "\uD835\uDD43": "Lopf", 779 | "\uD835\uDD5D": "lopf", 780 | "\u2A2D": "loplus", 781 | "\u2A34": "lotimes", 782 | "\u2217": "lowast", 783 | "_": "lowbar", 784 | "\u2199": "swarr", 785 | "\u2198": "searr", 786 | "\u25CA": "loz", 787 | "(": "lpar", 788 | "\u2993": "lparlt", 789 | "\u296D": "lrhard", 790 | "\u200E": "lrm", 791 | "\u22BF": "lrtri", 792 | "\u2039": "lsaquo", 793 | "\uD835\uDCC1": "lscr", 794 | "\u21B0": "lsh", 795 | "\u2A8D": "lsime", 796 | "\u2A8F": "lsimg", 797 | "\u2018": "lsquo", 798 | "\u201A": "sbquo", 799 | "\u0141": "Lstrok", 800 | "\u0142": "lstrok", 801 | "\u2AA6": "ltcc", 802 | "\u2A79": "ltcir", 803 | "<": "lt", 804 | "\u22C9": "ltimes", 805 | "\u2976": "ltlarr", 806 | "\u2A7B": "ltquest", 807 | "\u25C3": "ltri", 808 | "\u2996": "ltrPar", 809 | "\u294A": "lurdshar", 810 | "\u2966": "luruhar", 811 | "\u2268\uFE00": "lvnE", 812 | "\u00AF": "macr", 813 | "\u2642": "male", 814 | "\u2720": "malt", 815 | "\u2905": "Map", 816 | "\u21A6": "map", 817 | "\u21A5": "mapstoup", 818 | "\u25AE": "marker", 819 | "\u2A29": "mcomma", 820 | "\u041C": "Mcy", 821 | "\u043C": "mcy", 822 | "\u2014": "mdash", 823 | "\u223A": "mDDot", 824 | "\u205F": "MediumSpace", 825 | "\u2133": "Mscr", 826 | "\uD835\uDD10": "Mfr", 827 | "\uD835\uDD2A": "mfr", 828 | "\u2127": "mho", 829 | "\u00B5": "micro", 830 | "\u2AF0": "midcir", 831 | "\u2223": "mid", 832 | "\u2212": "minus", 833 | "\u2A2A": "minusdu", 834 | "\u2213": "mp", 835 | "\u2ADB": "mlcp", 836 | "\u22A7": "models", 837 | "\uD835\uDD44": "Mopf", 838 | "\uD835\uDD5E": "mopf", 839 | "\uD835\uDCC2": "mscr", 840 | "\u039C": "Mu", 841 | "\u03BC": "mu", 842 | "\u22B8": "mumap", 843 | "\u0143": "Nacute", 844 | "\u0144": "nacute", 845 | "\u2220\u20D2": "nang", 846 | "\u2249": "nap", 847 | "\u2A70\u0338": "napE", 848 | "\u224B\u0338": "napid", 849 | "\u0149": "napos", 850 | "\u266E": "natur", 851 | "\u2115": "Nopf", 852 | "\u00A0": "nbsp", 853 | "\u224E\u0338": "nbump", 854 | "\u224F\u0338": "nbumpe", 855 | "\u2A43": "ncap", 856 | "\u0147": "Ncaron", 857 | "\u0148": "ncaron", 858 | "\u0145": "Ncedil", 859 | "\u0146": "ncedil", 860 | "\u2247": "ncong", 861 | "\u2A6D\u0338": "ncongdot", 862 | "\u2A42": "ncup", 863 | "\u041D": "Ncy", 864 | "\u043D": "ncy", 865 | "\u2013": "ndash", 866 | "\u2924": "nearhk", 867 | "\u2197": "nearr", 868 | "\u21D7": "neArr", 869 | "\u2260": "ne", 870 | "\u2250\u0338": "nedot", 871 | "\u200B": "ZeroWidthSpace", 872 | "\u2262": "nequiv", 873 | "\u2928": "toea", 874 | "\u2242\u0338": "nesim", 875 | "\n": "NewLine", 876 | "\u2204": "nexist", 877 | "\uD835\uDD11": "Nfr", 878 | "\uD835\uDD2B": "nfr", 879 | "\u2267\u0338": "ngE", 880 | "\u2271": "nge", 881 | "\u2A7E\u0338": "nges", 882 | "\u22D9\u0338": "nGg", 883 | "\u2275": "ngsim", 884 | "\u226B\u20D2": "nGt", 885 | "\u226F": "ngt", 886 | "\u226B\u0338": "nGtv", 887 | "\u21AE": "nharr", 888 | "\u21CE": "nhArr", 889 | "\u2AF2": "nhpar", 890 | "\u220B": "ni", 891 | "\u22FC": "nis", 892 | "\u22FA": "nisd", 893 | "\u040A": "NJcy", 894 | "\u045A": "njcy", 895 | "\u219A": "nlarr", 896 | "\u21CD": "nlArr", 897 | "\u2025": "nldr", 898 | "\u2266\u0338": "nlE", 899 | "\u2270": "nle", 900 | "\u2A7D\u0338": "nles", 901 | "\u226E": "nlt", 902 | "\u22D8\u0338": "nLl", 903 | "\u2274": "nlsim", 904 | "\u226A\u20D2": "nLt", 905 | "\u22EA": "nltri", 906 | "\u22EC": "nltrie", 907 | "\u226A\u0338": "nLtv", 908 | "\u2224": "nmid", 909 | "\u2060": "NoBreak", 910 | "\uD835\uDD5F": "nopf", 911 | "\u2AEC": "Not", 912 | "\u00AC": "not", 913 | "\u226D": "NotCupCap", 914 | "\u2226": "npar", 915 | "\u2209": "notin", 916 | "\u2279": "ntgl", 917 | "\u22F5\u0338": "notindot", 918 | "\u22F9\u0338": "notinE", 919 | "\u22F7": "notinvb", 920 | "\u22F6": "notinvc", 921 | "\u29CF\u0338": "NotLeftTriangleBar", 922 | "\u2278": "ntlg", 923 | "\u2AA2\u0338": "NotNestedGreaterGreater", 924 | "\u2AA1\u0338": "NotNestedLessLess", 925 | "\u220C": "notni", 926 | "\u22FE": "notnivb", 927 | "\u22FD": "notnivc", 928 | "\u2280": "npr", 929 | "\u2AAF\u0338": "npre", 930 | "\u22E0": "nprcue", 931 | "\u29D0\u0338": "NotRightTriangleBar", 932 | "\u22EB": "nrtri", 933 | "\u22ED": "nrtrie", 934 | "\u228F\u0338": "NotSquareSubset", 935 | "\u22E2": "nsqsube", 936 | "\u2290\u0338": "NotSquareSuperset", 937 | "\u22E3": "nsqsupe", 938 | "\u2282\u20D2": "vnsub", 939 | "\u2288": "nsube", 940 | "\u2281": "nsc", 941 | "\u2AB0\u0338": "nsce", 942 | "\u22E1": "nsccue", 943 | "\u227F\u0338": "NotSucceedsTilde", 944 | "\u2283\u20D2": "vnsup", 945 | "\u2289": "nsupe", 946 | "\u2241": "nsim", 947 | "\u2244": "nsime", 948 | "\u2AFD\u20E5": "nparsl", 949 | "\u2202\u0338": "npart", 950 | "\u2A14": "npolint", 951 | "\u2933\u0338": "nrarrc", 952 | "\u219B": "nrarr", 953 | "\u21CF": "nrArr", 954 | "\u219D\u0338": "nrarrw", 955 | "\uD835\uDCA9": "Nscr", 956 | "\uD835\uDCC3": "nscr", 957 | "\u2284": "nsub", 958 | "\u2AC5\u0338": "nsubE", 959 | "\u2285": "nsup", 960 | "\u2AC6\u0338": "nsupE", 961 | "\u00D1": "Ntilde", 962 | "\u00F1": "ntilde", 963 | "\u039D": "Nu", 964 | "\u03BD": "nu", 965 | "#": "num", 966 | "\u2116": "numero", 967 | "\u2007": "numsp", 968 | "\u224D\u20D2": "nvap", 969 | "\u22AC": "nvdash", 970 | "\u22AD": "nvDash", 971 | "\u22AE": "nVdash", 972 | "\u22AF": "nVDash", 973 | "\u2265\u20D2": "nvge", 974 | ">\u20D2": "nvgt", 975 | "\u2904": "nvHarr", 976 | "\u29DE": "nvinfin", 977 | "\u2902": "nvlArr", 978 | "\u2264\u20D2": "nvle", 979 | "<\u20D2": "nvlt", 980 | "\u22B4\u20D2": "nvltrie", 981 | "\u2903": "nvrArr", 982 | "\u22B5\u20D2": "nvrtrie", 983 | "\u223C\u20D2": "nvsim", 984 | "\u2923": "nwarhk", 985 | "\u2196": "nwarr", 986 | "\u21D6": "nwArr", 987 | "\u2927": "nwnear", 988 | "\u00D3": "Oacute", 989 | "\u00F3": "oacute", 990 | "\u00D4": "Ocirc", 991 | "\u00F4": "ocirc", 992 | "\u041E": "Ocy", 993 | "\u043E": "ocy", 994 | "\u0150": "Odblac", 995 | "\u0151": "odblac", 996 | "\u2A38": "odiv", 997 | "\u29BC": "odsold", 998 | "\u0152": "OElig", 999 | "\u0153": "oelig", 1000 | "\u29BF": "ofcir", 1001 | "\uD835\uDD12": "Ofr", 1002 | "\uD835\uDD2C": "ofr", 1003 | "\u02DB": "ogon", 1004 | "\u00D2": "Ograve", 1005 | "\u00F2": "ograve", 1006 | "\u29C1": "ogt", 1007 | "\u29B5": "ohbar", 1008 | "\u03A9": "ohm", 1009 | "\u29BE": "olcir", 1010 | "\u29BB": "olcross", 1011 | "\u203E": "oline", 1012 | "\u29C0": "olt", 1013 | "\u014C": "Omacr", 1014 | "\u014D": "omacr", 1015 | "\u03C9": "omega", 1016 | "\u039F": "Omicron", 1017 | "\u03BF": "omicron", 1018 | "\u29B6": "omid", 1019 | "\uD835\uDD46": "Oopf", 1020 | "\uD835\uDD60": "oopf", 1021 | "\u29B7": "opar", 1022 | "\u29B9": "operp", 1023 | "\u2A54": "Or", 1024 | "\u2228": "or", 1025 | "\u2A5D": "ord", 1026 | "\u2134": "oscr", 1027 | "\u00AA": "ordf", 1028 | "\u00BA": "ordm", 1029 | "\u22B6": "origof", 1030 | "\u2A56": "oror", 1031 | "\u2A57": "orslope", 1032 | "\u2A5B": "orv", 1033 | "\uD835\uDCAA": "Oscr", 1034 | "\u00D8": "Oslash", 1035 | "\u00F8": "oslash", 1036 | "\u2298": "osol", 1037 | "\u00D5": "Otilde", 1038 | "\u00F5": "otilde", 1039 | "\u2A36": "otimesas", 1040 | "\u2A37": "Otimes", 1041 | "\u00D6": "Ouml", 1042 | "\u00F6": "ouml", 1043 | "\u233D": "ovbar", 1044 | "\u23DE": "OverBrace", 1045 | "\u23B4": "tbrk", 1046 | "\u23DC": "OverParenthesis", 1047 | "\u00B6": "para", 1048 | "\u2AF3": "parsim", 1049 | "\u2AFD": "parsl", 1050 | "\u2202": "part", 1051 | "\u041F": "Pcy", 1052 | "\u043F": "pcy", 1053 | "%": "percnt", 1054 | ".": "period", 1055 | "\u2030": "permil", 1056 | "\u2031": "pertenk", 1057 | "\uD835\uDD13": "Pfr", 1058 | "\uD835\uDD2D": "pfr", 1059 | "\u03A6": "Phi", 1060 | "\u03C6": "phi", 1061 | "\u03D5": "phiv", 1062 | "\u260E": "phone", 1063 | "\u03A0": "Pi", 1064 | "\u03C0": "pi", 1065 | "\u03D6": "piv", 1066 | "\u210E": "planckh", 1067 | "\u2A23": "plusacir", 1068 | "\u2A22": "pluscir", 1069 | "+": "plus", 1070 | "\u2A25": "plusdu", 1071 | "\u2A72": "pluse", 1072 | "\u00B1": "pm", 1073 | "\u2A26": "plussim", 1074 | "\u2A27": "plustwo", 1075 | "\u2A15": "pointint", 1076 | "\uD835\uDD61": "popf", 1077 | "\u2119": "Popf", 1078 | "\u00A3": "pound", 1079 | "\u2AB7": "prap", 1080 | "\u2ABB": "Pr", 1081 | "\u227A": "pr", 1082 | "\u227C": "prcue", 1083 | "\u2AAF": "pre", 1084 | "\u227E": "prsim", 1085 | "\u2AB9": "prnap", 1086 | "\u2AB5": "prnE", 1087 | "\u22E8": "prnsim", 1088 | "\u2AB3": "prE", 1089 | "\u2032": "prime", 1090 | "\u2033": "Prime", 1091 | "\u220F": "prod", 1092 | "\u232E": "profalar", 1093 | "\u2312": "profline", 1094 | "\u2313": "profsurf", 1095 | "\u221D": "prop", 1096 | "\u22B0": "prurel", 1097 | "\uD835\uDCAB": "Pscr", 1098 | "\uD835\uDCC5": "pscr", 1099 | "\u03A8": "Psi", 1100 | "\u03C8": "psi", 1101 | "\u2008": "puncsp", 1102 | "\uD835\uDD14": "Qfr", 1103 | "\uD835\uDD2E": "qfr", 1104 | "\uD835\uDD62": "qopf", 1105 | "\u211A": "Qopf", 1106 | "\u2057": "qprime", 1107 | "\uD835\uDCAC": "Qscr", 1108 | "\uD835\uDCC6": "qscr", 1109 | "\u2A16": "quatint", 1110 | "?": "quest", 1111 | "\"": "quot", 1112 | "\u21DB": "rAarr", 1113 | "\u223D\u0331": "race", 1114 | "\u0154": "Racute", 1115 | "\u0155": "racute", 1116 | "\u221A": "Sqrt", 1117 | "\u29B3": "raemptyv", 1118 | "\u27E9": "rang", 1119 | "\u27EB": "Rang", 1120 | "\u2992": "rangd", 1121 | "\u29A5": "range", 1122 | "\u00BB": "raquo", 1123 | "\u2975": "rarrap", 1124 | "\u21E5": "rarrb", 1125 | "\u2920": "rarrbfs", 1126 | "\u2933": "rarrc", 1127 | "\u2192": "rarr", 1128 | "\u21A0": "Rarr", 1129 | "\u291E": "rarrfs", 1130 | "\u2945": "rarrpl", 1131 | "\u2974": "rarrsim", 1132 | "\u2916": "Rarrtl", 1133 | "\u21A3": "rarrtl", 1134 | "\u219D": "rarrw", 1135 | "\u291A": "ratail", 1136 | "\u291C": "rAtail", 1137 | "\u2236": "ratio", 1138 | "\u2773": "rbbrk", 1139 | "}": "rcub", 1140 | "]": "rsqb", 1141 | "\u298C": "rbrke", 1142 | "\u298E": "rbrksld", 1143 | "\u2990": "rbrkslu", 1144 | "\u0158": "Rcaron", 1145 | "\u0159": "rcaron", 1146 | "\u0156": "Rcedil", 1147 | "\u0157": "rcedil", 1148 | "\u2309": "rceil", 1149 | "\u0420": "Rcy", 1150 | "\u0440": "rcy", 1151 | "\u2937": "rdca", 1152 | "\u2969": "rdldhar", 1153 | "\u21B3": "rdsh", 1154 | "\u211C": "Re", 1155 | "\u211B": "Rscr", 1156 | "\u211D": "Ropf", 1157 | "\u25AD": "rect", 1158 | "\u297D": "rfisht", 1159 | "\u230B": "rfloor", 1160 | "\uD835\uDD2F": "rfr", 1161 | "\u2964": "rHar", 1162 | "\u21C0": "rharu", 1163 | "\u296C": "rharul", 1164 | "\u03A1": "Rho", 1165 | "\u03C1": "rho", 1166 | "\u03F1": "rhov", 1167 | "\u21C4": "rlarr", 1168 | "\u27E7": "robrk", 1169 | "\u295D": "RightDownTeeVector", 1170 | "\u2955": "RightDownVectorBar", 1171 | "\u21C9": "rrarr", 1172 | "\u22A2": "vdash", 1173 | "\u295B": "RightTeeVector", 1174 | "\u22CC": "rthree", 1175 | "\u29D0": "RightTriangleBar", 1176 | "\u22B3": "vrtri", 1177 | "\u22B5": "rtrie", 1178 | "\u294F": "RightUpDownVector", 1179 | "\u295C": "RightUpTeeVector", 1180 | "\u2954": "RightUpVectorBar", 1181 | "\u21BE": "uharr", 1182 | "\u2953": "RightVectorBar", 1183 | "\u02DA": "ring", 1184 | "\u200F": "rlm", 1185 | "\u23B1": "rmoust", 1186 | "\u2AEE": "rnmid", 1187 | "\u27ED": "roang", 1188 | "\u21FE": "roarr", 1189 | "\u2986": "ropar", 1190 | "\uD835\uDD63": "ropf", 1191 | "\u2A2E": "roplus", 1192 | "\u2A35": "rotimes", 1193 | "\u2970": "RoundImplies", 1194 | ")": "rpar", 1195 | "\u2994": "rpargt", 1196 | "\u2A12": "rppolint", 1197 | "\u203A": "rsaquo", 1198 | "\uD835\uDCC7": "rscr", 1199 | "\u21B1": "rsh", 1200 | "\u22CA": "rtimes", 1201 | "\u25B9": "rtri", 1202 | "\u29CE": "rtriltri", 1203 | "\u29F4": "RuleDelayed", 1204 | "\u2968": "ruluhar", 1205 | "\u211E": "rx", 1206 | "\u015A": "Sacute", 1207 | "\u015B": "sacute", 1208 | "\u2AB8": "scap", 1209 | "\u0160": "Scaron", 1210 | "\u0161": "scaron", 1211 | "\u2ABC": "Sc", 1212 | "\u227B": "sc", 1213 | "\u227D": "sccue", 1214 | "\u2AB0": "sce", 1215 | "\u2AB4": "scE", 1216 | "\u015E": "Scedil", 1217 | "\u015F": "scedil", 1218 | "\u015C": "Scirc", 1219 | "\u015D": "scirc", 1220 | "\u2ABA": "scnap", 1221 | "\u2AB6": "scnE", 1222 | "\u22E9": "scnsim", 1223 | "\u2A13": "scpolint", 1224 | "\u227F": "scsim", 1225 | "\u0421": "Scy", 1226 | "\u0441": "scy", 1227 | "\u22C5": "sdot", 1228 | "\u2A66": "sdote", 1229 | "\u21D8": "seArr", 1230 | "\u00A7": "sect", 1231 | ";": "semi", 1232 | "\u2929": "tosa", 1233 | "\u2736": "sext", 1234 | "\uD835\uDD16": "Sfr", 1235 | "\uD835\uDD30": "sfr", 1236 | "\u266F": "sharp", 1237 | "\u0429": "SHCHcy", 1238 | "\u0449": "shchcy", 1239 | "\u0428": "SHcy", 1240 | "\u0448": "shcy", 1241 | "\u2191": "uarr", 1242 | "\u00AD": "shy", 1243 | "\u03A3": "Sigma", 1244 | "\u03C3": "sigma", 1245 | "\u03C2": "sigmaf", 1246 | "\u223C": "sim", 1247 | "\u2A6A": "simdot", 1248 | "\u2243": "sime", 1249 | "\u2A9E": "simg", 1250 | "\u2AA0": "simgE", 1251 | "\u2A9D": "siml", 1252 | "\u2A9F": "simlE", 1253 | "\u2246": "simne", 1254 | "\u2A24": "simplus", 1255 | "\u2972": "simrarr", 1256 | "\u2A33": "smashp", 1257 | "\u29E4": "smeparsl", 1258 | "\u2323": "smile", 1259 | "\u2AAA": "smt", 1260 | "\u2AAC": "smte", 1261 | "\u2AAC\uFE00": "smtes", 1262 | "\u042C": "SOFTcy", 1263 | "\u044C": "softcy", 1264 | "\u233F": "solbar", 1265 | "\u29C4": "solb", 1266 | "/": "sol", 1267 | "\uD835\uDD4A": "Sopf", 1268 | "\uD835\uDD64": "sopf", 1269 | "\u2660": "spades", 1270 | "\u2293": "sqcap", 1271 | "\u2293\uFE00": "sqcaps", 1272 | "\u2294": "sqcup", 1273 | "\u2294\uFE00": "sqcups", 1274 | "\u228F": "sqsub", 1275 | "\u2291": "sqsube", 1276 | "\u2290": "sqsup", 1277 | "\u2292": "sqsupe", 1278 | "\u25A1": "squ", 1279 | "\uD835\uDCAE": "Sscr", 1280 | "\uD835\uDCC8": "sscr", 1281 | "\u22C6": "Star", 1282 | "\u2606": "star", 1283 | "\u2282": "sub", 1284 | "\u22D0": "Sub", 1285 | "\u2ABD": "subdot", 1286 | "\u2AC5": "subE", 1287 | "\u2286": "sube", 1288 | "\u2AC3": "subedot", 1289 | "\u2AC1": "submult", 1290 | "\u2ACB": "subnE", 1291 | "\u228A": "subne", 1292 | "\u2ABF": "subplus", 1293 | "\u2979": "subrarr", 1294 | "\u2AC7": "subsim", 1295 | "\u2AD5": "subsub", 1296 | "\u2AD3": "subsup", 1297 | "\u2211": "sum", 1298 | "\u266A": "sung", 1299 | "\u00B9": "sup1", 1300 | "\u00B2": "sup2", 1301 | "\u00B3": "sup3", 1302 | "\u2283": "sup", 1303 | "\u22D1": "Sup", 1304 | "\u2ABE": "supdot", 1305 | "\u2AD8": "supdsub", 1306 | "\u2AC6": "supE", 1307 | "\u2287": "supe", 1308 | "\u2AC4": "supedot", 1309 | "\u27C9": "suphsol", 1310 | "\u2AD7": "suphsub", 1311 | "\u297B": "suplarr", 1312 | "\u2AC2": "supmult", 1313 | "\u2ACC": "supnE", 1314 | "\u228B": "supne", 1315 | "\u2AC0": "supplus", 1316 | "\u2AC8": "supsim", 1317 | "\u2AD4": "supsub", 1318 | "\u2AD6": "supsup", 1319 | "\u21D9": "swArr", 1320 | "\u292A": "swnwar", 1321 | "\u00DF": "szlig", 1322 | "\t": "Tab", 1323 | "\u2316": "target", 1324 | "\u03A4": "Tau", 1325 | "\u03C4": "tau", 1326 | "\u0164": "Tcaron", 1327 | "\u0165": "tcaron", 1328 | "\u0162": "Tcedil", 1329 | "\u0163": "tcedil", 1330 | "\u0422": "Tcy", 1331 | "\u0442": "tcy", 1332 | "\u20DB": "tdot", 1333 | "\u2315": "telrec", 1334 | "\uD835\uDD17": "Tfr", 1335 | "\uD835\uDD31": "tfr", 1336 | "\u2234": "there4", 1337 | "\u0398": "Theta", 1338 | "\u03B8": "theta", 1339 | "\u03D1": "thetav", 1340 | "\u205F\u200A": "ThickSpace", 1341 | "\u2009": "thinsp", 1342 | "\u00DE": "THORN", 1343 | "\u00FE": "thorn", 1344 | "\u2A31": "timesbar", 1345 | "\u00D7": "times", 1346 | "\u2A30": "timesd", 1347 | "\u2336": "topbot", 1348 | "\u2AF1": "topcir", 1349 | "\uD835\uDD4B": "Topf", 1350 | "\uD835\uDD65": "topf", 1351 | "\u2ADA": "topfork", 1352 | "\u2034": "tprime", 1353 | "\u2122": "trade", 1354 | "\u25B5": "utri", 1355 | "\u225C": "trie", 1356 | "\u25EC": "tridot", 1357 | "\u2A3A": "triminus", 1358 | "\u2A39": "triplus", 1359 | "\u29CD": "trisb", 1360 | "\u2A3B": "tritime", 1361 | "\u23E2": "trpezium", 1362 | "\uD835\uDCAF": "Tscr", 1363 | "\uD835\uDCC9": "tscr", 1364 | "\u0426": "TScy", 1365 | "\u0446": "tscy", 1366 | "\u040B": "TSHcy", 1367 | "\u045B": "tshcy", 1368 | "\u0166": "Tstrok", 1369 | "\u0167": "tstrok", 1370 | "\u00DA": "Uacute", 1371 | "\u00FA": "uacute", 1372 | "\u219F": "Uarr", 1373 | "\u2949": "Uarrocir", 1374 | "\u040E": "Ubrcy", 1375 | "\u045E": "ubrcy", 1376 | "\u016C": "Ubreve", 1377 | "\u016D": "ubreve", 1378 | "\u00DB": "Ucirc", 1379 | "\u00FB": "ucirc", 1380 | "\u0423": "Ucy", 1381 | "\u0443": "ucy", 1382 | "\u21C5": "udarr", 1383 | "\u0170": "Udblac", 1384 | "\u0171": "udblac", 1385 | "\u296E": "udhar", 1386 | "\u297E": "ufisht", 1387 | "\uD835\uDD18": "Ufr", 1388 | "\uD835\uDD32": "ufr", 1389 | "\u00D9": "Ugrave", 1390 | "\u00F9": "ugrave", 1391 | "\u2963": "uHar", 1392 | "\u2580": "uhblk", 1393 | "\u231C": "ulcorn", 1394 | "\u230F": "ulcrop", 1395 | "\u25F8": "ultri", 1396 | "\u016A": "Umacr", 1397 | "\u016B": "umacr", 1398 | "\u23DF": "UnderBrace", 1399 | "\u23DD": "UnderParenthesis", 1400 | "\u228E": "uplus", 1401 | "\u0172": "Uogon", 1402 | "\u0173": "uogon", 1403 | "\uD835\uDD4C": "Uopf", 1404 | "\uD835\uDD66": "uopf", 1405 | "\u2912": "UpArrowBar", 1406 | "\u2195": "varr", 1407 | "\u03C5": "upsi", 1408 | "\u03D2": "Upsi", 1409 | "\u03A5": "Upsilon", 1410 | "\u21C8": "uuarr", 1411 | "\u231D": "urcorn", 1412 | "\u230E": "urcrop", 1413 | "\u016E": "Uring", 1414 | "\u016F": "uring", 1415 | "\u25F9": "urtri", 1416 | "\uD835\uDCB0": "Uscr", 1417 | "\uD835\uDCCA": "uscr", 1418 | "\u22F0": "utdot", 1419 | "\u0168": "Utilde", 1420 | "\u0169": "utilde", 1421 | "\u00DC": "Uuml", 1422 | "\u00FC": "uuml", 1423 | "\u29A7": "uwangle", 1424 | "\u299C": "vangrt", 1425 | "\u228A\uFE00": "vsubne", 1426 | "\u2ACB\uFE00": "vsubnE", 1427 | "\u228B\uFE00": "vsupne", 1428 | "\u2ACC\uFE00": "vsupnE", 1429 | "\u2AE8": "vBar", 1430 | "\u2AEB": "Vbar", 1431 | "\u2AE9": "vBarv", 1432 | "\u0412": "Vcy", 1433 | "\u0432": "vcy", 1434 | "\u22A9": "Vdash", 1435 | "\u22AB": "VDash", 1436 | "\u2AE6": "Vdashl", 1437 | "\u22BB": "veebar", 1438 | "\u225A": "veeeq", 1439 | "\u22EE": "vellip", 1440 | "|": "vert", 1441 | "\u2016": "Vert", 1442 | "\u2758": "VerticalSeparator", 1443 | "\u2240": "wr", 1444 | "\uD835\uDD19": "Vfr", 1445 | "\uD835\uDD33": "vfr", 1446 | "\uD835\uDD4D": "Vopf", 1447 | "\uD835\uDD67": "vopf", 1448 | "\uD835\uDCB1": "Vscr", 1449 | "\uD835\uDCCB": "vscr", 1450 | "\u22AA": "Vvdash", 1451 | "\u299A": "vzigzag", 1452 | "\u0174": "Wcirc", 1453 | "\u0175": "wcirc", 1454 | "\u2A5F": "wedbar", 1455 | "\u2259": "wedgeq", 1456 | "\u2118": "wp", 1457 | "\uD835\uDD1A": "Wfr", 1458 | "\uD835\uDD34": "wfr", 1459 | "\uD835\uDD4E": "Wopf", 1460 | "\uD835\uDD68": "wopf", 1461 | "\uD835\uDCB2": "Wscr", 1462 | "\uD835\uDCCC": "wscr", 1463 | "\uD835\uDD1B": "Xfr", 1464 | "\uD835\uDD35": "xfr", 1465 | "\u039E": "Xi", 1466 | "\u03BE": "xi", 1467 | "\u22FB": "xnis", 1468 | "\uD835\uDD4F": "Xopf", 1469 | "\uD835\uDD69": "xopf", 1470 | "\uD835\uDCB3": "Xscr", 1471 | "\uD835\uDCCD": "xscr", 1472 | "\u00DD": "Yacute", 1473 | "\u00FD": "yacute", 1474 | "\u042F": "YAcy", 1475 | "\u044F": "yacy", 1476 | "\u0176": "Ycirc", 1477 | "\u0177": "ycirc", 1478 | "\u042B": "Ycy", 1479 | "\u044B": "ycy", 1480 | "\u00A5": "yen", 1481 | "\uD835\uDD1C": "Yfr", 1482 | "\uD835\uDD36": "yfr", 1483 | "\u0407": "YIcy", 1484 | "\u0457": "yicy", 1485 | "\uD835\uDD50": "Yopf", 1486 | "\uD835\uDD6A": "yopf", 1487 | "\uD835\uDCB4": "Yscr", 1488 | "\uD835\uDCCE": "yscr", 1489 | "\u042E": "YUcy", 1490 | "\u044E": "yucy", 1491 | "\u00FF": "yuml", 1492 | "\u0178": "Yuml", 1493 | "\u0179": "Zacute", 1494 | "\u017A": "zacute", 1495 | "\u017D": "Zcaron", 1496 | "\u017E": "zcaron", 1497 | "\u0417": "Zcy", 1498 | "\u0437": "zcy", 1499 | "\u017B": "Zdot", 1500 | "\u017C": "zdot", 1501 | "\u2128": "Zfr", 1502 | "\u0396": "Zeta", 1503 | "\u03B6": "zeta", 1504 | "\uD835\uDD37": "zfr", 1505 | "\u0416": "ZHcy", 1506 | "\u0436": "zhcy", 1507 | "\u21DD": "zigrarr", 1508 | "\uD835\uDD6B": "zopf", 1509 | "\uD835\uDCB5": "Zscr", 1510 | "\uD835\uDCCF": "zscr", 1511 | "\u200D": "zwj", 1512 | "\u200C": "zwnj" 1513 | } 1514 | -------------------------------------------------------------------------------- /data/decode-map.json: -------------------------------------------------------------------------------- 1 | { 2 | "Aacute": "\u00C1", 3 | "aacute": "\u00E1", 4 | "Abreve": "\u0102", 5 | "abreve": "\u0103", 6 | "ac": "\u223E", 7 | "acd": "\u223F", 8 | "acE": "\u223E\u0333", 9 | "Acirc": "\u00C2", 10 | "acirc": "\u00E2", 11 | "acute": "\u00B4", 12 | "Acy": "\u0410", 13 | "acy": "\u0430", 14 | "AElig": "\u00C6", 15 | "aelig": "\u00E6", 16 | "af": "\u2061", 17 | "Afr": "\uD835\uDD04", 18 | "afr": "\uD835\uDD1E", 19 | "Agrave": "\u00C0", 20 | "agrave": "\u00E0", 21 | "alefsym": "\u2135", 22 | "aleph": "\u2135", 23 | "Alpha": "\u0391", 24 | "alpha": "\u03B1", 25 | "Amacr": "\u0100", 26 | "amacr": "\u0101", 27 | "amalg": "\u2A3F", 28 | "amp": "&", 29 | "AMP": "&", 30 | "andand": "\u2A55", 31 | "And": "\u2A53", 32 | "and": "\u2227", 33 | "andd": "\u2A5C", 34 | "andslope": "\u2A58", 35 | "andv": "\u2A5A", 36 | "ang": "\u2220", 37 | "ange": "\u29A4", 38 | "angle": "\u2220", 39 | "angmsdaa": "\u29A8", 40 | "angmsdab": "\u29A9", 41 | "angmsdac": "\u29AA", 42 | "angmsdad": "\u29AB", 43 | "angmsdae": "\u29AC", 44 | "angmsdaf": "\u29AD", 45 | "angmsdag": "\u29AE", 46 | "angmsdah": "\u29AF", 47 | "angmsd": "\u2221", 48 | "angrt": "\u221F", 49 | "angrtvb": "\u22BE", 50 | "angrtvbd": "\u299D", 51 | "angsph": "\u2222", 52 | "angst": "\u00C5", 53 | "angzarr": "\u237C", 54 | "Aogon": "\u0104", 55 | "aogon": "\u0105", 56 | "Aopf": "\uD835\uDD38", 57 | "aopf": "\uD835\uDD52", 58 | "apacir": "\u2A6F", 59 | "ap": "\u2248", 60 | "apE": "\u2A70", 61 | "ape": "\u224A", 62 | "apid": "\u224B", 63 | "apos": "'", 64 | "ApplyFunction": "\u2061", 65 | "approx": "\u2248", 66 | "approxeq": "\u224A", 67 | "Aring": "\u00C5", 68 | "aring": "\u00E5", 69 | "Ascr": "\uD835\uDC9C", 70 | "ascr": "\uD835\uDCB6", 71 | "Assign": "\u2254", 72 | "ast": "*", 73 | "asymp": "\u2248", 74 | "asympeq": "\u224D", 75 | "Atilde": "\u00C3", 76 | "atilde": "\u00E3", 77 | "Auml": "\u00C4", 78 | "auml": "\u00E4", 79 | "awconint": "\u2233", 80 | "awint": "\u2A11", 81 | "backcong": "\u224C", 82 | "backepsilon": "\u03F6", 83 | "backprime": "\u2035", 84 | "backsim": "\u223D", 85 | "backsimeq": "\u22CD", 86 | "Backslash": "\u2216", 87 | "Barv": "\u2AE7", 88 | "barvee": "\u22BD", 89 | "barwed": "\u2305", 90 | "Barwed": "\u2306", 91 | "barwedge": "\u2305", 92 | "bbrk": "\u23B5", 93 | "bbrktbrk": "\u23B6", 94 | "bcong": "\u224C", 95 | "Bcy": "\u0411", 96 | "bcy": "\u0431", 97 | "bdquo": "\u201E", 98 | "becaus": "\u2235", 99 | "because": "\u2235", 100 | "Because": "\u2235", 101 | "bemptyv": "\u29B0", 102 | "bepsi": "\u03F6", 103 | "bernou": "\u212C", 104 | "Bernoullis": "\u212C", 105 | "Beta": "\u0392", 106 | "beta": "\u03B2", 107 | "beth": "\u2136", 108 | "between": "\u226C", 109 | "Bfr": "\uD835\uDD05", 110 | "bfr": "\uD835\uDD1F", 111 | "bigcap": "\u22C2", 112 | "bigcirc": "\u25EF", 113 | "bigcup": "\u22C3", 114 | "bigodot": "\u2A00", 115 | "bigoplus": "\u2A01", 116 | "bigotimes": "\u2A02", 117 | "bigsqcup": "\u2A06", 118 | "bigstar": "\u2605", 119 | "bigtriangledown": "\u25BD", 120 | "bigtriangleup": "\u25B3", 121 | "biguplus": "\u2A04", 122 | "bigvee": "\u22C1", 123 | "bigwedge": "\u22C0", 124 | "bkarow": "\u290D", 125 | "blacklozenge": "\u29EB", 126 | "blacksquare": "\u25AA", 127 | "blacktriangle": "\u25B4", 128 | "blacktriangledown": "\u25BE", 129 | "blacktriangleleft": "\u25C2", 130 | "blacktriangleright": "\u25B8", 131 | "blank": "\u2423", 132 | "blk12": "\u2592", 133 | "blk14": "\u2591", 134 | "blk34": "\u2593", 135 | "block": "\u2588", 136 | "bne": "=\u20E5", 137 | "bnequiv": "\u2261\u20E5", 138 | "bNot": "\u2AED", 139 | "bnot": "\u2310", 140 | "Bopf": "\uD835\uDD39", 141 | "bopf": "\uD835\uDD53", 142 | "bot": "\u22A5", 143 | "bottom": "\u22A5", 144 | "bowtie": "\u22C8", 145 | "boxbox": "\u29C9", 146 | "boxdl": "\u2510", 147 | "boxdL": "\u2555", 148 | "boxDl": "\u2556", 149 | "boxDL": "\u2557", 150 | "boxdr": "\u250C", 151 | "boxdR": "\u2552", 152 | "boxDr": "\u2553", 153 | "boxDR": "\u2554", 154 | "boxh": "\u2500", 155 | "boxH": "\u2550", 156 | "boxhd": "\u252C", 157 | "boxHd": "\u2564", 158 | "boxhD": "\u2565", 159 | "boxHD": "\u2566", 160 | "boxhu": "\u2534", 161 | "boxHu": "\u2567", 162 | "boxhU": "\u2568", 163 | "boxHU": "\u2569", 164 | "boxminus": "\u229F", 165 | "boxplus": "\u229E", 166 | "boxtimes": "\u22A0", 167 | "boxul": "\u2518", 168 | "boxuL": "\u255B", 169 | "boxUl": "\u255C", 170 | "boxUL": "\u255D", 171 | "boxur": "\u2514", 172 | "boxuR": "\u2558", 173 | "boxUr": "\u2559", 174 | "boxUR": "\u255A", 175 | "boxv": "\u2502", 176 | "boxV": "\u2551", 177 | "boxvh": "\u253C", 178 | "boxvH": "\u256A", 179 | "boxVh": "\u256B", 180 | "boxVH": "\u256C", 181 | "boxvl": "\u2524", 182 | "boxvL": "\u2561", 183 | "boxVl": "\u2562", 184 | "boxVL": "\u2563", 185 | "boxvr": "\u251C", 186 | "boxvR": "\u255E", 187 | "boxVr": "\u255F", 188 | "boxVR": "\u2560", 189 | "bprime": "\u2035", 190 | "breve": "\u02D8", 191 | "Breve": "\u02D8", 192 | "brvbar": "\u00A6", 193 | "bscr": "\uD835\uDCB7", 194 | "Bscr": "\u212C", 195 | "bsemi": "\u204F", 196 | "bsim": "\u223D", 197 | "bsime": "\u22CD", 198 | "bsolb": "\u29C5", 199 | "bsol": "\\", 200 | "bsolhsub": "\u27C8", 201 | "bull": "\u2022", 202 | "bullet": "\u2022", 203 | "bump": "\u224E", 204 | "bumpE": "\u2AAE", 205 | "bumpe": "\u224F", 206 | "Bumpeq": "\u224E", 207 | "bumpeq": "\u224F", 208 | "Cacute": "\u0106", 209 | "cacute": "\u0107", 210 | "capand": "\u2A44", 211 | "capbrcup": "\u2A49", 212 | "capcap": "\u2A4B", 213 | "cap": "\u2229", 214 | "Cap": "\u22D2", 215 | "capcup": "\u2A47", 216 | "capdot": "\u2A40", 217 | "CapitalDifferentialD": "\u2145", 218 | "caps": "\u2229\uFE00", 219 | "caret": "\u2041", 220 | "caron": "\u02C7", 221 | "Cayleys": "\u212D", 222 | "ccaps": "\u2A4D", 223 | "Ccaron": "\u010C", 224 | "ccaron": "\u010D", 225 | "Ccedil": "\u00C7", 226 | "ccedil": "\u00E7", 227 | "Ccirc": "\u0108", 228 | "ccirc": "\u0109", 229 | "Cconint": "\u2230", 230 | "ccups": "\u2A4C", 231 | "ccupssm": "\u2A50", 232 | "Cdot": "\u010A", 233 | "cdot": "\u010B", 234 | "cedil": "\u00B8", 235 | "Cedilla": "\u00B8", 236 | "cemptyv": "\u29B2", 237 | "cent": "\u00A2", 238 | "centerdot": "\u00B7", 239 | "CenterDot": "\u00B7", 240 | "cfr": "\uD835\uDD20", 241 | "Cfr": "\u212D", 242 | "CHcy": "\u0427", 243 | "chcy": "\u0447", 244 | "check": "\u2713", 245 | "checkmark": "\u2713", 246 | "Chi": "\u03A7", 247 | "chi": "\u03C7", 248 | "circ": "\u02C6", 249 | "circeq": "\u2257", 250 | "circlearrowleft": "\u21BA", 251 | "circlearrowright": "\u21BB", 252 | "circledast": "\u229B", 253 | "circledcirc": "\u229A", 254 | "circleddash": "\u229D", 255 | "CircleDot": "\u2299", 256 | "circledR": "\u00AE", 257 | "circledS": "\u24C8", 258 | "CircleMinus": "\u2296", 259 | "CirclePlus": "\u2295", 260 | "CircleTimes": "\u2297", 261 | "cir": "\u25CB", 262 | "cirE": "\u29C3", 263 | "cire": "\u2257", 264 | "cirfnint": "\u2A10", 265 | "cirmid": "\u2AEF", 266 | "cirscir": "\u29C2", 267 | "ClockwiseContourIntegral": "\u2232", 268 | "CloseCurlyDoubleQuote": "\u201D", 269 | "CloseCurlyQuote": "\u2019", 270 | "clubs": "\u2663", 271 | "clubsuit": "\u2663", 272 | "colon": ":", 273 | "Colon": "\u2237", 274 | "Colone": "\u2A74", 275 | "colone": "\u2254", 276 | "coloneq": "\u2254", 277 | "comma": ",", 278 | "commat": "@", 279 | "comp": "\u2201", 280 | "compfn": "\u2218", 281 | "complement": "\u2201", 282 | "complexes": "\u2102", 283 | "cong": "\u2245", 284 | "congdot": "\u2A6D", 285 | "Congruent": "\u2261", 286 | "conint": "\u222E", 287 | "Conint": "\u222F", 288 | "ContourIntegral": "\u222E", 289 | "copf": "\uD835\uDD54", 290 | "Copf": "\u2102", 291 | "coprod": "\u2210", 292 | "Coproduct": "\u2210", 293 | "copy": "\u00A9", 294 | "COPY": "\u00A9", 295 | "copysr": "\u2117", 296 | "CounterClockwiseContourIntegral": "\u2233", 297 | "crarr": "\u21B5", 298 | "cross": "\u2717", 299 | "Cross": "\u2A2F", 300 | "Cscr": "\uD835\uDC9E", 301 | "cscr": "\uD835\uDCB8", 302 | "csub": "\u2ACF", 303 | "csube": "\u2AD1", 304 | "csup": "\u2AD0", 305 | "csupe": "\u2AD2", 306 | "ctdot": "\u22EF", 307 | "cudarrl": "\u2938", 308 | "cudarrr": "\u2935", 309 | "cuepr": "\u22DE", 310 | "cuesc": "\u22DF", 311 | "cularr": "\u21B6", 312 | "cularrp": "\u293D", 313 | "cupbrcap": "\u2A48", 314 | "cupcap": "\u2A46", 315 | "CupCap": "\u224D", 316 | "cup": "\u222A", 317 | "Cup": "\u22D3", 318 | "cupcup": "\u2A4A", 319 | "cupdot": "\u228D", 320 | "cupor": "\u2A45", 321 | "cups": "\u222A\uFE00", 322 | "curarr": "\u21B7", 323 | "curarrm": "\u293C", 324 | "curlyeqprec": "\u22DE", 325 | "curlyeqsucc": "\u22DF", 326 | "curlyvee": "\u22CE", 327 | "curlywedge": "\u22CF", 328 | "curren": "\u00A4", 329 | "curvearrowleft": "\u21B6", 330 | "curvearrowright": "\u21B7", 331 | "cuvee": "\u22CE", 332 | "cuwed": "\u22CF", 333 | "cwconint": "\u2232", 334 | "cwint": "\u2231", 335 | "cylcty": "\u232D", 336 | "dagger": "\u2020", 337 | "Dagger": "\u2021", 338 | "daleth": "\u2138", 339 | "darr": "\u2193", 340 | "Darr": "\u21A1", 341 | "dArr": "\u21D3", 342 | "dash": "\u2010", 343 | "Dashv": "\u2AE4", 344 | "dashv": "\u22A3", 345 | "dbkarow": "\u290F", 346 | "dblac": "\u02DD", 347 | "Dcaron": "\u010E", 348 | "dcaron": "\u010F", 349 | "Dcy": "\u0414", 350 | "dcy": "\u0434", 351 | "ddagger": "\u2021", 352 | "ddarr": "\u21CA", 353 | "DD": "\u2145", 354 | "dd": "\u2146", 355 | "DDotrahd": "\u2911", 356 | "ddotseq": "\u2A77", 357 | "deg": "\u00B0", 358 | "Del": "\u2207", 359 | "Delta": "\u0394", 360 | "delta": "\u03B4", 361 | "demptyv": "\u29B1", 362 | "dfisht": "\u297F", 363 | "Dfr": "\uD835\uDD07", 364 | "dfr": "\uD835\uDD21", 365 | "dHar": "\u2965", 366 | "dharl": "\u21C3", 367 | "dharr": "\u21C2", 368 | "DiacriticalAcute": "\u00B4", 369 | "DiacriticalDot": "\u02D9", 370 | "DiacriticalDoubleAcute": "\u02DD", 371 | "DiacriticalGrave": "`", 372 | "DiacriticalTilde": "\u02DC", 373 | "diam": "\u22C4", 374 | "diamond": "\u22C4", 375 | "Diamond": "\u22C4", 376 | "diamondsuit": "\u2666", 377 | "diams": "\u2666", 378 | "die": "\u00A8", 379 | "DifferentialD": "\u2146", 380 | "digamma": "\u03DD", 381 | "disin": "\u22F2", 382 | "div": "\u00F7", 383 | "divide": "\u00F7", 384 | "divideontimes": "\u22C7", 385 | "divonx": "\u22C7", 386 | "DJcy": "\u0402", 387 | "djcy": "\u0452", 388 | "dlcorn": "\u231E", 389 | "dlcrop": "\u230D", 390 | "dollar": "$", 391 | "Dopf": "\uD835\uDD3B", 392 | "dopf": "\uD835\uDD55", 393 | "Dot": "\u00A8", 394 | "dot": "\u02D9", 395 | "DotDot": "\u20DC", 396 | "doteq": "\u2250", 397 | "doteqdot": "\u2251", 398 | "DotEqual": "\u2250", 399 | "dotminus": "\u2238", 400 | "dotplus": "\u2214", 401 | "dotsquare": "\u22A1", 402 | "doublebarwedge": "\u2306", 403 | "DoubleContourIntegral": "\u222F", 404 | "DoubleDot": "\u00A8", 405 | "DoubleDownArrow": "\u21D3", 406 | "DoubleLeftArrow": "\u21D0", 407 | "DoubleLeftRightArrow": "\u21D4", 408 | "DoubleLeftTee": "\u2AE4", 409 | "DoubleLongLeftArrow": "\u27F8", 410 | "DoubleLongLeftRightArrow": "\u27FA", 411 | "DoubleLongRightArrow": "\u27F9", 412 | "DoubleRightArrow": "\u21D2", 413 | "DoubleRightTee": "\u22A8", 414 | "DoubleUpArrow": "\u21D1", 415 | "DoubleUpDownArrow": "\u21D5", 416 | "DoubleVerticalBar": "\u2225", 417 | "DownArrowBar": "\u2913", 418 | "downarrow": "\u2193", 419 | "DownArrow": "\u2193", 420 | "Downarrow": "\u21D3", 421 | "DownArrowUpArrow": "\u21F5", 422 | "DownBreve": "\u0311", 423 | "downdownarrows": "\u21CA", 424 | "downharpoonleft": "\u21C3", 425 | "downharpoonright": "\u21C2", 426 | "DownLeftRightVector": "\u2950", 427 | "DownLeftTeeVector": "\u295E", 428 | "DownLeftVectorBar": "\u2956", 429 | "DownLeftVector": "\u21BD", 430 | "DownRightTeeVector": "\u295F", 431 | "DownRightVectorBar": "\u2957", 432 | "DownRightVector": "\u21C1", 433 | "DownTeeArrow": "\u21A7", 434 | "DownTee": "\u22A4", 435 | "drbkarow": "\u2910", 436 | "drcorn": "\u231F", 437 | "drcrop": "\u230C", 438 | "Dscr": "\uD835\uDC9F", 439 | "dscr": "\uD835\uDCB9", 440 | "DScy": "\u0405", 441 | "dscy": "\u0455", 442 | "dsol": "\u29F6", 443 | "Dstrok": "\u0110", 444 | "dstrok": "\u0111", 445 | "dtdot": "\u22F1", 446 | "dtri": "\u25BF", 447 | "dtrif": "\u25BE", 448 | "duarr": "\u21F5", 449 | "duhar": "\u296F", 450 | "dwangle": "\u29A6", 451 | "DZcy": "\u040F", 452 | "dzcy": "\u045F", 453 | "dzigrarr": "\u27FF", 454 | "Eacute": "\u00C9", 455 | "eacute": "\u00E9", 456 | "easter": "\u2A6E", 457 | "Ecaron": "\u011A", 458 | "ecaron": "\u011B", 459 | "Ecirc": "\u00CA", 460 | "ecirc": "\u00EA", 461 | "ecir": "\u2256", 462 | "ecolon": "\u2255", 463 | "Ecy": "\u042D", 464 | "ecy": "\u044D", 465 | "eDDot": "\u2A77", 466 | "Edot": "\u0116", 467 | "edot": "\u0117", 468 | "eDot": "\u2251", 469 | "ee": "\u2147", 470 | "efDot": "\u2252", 471 | "Efr": "\uD835\uDD08", 472 | "efr": "\uD835\uDD22", 473 | "eg": "\u2A9A", 474 | "Egrave": "\u00C8", 475 | "egrave": "\u00E8", 476 | "egs": "\u2A96", 477 | "egsdot": "\u2A98", 478 | "el": "\u2A99", 479 | "Element": "\u2208", 480 | "elinters": "\u23E7", 481 | "ell": "\u2113", 482 | "els": "\u2A95", 483 | "elsdot": "\u2A97", 484 | "Emacr": "\u0112", 485 | "emacr": "\u0113", 486 | "empty": "\u2205", 487 | "emptyset": "\u2205", 488 | "EmptySmallSquare": "\u25FB", 489 | "emptyv": "\u2205", 490 | "EmptyVerySmallSquare": "\u25AB", 491 | "emsp13": "\u2004", 492 | "emsp14": "\u2005", 493 | "emsp": "\u2003", 494 | "ENG": "\u014A", 495 | "eng": "\u014B", 496 | "ensp": "\u2002", 497 | "Eogon": "\u0118", 498 | "eogon": "\u0119", 499 | "Eopf": "\uD835\uDD3C", 500 | "eopf": "\uD835\uDD56", 501 | "epar": "\u22D5", 502 | "eparsl": "\u29E3", 503 | "eplus": "\u2A71", 504 | "epsi": "\u03B5", 505 | "Epsilon": "\u0395", 506 | "epsilon": "\u03B5", 507 | "epsiv": "\u03F5", 508 | "eqcirc": "\u2256", 509 | "eqcolon": "\u2255", 510 | "eqsim": "\u2242", 511 | "eqslantgtr": "\u2A96", 512 | "eqslantless": "\u2A95", 513 | "Equal": "\u2A75", 514 | "equals": "=", 515 | "EqualTilde": "\u2242", 516 | "equest": "\u225F", 517 | "Equilibrium": "\u21CC", 518 | "equiv": "\u2261", 519 | "equivDD": "\u2A78", 520 | "eqvparsl": "\u29E5", 521 | "erarr": "\u2971", 522 | "erDot": "\u2253", 523 | "escr": "\u212F", 524 | "Escr": "\u2130", 525 | "esdot": "\u2250", 526 | "Esim": "\u2A73", 527 | "esim": "\u2242", 528 | "Eta": "\u0397", 529 | "eta": "\u03B7", 530 | "ETH": "\u00D0", 531 | "eth": "\u00F0", 532 | "Euml": "\u00CB", 533 | "euml": "\u00EB", 534 | "euro": "\u20AC", 535 | "excl": "!", 536 | "exist": "\u2203", 537 | "Exists": "\u2203", 538 | "expectation": "\u2130", 539 | "exponentiale": "\u2147", 540 | "ExponentialE": "\u2147", 541 | "fallingdotseq": "\u2252", 542 | "Fcy": "\u0424", 543 | "fcy": "\u0444", 544 | "female": "\u2640", 545 | "ffilig": "\uFB03", 546 | "fflig": "\uFB00", 547 | "ffllig": "\uFB04", 548 | "Ffr": "\uD835\uDD09", 549 | "ffr": "\uD835\uDD23", 550 | "filig": "\uFB01", 551 | "FilledSmallSquare": "\u25FC", 552 | "FilledVerySmallSquare": "\u25AA", 553 | "fjlig": "fj", 554 | "flat": "\u266D", 555 | "fllig": "\uFB02", 556 | "fltns": "\u25B1", 557 | "fnof": "\u0192", 558 | "Fopf": "\uD835\uDD3D", 559 | "fopf": "\uD835\uDD57", 560 | "forall": "\u2200", 561 | "ForAll": "\u2200", 562 | "fork": "\u22D4", 563 | "forkv": "\u2AD9", 564 | "Fouriertrf": "\u2131", 565 | "fpartint": "\u2A0D", 566 | "frac12": "\u00BD", 567 | "frac13": "\u2153", 568 | "frac14": "\u00BC", 569 | "frac15": "\u2155", 570 | "frac16": "\u2159", 571 | "frac18": "\u215B", 572 | "frac23": "\u2154", 573 | "frac25": "\u2156", 574 | "frac34": "\u00BE", 575 | "frac35": "\u2157", 576 | "frac38": "\u215C", 577 | "frac45": "\u2158", 578 | "frac56": "\u215A", 579 | "frac58": "\u215D", 580 | "frac78": "\u215E", 581 | "frasl": "\u2044", 582 | "frown": "\u2322", 583 | "fscr": "\uD835\uDCBB", 584 | "Fscr": "\u2131", 585 | "gacute": "\u01F5", 586 | "Gamma": "\u0393", 587 | "gamma": "\u03B3", 588 | "Gammad": "\u03DC", 589 | "gammad": "\u03DD", 590 | "gap": "\u2A86", 591 | "Gbreve": "\u011E", 592 | "gbreve": "\u011F", 593 | "Gcedil": "\u0122", 594 | "Gcirc": "\u011C", 595 | "gcirc": "\u011D", 596 | "Gcy": "\u0413", 597 | "gcy": "\u0433", 598 | "Gdot": "\u0120", 599 | "gdot": "\u0121", 600 | "ge": "\u2265", 601 | "gE": "\u2267", 602 | "gEl": "\u2A8C", 603 | "gel": "\u22DB", 604 | "geq": "\u2265", 605 | "geqq": "\u2267", 606 | "geqslant": "\u2A7E", 607 | "gescc": "\u2AA9", 608 | "ges": "\u2A7E", 609 | "gesdot": "\u2A80", 610 | "gesdoto": "\u2A82", 611 | "gesdotol": "\u2A84", 612 | "gesl": "\u22DB\uFE00", 613 | "gesles": "\u2A94", 614 | "Gfr": "\uD835\uDD0A", 615 | "gfr": "\uD835\uDD24", 616 | "gg": "\u226B", 617 | "Gg": "\u22D9", 618 | "ggg": "\u22D9", 619 | "gimel": "\u2137", 620 | "GJcy": "\u0403", 621 | "gjcy": "\u0453", 622 | "gla": "\u2AA5", 623 | "gl": "\u2277", 624 | "glE": "\u2A92", 625 | "glj": "\u2AA4", 626 | "gnap": "\u2A8A", 627 | "gnapprox": "\u2A8A", 628 | "gne": "\u2A88", 629 | "gnE": "\u2269", 630 | "gneq": "\u2A88", 631 | "gneqq": "\u2269", 632 | "gnsim": "\u22E7", 633 | "Gopf": "\uD835\uDD3E", 634 | "gopf": "\uD835\uDD58", 635 | "grave": "`", 636 | "GreaterEqual": "\u2265", 637 | "GreaterEqualLess": "\u22DB", 638 | "GreaterFullEqual": "\u2267", 639 | "GreaterGreater": "\u2AA2", 640 | "GreaterLess": "\u2277", 641 | "GreaterSlantEqual": "\u2A7E", 642 | "GreaterTilde": "\u2273", 643 | "Gscr": "\uD835\uDCA2", 644 | "gscr": "\u210A", 645 | "gsim": "\u2273", 646 | "gsime": "\u2A8E", 647 | "gsiml": "\u2A90", 648 | "gtcc": "\u2AA7", 649 | "gtcir": "\u2A7A", 650 | "gt": ">", 651 | "GT": ">", 652 | "Gt": "\u226B", 653 | "gtdot": "\u22D7", 654 | "gtlPar": "\u2995", 655 | "gtquest": "\u2A7C", 656 | "gtrapprox": "\u2A86", 657 | "gtrarr": "\u2978", 658 | "gtrdot": "\u22D7", 659 | "gtreqless": "\u22DB", 660 | "gtreqqless": "\u2A8C", 661 | "gtrless": "\u2277", 662 | "gtrsim": "\u2273", 663 | "gvertneqq": "\u2269\uFE00", 664 | "gvnE": "\u2269\uFE00", 665 | "Hacek": "\u02C7", 666 | "hairsp": "\u200A", 667 | "half": "\u00BD", 668 | "hamilt": "\u210B", 669 | "HARDcy": "\u042A", 670 | "hardcy": "\u044A", 671 | "harrcir": "\u2948", 672 | "harr": "\u2194", 673 | "hArr": "\u21D4", 674 | "harrw": "\u21AD", 675 | "Hat": "^", 676 | "hbar": "\u210F", 677 | "Hcirc": "\u0124", 678 | "hcirc": "\u0125", 679 | "hearts": "\u2665", 680 | "heartsuit": "\u2665", 681 | "hellip": "\u2026", 682 | "hercon": "\u22B9", 683 | "hfr": "\uD835\uDD25", 684 | "Hfr": "\u210C", 685 | "HilbertSpace": "\u210B", 686 | "hksearow": "\u2925", 687 | "hkswarow": "\u2926", 688 | "hoarr": "\u21FF", 689 | "homtht": "\u223B", 690 | "hookleftarrow": "\u21A9", 691 | "hookrightarrow": "\u21AA", 692 | "hopf": "\uD835\uDD59", 693 | "Hopf": "\u210D", 694 | "horbar": "\u2015", 695 | "HorizontalLine": "\u2500", 696 | "hscr": "\uD835\uDCBD", 697 | "Hscr": "\u210B", 698 | "hslash": "\u210F", 699 | "Hstrok": "\u0126", 700 | "hstrok": "\u0127", 701 | "HumpDownHump": "\u224E", 702 | "HumpEqual": "\u224F", 703 | "hybull": "\u2043", 704 | "hyphen": "\u2010", 705 | "Iacute": "\u00CD", 706 | "iacute": "\u00ED", 707 | "ic": "\u2063", 708 | "Icirc": "\u00CE", 709 | "icirc": "\u00EE", 710 | "Icy": "\u0418", 711 | "icy": "\u0438", 712 | "Idot": "\u0130", 713 | "IEcy": "\u0415", 714 | "iecy": "\u0435", 715 | "iexcl": "\u00A1", 716 | "iff": "\u21D4", 717 | "ifr": "\uD835\uDD26", 718 | "Ifr": "\u2111", 719 | "Igrave": "\u00CC", 720 | "igrave": "\u00EC", 721 | "ii": "\u2148", 722 | "iiiint": "\u2A0C", 723 | "iiint": "\u222D", 724 | "iinfin": "\u29DC", 725 | "iiota": "\u2129", 726 | "IJlig": "\u0132", 727 | "ijlig": "\u0133", 728 | "Imacr": "\u012A", 729 | "imacr": "\u012B", 730 | "image": "\u2111", 731 | "ImaginaryI": "\u2148", 732 | "imagline": "\u2110", 733 | "imagpart": "\u2111", 734 | "imath": "\u0131", 735 | "Im": "\u2111", 736 | "imof": "\u22B7", 737 | "imped": "\u01B5", 738 | "Implies": "\u21D2", 739 | "incare": "\u2105", 740 | "in": "\u2208", 741 | "infin": "\u221E", 742 | "infintie": "\u29DD", 743 | "inodot": "\u0131", 744 | "intcal": "\u22BA", 745 | "int": "\u222B", 746 | "Int": "\u222C", 747 | "integers": "\u2124", 748 | "Integral": "\u222B", 749 | "intercal": "\u22BA", 750 | "Intersection": "\u22C2", 751 | "intlarhk": "\u2A17", 752 | "intprod": "\u2A3C", 753 | "InvisibleComma": "\u2063", 754 | "InvisibleTimes": "\u2062", 755 | "IOcy": "\u0401", 756 | "iocy": "\u0451", 757 | "Iogon": "\u012E", 758 | "iogon": "\u012F", 759 | "Iopf": "\uD835\uDD40", 760 | "iopf": "\uD835\uDD5A", 761 | "Iota": "\u0399", 762 | "iota": "\u03B9", 763 | "iprod": "\u2A3C", 764 | "iquest": "\u00BF", 765 | "iscr": "\uD835\uDCBE", 766 | "Iscr": "\u2110", 767 | "isin": "\u2208", 768 | "isindot": "\u22F5", 769 | "isinE": "\u22F9", 770 | "isins": "\u22F4", 771 | "isinsv": "\u22F3", 772 | "isinv": "\u2208", 773 | "it": "\u2062", 774 | "Itilde": "\u0128", 775 | "itilde": "\u0129", 776 | "Iukcy": "\u0406", 777 | "iukcy": "\u0456", 778 | "Iuml": "\u00CF", 779 | "iuml": "\u00EF", 780 | "Jcirc": "\u0134", 781 | "jcirc": "\u0135", 782 | "Jcy": "\u0419", 783 | "jcy": "\u0439", 784 | "Jfr": "\uD835\uDD0D", 785 | "jfr": "\uD835\uDD27", 786 | "jmath": "\u0237", 787 | "Jopf": "\uD835\uDD41", 788 | "jopf": "\uD835\uDD5B", 789 | "Jscr": "\uD835\uDCA5", 790 | "jscr": "\uD835\uDCBF", 791 | "Jsercy": "\u0408", 792 | "jsercy": "\u0458", 793 | "Jukcy": "\u0404", 794 | "jukcy": "\u0454", 795 | "Kappa": "\u039A", 796 | "kappa": "\u03BA", 797 | "kappav": "\u03F0", 798 | "Kcedil": "\u0136", 799 | "kcedil": "\u0137", 800 | "Kcy": "\u041A", 801 | "kcy": "\u043A", 802 | "Kfr": "\uD835\uDD0E", 803 | "kfr": "\uD835\uDD28", 804 | "kgreen": "\u0138", 805 | "KHcy": "\u0425", 806 | "khcy": "\u0445", 807 | "KJcy": "\u040C", 808 | "kjcy": "\u045C", 809 | "Kopf": "\uD835\uDD42", 810 | "kopf": "\uD835\uDD5C", 811 | "Kscr": "\uD835\uDCA6", 812 | "kscr": "\uD835\uDCC0", 813 | "lAarr": "\u21DA", 814 | "Lacute": "\u0139", 815 | "lacute": "\u013A", 816 | "laemptyv": "\u29B4", 817 | "lagran": "\u2112", 818 | "Lambda": "\u039B", 819 | "lambda": "\u03BB", 820 | "lang": "\u27E8", 821 | "Lang": "\u27EA", 822 | "langd": "\u2991", 823 | "langle": "\u27E8", 824 | "lap": "\u2A85", 825 | "Laplacetrf": "\u2112", 826 | "laquo": "\u00AB", 827 | "larrb": "\u21E4", 828 | "larrbfs": "\u291F", 829 | "larr": "\u2190", 830 | "Larr": "\u219E", 831 | "lArr": "\u21D0", 832 | "larrfs": "\u291D", 833 | "larrhk": "\u21A9", 834 | "larrlp": "\u21AB", 835 | "larrpl": "\u2939", 836 | "larrsim": "\u2973", 837 | "larrtl": "\u21A2", 838 | "latail": "\u2919", 839 | "lAtail": "\u291B", 840 | "lat": "\u2AAB", 841 | "late": "\u2AAD", 842 | "lates": "\u2AAD\uFE00", 843 | "lbarr": "\u290C", 844 | "lBarr": "\u290E", 845 | "lbbrk": "\u2772", 846 | "lbrace": "{", 847 | "lbrack": "[", 848 | "lbrke": "\u298B", 849 | "lbrksld": "\u298F", 850 | "lbrkslu": "\u298D", 851 | "Lcaron": "\u013D", 852 | "lcaron": "\u013E", 853 | "Lcedil": "\u013B", 854 | "lcedil": "\u013C", 855 | "lceil": "\u2308", 856 | "lcub": "{", 857 | "Lcy": "\u041B", 858 | "lcy": "\u043B", 859 | "ldca": "\u2936", 860 | "ldquo": "\u201C", 861 | "ldquor": "\u201E", 862 | "ldrdhar": "\u2967", 863 | "ldrushar": "\u294B", 864 | "ldsh": "\u21B2", 865 | "le": "\u2264", 866 | "lE": "\u2266", 867 | "LeftAngleBracket": "\u27E8", 868 | "LeftArrowBar": "\u21E4", 869 | "leftarrow": "\u2190", 870 | "LeftArrow": "\u2190", 871 | "Leftarrow": "\u21D0", 872 | "LeftArrowRightArrow": "\u21C6", 873 | "leftarrowtail": "\u21A2", 874 | "LeftCeiling": "\u2308", 875 | "LeftDoubleBracket": "\u27E6", 876 | "LeftDownTeeVector": "\u2961", 877 | "LeftDownVectorBar": "\u2959", 878 | "LeftDownVector": "\u21C3", 879 | "LeftFloor": "\u230A", 880 | "leftharpoondown": "\u21BD", 881 | "leftharpoonup": "\u21BC", 882 | "leftleftarrows": "\u21C7", 883 | "leftrightarrow": "\u2194", 884 | "LeftRightArrow": "\u2194", 885 | "Leftrightarrow": "\u21D4", 886 | "leftrightarrows": "\u21C6", 887 | "leftrightharpoons": "\u21CB", 888 | "leftrightsquigarrow": "\u21AD", 889 | "LeftRightVector": "\u294E", 890 | "LeftTeeArrow": "\u21A4", 891 | "LeftTee": "\u22A3", 892 | "LeftTeeVector": "\u295A", 893 | "leftthreetimes": "\u22CB", 894 | "LeftTriangleBar": "\u29CF", 895 | "LeftTriangle": "\u22B2", 896 | "LeftTriangleEqual": "\u22B4", 897 | "LeftUpDownVector": "\u2951", 898 | "LeftUpTeeVector": "\u2960", 899 | "LeftUpVectorBar": "\u2958", 900 | "LeftUpVector": "\u21BF", 901 | "LeftVectorBar": "\u2952", 902 | "LeftVector": "\u21BC", 903 | "lEg": "\u2A8B", 904 | "leg": "\u22DA", 905 | "leq": "\u2264", 906 | "leqq": "\u2266", 907 | "leqslant": "\u2A7D", 908 | "lescc": "\u2AA8", 909 | "les": "\u2A7D", 910 | "lesdot": "\u2A7F", 911 | "lesdoto": "\u2A81", 912 | "lesdotor": "\u2A83", 913 | "lesg": "\u22DA\uFE00", 914 | "lesges": "\u2A93", 915 | "lessapprox": "\u2A85", 916 | "lessdot": "\u22D6", 917 | "lesseqgtr": "\u22DA", 918 | "lesseqqgtr": "\u2A8B", 919 | "LessEqualGreater": "\u22DA", 920 | "LessFullEqual": "\u2266", 921 | "LessGreater": "\u2276", 922 | "lessgtr": "\u2276", 923 | "LessLess": "\u2AA1", 924 | "lesssim": "\u2272", 925 | "LessSlantEqual": "\u2A7D", 926 | "LessTilde": "\u2272", 927 | "lfisht": "\u297C", 928 | "lfloor": "\u230A", 929 | "Lfr": "\uD835\uDD0F", 930 | "lfr": "\uD835\uDD29", 931 | "lg": "\u2276", 932 | "lgE": "\u2A91", 933 | "lHar": "\u2962", 934 | "lhard": "\u21BD", 935 | "lharu": "\u21BC", 936 | "lharul": "\u296A", 937 | "lhblk": "\u2584", 938 | "LJcy": "\u0409", 939 | "ljcy": "\u0459", 940 | "llarr": "\u21C7", 941 | "ll": "\u226A", 942 | "Ll": "\u22D8", 943 | "llcorner": "\u231E", 944 | "Lleftarrow": "\u21DA", 945 | "llhard": "\u296B", 946 | "lltri": "\u25FA", 947 | "Lmidot": "\u013F", 948 | "lmidot": "\u0140", 949 | "lmoustache": "\u23B0", 950 | "lmoust": "\u23B0", 951 | "lnap": "\u2A89", 952 | "lnapprox": "\u2A89", 953 | "lne": "\u2A87", 954 | "lnE": "\u2268", 955 | "lneq": "\u2A87", 956 | "lneqq": "\u2268", 957 | "lnsim": "\u22E6", 958 | "loang": "\u27EC", 959 | "loarr": "\u21FD", 960 | "lobrk": "\u27E6", 961 | "longleftarrow": "\u27F5", 962 | "LongLeftArrow": "\u27F5", 963 | "Longleftarrow": "\u27F8", 964 | "longleftrightarrow": "\u27F7", 965 | "LongLeftRightArrow": "\u27F7", 966 | "Longleftrightarrow": "\u27FA", 967 | "longmapsto": "\u27FC", 968 | "longrightarrow": "\u27F6", 969 | "LongRightArrow": "\u27F6", 970 | "Longrightarrow": "\u27F9", 971 | "looparrowleft": "\u21AB", 972 | "looparrowright": "\u21AC", 973 | "lopar": "\u2985", 974 | "Lopf": "\uD835\uDD43", 975 | "lopf": "\uD835\uDD5D", 976 | "loplus": "\u2A2D", 977 | "lotimes": "\u2A34", 978 | "lowast": "\u2217", 979 | "lowbar": "_", 980 | "LowerLeftArrow": "\u2199", 981 | "LowerRightArrow": "\u2198", 982 | "loz": "\u25CA", 983 | "lozenge": "\u25CA", 984 | "lozf": "\u29EB", 985 | "lpar": "(", 986 | "lparlt": "\u2993", 987 | "lrarr": "\u21C6", 988 | "lrcorner": "\u231F", 989 | "lrhar": "\u21CB", 990 | "lrhard": "\u296D", 991 | "lrm": "\u200E", 992 | "lrtri": "\u22BF", 993 | "lsaquo": "\u2039", 994 | "lscr": "\uD835\uDCC1", 995 | "Lscr": "\u2112", 996 | "lsh": "\u21B0", 997 | "Lsh": "\u21B0", 998 | "lsim": "\u2272", 999 | "lsime": "\u2A8D", 1000 | "lsimg": "\u2A8F", 1001 | "lsqb": "[", 1002 | "lsquo": "\u2018", 1003 | "lsquor": "\u201A", 1004 | "Lstrok": "\u0141", 1005 | "lstrok": "\u0142", 1006 | "ltcc": "\u2AA6", 1007 | "ltcir": "\u2A79", 1008 | "lt": "<", 1009 | "LT": "<", 1010 | "Lt": "\u226A", 1011 | "ltdot": "\u22D6", 1012 | "lthree": "\u22CB", 1013 | "ltimes": "\u22C9", 1014 | "ltlarr": "\u2976", 1015 | "ltquest": "\u2A7B", 1016 | "ltri": "\u25C3", 1017 | "ltrie": "\u22B4", 1018 | "ltrif": "\u25C2", 1019 | "ltrPar": "\u2996", 1020 | "lurdshar": "\u294A", 1021 | "luruhar": "\u2966", 1022 | "lvertneqq": "\u2268\uFE00", 1023 | "lvnE": "\u2268\uFE00", 1024 | "macr": "\u00AF", 1025 | "male": "\u2642", 1026 | "malt": "\u2720", 1027 | "maltese": "\u2720", 1028 | "Map": "\u2905", 1029 | "map": "\u21A6", 1030 | "mapsto": "\u21A6", 1031 | "mapstodown": "\u21A7", 1032 | "mapstoleft": "\u21A4", 1033 | "mapstoup": "\u21A5", 1034 | "marker": "\u25AE", 1035 | "mcomma": "\u2A29", 1036 | "Mcy": "\u041C", 1037 | "mcy": "\u043C", 1038 | "mdash": "\u2014", 1039 | "mDDot": "\u223A", 1040 | "measuredangle": "\u2221", 1041 | "MediumSpace": "\u205F", 1042 | "Mellintrf": "\u2133", 1043 | "Mfr": "\uD835\uDD10", 1044 | "mfr": "\uD835\uDD2A", 1045 | "mho": "\u2127", 1046 | "micro": "\u00B5", 1047 | "midast": "*", 1048 | "midcir": "\u2AF0", 1049 | "mid": "\u2223", 1050 | "middot": "\u00B7", 1051 | "minusb": "\u229F", 1052 | "minus": "\u2212", 1053 | "minusd": "\u2238", 1054 | "minusdu": "\u2A2A", 1055 | "MinusPlus": "\u2213", 1056 | "mlcp": "\u2ADB", 1057 | "mldr": "\u2026", 1058 | "mnplus": "\u2213", 1059 | "models": "\u22A7", 1060 | "Mopf": "\uD835\uDD44", 1061 | "mopf": "\uD835\uDD5E", 1062 | "mp": "\u2213", 1063 | "mscr": "\uD835\uDCC2", 1064 | "Mscr": "\u2133", 1065 | "mstpos": "\u223E", 1066 | "Mu": "\u039C", 1067 | "mu": "\u03BC", 1068 | "multimap": "\u22B8", 1069 | "mumap": "\u22B8", 1070 | "nabla": "\u2207", 1071 | "Nacute": "\u0143", 1072 | "nacute": "\u0144", 1073 | "nang": "\u2220\u20D2", 1074 | "nap": "\u2249", 1075 | "napE": "\u2A70\u0338", 1076 | "napid": "\u224B\u0338", 1077 | "napos": "\u0149", 1078 | "napprox": "\u2249", 1079 | "natural": "\u266E", 1080 | "naturals": "\u2115", 1081 | "natur": "\u266E", 1082 | "nbsp": "\u00A0", 1083 | "nbump": "\u224E\u0338", 1084 | "nbumpe": "\u224F\u0338", 1085 | "ncap": "\u2A43", 1086 | "Ncaron": "\u0147", 1087 | "ncaron": "\u0148", 1088 | "Ncedil": "\u0145", 1089 | "ncedil": "\u0146", 1090 | "ncong": "\u2247", 1091 | "ncongdot": "\u2A6D\u0338", 1092 | "ncup": "\u2A42", 1093 | "Ncy": "\u041D", 1094 | "ncy": "\u043D", 1095 | "ndash": "\u2013", 1096 | "nearhk": "\u2924", 1097 | "nearr": "\u2197", 1098 | "neArr": "\u21D7", 1099 | "nearrow": "\u2197", 1100 | "ne": "\u2260", 1101 | "nedot": "\u2250\u0338", 1102 | "NegativeMediumSpace": "\u200B", 1103 | "NegativeThickSpace": "\u200B", 1104 | "NegativeThinSpace": "\u200B", 1105 | "NegativeVeryThinSpace": "\u200B", 1106 | "nequiv": "\u2262", 1107 | "nesear": "\u2928", 1108 | "nesim": "\u2242\u0338", 1109 | "NestedGreaterGreater": "\u226B", 1110 | "NestedLessLess": "\u226A", 1111 | "NewLine": "\n", 1112 | "nexist": "\u2204", 1113 | "nexists": "\u2204", 1114 | "Nfr": "\uD835\uDD11", 1115 | "nfr": "\uD835\uDD2B", 1116 | "ngE": "\u2267\u0338", 1117 | "nge": "\u2271", 1118 | "ngeq": "\u2271", 1119 | "ngeqq": "\u2267\u0338", 1120 | "ngeqslant": "\u2A7E\u0338", 1121 | "nges": "\u2A7E\u0338", 1122 | "nGg": "\u22D9\u0338", 1123 | "ngsim": "\u2275", 1124 | "nGt": "\u226B\u20D2", 1125 | "ngt": "\u226F", 1126 | "ngtr": "\u226F", 1127 | "nGtv": "\u226B\u0338", 1128 | "nharr": "\u21AE", 1129 | "nhArr": "\u21CE", 1130 | "nhpar": "\u2AF2", 1131 | "ni": "\u220B", 1132 | "nis": "\u22FC", 1133 | "nisd": "\u22FA", 1134 | "niv": "\u220B", 1135 | "NJcy": "\u040A", 1136 | "njcy": "\u045A", 1137 | "nlarr": "\u219A", 1138 | "nlArr": "\u21CD", 1139 | "nldr": "\u2025", 1140 | "nlE": "\u2266\u0338", 1141 | "nle": "\u2270", 1142 | "nleftarrow": "\u219A", 1143 | "nLeftarrow": "\u21CD", 1144 | "nleftrightarrow": "\u21AE", 1145 | "nLeftrightarrow": "\u21CE", 1146 | "nleq": "\u2270", 1147 | "nleqq": "\u2266\u0338", 1148 | "nleqslant": "\u2A7D\u0338", 1149 | "nles": "\u2A7D\u0338", 1150 | "nless": "\u226E", 1151 | "nLl": "\u22D8\u0338", 1152 | "nlsim": "\u2274", 1153 | "nLt": "\u226A\u20D2", 1154 | "nlt": "\u226E", 1155 | "nltri": "\u22EA", 1156 | "nltrie": "\u22EC", 1157 | "nLtv": "\u226A\u0338", 1158 | "nmid": "\u2224", 1159 | "NoBreak": "\u2060", 1160 | "NonBreakingSpace": "\u00A0", 1161 | "nopf": "\uD835\uDD5F", 1162 | "Nopf": "\u2115", 1163 | "Not": "\u2AEC", 1164 | "not": "\u00AC", 1165 | "NotCongruent": "\u2262", 1166 | "NotCupCap": "\u226D", 1167 | "NotDoubleVerticalBar": "\u2226", 1168 | "NotElement": "\u2209", 1169 | "NotEqual": "\u2260", 1170 | "NotEqualTilde": "\u2242\u0338", 1171 | "NotExists": "\u2204", 1172 | "NotGreater": "\u226F", 1173 | "NotGreaterEqual": "\u2271", 1174 | "NotGreaterFullEqual": "\u2267\u0338", 1175 | "NotGreaterGreater": "\u226B\u0338", 1176 | "NotGreaterLess": "\u2279", 1177 | "NotGreaterSlantEqual": "\u2A7E\u0338", 1178 | "NotGreaterTilde": "\u2275", 1179 | "NotHumpDownHump": "\u224E\u0338", 1180 | "NotHumpEqual": "\u224F\u0338", 1181 | "notin": "\u2209", 1182 | "notindot": "\u22F5\u0338", 1183 | "notinE": "\u22F9\u0338", 1184 | "notinva": "\u2209", 1185 | "notinvb": "\u22F7", 1186 | "notinvc": "\u22F6", 1187 | "NotLeftTriangleBar": "\u29CF\u0338", 1188 | "NotLeftTriangle": "\u22EA", 1189 | "NotLeftTriangleEqual": "\u22EC", 1190 | "NotLess": "\u226E", 1191 | "NotLessEqual": "\u2270", 1192 | "NotLessGreater": "\u2278", 1193 | "NotLessLess": "\u226A\u0338", 1194 | "NotLessSlantEqual": "\u2A7D\u0338", 1195 | "NotLessTilde": "\u2274", 1196 | "NotNestedGreaterGreater": "\u2AA2\u0338", 1197 | "NotNestedLessLess": "\u2AA1\u0338", 1198 | "notni": "\u220C", 1199 | "notniva": "\u220C", 1200 | "notnivb": "\u22FE", 1201 | "notnivc": "\u22FD", 1202 | "NotPrecedes": "\u2280", 1203 | "NotPrecedesEqual": "\u2AAF\u0338", 1204 | "NotPrecedesSlantEqual": "\u22E0", 1205 | "NotReverseElement": "\u220C", 1206 | "NotRightTriangleBar": "\u29D0\u0338", 1207 | "NotRightTriangle": "\u22EB", 1208 | "NotRightTriangleEqual": "\u22ED", 1209 | "NotSquareSubset": "\u228F\u0338", 1210 | "NotSquareSubsetEqual": "\u22E2", 1211 | "NotSquareSuperset": "\u2290\u0338", 1212 | "NotSquareSupersetEqual": "\u22E3", 1213 | "NotSubset": "\u2282\u20D2", 1214 | "NotSubsetEqual": "\u2288", 1215 | "NotSucceeds": "\u2281", 1216 | "NotSucceedsEqual": "\u2AB0\u0338", 1217 | "NotSucceedsSlantEqual": "\u22E1", 1218 | "NotSucceedsTilde": "\u227F\u0338", 1219 | "NotSuperset": "\u2283\u20D2", 1220 | "NotSupersetEqual": "\u2289", 1221 | "NotTilde": "\u2241", 1222 | "NotTildeEqual": "\u2244", 1223 | "NotTildeFullEqual": "\u2247", 1224 | "NotTildeTilde": "\u2249", 1225 | "NotVerticalBar": "\u2224", 1226 | "nparallel": "\u2226", 1227 | "npar": "\u2226", 1228 | "nparsl": "\u2AFD\u20E5", 1229 | "npart": "\u2202\u0338", 1230 | "npolint": "\u2A14", 1231 | "npr": "\u2280", 1232 | "nprcue": "\u22E0", 1233 | "nprec": "\u2280", 1234 | "npreceq": "\u2AAF\u0338", 1235 | "npre": "\u2AAF\u0338", 1236 | "nrarrc": "\u2933\u0338", 1237 | "nrarr": "\u219B", 1238 | "nrArr": "\u21CF", 1239 | "nrarrw": "\u219D\u0338", 1240 | "nrightarrow": "\u219B", 1241 | "nRightarrow": "\u21CF", 1242 | "nrtri": "\u22EB", 1243 | "nrtrie": "\u22ED", 1244 | "nsc": "\u2281", 1245 | "nsccue": "\u22E1", 1246 | "nsce": "\u2AB0\u0338", 1247 | "Nscr": "\uD835\uDCA9", 1248 | "nscr": "\uD835\uDCC3", 1249 | "nshortmid": "\u2224", 1250 | "nshortparallel": "\u2226", 1251 | "nsim": "\u2241", 1252 | "nsime": "\u2244", 1253 | "nsimeq": "\u2244", 1254 | "nsmid": "\u2224", 1255 | "nspar": "\u2226", 1256 | "nsqsube": "\u22E2", 1257 | "nsqsupe": "\u22E3", 1258 | "nsub": "\u2284", 1259 | "nsubE": "\u2AC5\u0338", 1260 | "nsube": "\u2288", 1261 | "nsubset": "\u2282\u20D2", 1262 | "nsubseteq": "\u2288", 1263 | "nsubseteqq": "\u2AC5\u0338", 1264 | "nsucc": "\u2281", 1265 | "nsucceq": "\u2AB0\u0338", 1266 | "nsup": "\u2285", 1267 | "nsupE": "\u2AC6\u0338", 1268 | "nsupe": "\u2289", 1269 | "nsupset": "\u2283\u20D2", 1270 | "nsupseteq": "\u2289", 1271 | "nsupseteqq": "\u2AC6\u0338", 1272 | "ntgl": "\u2279", 1273 | "Ntilde": "\u00D1", 1274 | "ntilde": "\u00F1", 1275 | "ntlg": "\u2278", 1276 | "ntriangleleft": "\u22EA", 1277 | "ntrianglelefteq": "\u22EC", 1278 | "ntriangleright": "\u22EB", 1279 | "ntrianglerighteq": "\u22ED", 1280 | "Nu": "\u039D", 1281 | "nu": "\u03BD", 1282 | "num": "#", 1283 | "numero": "\u2116", 1284 | "numsp": "\u2007", 1285 | "nvap": "\u224D\u20D2", 1286 | "nvdash": "\u22AC", 1287 | "nvDash": "\u22AD", 1288 | "nVdash": "\u22AE", 1289 | "nVDash": "\u22AF", 1290 | "nvge": "\u2265\u20D2", 1291 | "nvgt": ">\u20D2", 1292 | "nvHarr": "\u2904", 1293 | "nvinfin": "\u29DE", 1294 | "nvlArr": "\u2902", 1295 | "nvle": "\u2264\u20D2", 1296 | "nvlt": "<\u20D2", 1297 | "nvltrie": "\u22B4\u20D2", 1298 | "nvrArr": "\u2903", 1299 | "nvrtrie": "\u22B5\u20D2", 1300 | "nvsim": "\u223C\u20D2", 1301 | "nwarhk": "\u2923", 1302 | "nwarr": "\u2196", 1303 | "nwArr": "\u21D6", 1304 | "nwarrow": "\u2196", 1305 | "nwnear": "\u2927", 1306 | "Oacute": "\u00D3", 1307 | "oacute": "\u00F3", 1308 | "oast": "\u229B", 1309 | "Ocirc": "\u00D4", 1310 | "ocirc": "\u00F4", 1311 | "ocir": "\u229A", 1312 | "Ocy": "\u041E", 1313 | "ocy": "\u043E", 1314 | "odash": "\u229D", 1315 | "Odblac": "\u0150", 1316 | "odblac": "\u0151", 1317 | "odiv": "\u2A38", 1318 | "odot": "\u2299", 1319 | "odsold": "\u29BC", 1320 | "OElig": "\u0152", 1321 | "oelig": "\u0153", 1322 | "ofcir": "\u29BF", 1323 | "Ofr": "\uD835\uDD12", 1324 | "ofr": "\uD835\uDD2C", 1325 | "ogon": "\u02DB", 1326 | "Ograve": "\u00D2", 1327 | "ograve": "\u00F2", 1328 | "ogt": "\u29C1", 1329 | "ohbar": "\u29B5", 1330 | "ohm": "\u03A9", 1331 | "oint": "\u222E", 1332 | "olarr": "\u21BA", 1333 | "olcir": "\u29BE", 1334 | "olcross": "\u29BB", 1335 | "oline": "\u203E", 1336 | "olt": "\u29C0", 1337 | "Omacr": "\u014C", 1338 | "omacr": "\u014D", 1339 | "Omega": "\u03A9", 1340 | "omega": "\u03C9", 1341 | "Omicron": "\u039F", 1342 | "omicron": "\u03BF", 1343 | "omid": "\u29B6", 1344 | "ominus": "\u2296", 1345 | "Oopf": "\uD835\uDD46", 1346 | "oopf": "\uD835\uDD60", 1347 | "opar": "\u29B7", 1348 | "OpenCurlyDoubleQuote": "\u201C", 1349 | "OpenCurlyQuote": "\u2018", 1350 | "operp": "\u29B9", 1351 | "oplus": "\u2295", 1352 | "orarr": "\u21BB", 1353 | "Or": "\u2A54", 1354 | "or": "\u2228", 1355 | "ord": "\u2A5D", 1356 | "order": "\u2134", 1357 | "orderof": "\u2134", 1358 | "ordf": "\u00AA", 1359 | "ordm": "\u00BA", 1360 | "origof": "\u22B6", 1361 | "oror": "\u2A56", 1362 | "orslope": "\u2A57", 1363 | "orv": "\u2A5B", 1364 | "oS": "\u24C8", 1365 | "Oscr": "\uD835\uDCAA", 1366 | "oscr": "\u2134", 1367 | "Oslash": "\u00D8", 1368 | "oslash": "\u00F8", 1369 | "osol": "\u2298", 1370 | "Otilde": "\u00D5", 1371 | "otilde": "\u00F5", 1372 | "otimesas": "\u2A36", 1373 | "Otimes": "\u2A37", 1374 | "otimes": "\u2297", 1375 | "Ouml": "\u00D6", 1376 | "ouml": "\u00F6", 1377 | "ovbar": "\u233D", 1378 | "OverBar": "\u203E", 1379 | "OverBrace": "\u23DE", 1380 | "OverBracket": "\u23B4", 1381 | "OverParenthesis": "\u23DC", 1382 | "para": "\u00B6", 1383 | "parallel": "\u2225", 1384 | "par": "\u2225", 1385 | "parsim": "\u2AF3", 1386 | "parsl": "\u2AFD", 1387 | "part": "\u2202", 1388 | "PartialD": "\u2202", 1389 | "Pcy": "\u041F", 1390 | "pcy": "\u043F", 1391 | "percnt": "%", 1392 | "period": ".", 1393 | "permil": "\u2030", 1394 | "perp": "\u22A5", 1395 | "pertenk": "\u2031", 1396 | "Pfr": "\uD835\uDD13", 1397 | "pfr": "\uD835\uDD2D", 1398 | "Phi": "\u03A6", 1399 | "phi": "\u03C6", 1400 | "phiv": "\u03D5", 1401 | "phmmat": "\u2133", 1402 | "phone": "\u260E", 1403 | "Pi": "\u03A0", 1404 | "pi": "\u03C0", 1405 | "pitchfork": "\u22D4", 1406 | "piv": "\u03D6", 1407 | "planck": "\u210F", 1408 | "planckh": "\u210E", 1409 | "plankv": "\u210F", 1410 | "plusacir": "\u2A23", 1411 | "plusb": "\u229E", 1412 | "pluscir": "\u2A22", 1413 | "plus": "+", 1414 | "plusdo": "\u2214", 1415 | "plusdu": "\u2A25", 1416 | "pluse": "\u2A72", 1417 | "PlusMinus": "\u00B1", 1418 | "plusmn": "\u00B1", 1419 | "plussim": "\u2A26", 1420 | "plustwo": "\u2A27", 1421 | "pm": "\u00B1", 1422 | "Poincareplane": "\u210C", 1423 | "pointint": "\u2A15", 1424 | "popf": "\uD835\uDD61", 1425 | "Popf": "\u2119", 1426 | "pound": "\u00A3", 1427 | "prap": "\u2AB7", 1428 | "Pr": "\u2ABB", 1429 | "pr": "\u227A", 1430 | "prcue": "\u227C", 1431 | "precapprox": "\u2AB7", 1432 | "prec": "\u227A", 1433 | "preccurlyeq": "\u227C", 1434 | "Precedes": "\u227A", 1435 | "PrecedesEqual": "\u2AAF", 1436 | "PrecedesSlantEqual": "\u227C", 1437 | "PrecedesTilde": "\u227E", 1438 | "preceq": "\u2AAF", 1439 | "precnapprox": "\u2AB9", 1440 | "precneqq": "\u2AB5", 1441 | "precnsim": "\u22E8", 1442 | "pre": "\u2AAF", 1443 | "prE": "\u2AB3", 1444 | "precsim": "\u227E", 1445 | "prime": "\u2032", 1446 | "Prime": "\u2033", 1447 | "primes": "\u2119", 1448 | "prnap": "\u2AB9", 1449 | "prnE": "\u2AB5", 1450 | "prnsim": "\u22E8", 1451 | "prod": "\u220F", 1452 | "Product": "\u220F", 1453 | "profalar": "\u232E", 1454 | "profline": "\u2312", 1455 | "profsurf": "\u2313", 1456 | "prop": "\u221D", 1457 | "Proportional": "\u221D", 1458 | "Proportion": "\u2237", 1459 | "propto": "\u221D", 1460 | "prsim": "\u227E", 1461 | "prurel": "\u22B0", 1462 | "Pscr": "\uD835\uDCAB", 1463 | "pscr": "\uD835\uDCC5", 1464 | "Psi": "\u03A8", 1465 | "psi": "\u03C8", 1466 | "puncsp": "\u2008", 1467 | "Qfr": "\uD835\uDD14", 1468 | "qfr": "\uD835\uDD2E", 1469 | "qint": "\u2A0C", 1470 | "qopf": "\uD835\uDD62", 1471 | "Qopf": "\u211A", 1472 | "qprime": "\u2057", 1473 | "Qscr": "\uD835\uDCAC", 1474 | "qscr": "\uD835\uDCC6", 1475 | "quaternions": "\u210D", 1476 | "quatint": "\u2A16", 1477 | "quest": "?", 1478 | "questeq": "\u225F", 1479 | "quot": "\"", 1480 | "QUOT": "\"", 1481 | "rAarr": "\u21DB", 1482 | "race": "\u223D\u0331", 1483 | "Racute": "\u0154", 1484 | "racute": "\u0155", 1485 | "radic": "\u221A", 1486 | "raemptyv": "\u29B3", 1487 | "rang": "\u27E9", 1488 | "Rang": "\u27EB", 1489 | "rangd": "\u2992", 1490 | "range": "\u29A5", 1491 | "rangle": "\u27E9", 1492 | "raquo": "\u00BB", 1493 | "rarrap": "\u2975", 1494 | "rarrb": "\u21E5", 1495 | "rarrbfs": "\u2920", 1496 | "rarrc": "\u2933", 1497 | "rarr": "\u2192", 1498 | "Rarr": "\u21A0", 1499 | "rArr": "\u21D2", 1500 | "rarrfs": "\u291E", 1501 | "rarrhk": "\u21AA", 1502 | "rarrlp": "\u21AC", 1503 | "rarrpl": "\u2945", 1504 | "rarrsim": "\u2974", 1505 | "Rarrtl": "\u2916", 1506 | "rarrtl": "\u21A3", 1507 | "rarrw": "\u219D", 1508 | "ratail": "\u291A", 1509 | "rAtail": "\u291C", 1510 | "ratio": "\u2236", 1511 | "rationals": "\u211A", 1512 | "rbarr": "\u290D", 1513 | "rBarr": "\u290F", 1514 | "RBarr": "\u2910", 1515 | "rbbrk": "\u2773", 1516 | "rbrace": "}", 1517 | "rbrack": "]", 1518 | "rbrke": "\u298C", 1519 | "rbrksld": "\u298E", 1520 | "rbrkslu": "\u2990", 1521 | "Rcaron": "\u0158", 1522 | "rcaron": "\u0159", 1523 | "Rcedil": "\u0156", 1524 | "rcedil": "\u0157", 1525 | "rceil": "\u2309", 1526 | "rcub": "}", 1527 | "Rcy": "\u0420", 1528 | "rcy": "\u0440", 1529 | "rdca": "\u2937", 1530 | "rdldhar": "\u2969", 1531 | "rdquo": "\u201D", 1532 | "rdquor": "\u201D", 1533 | "rdsh": "\u21B3", 1534 | "real": "\u211C", 1535 | "realine": "\u211B", 1536 | "realpart": "\u211C", 1537 | "reals": "\u211D", 1538 | "Re": "\u211C", 1539 | "rect": "\u25AD", 1540 | "reg": "\u00AE", 1541 | "REG": "\u00AE", 1542 | "ReverseElement": "\u220B", 1543 | "ReverseEquilibrium": "\u21CB", 1544 | "ReverseUpEquilibrium": "\u296F", 1545 | "rfisht": "\u297D", 1546 | "rfloor": "\u230B", 1547 | "rfr": "\uD835\uDD2F", 1548 | "Rfr": "\u211C", 1549 | "rHar": "\u2964", 1550 | "rhard": "\u21C1", 1551 | "rharu": "\u21C0", 1552 | "rharul": "\u296C", 1553 | "Rho": "\u03A1", 1554 | "rho": "\u03C1", 1555 | "rhov": "\u03F1", 1556 | "RightAngleBracket": "\u27E9", 1557 | "RightArrowBar": "\u21E5", 1558 | "rightarrow": "\u2192", 1559 | "RightArrow": "\u2192", 1560 | "Rightarrow": "\u21D2", 1561 | "RightArrowLeftArrow": "\u21C4", 1562 | "rightarrowtail": "\u21A3", 1563 | "RightCeiling": "\u2309", 1564 | "RightDoubleBracket": "\u27E7", 1565 | "RightDownTeeVector": "\u295D", 1566 | "RightDownVectorBar": "\u2955", 1567 | "RightDownVector": "\u21C2", 1568 | "RightFloor": "\u230B", 1569 | "rightharpoondown": "\u21C1", 1570 | "rightharpoonup": "\u21C0", 1571 | "rightleftarrows": "\u21C4", 1572 | "rightleftharpoons": "\u21CC", 1573 | "rightrightarrows": "\u21C9", 1574 | "rightsquigarrow": "\u219D", 1575 | "RightTeeArrow": "\u21A6", 1576 | "RightTee": "\u22A2", 1577 | "RightTeeVector": "\u295B", 1578 | "rightthreetimes": "\u22CC", 1579 | "RightTriangleBar": "\u29D0", 1580 | "RightTriangle": "\u22B3", 1581 | "RightTriangleEqual": "\u22B5", 1582 | "RightUpDownVector": "\u294F", 1583 | "RightUpTeeVector": "\u295C", 1584 | "RightUpVectorBar": "\u2954", 1585 | "RightUpVector": "\u21BE", 1586 | "RightVectorBar": "\u2953", 1587 | "RightVector": "\u21C0", 1588 | "ring": "\u02DA", 1589 | "risingdotseq": "\u2253", 1590 | "rlarr": "\u21C4", 1591 | "rlhar": "\u21CC", 1592 | "rlm": "\u200F", 1593 | "rmoustache": "\u23B1", 1594 | "rmoust": "\u23B1", 1595 | "rnmid": "\u2AEE", 1596 | "roang": "\u27ED", 1597 | "roarr": "\u21FE", 1598 | "robrk": "\u27E7", 1599 | "ropar": "\u2986", 1600 | "ropf": "\uD835\uDD63", 1601 | "Ropf": "\u211D", 1602 | "roplus": "\u2A2E", 1603 | "rotimes": "\u2A35", 1604 | "RoundImplies": "\u2970", 1605 | "rpar": ")", 1606 | "rpargt": "\u2994", 1607 | "rppolint": "\u2A12", 1608 | "rrarr": "\u21C9", 1609 | "Rrightarrow": "\u21DB", 1610 | "rsaquo": "\u203A", 1611 | "rscr": "\uD835\uDCC7", 1612 | "Rscr": "\u211B", 1613 | "rsh": "\u21B1", 1614 | "Rsh": "\u21B1", 1615 | "rsqb": "]", 1616 | "rsquo": "\u2019", 1617 | "rsquor": "\u2019", 1618 | "rthree": "\u22CC", 1619 | "rtimes": "\u22CA", 1620 | "rtri": "\u25B9", 1621 | "rtrie": "\u22B5", 1622 | "rtrif": "\u25B8", 1623 | "rtriltri": "\u29CE", 1624 | "RuleDelayed": "\u29F4", 1625 | "ruluhar": "\u2968", 1626 | "rx": "\u211E", 1627 | "Sacute": "\u015A", 1628 | "sacute": "\u015B", 1629 | "sbquo": "\u201A", 1630 | "scap": "\u2AB8", 1631 | "Scaron": "\u0160", 1632 | "scaron": "\u0161", 1633 | "Sc": "\u2ABC", 1634 | "sc": "\u227B", 1635 | "sccue": "\u227D", 1636 | "sce": "\u2AB0", 1637 | "scE": "\u2AB4", 1638 | "Scedil": "\u015E", 1639 | "scedil": "\u015F", 1640 | "Scirc": "\u015C", 1641 | "scirc": "\u015D", 1642 | "scnap": "\u2ABA", 1643 | "scnE": "\u2AB6", 1644 | "scnsim": "\u22E9", 1645 | "scpolint": "\u2A13", 1646 | "scsim": "\u227F", 1647 | "Scy": "\u0421", 1648 | "scy": "\u0441", 1649 | "sdotb": "\u22A1", 1650 | "sdot": "\u22C5", 1651 | "sdote": "\u2A66", 1652 | "searhk": "\u2925", 1653 | "searr": "\u2198", 1654 | "seArr": "\u21D8", 1655 | "searrow": "\u2198", 1656 | "sect": "\u00A7", 1657 | "semi": ";", 1658 | "seswar": "\u2929", 1659 | "setminus": "\u2216", 1660 | "setmn": "\u2216", 1661 | "sext": "\u2736", 1662 | "Sfr": "\uD835\uDD16", 1663 | "sfr": "\uD835\uDD30", 1664 | "sfrown": "\u2322", 1665 | "sharp": "\u266F", 1666 | "SHCHcy": "\u0429", 1667 | "shchcy": "\u0449", 1668 | "SHcy": "\u0428", 1669 | "shcy": "\u0448", 1670 | "ShortDownArrow": "\u2193", 1671 | "ShortLeftArrow": "\u2190", 1672 | "shortmid": "\u2223", 1673 | "shortparallel": "\u2225", 1674 | "ShortRightArrow": "\u2192", 1675 | "ShortUpArrow": "\u2191", 1676 | "shy": "\u00AD", 1677 | "Sigma": "\u03A3", 1678 | "sigma": "\u03C3", 1679 | "sigmaf": "\u03C2", 1680 | "sigmav": "\u03C2", 1681 | "sim": "\u223C", 1682 | "simdot": "\u2A6A", 1683 | "sime": "\u2243", 1684 | "simeq": "\u2243", 1685 | "simg": "\u2A9E", 1686 | "simgE": "\u2AA0", 1687 | "siml": "\u2A9D", 1688 | "simlE": "\u2A9F", 1689 | "simne": "\u2246", 1690 | "simplus": "\u2A24", 1691 | "simrarr": "\u2972", 1692 | "slarr": "\u2190", 1693 | "SmallCircle": "\u2218", 1694 | "smallsetminus": "\u2216", 1695 | "smashp": "\u2A33", 1696 | "smeparsl": "\u29E4", 1697 | "smid": "\u2223", 1698 | "smile": "\u2323", 1699 | "smt": "\u2AAA", 1700 | "smte": "\u2AAC", 1701 | "smtes": "\u2AAC\uFE00", 1702 | "SOFTcy": "\u042C", 1703 | "softcy": "\u044C", 1704 | "solbar": "\u233F", 1705 | "solb": "\u29C4", 1706 | "sol": "/", 1707 | "Sopf": "\uD835\uDD4A", 1708 | "sopf": "\uD835\uDD64", 1709 | "spades": "\u2660", 1710 | "spadesuit": "\u2660", 1711 | "spar": "\u2225", 1712 | "sqcap": "\u2293", 1713 | "sqcaps": "\u2293\uFE00", 1714 | "sqcup": "\u2294", 1715 | "sqcups": "\u2294\uFE00", 1716 | "Sqrt": "\u221A", 1717 | "sqsub": "\u228F", 1718 | "sqsube": "\u2291", 1719 | "sqsubset": "\u228F", 1720 | "sqsubseteq": "\u2291", 1721 | "sqsup": "\u2290", 1722 | "sqsupe": "\u2292", 1723 | "sqsupset": "\u2290", 1724 | "sqsupseteq": "\u2292", 1725 | "square": "\u25A1", 1726 | "Square": "\u25A1", 1727 | "SquareIntersection": "\u2293", 1728 | "SquareSubset": "\u228F", 1729 | "SquareSubsetEqual": "\u2291", 1730 | "SquareSuperset": "\u2290", 1731 | "SquareSupersetEqual": "\u2292", 1732 | "SquareUnion": "\u2294", 1733 | "squarf": "\u25AA", 1734 | "squ": "\u25A1", 1735 | "squf": "\u25AA", 1736 | "srarr": "\u2192", 1737 | "Sscr": "\uD835\uDCAE", 1738 | "sscr": "\uD835\uDCC8", 1739 | "ssetmn": "\u2216", 1740 | "ssmile": "\u2323", 1741 | "sstarf": "\u22C6", 1742 | "Star": "\u22C6", 1743 | "star": "\u2606", 1744 | "starf": "\u2605", 1745 | "straightepsilon": "\u03F5", 1746 | "straightphi": "\u03D5", 1747 | "strns": "\u00AF", 1748 | "sub": "\u2282", 1749 | "Sub": "\u22D0", 1750 | "subdot": "\u2ABD", 1751 | "subE": "\u2AC5", 1752 | "sube": "\u2286", 1753 | "subedot": "\u2AC3", 1754 | "submult": "\u2AC1", 1755 | "subnE": "\u2ACB", 1756 | "subne": "\u228A", 1757 | "subplus": "\u2ABF", 1758 | "subrarr": "\u2979", 1759 | "subset": "\u2282", 1760 | "Subset": "\u22D0", 1761 | "subseteq": "\u2286", 1762 | "subseteqq": "\u2AC5", 1763 | "SubsetEqual": "\u2286", 1764 | "subsetneq": "\u228A", 1765 | "subsetneqq": "\u2ACB", 1766 | "subsim": "\u2AC7", 1767 | "subsub": "\u2AD5", 1768 | "subsup": "\u2AD3", 1769 | "succapprox": "\u2AB8", 1770 | "succ": "\u227B", 1771 | "succcurlyeq": "\u227D", 1772 | "Succeeds": "\u227B", 1773 | "SucceedsEqual": "\u2AB0", 1774 | "SucceedsSlantEqual": "\u227D", 1775 | "SucceedsTilde": "\u227F", 1776 | "succeq": "\u2AB0", 1777 | "succnapprox": "\u2ABA", 1778 | "succneqq": "\u2AB6", 1779 | "succnsim": "\u22E9", 1780 | "succsim": "\u227F", 1781 | "SuchThat": "\u220B", 1782 | "sum": "\u2211", 1783 | "Sum": "\u2211", 1784 | "sung": "\u266A", 1785 | "sup1": "\u00B9", 1786 | "sup2": "\u00B2", 1787 | "sup3": "\u00B3", 1788 | "sup": "\u2283", 1789 | "Sup": "\u22D1", 1790 | "supdot": "\u2ABE", 1791 | "supdsub": "\u2AD8", 1792 | "supE": "\u2AC6", 1793 | "supe": "\u2287", 1794 | "supedot": "\u2AC4", 1795 | "Superset": "\u2283", 1796 | "SupersetEqual": "\u2287", 1797 | "suphsol": "\u27C9", 1798 | "suphsub": "\u2AD7", 1799 | "suplarr": "\u297B", 1800 | "supmult": "\u2AC2", 1801 | "supnE": "\u2ACC", 1802 | "supne": "\u228B", 1803 | "supplus": "\u2AC0", 1804 | "supset": "\u2283", 1805 | "Supset": "\u22D1", 1806 | "supseteq": "\u2287", 1807 | "supseteqq": "\u2AC6", 1808 | "supsetneq": "\u228B", 1809 | "supsetneqq": "\u2ACC", 1810 | "supsim": "\u2AC8", 1811 | "supsub": "\u2AD4", 1812 | "supsup": "\u2AD6", 1813 | "swarhk": "\u2926", 1814 | "swarr": "\u2199", 1815 | "swArr": "\u21D9", 1816 | "swarrow": "\u2199", 1817 | "swnwar": "\u292A", 1818 | "szlig": "\u00DF", 1819 | "Tab": "\t", 1820 | "target": "\u2316", 1821 | "Tau": "\u03A4", 1822 | "tau": "\u03C4", 1823 | "tbrk": "\u23B4", 1824 | "Tcaron": "\u0164", 1825 | "tcaron": "\u0165", 1826 | "Tcedil": "\u0162", 1827 | "tcedil": "\u0163", 1828 | "Tcy": "\u0422", 1829 | "tcy": "\u0442", 1830 | "tdot": "\u20DB", 1831 | "telrec": "\u2315", 1832 | "Tfr": "\uD835\uDD17", 1833 | "tfr": "\uD835\uDD31", 1834 | "there4": "\u2234", 1835 | "therefore": "\u2234", 1836 | "Therefore": "\u2234", 1837 | "Theta": "\u0398", 1838 | "theta": "\u03B8", 1839 | "thetasym": "\u03D1", 1840 | "thetav": "\u03D1", 1841 | "thickapprox": "\u2248", 1842 | "thicksim": "\u223C", 1843 | "ThickSpace": "\u205F\u200A", 1844 | "ThinSpace": "\u2009", 1845 | "thinsp": "\u2009", 1846 | "thkap": "\u2248", 1847 | "thksim": "\u223C", 1848 | "THORN": "\u00DE", 1849 | "thorn": "\u00FE", 1850 | "tilde": "\u02DC", 1851 | "Tilde": "\u223C", 1852 | "TildeEqual": "\u2243", 1853 | "TildeFullEqual": "\u2245", 1854 | "TildeTilde": "\u2248", 1855 | "timesbar": "\u2A31", 1856 | "timesb": "\u22A0", 1857 | "times": "\u00D7", 1858 | "timesd": "\u2A30", 1859 | "tint": "\u222D", 1860 | "toea": "\u2928", 1861 | "topbot": "\u2336", 1862 | "topcir": "\u2AF1", 1863 | "top": "\u22A4", 1864 | "Topf": "\uD835\uDD4B", 1865 | "topf": "\uD835\uDD65", 1866 | "topfork": "\u2ADA", 1867 | "tosa": "\u2929", 1868 | "tprime": "\u2034", 1869 | "trade": "\u2122", 1870 | "TRADE": "\u2122", 1871 | "triangle": "\u25B5", 1872 | "triangledown": "\u25BF", 1873 | "triangleleft": "\u25C3", 1874 | "trianglelefteq": "\u22B4", 1875 | "triangleq": "\u225C", 1876 | "triangleright": "\u25B9", 1877 | "trianglerighteq": "\u22B5", 1878 | "tridot": "\u25EC", 1879 | "trie": "\u225C", 1880 | "triminus": "\u2A3A", 1881 | "TripleDot": "\u20DB", 1882 | "triplus": "\u2A39", 1883 | "trisb": "\u29CD", 1884 | "tritime": "\u2A3B", 1885 | "trpezium": "\u23E2", 1886 | "Tscr": "\uD835\uDCAF", 1887 | "tscr": "\uD835\uDCC9", 1888 | "TScy": "\u0426", 1889 | "tscy": "\u0446", 1890 | "TSHcy": "\u040B", 1891 | "tshcy": "\u045B", 1892 | "Tstrok": "\u0166", 1893 | "tstrok": "\u0167", 1894 | "twixt": "\u226C", 1895 | "twoheadleftarrow": "\u219E", 1896 | "twoheadrightarrow": "\u21A0", 1897 | "Uacute": "\u00DA", 1898 | "uacute": "\u00FA", 1899 | "uarr": "\u2191", 1900 | "Uarr": "\u219F", 1901 | "uArr": "\u21D1", 1902 | "Uarrocir": "\u2949", 1903 | "Ubrcy": "\u040E", 1904 | "ubrcy": "\u045E", 1905 | "Ubreve": "\u016C", 1906 | "ubreve": "\u016D", 1907 | "Ucirc": "\u00DB", 1908 | "ucirc": "\u00FB", 1909 | "Ucy": "\u0423", 1910 | "ucy": "\u0443", 1911 | "udarr": "\u21C5", 1912 | "Udblac": "\u0170", 1913 | "udblac": "\u0171", 1914 | "udhar": "\u296E", 1915 | "ufisht": "\u297E", 1916 | "Ufr": "\uD835\uDD18", 1917 | "ufr": "\uD835\uDD32", 1918 | "Ugrave": "\u00D9", 1919 | "ugrave": "\u00F9", 1920 | "uHar": "\u2963", 1921 | "uharl": "\u21BF", 1922 | "uharr": "\u21BE", 1923 | "uhblk": "\u2580", 1924 | "ulcorn": "\u231C", 1925 | "ulcorner": "\u231C", 1926 | "ulcrop": "\u230F", 1927 | "ultri": "\u25F8", 1928 | "Umacr": "\u016A", 1929 | "umacr": "\u016B", 1930 | "uml": "\u00A8", 1931 | "UnderBar": "_", 1932 | "UnderBrace": "\u23DF", 1933 | "UnderBracket": "\u23B5", 1934 | "UnderParenthesis": "\u23DD", 1935 | "Union": "\u22C3", 1936 | "UnionPlus": "\u228E", 1937 | "Uogon": "\u0172", 1938 | "uogon": "\u0173", 1939 | "Uopf": "\uD835\uDD4C", 1940 | "uopf": "\uD835\uDD66", 1941 | "UpArrowBar": "\u2912", 1942 | "uparrow": "\u2191", 1943 | "UpArrow": "\u2191", 1944 | "Uparrow": "\u21D1", 1945 | "UpArrowDownArrow": "\u21C5", 1946 | "updownarrow": "\u2195", 1947 | "UpDownArrow": "\u2195", 1948 | "Updownarrow": "\u21D5", 1949 | "UpEquilibrium": "\u296E", 1950 | "upharpoonleft": "\u21BF", 1951 | "upharpoonright": "\u21BE", 1952 | "uplus": "\u228E", 1953 | "UpperLeftArrow": "\u2196", 1954 | "UpperRightArrow": "\u2197", 1955 | "upsi": "\u03C5", 1956 | "Upsi": "\u03D2", 1957 | "upsih": "\u03D2", 1958 | "Upsilon": "\u03A5", 1959 | "upsilon": "\u03C5", 1960 | "UpTeeArrow": "\u21A5", 1961 | "UpTee": "\u22A5", 1962 | "upuparrows": "\u21C8", 1963 | "urcorn": "\u231D", 1964 | "urcorner": "\u231D", 1965 | "urcrop": "\u230E", 1966 | "Uring": "\u016E", 1967 | "uring": "\u016F", 1968 | "urtri": "\u25F9", 1969 | "Uscr": "\uD835\uDCB0", 1970 | "uscr": "\uD835\uDCCA", 1971 | "utdot": "\u22F0", 1972 | "Utilde": "\u0168", 1973 | "utilde": "\u0169", 1974 | "utri": "\u25B5", 1975 | "utrif": "\u25B4", 1976 | "uuarr": "\u21C8", 1977 | "Uuml": "\u00DC", 1978 | "uuml": "\u00FC", 1979 | "uwangle": "\u29A7", 1980 | "vangrt": "\u299C", 1981 | "varepsilon": "\u03F5", 1982 | "varkappa": "\u03F0", 1983 | "varnothing": "\u2205", 1984 | "varphi": "\u03D5", 1985 | "varpi": "\u03D6", 1986 | "varpropto": "\u221D", 1987 | "varr": "\u2195", 1988 | "vArr": "\u21D5", 1989 | "varrho": "\u03F1", 1990 | "varsigma": "\u03C2", 1991 | "varsubsetneq": "\u228A\uFE00", 1992 | "varsubsetneqq": "\u2ACB\uFE00", 1993 | "varsupsetneq": "\u228B\uFE00", 1994 | "varsupsetneqq": "\u2ACC\uFE00", 1995 | "vartheta": "\u03D1", 1996 | "vartriangleleft": "\u22B2", 1997 | "vartriangleright": "\u22B3", 1998 | "vBar": "\u2AE8", 1999 | "Vbar": "\u2AEB", 2000 | "vBarv": "\u2AE9", 2001 | "Vcy": "\u0412", 2002 | "vcy": "\u0432", 2003 | "vdash": "\u22A2", 2004 | "vDash": "\u22A8", 2005 | "Vdash": "\u22A9", 2006 | "VDash": "\u22AB", 2007 | "Vdashl": "\u2AE6", 2008 | "veebar": "\u22BB", 2009 | "vee": "\u2228", 2010 | "Vee": "\u22C1", 2011 | "veeeq": "\u225A", 2012 | "vellip": "\u22EE", 2013 | "verbar": "|", 2014 | "Verbar": "\u2016", 2015 | "vert": "|", 2016 | "Vert": "\u2016", 2017 | "VerticalBar": "\u2223", 2018 | "VerticalLine": "|", 2019 | "VerticalSeparator": "\u2758", 2020 | "VerticalTilde": "\u2240", 2021 | "VeryThinSpace": "\u200A", 2022 | "Vfr": "\uD835\uDD19", 2023 | "vfr": "\uD835\uDD33", 2024 | "vltri": "\u22B2", 2025 | "vnsub": "\u2282\u20D2", 2026 | "vnsup": "\u2283\u20D2", 2027 | "Vopf": "\uD835\uDD4D", 2028 | "vopf": "\uD835\uDD67", 2029 | "vprop": "\u221D", 2030 | "vrtri": "\u22B3", 2031 | "Vscr": "\uD835\uDCB1", 2032 | "vscr": "\uD835\uDCCB", 2033 | "vsubnE": "\u2ACB\uFE00", 2034 | "vsubne": "\u228A\uFE00", 2035 | "vsupnE": "\u2ACC\uFE00", 2036 | "vsupne": "\u228B\uFE00", 2037 | "Vvdash": "\u22AA", 2038 | "vzigzag": "\u299A", 2039 | "Wcirc": "\u0174", 2040 | "wcirc": "\u0175", 2041 | "wedbar": "\u2A5F", 2042 | "wedge": "\u2227", 2043 | "Wedge": "\u22C0", 2044 | "wedgeq": "\u2259", 2045 | "weierp": "\u2118", 2046 | "Wfr": "\uD835\uDD1A", 2047 | "wfr": "\uD835\uDD34", 2048 | "Wopf": "\uD835\uDD4E", 2049 | "wopf": "\uD835\uDD68", 2050 | "wp": "\u2118", 2051 | "wr": "\u2240", 2052 | "wreath": "\u2240", 2053 | "Wscr": "\uD835\uDCB2", 2054 | "wscr": "\uD835\uDCCC", 2055 | "xcap": "\u22C2", 2056 | "xcirc": "\u25EF", 2057 | "xcup": "\u22C3", 2058 | "xdtri": "\u25BD", 2059 | "Xfr": "\uD835\uDD1B", 2060 | "xfr": "\uD835\uDD35", 2061 | "xharr": "\u27F7", 2062 | "xhArr": "\u27FA", 2063 | "Xi": "\u039E", 2064 | "xi": "\u03BE", 2065 | "xlarr": "\u27F5", 2066 | "xlArr": "\u27F8", 2067 | "xmap": "\u27FC", 2068 | "xnis": "\u22FB", 2069 | "xodot": "\u2A00", 2070 | "Xopf": "\uD835\uDD4F", 2071 | "xopf": "\uD835\uDD69", 2072 | "xoplus": "\u2A01", 2073 | "xotime": "\u2A02", 2074 | "xrarr": "\u27F6", 2075 | "xrArr": "\u27F9", 2076 | "Xscr": "\uD835\uDCB3", 2077 | "xscr": "\uD835\uDCCD", 2078 | "xsqcup": "\u2A06", 2079 | "xuplus": "\u2A04", 2080 | "xutri": "\u25B3", 2081 | "xvee": "\u22C1", 2082 | "xwedge": "\u22C0", 2083 | "Yacute": "\u00DD", 2084 | "yacute": "\u00FD", 2085 | "YAcy": "\u042F", 2086 | "yacy": "\u044F", 2087 | "Ycirc": "\u0176", 2088 | "ycirc": "\u0177", 2089 | "Ycy": "\u042B", 2090 | "ycy": "\u044B", 2091 | "yen": "\u00A5", 2092 | "Yfr": "\uD835\uDD1C", 2093 | "yfr": "\uD835\uDD36", 2094 | "YIcy": "\u0407", 2095 | "yicy": "\u0457", 2096 | "Yopf": "\uD835\uDD50", 2097 | "yopf": "\uD835\uDD6A", 2098 | "Yscr": "\uD835\uDCB4", 2099 | "yscr": "\uD835\uDCCE", 2100 | "YUcy": "\u042E", 2101 | "yucy": "\u044E", 2102 | "yuml": "\u00FF", 2103 | "Yuml": "\u0178", 2104 | "Zacute": "\u0179", 2105 | "zacute": "\u017A", 2106 | "Zcaron": "\u017D", 2107 | "zcaron": "\u017E", 2108 | "Zcy": "\u0417", 2109 | "zcy": "\u0437", 2110 | "Zdot": "\u017B", 2111 | "zdot": "\u017C", 2112 | "zeetrf": "\u2128", 2113 | "ZeroWidthSpace": "\u200B", 2114 | "Zeta": "\u0396", 2115 | "zeta": "\u03B6", 2116 | "zfr": "\uD835\uDD37", 2117 | "Zfr": "\u2128", 2118 | "ZHcy": "\u0416", 2119 | "zhcy": "\u0436", 2120 | "zigrarr": "\u21DD", 2121 | "zopf": "\uD835\uDD6B", 2122 | "Zopf": "\u2124", 2123 | "Zscr": "\uD835\uDCB5", 2124 | "zscr": "\uD835\uDCCF", 2125 | "zwj": "\u200D", 2126 | "zwnj": "\u200C" 2127 | } 2128 | --------------------------------------------------------------------------------