浏览代码

Update core:encoding to Unicode 15.1 table.

Jeroen van Rijn 1 年之前
父节点
当前提交
4efef08c94

+ 2 - 6
core/encoding/entity/example/entity_example.odin

@@ -47,8 +47,6 @@ _entities :: proc() {
 }
 }
 
 
 _main :: proc() {
 _main :: proc() {
-	using fmt
-
 	options := xml.Options{ flags = { .Ignore_Unsupported, .Intern_Comments, .Unbox_CDATA, .Decode_SGML_Entities }}
 	options := xml.Options{ flags = { .Ignore_Unsupported, .Intern_Comments, .Unbox_CDATA, .Decode_SGML_Entities }}
 
 
 	doc, _ := xml.parse(#load("test.html"), options)
 	doc, _ := xml.parse(#load("test.html"), options)
@@ -58,8 +56,6 @@ _main :: proc() {
 }
 }
 
 
 main :: proc() {
 main :: proc() {
-	using fmt
-
 	track: mem.Tracking_Allocator
 	track: mem.Tracking_Allocator
 	mem.tracking_allocator_init(&track, context.allocator)
 	mem.tracking_allocator_init(&track, context.allocator)
 	context.allocator = mem.tracking_allocator(&track)
 	context.allocator = mem.tracking_allocator(&track)
@@ -68,9 +64,9 @@ main :: proc() {
 	_entities()
 	_entities()
 
 
 	if len(track.allocation_map) > 0 {
 	if len(track.allocation_map) > 0 {
-		println()
+		fmt.println()
 		for _, v in track.allocation_map {
 		for _, v in track.allocation_map {
-			printf("%v Leaked %v bytes.\n", v.location, v.size)
+			fmt.printf("%v Leaked %v bytes.\n", v.location, v.size)
 		}
 		}
 	}	
 	}	
 }
 }

+ 2625 - 5027
core/encoding/entity/generated.odin

@@ -5,7 +5,7 @@ package unicode_entity
 */
 */
 
 
 /*
 /*
-	This file is generated from "https://www.w3.org/2003/entities/2007xml/unicode.xml".
+	This file is generated from "https://github.com/w3c/xml-entities/blob/gh-pages/unicode.xml".
 	
 	
 	UPDATE:
 	UPDATE:
 		- Ensure the XML file was downloaded using "tests\core\download_assets.py".
 		- Ensure the XML file was downloaded using "tests\core\download_assets.py".
@@ -13,15 +13,21 @@ package unicode_entity
 
 
 	Odin unicode generated tables: https://github.com/odin-lang/Odin/tree/master/core/encoding/entity
 	Odin unicode generated tables: https://github.com/odin-lang/Odin/tree/master/core/encoding/entity
 
 
-		Copyright © 2021 World Wide Web Consortium, (Massachusetts Institute of Technology,
-		European Research Consortium for Informatics and Mathematics, Keio University, Beihang).
+		Copyright David Carlisle 1999-2023
 
 
-		All Rights Reserved.
+		Use and distribution of this code are permitted under the terms of the
+		W3C Software Notice and License.
+		http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231.html
 
 
-		This work is distributed under the W3C® Software License [1] in the hope that it will be useful,
-		but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 
 
-		[1] http://www.w3.org/Consortium/Legal/copyright-software
+
+		This file is a collection of information about how to map
+		Unicode entities to LaTeX, and various SGML/XML entity
+		sets (ISO and MathML/HTML). A Unicode character may be mapped
+		to several entities.
+
+		Originally designed by Sebastian Rahtz in conjunction with
+		Barbara Beeton for the STIX project
 
 
 	See also: LICENSE_table.md
 	See also: LICENSE_table.md
 */
 */
@@ -55,7433 +61,5025 @@ named_xml_entity_to_rune :: proc(name: string) -> (decoded: rune, ok: bool) {
 
 
 	case 'A':
 	case 'A':
 		switch name {
 		switch name {
-			case "AElig": 
-				// LATIN CAPITAL LETTER AE
+			case "AElig":                           // LATIN CAPITAL LETTER AE
 				return rune(0xc6), true
 				return rune(0xc6), true
-			case "AMP": 
-				// AMPERSAND
+			case "AMP":                             // AMPERSAND
 				return rune(0x26), true
 				return rune(0x26), true
-			case "Aacgr": 
-				// GREEK CAPITAL LETTER ALPHA WITH TONOS
+			case "Aacgr":                           // GREEK CAPITAL LETTER ALPHA WITH TONOS
 				return rune(0x0386), true
 				return rune(0x0386), true
-			case "Aacute": 
-				// LATIN CAPITAL LETTER A WITH ACUTE
+			case "Aacute":                          // LATIN CAPITAL LETTER A WITH ACUTE
 				return rune(0xc1), true
 				return rune(0xc1), true
-			case "Abreve": 
-				// LATIN CAPITAL LETTER A WITH BREVE
+			case "Abreve":                          // LATIN CAPITAL LETTER A WITH BREVE
 				return rune(0x0102), true
 				return rune(0x0102), true
-			case "Acirc": 
-				// LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+			case "Acirc":                           // LATIN CAPITAL LETTER A WITH CIRCUMFLEX
 				return rune(0xc2), true
 				return rune(0xc2), true
-			case "Acy": 
-				// CYRILLIC CAPITAL LETTER A
+			case "Acy":                             // CYRILLIC CAPITAL LETTER A
 				return rune(0x0410), true
 				return rune(0x0410), true
-			case "Afr": 
-				// MATHEMATICAL FRAKTUR CAPITAL A
+			case "Afr":                             // MATHEMATICAL FRAKTUR CAPITAL A
 				return rune(0x01d504), true
 				return rune(0x01d504), true
-			case "Agrave": 
-				// LATIN CAPITAL LETTER A WITH GRAVE
-				return rune(0xc0), true
-			case "Agr": 
-				// GREEK CAPITAL LETTER ALPHA
+			case "Agr":                             // GREEK CAPITAL LETTER ALPHA
 				return rune(0x0391), true
 				return rune(0x0391), true
-			case "Alpha": 
-				// GREEK CAPITAL LETTER ALPHA
+			case "Agrave":                          // LATIN CAPITAL LETTER A WITH GRAVE
+				return rune(0xc0), true
+			case "Alpha":                           // GREEK CAPITAL LETTER ALPHA
 				return rune(0x0391), true
 				return rune(0x0391), true
-			case "Amacr": 
-				// LATIN CAPITAL LETTER A WITH MACRON
+			case "Amacr":                           // LATIN CAPITAL LETTER A WITH MACRON
 				return rune(0x0100), true
 				return rune(0x0100), true
-			case "And": 
-				// DOUBLE LOGICAL AND
+			case "And":                             // DOUBLE LOGICAL AND
 				return rune(0x2a53), true
 				return rune(0x2a53), true
-			case "Aogon": 
-				// LATIN CAPITAL LETTER A WITH OGONEK
+			case "Aogon":                           // LATIN CAPITAL LETTER A WITH OGONEK
 				return rune(0x0104), true
 				return rune(0x0104), true
-			case "Aopf": 
-				// MATHEMATICAL DOUBLE-STRUCK CAPITAL A
+			case "Aopf":                            // MATHEMATICAL DOUBLE-STRUCK CAPITAL A
 				return rune(0x01d538), true
 				return rune(0x01d538), true
-			case "ApplyFunction": 
-				// FUNCTION APPLICATION
+			case "ApplyFunction":                   // FUNCTION APPLICATION
 				return rune(0x2061), true
 				return rune(0x2061), true
-			case "Aring": 
-				// LATIN CAPITAL LETTER A WITH RING ABOVE
+			case "Aring":                           // LATIN CAPITAL LETTER A WITH RING ABOVE
 				return rune(0xc5), true
 				return rune(0xc5), true
-			case "Ascr": 
-				// MATHEMATICAL SCRIPT CAPITAL A
+			case "Ascr":                            // MATHEMATICAL SCRIPT CAPITAL A
 				return rune(0x01d49c), true
 				return rune(0x01d49c), true
-			case "Assign": 
-				// COLON EQUALS
+			case "Assign":                          // COLON EQUALS
 				return rune(0x2254), true
 				return rune(0x2254), true
-			case "Ast": 
-				// TWO ASTERISKS ALIGNED VERTICALLY
+			case "Ast":                             // TWO ASTERISKS ALIGNED VERTICALLY
 				return rune(0x2051), true
 				return rune(0x2051), true
-			case "Atilde": 
-				// LATIN CAPITAL LETTER A WITH TILDE
+			case "Atilde":                          // LATIN CAPITAL LETTER A WITH TILDE
 				return rune(0xc3), true
 				return rune(0xc3), true
-			case "Auml": 
-				// LATIN CAPITAL LETTER A WITH DIAERESIS
+			case "Auml":                            // LATIN CAPITAL LETTER A WITH DIAERESIS
 				return rune(0xc4), true
 				return rune(0xc4), true
 		}
 		}
 
 
 	case 'B':
 	case 'B':
 		switch name {
 		switch name {
-			case "Backslash": 
-				// SET MINUS
+			case "Backslash":                       // SET MINUS
 				return rune(0x2216), true
 				return rune(0x2216), true
-			case "Barint": 
-				// INTEGRAL WITH DOUBLE STROKE
+			case "Barint":                          // INTEGRAL WITH DOUBLE STROKE
 				return rune(0x2a0e), true
 				return rune(0x2a0e), true
-			case "Barv": 
-				// SHORT DOWN TACK WITH OVERBAR
+			case "Barv":                            // SHORT DOWN TACK WITH OVERBAR
 				return rune(0x2ae7), true
 				return rune(0x2ae7), true
-			case "Barwedl": 
-				// LOGICAL AND WITH DOUBLE OVERBAR
-				return rune(0x2a5e), true
-			case "Barwed": 
-				// PERSPECTIVE
+			case "Barwed":                          // PERSPECTIVE
 				return rune(0x2306), true
 				return rune(0x2306), true
-			case "Bcy": 
-				// CYRILLIC CAPITAL LETTER BE
+			case "Barwedl":                         // LOGICAL AND WITH DOUBLE OVERBAR
+				return rune(0x2a5e), true
+			case "Bcy":                             // CYRILLIC CAPITAL LETTER BE
 				return rune(0x0411), true
 				return rune(0x0411), true
-			case "Because": 
-				// BECAUSE
+			case "Because":                         // BECAUSE
 				return rune(0x2235), true
 				return rune(0x2235), true
-			case "Bernoullis": 
-				// SCRIPT CAPITAL B
+			case "Bernoullis":                      // SCRIPT CAPITAL B
 				return rune(0x212c), true
 				return rune(0x212c), true
-			case "Beta": 
-				// GREEK CAPITAL LETTER BETA
+			case "Beta":                            // GREEK CAPITAL LETTER BETA
 				return rune(0x0392), true
 				return rune(0x0392), true
-			case "Bfr": 
-				// MATHEMATICAL FRAKTUR CAPITAL B
+			case "Bfr":                             // MATHEMATICAL FRAKTUR CAPITAL B
 				return rune(0x01d505), true
 				return rune(0x01d505), true
-			case "Bgr": 
-				// GREEK CAPITAL LETTER BETA
+			case "Bgr":                             // GREEK CAPITAL LETTER BETA
 				return rune(0x0392), true
 				return rune(0x0392), true
-			case "Bopf": 
-				// MATHEMATICAL DOUBLE-STRUCK CAPITAL B
+			case "Bopf":                            // MATHEMATICAL DOUBLE-STRUCK CAPITAL B
 				return rune(0x01d539), true
 				return rune(0x01d539), true
-			case "Breve": 
-				// BREVE
+			case "Breve":                           // BREVE
 				return rune(0x02d8), true
 				return rune(0x02d8), true
-			case "Bscr": 
-				// SCRIPT CAPITAL B
+			case "Bscr":                            // SCRIPT CAPITAL B
 				return rune(0x212c), true
 				return rune(0x212c), true
-			case "Bumpeq": 
-				// GEOMETRICALLY EQUIVALENT TO
+			case "Bumpeq":                          // GEOMETRICALLY EQUIVALENT TO
 				return rune(0x224e), true
 				return rune(0x224e), true
-			case "Bvert": 
-				// BOX DRAWINGS LIGHT TRIPLE DASH VERTICAL
+			case "Bvert":                           // BOX DRAWINGS LIGHT TRIPLE DASH VERTICAL
 				return rune(0x2506), true
 				return rune(0x2506), true
 		}
 		}
 
 
 	case 'C':
 	case 'C':
 		switch name {
 		switch name {
-			case "CHcy": 
-				// CYRILLIC CAPITAL LETTER CHE
+			case "CHcy":                            // CYRILLIC CAPITAL LETTER CHE
 				return rune(0x0427), true
 				return rune(0x0427), true
-			case "COPY": 
-				// COPYRIGHT SIGN
+			case "COPY":                            // COPYRIGHT SIGN
 				return rune(0xa9), true
 				return rune(0xa9), true
-			case "Cacute": 
-				// LATIN CAPITAL LETTER C WITH ACUTE
+			case "Cacute":                          // LATIN CAPITAL LETTER C WITH ACUTE
 				return rune(0x0106), true
 				return rune(0x0106), true
-			case "CapitalDifferentialD": 
-				// DOUBLE-STRUCK ITALIC CAPITAL D
-				return rune(0x2145), true
-			case "Cap": 
-				// DOUBLE INTERSECTION
+			case "Cap":                             // DOUBLE INTERSECTION
 				return rune(0x22d2), true
 				return rune(0x22d2), true
-			case "Cayleys": 
-				// BLACK-LETTER CAPITAL C
+			case "CapitalDifferentialD":            // DOUBLE-STRUCK ITALIC CAPITAL D
+				return rune(0x2145), true
+			case "Cayleys":                         // BLACK-LETTER CAPITAL C
 				return rune(0x212d), true
 				return rune(0x212d), true
-			case "Ccaron": 
-				// LATIN CAPITAL LETTER C WITH CARON
+			case "Ccaron":                          // LATIN CAPITAL LETTER C WITH CARON
 				return rune(0x010c), true
 				return rune(0x010c), true
-			case "Ccedil": 
-				// LATIN CAPITAL LETTER C WITH CEDILLA
+			case "Ccedil":                          // LATIN CAPITAL LETTER C WITH CEDILLA
 				return rune(0xc7), true
 				return rune(0xc7), true
-			case "Ccirc": 
-				// LATIN CAPITAL LETTER C WITH CIRCUMFLEX
+			case "Ccirc":                           // LATIN CAPITAL LETTER C WITH CIRCUMFLEX
 				return rune(0x0108), true
 				return rune(0x0108), true
-			case "Cconint": 
-				// VOLUME INTEGRAL
+			case "Cconint":                         // VOLUME INTEGRAL
 				return rune(0x2230), true
 				return rune(0x2230), true
-			case "Cdot": 
-				// LATIN CAPITAL LETTER C WITH DOT ABOVE
+			case "Cdot":                            // LATIN CAPITAL LETTER C WITH DOT ABOVE
 				return rune(0x010a), true
 				return rune(0x010a), true
-			case "Cedilla": 
-				// CEDILLA
+			case "Cedilla":                         // CEDILLA
 				return rune(0xb8), true
 				return rune(0xb8), true
-			case "CenterDot": 
-				// MIDDLE DOT
+			case "CenterDot":                       // MIDDLE DOT
 				return rune(0xb7), true
 				return rune(0xb7), true
-			case "Cfr": 
-				// BLACK-LETTER CAPITAL C
+			case "Cfr":                             // BLACK-LETTER CAPITAL C
 				return rune(0x212d), true
 				return rune(0x212d), true
-			case "Chi": 
-				// GREEK CAPITAL LETTER CHI
+			case "Chi":                             // GREEK CAPITAL LETTER CHI
 				return rune(0x03a7), true
 				return rune(0x03a7), true
-			case "CircleDot": 
-				// CIRCLED DOT OPERATOR
+			case "CircleDot":                       // CIRCLED DOT OPERATOR
 				return rune(0x2299), true
 				return rune(0x2299), true
-			case "CircleMinus": 
-				// CIRCLED MINUS
+			case "CircleMinus":                     // CIRCLED MINUS
 				return rune(0x2296), true
 				return rune(0x2296), true
-			case "CirclePlus": 
-				// CIRCLED PLUS
+			case "CirclePlus":                      // CIRCLED PLUS
 				return rune(0x2295), true
 				return rune(0x2295), true
-			case "CircleTimes": 
-				// CIRCLED TIMES
+			case "CircleTimes":                     // CIRCLED TIMES
 				return rune(0x2297), true
 				return rune(0x2297), true
-			case "ClockwiseContourIntegral": 
-				// CLOCKWISE CONTOUR INTEGRAL
+			case "ClockwiseContourIntegral":        // CLOCKWISE CONTOUR INTEGRAL
 				return rune(0x2232), true
 				return rune(0x2232), true
-			case "CloseCurlyDoubleQuote": 
-				// RIGHT DOUBLE QUOTATION MARK
+			case "CloseCurlyDoubleQuote":           // RIGHT DOUBLE QUOTATION MARK
 				return rune(0x201d), true
 				return rune(0x201d), true
-			case "CloseCurlyQuote": 
-				// RIGHT SINGLE QUOTATION MARK
+			case "CloseCurlyQuote":                 // RIGHT SINGLE QUOTATION MARK
 				return rune(0x2019), true
 				return rune(0x2019), true
-			case "Colon": 
-				// PROPORTION
+			case "Colon":                           // PROPORTION
 				return rune(0x2237), true
 				return rune(0x2237), true
-			case "Colone": 
-				// DOUBLE COLON EQUAL
+			case "Colone":                          // DOUBLE COLON EQUAL
 				return rune(0x2a74), true
 				return rune(0x2a74), true
-			case "Congruent": 
-				// IDENTICAL TO
+			case "Congruent":                       // IDENTICAL TO
 				return rune(0x2261), true
 				return rune(0x2261), true
-			case "Conint": 
-				// SURFACE INTEGRAL
+			case "Conint":                          // SURFACE INTEGRAL
 				return rune(0x222f), true
 				return rune(0x222f), true
-			case "ContourIntegral": 
-				// CONTOUR INTEGRAL
+			case "ContourIntegral":                 // CONTOUR INTEGRAL
 				return rune(0x222e), true
 				return rune(0x222e), true
-			case "Copf": 
-				// DOUBLE-STRUCK CAPITAL C
+			case "Copf":                            // DOUBLE-STRUCK CAPITAL C
 				return rune(0x2102), true
 				return rune(0x2102), true
-			case "Coproduct": 
-				// N-ARY COPRODUCT
+			case "Coproduct":                       // N-ARY COPRODUCT
 				return rune(0x2210), true
 				return rune(0x2210), true
-			case "CounterClockwiseContourIntegral": 
-				// ANTICLOCKWISE CONTOUR INTEGRAL
+			case "CounterClockwiseContourIntegral": // ANTICLOCKWISE CONTOUR INTEGRAL
 				return rune(0x2233), true
 				return rune(0x2233), true
-			case "Cross": 
-				// VECTOR OR CROSS PRODUCT
+			case "Cross":                           // VECTOR OR CROSS PRODUCT
 				return rune(0x2a2f), true
 				return rune(0x2a2f), true
-			case "Cscr": 
-				// MATHEMATICAL SCRIPT CAPITAL C
+			case "Cscr":                            // MATHEMATICAL SCRIPT CAPITAL C
 				return rune(0x01d49e), true
 				return rune(0x01d49e), true
-			case "CupCap": 
-				// EQUIVALENT TO
-				return rune(0x224d), true
-			case "Cup": 
-				// DOUBLE UNION
+			case "Cup":                             // DOUBLE UNION
 				return rune(0x22d3), true
 				return rune(0x22d3), true
+			case "CupCap":                          // EQUIVALENT TO
+				return rune(0x224d), true
 		}
 		}
 
 
 	case 'D':
 	case 'D':
 		switch name {
 		switch name {
-			case "DD": 
-				// DOUBLE-STRUCK ITALIC CAPITAL D
+			case "DD":                              // DOUBLE-STRUCK ITALIC CAPITAL D
 				return rune(0x2145), true
 				return rune(0x2145), true
-			case "DDotrahd": 
-				// RIGHTWARDS ARROW WITH DOTTED STEM
+			case "DDotrahd":                        // RIGHTWARDS ARROW WITH DOTTED STEM
 				return rune(0x2911), true
 				return rune(0x2911), true
-			case "DJcy": 
-				// CYRILLIC CAPITAL LETTER DJE
+			case "DJcy":                            // CYRILLIC CAPITAL LETTER DJE
 				return rune(0x0402), true
 				return rune(0x0402), true
-			case "DScy": 
-				// CYRILLIC CAPITAL LETTER DZE
+			case "DScy":                            // CYRILLIC CAPITAL LETTER DZE
 				return rune(0x0405), true
 				return rune(0x0405), true
-			case "DZcy": 
-				// CYRILLIC CAPITAL LETTER DZHE
+			case "DZcy":                            // CYRILLIC CAPITAL LETTER DZHE
 				return rune(0x040f), true
 				return rune(0x040f), true
-			case "Dagger": 
-				// DOUBLE DAGGER
+			case "Dagger":                          // DOUBLE DAGGER
 				return rune(0x2021), true
 				return rune(0x2021), true
-			case "Darr": 
-				// DOWNWARDS TWO HEADED ARROW
+			case "Darr":                            // DOWNWARDS TWO HEADED ARROW
 				return rune(0x21a1), true
 				return rune(0x21a1), true
-			case "Dashv": 
-				// VERTICAL BAR DOUBLE LEFT TURNSTILE
+			case "Dashv":                           // VERTICAL BAR DOUBLE LEFT TURNSTILE
 				return rune(0x2ae4), true
 				return rune(0x2ae4), true
-			case "Dcaron": 
-				// LATIN CAPITAL LETTER D WITH CARON
+			case "Dcaron":                          // LATIN CAPITAL LETTER D WITH CARON
 				return rune(0x010e), true
 				return rune(0x010e), true
-			case "Dcy": 
-				// CYRILLIC CAPITAL LETTER DE
+			case "Dcy":                             // CYRILLIC CAPITAL LETTER DE
 				return rune(0x0414), true
 				return rune(0x0414), true
-			case "Del": 
-				// NABLA
+			case "Del":                             // NABLA
 				return rune(0x2207), true
 				return rune(0x2207), true
-			case "Delta": 
-				// GREEK CAPITAL LETTER DELTA
+			case "Delta":                           // GREEK CAPITAL LETTER DELTA
 				return rune(0x0394), true
 				return rune(0x0394), true
-			case "Dfr": 
-				// MATHEMATICAL FRAKTUR CAPITAL D
+			case "Dfr":                             // MATHEMATICAL FRAKTUR CAPITAL D
 				return rune(0x01d507), true
 				return rune(0x01d507), true
-			case "Dgr": 
-				// GREEK CAPITAL LETTER DELTA
+			case "Dgr":                             // GREEK CAPITAL LETTER DELTA
 				return rune(0x0394), true
 				return rune(0x0394), true
-			case "DiacriticalAcute": 
-				// ACUTE ACCENT
+			case "DiacriticalAcute":                // ACUTE ACCENT
 				return rune(0xb4), true
 				return rune(0xb4), true
-			case "DiacriticalDot": 
-				// DOT ABOVE
+			case "DiacriticalDot":                  // DOT ABOVE
 				return rune(0x02d9), true
 				return rune(0x02d9), true
-			case "DiacriticalDoubleAcute": 
-				// DOUBLE ACUTE ACCENT
+			case "DiacriticalDoubleAcute":          // DOUBLE ACUTE ACCENT
 				return rune(0x02dd), true
 				return rune(0x02dd), true
-			case "DiacriticalGrave": 
-				// GRAVE ACCENT
+			case "DiacriticalGrave":                // GRAVE ACCENT
 				return rune(0x60), true
 				return rune(0x60), true
-			case "DiacriticalTilde": 
-				// SMALL TILDE
+			case "DiacriticalTilde":                // SMALL TILDE
 				return rune(0x02dc), true
 				return rune(0x02dc), true
-			case "Diamond": 
-				// DIAMOND OPERATOR
+			case "Diamond":                         // DIAMOND OPERATOR
 				return rune(0x22c4), true
 				return rune(0x22c4), true
-			case "DifferentialD": 
-				// DOUBLE-STRUCK ITALIC SMALL D
+			case "DifferentialD":                   // DOUBLE-STRUCK ITALIC SMALL D
 				return rune(0x2146), true
 				return rune(0x2146), true
-			case "Dopf": 
-				// MATHEMATICAL DOUBLE-STRUCK CAPITAL D
+			case "Dopf":                            // MATHEMATICAL DOUBLE-STRUCK CAPITAL D
 				return rune(0x01d53b), true
 				return rune(0x01d53b), true
-			case "Dot": 
-				// DIAERESIS
+			case "Dot":                             // DIAERESIS
 				return rune(0xa8), true
 				return rune(0xa8), true
-			case "DotDot": 
-				// COMBINING FOUR DOTS ABOVE
+			case "DotDot":                          // COMBINING FOUR DOTS ABOVE
 				return rune(0x20dc), true
 				return rune(0x20dc), true
-			case "DotEqual": 
-				// APPROACHES THE LIMIT
+			case "DotEqual":                        // APPROACHES THE LIMIT
 				return rune(0x2250), true
 				return rune(0x2250), true
-			case "DoubleContourIntegral": 
-				// SURFACE INTEGRAL
+			case "DoubleContourIntegral":           // SURFACE INTEGRAL
 				return rune(0x222f), true
 				return rune(0x222f), true
-			case "DoubleDot": 
-				// DIAERESIS
+			case "DoubleDot":                       // DIAERESIS
 				return rune(0xa8), true
 				return rune(0xa8), true
-			case "DoubleDownArrow": 
-				// DOWNWARDS DOUBLE ARROW
+			case "DoubleDownArrow":                 // DOWNWARDS DOUBLE ARROW
 				return rune(0x21d3), true
 				return rune(0x21d3), true
-			case "DoubleLeftArrow": 
-				// LEFTWARDS DOUBLE ARROW
+			case "DoubleLeftArrow":                 // LEFTWARDS DOUBLE ARROW
 				return rune(0x21d0), true
 				return rune(0x21d0), true
-			case "DoubleLeftRightArrow": 
-				// LEFT RIGHT DOUBLE ARROW
+			case "DoubleLeftRightArrow":            // LEFT RIGHT DOUBLE ARROW
 				return rune(0x21d4), true
 				return rune(0x21d4), true
-			case "DoubleLeftTee": 
-				// VERTICAL BAR DOUBLE LEFT TURNSTILE
+			case "DoubleLeftTee":                   // VERTICAL BAR DOUBLE LEFT TURNSTILE
 				return rune(0x2ae4), true
 				return rune(0x2ae4), true
-			case "DoubleLongLeftArrow": 
-				// LONG LEFTWARDS DOUBLE ARROW
+			case "DoubleLongLeftArrow":             // LONG LEFTWARDS DOUBLE ARROW
 				return rune(0x27f8), true
 				return rune(0x27f8), true
-			case "DoubleLongLeftRightArrow": 
-				// LONG LEFT RIGHT DOUBLE ARROW
+			case "DoubleLongLeftRightArrow":        // LONG LEFT RIGHT DOUBLE ARROW
 				return rune(0x27fa), true
 				return rune(0x27fa), true
-			case "DoubleLongRightArrow": 
-				// LONG RIGHTWARDS DOUBLE ARROW
+			case "DoubleLongRightArrow":            // LONG RIGHTWARDS DOUBLE ARROW
 				return rune(0x27f9), true
 				return rune(0x27f9), true
-			case "DoubleRightArrow": 
-				// RIGHTWARDS DOUBLE ARROW
+			case "DoubleRightArrow":                // RIGHTWARDS DOUBLE ARROW
 				return rune(0x21d2), true
 				return rune(0x21d2), true
-			case "DoubleRightTee": 
-				// TRUE
+			case "DoubleRightTee":                  // TRUE
 				return rune(0x22a8), true
 				return rune(0x22a8), true
-			case "DoubleUpArrow": 
-				// UPWARDS DOUBLE ARROW
+			case "DoubleUpArrow":                   // UPWARDS DOUBLE ARROW
 				return rune(0x21d1), true
 				return rune(0x21d1), true
-			case "DoubleUpDownArrow": 
-				// UP DOWN DOUBLE ARROW
+			case "DoubleUpDownArrow":               // UP DOWN DOUBLE ARROW
 				return rune(0x21d5), true
 				return rune(0x21d5), true
-			case "DoubleVerticalBar": 
-				// PARALLEL TO
+			case "DoubleVerticalBar":               // PARALLEL TO
 				return rune(0x2225), true
 				return rune(0x2225), true
-			case "DownArrowUpArrow": 
-				// DOWNWARDS ARROW LEFTWARDS OF UPWARDS ARROW
-				return rune(0x21f5), true
-			case "DownArrow": 
-				// DOWNWARDS ARROW
+			case "DownArrow":                       // DOWNWARDS ARROW
 				return rune(0x2193), true
 				return rune(0x2193), true
-			case "DownArrowBar": 
-				// DOWNWARDS ARROW TO BAR
+			case "DownArrowBar":                    // DOWNWARDS ARROW TO BAR
 				return rune(0x2913), true
 				return rune(0x2913), true
-			case "DownBreve": 
-				// COMBINING INVERTED BREVE
+			case "DownArrowUpArrow":                // DOWNWARDS ARROW LEFTWARDS OF UPWARDS ARROW
+				return rune(0x21f5), true
+			case "DownBreve":                       // COMBINING INVERTED BREVE
 				return rune(0x0311), true
 				return rune(0x0311), true
-			case "DownLeftRightVector": 
-				// LEFT BARB DOWN RIGHT BARB DOWN HARPOON
+			case "DownLeftRightVector":             // LEFT BARB DOWN RIGHT BARB DOWN HARPOON
 				return rune(0x2950), true
 				return rune(0x2950), true
-			case "DownLeftTeeVector": 
-				// LEFTWARDS HARPOON WITH BARB DOWN FROM BAR
+			case "DownLeftTeeVector":               // LEFTWARDS HARPOON WITH BARB DOWN FROM BAR
 				return rune(0x295e), true
 				return rune(0x295e), true
-			case "DownLeftVector": 
-				// LEFTWARDS HARPOON WITH BARB DOWNWARDS
+			case "DownLeftVector":                  // LEFTWARDS HARPOON WITH BARB DOWNWARDS
 				return rune(0x21bd), true
 				return rune(0x21bd), true
-			case "DownLeftVectorBar": 
-				// LEFTWARDS HARPOON WITH BARB DOWN TO BAR
+			case "DownLeftVectorBar":               // LEFTWARDS HARPOON WITH BARB DOWN TO BAR
 				return rune(0x2956), true
 				return rune(0x2956), true
-			case "DownRightTeeVector": 
-				// RIGHTWARDS HARPOON WITH BARB DOWN FROM BAR
+			case "DownRightTeeVector":              // RIGHTWARDS HARPOON WITH BARB DOWN FROM BAR
 				return rune(0x295f), true
 				return rune(0x295f), true
-			case "DownRightVector": 
-				// RIGHTWARDS HARPOON WITH BARB DOWNWARDS
+			case "DownRightVector":                 // RIGHTWARDS HARPOON WITH BARB DOWNWARDS
 				return rune(0x21c1), true
 				return rune(0x21c1), true
-			case "DownRightVectorBar": 
-				// RIGHTWARDS HARPOON WITH BARB DOWN TO BAR
+			case "DownRightVectorBar":              // RIGHTWARDS HARPOON WITH BARB DOWN TO BAR
 				return rune(0x2957), true
 				return rune(0x2957), true
-			case "DownTeeArrow": 
-				// DOWNWARDS ARROW FROM BAR
-				return rune(0x21a7), true
-			case "DownTee": 
-				// DOWN TACK
+			case "DownTee":                         // DOWN TACK
 				return rune(0x22a4), true
 				return rune(0x22a4), true
-			case "Downarrow": 
-				// DOWNWARDS DOUBLE ARROW
+			case "DownTeeArrow":                    // DOWNWARDS ARROW FROM BAR
+				return rune(0x21a7), true
+			case "Downarrow":                       // DOWNWARDS DOUBLE ARROW
 				return rune(0x21d3), true
 				return rune(0x21d3), true
-			case "Dscr": 
-				// MATHEMATICAL SCRIPT CAPITAL D
+			case "Dscr":                            // MATHEMATICAL SCRIPT CAPITAL D
 				return rune(0x01d49f), true
 				return rune(0x01d49f), true
-			case "Dstrok": 
-				// LATIN CAPITAL LETTER D WITH STROKE
+			case "Dstrok":                          // LATIN CAPITAL LETTER D WITH STROKE
 				return rune(0x0110), true
 				return rune(0x0110), true
 		}
 		}
 
 
 	case 'E':
 	case 'E':
 		switch name {
 		switch name {
-			case "EEacgr": 
-				// GREEK CAPITAL LETTER ETA WITH TONOS
+			case "EEacgr":                          // GREEK CAPITAL LETTER ETA WITH TONOS
 				return rune(0x0389), true
 				return rune(0x0389), true
-			case "EEgr": 
-				// GREEK CAPITAL LETTER ETA
+			case "EEgr":                            // GREEK CAPITAL LETTER ETA
 				return rune(0x0397), true
 				return rune(0x0397), true
-			case "ENG": 
-				// LATIN CAPITAL LETTER ENG
+			case "ENG":                             // LATIN CAPITAL LETTER ENG
 				return rune(0x014a), true
 				return rune(0x014a), true
-			case "ETH": 
-				// LATIN CAPITAL LETTER ETH
+			case "ETH":                             // LATIN CAPITAL LETTER ETH
 				return rune(0xd0), true
 				return rune(0xd0), true
-			case "Eacgr": 
-				// GREEK CAPITAL LETTER EPSILON WITH TONOS
+			case "Eacgr":                           // GREEK CAPITAL LETTER EPSILON WITH TONOS
 				return rune(0x0388), true
 				return rune(0x0388), true
-			case "Eacute": 
-				// LATIN CAPITAL LETTER E WITH ACUTE
+			case "Eacute":                          // LATIN CAPITAL LETTER E WITH ACUTE
 				return rune(0xc9), true
 				return rune(0xc9), true
-			case "Ecaron": 
-				// LATIN CAPITAL LETTER E WITH CARON
+			case "Ecaron":                          // LATIN CAPITAL LETTER E WITH CARON
 				return rune(0x011a), true
 				return rune(0x011a), true
-			case "Ecirc": 
-				// LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+			case "Ecirc":                           // LATIN CAPITAL LETTER E WITH CIRCUMFLEX
 				return rune(0xca), true
 				return rune(0xca), true
-			case "Ecy": 
-				// CYRILLIC CAPITAL LETTER E
+			case "Ecy":                             // CYRILLIC CAPITAL LETTER E
 				return rune(0x042d), true
 				return rune(0x042d), true
-			case "Edot": 
-				// LATIN CAPITAL LETTER E WITH DOT ABOVE
+			case "Edot":                            // LATIN CAPITAL LETTER E WITH DOT ABOVE
 				return rune(0x0116), true
 				return rune(0x0116), true
-			case "Efr": 
-				// MATHEMATICAL FRAKTUR CAPITAL E
+			case "Efr":                             // MATHEMATICAL FRAKTUR CAPITAL E
 				return rune(0x01d508), true
 				return rune(0x01d508), true
-			case "Egrave": 
-				// LATIN CAPITAL LETTER E WITH GRAVE
-				return rune(0xc8), true
-			case "Egr": 
-				// GREEK CAPITAL LETTER EPSILON
+			case "Egr":                             // GREEK CAPITAL LETTER EPSILON
 				return rune(0x0395), true
 				return rune(0x0395), true
-			case "Element": 
-				// ELEMENT OF
+			case "Egrave":                          // LATIN CAPITAL LETTER E WITH GRAVE
+				return rune(0xc8), true
+			case "Element":                         // ELEMENT OF
 				return rune(0x2208), true
 				return rune(0x2208), true
-			case "Emacr": 
-				// LATIN CAPITAL LETTER E WITH MACRON
+			case "Emacr":                           // LATIN CAPITAL LETTER E WITH MACRON
 				return rune(0x0112), true
 				return rune(0x0112), true
-			case "EmptySmallSquare": 
-				// WHITE MEDIUM SQUARE
+			case "EmptySmallSquare":                // WHITE MEDIUM SQUARE
 				return rune(0x25fb), true
 				return rune(0x25fb), true
-			case "EmptyVerySmallSquare": 
-				// WHITE SMALL SQUARE
+			case "EmptyVerySmallSquare":            // WHITE SMALL SQUARE
 				return rune(0x25ab), true
 				return rune(0x25ab), true
-			case "Eogon": 
-				// LATIN CAPITAL LETTER E WITH OGONEK
+			case "Eogon":                           // LATIN CAPITAL LETTER E WITH OGONEK
 				return rune(0x0118), true
 				return rune(0x0118), true
-			case "Eopf": 
-				// MATHEMATICAL DOUBLE-STRUCK CAPITAL E
+			case "Eopf":                            // MATHEMATICAL DOUBLE-STRUCK CAPITAL E
 				return rune(0x01d53c), true
 				return rune(0x01d53c), true
-			case "Epsilon": 
-				// GREEK CAPITAL LETTER EPSILON
+			case "Epsilon":                         // GREEK CAPITAL LETTER EPSILON
 				return rune(0x0395), true
 				return rune(0x0395), true
-			case "EqualTilde": 
-				// MINUS TILDE
-				return rune(0x2242), true
-			case "Equal": 
-				// TWO CONSECUTIVE EQUALS SIGNS
+			case "Equal":                           // TWO CONSECUTIVE EQUALS SIGNS
 				return rune(0x2a75), true
 				return rune(0x2a75), true
-			case "Equilibrium": 
-				// RIGHTWARDS HARPOON OVER LEFTWARDS HARPOON
+			case "EqualTilde":                      // MINUS TILDE
+				return rune(0x2242), true
+			case "Equilibrium":                     // RIGHTWARDS HARPOON OVER LEFTWARDS HARPOON
 				return rune(0x21cc), true
 				return rune(0x21cc), true
-			case "Escr": 
-				// SCRIPT CAPITAL E
+			case "Escr":                            // SCRIPT CAPITAL E
 				return rune(0x2130), true
 				return rune(0x2130), true
-			case "Esim": 
-				// EQUALS SIGN ABOVE TILDE OPERATOR
+			case "Esim":                            // EQUALS SIGN ABOVE TILDE OPERATOR
 				return rune(0x2a73), true
 				return rune(0x2a73), true
-			case "Eta": 
-				// GREEK CAPITAL LETTER ETA
+			case "Eta":                             // GREEK CAPITAL LETTER ETA
 				return rune(0x0397), true
 				return rune(0x0397), true
-			case "Euml": 
-				// LATIN CAPITAL LETTER E WITH DIAERESIS
+			case "Euml":                            // LATIN CAPITAL LETTER E WITH DIAERESIS
 				return rune(0xcb), true
 				return rune(0xcb), true
-			case "Exists": 
-				// THERE EXISTS
+			case "Exists":                          // THERE EXISTS
 				return rune(0x2203), true
 				return rune(0x2203), true
-			case "ExponentialE": 
-				// DOUBLE-STRUCK ITALIC SMALL E
+			case "ExponentialE":                    // DOUBLE-STRUCK ITALIC SMALL E
 				return rune(0x2147), true
 				return rune(0x2147), true
 		}
 		}
 
 
 	case 'F':
 	case 'F':
 		switch name {
 		switch name {
-			case "Fcy": 
-				// CYRILLIC CAPITAL LETTER EF
+			case "Fcy":                             // CYRILLIC CAPITAL LETTER EF
 				return rune(0x0424), true
 				return rune(0x0424), true
-			case "Ffr": 
-				// MATHEMATICAL FRAKTUR CAPITAL F
+			case "Ffr":                             // MATHEMATICAL FRAKTUR CAPITAL F
 				return rune(0x01d509), true
 				return rune(0x01d509), true
-			case "FilledSmallSquare": 
-				// BLACK MEDIUM SQUARE
+			case "FilledSmallSquare":               // BLACK MEDIUM SQUARE
 				return rune(0x25fc), true
 				return rune(0x25fc), true
-			case "FilledVerySmallSquare": 
-				// BLACK SMALL SQUARE
+			case "FilledVerySmallSquare":           // BLACK SMALL SQUARE
 				return rune(0x25aa), true
 				return rune(0x25aa), true
-			case "Fopf": 
-				// MATHEMATICAL DOUBLE-STRUCK CAPITAL F
+			case "Fopf":                            // MATHEMATICAL DOUBLE-STRUCK CAPITAL F
 				return rune(0x01d53d), true
 				return rune(0x01d53d), true
-			case "ForAll": 
-				// FOR ALL
+			case "ForAll":                          // FOR ALL
 				return rune(0x2200), true
 				return rune(0x2200), true
-			case "Fouriertrf": 
-				// SCRIPT CAPITAL F
+			case "Fouriertrf":                      // SCRIPT CAPITAL F
 				return rune(0x2131), true
 				return rune(0x2131), true
-			case "Fscr": 
-				// SCRIPT CAPITAL F
+			case "Fscr":                            // SCRIPT CAPITAL F
 				return rune(0x2131), true
 				return rune(0x2131), true
 		}
 		}
 
 
 	case 'G':
 	case 'G':
 		switch name {
 		switch name {
-			case "GJcy": 
-				// CYRILLIC CAPITAL LETTER GJE
+			case "GJcy":                            // CYRILLIC CAPITAL LETTER GJE
 				return rune(0x0403), true
 				return rune(0x0403), true
-			case "GT": 
-				// GREATER-THAN SIGN
+			case "GT":                              // GREATER-THAN SIGN
 				return rune(0x3e), true
 				return rune(0x3e), true
-			case "Game": 
-				// TURNED SANS-SERIF CAPITAL G
+			case "Game":                            // TURNED SANS-SERIF CAPITAL G
 				return rune(0x2141), true
 				return rune(0x2141), true
-			case "Gamma": 
-				// GREEK CAPITAL LETTER GAMMA
+			case "Gamma":                           // GREEK CAPITAL LETTER GAMMA
 				return rune(0x0393), true
 				return rune(0x0393), true
-			case "Gammad": 
-				// GREEK LETTER DIGAMMA
+			case "Gammad":                          // GREEK LETTER DIGAMMA
 				return rune(0x03dc), true
 				return rune(0x03dc), true
-			case "Gbreve": 
-				// LATIN CAPITAL LETTER G WITH BREVE
+			case "Gbreve":                          // LATIN CAPITAL LETTER G WITH BREVE
 				return rune(0x011e), true
 				return rune(0x011e), true
-			case "Gcedil": 
-				// LATIN CAPITAL LETTER G WITH CEDILLA
+			case "Gcedil":                          // LATIN CAPITAL LETTER G WITH CEDILLA
 				return rune(0x0122), true
 				return rune(0x0122), true
-			case "Gcirc": 
-				// LATIN CAPITAL LETTER G WITH CIRCUMFLEX
+			case "Gcirc":                           // LATIN CAPITAL LETTER G WITH CIRCUMFLEX
 				return rune(0x011c), true
 				return rune(0x011c), true
-			case "Gcy": 
-				// CYRILLIC CAPITAL LETTER GHE
+			case "Gcy":                             // CYRILLIC CAPITAL LETTER GHE
 				return rune(0x0413), true
 				return rune(0x0413), true
-			case "Gdot": 
-				// LATIN CAPITAL LETTER G WITH DOT ABOVE
+			case "Gdot":                            // LATIN CAPITAL LETTER G WITH DOT ABOVE
 				return rune(0x0120), true
 				return rune(0x0120), true
-			case "Gfr": 
-				// MATHEMATICAL FRAKTUR CAPITAL G
+			case "Gfr":                             // MATHEMATICAL FRAKTUR CAPITAL G
 				return rune(0x01d50a), true
 				return rune(0x01d50a), true
-			case "Ggr": 
-				// GREEK CAPITAL LETTER GAMMA
-				return rune(0x0393), true
-			case "Gg": 
-				// VERY MUCH GREATER-THAN
+			case "Gg":                              // VERY MUCH GREATER-THAN
 				return rune(0x22d9), true
 				return rune(0x22d9), true
-			case "Gopf": 
-				// MATHEMATICAL DOUBLE-STRUCK CAPITAL G
+			case "Ggr":                             // GREEK CAPITAL LETTER GAMMA
+				return rune(0x0393), true
+			case "Gopf":                            // MATHEMATICAL DOUBLE-STRUCK CAPITAL G
 				return rune(0x01d53e), true
 				return rune(0x01d53e), true
-			case "GreaterEqual": 
-				// GREATER-THAN OR EQUAL TO
+			case "GreaterEqual":                    // GREATER-THAN OR EQUAL TO
 				return rune(0x2265), true
 				return rune(0x2265), true
-			case "GreaterEqualLess": 
-				// GREATER-THAN EQUAL TO OR LESS-THAN
+			case "GreaterEqualLess":                // GREATER-THAN EQUAL TO OR LESS-THAN
 				return rune(0x22db), true
 				return rune(0x22db), true
-			case "GreaterFullEqual": 
-				// GREATER-THAN OVER EQUAL TO
+			case "GreaterFullEqual":                // GREATER-THAN OVER EQUAL TO
 				return rune(0x2267), true
 				return rune(0x2267), true
-			case "GreaterGreater": 
-				// DOUBLE NESTED GREATER-THAN
+			case "GreaterGreater":                  // DOUBLE NESTED GREATER-THAN
 				return rune(0x2aa2), true
 				return rune(0x2aa2), true
-			case "GreaterLess": 
-				// GREATER-THAN OR LESS-THAN
+			case "GreaterLess":                     // GREATER-THAN OR LESS-THAN
 				return rune(0x2277), true
 				return rune(0x2277), true
-			case "GreaterSlantEqual": 
-				// GREATER-THAN OR SLANTED EQUAL TO
+			case "GreaterSlantEqual":               // GREATER-THAN OR SLANTED EQUAL TO
 				return rune(0x2a7e), true
 				return rune(0x2a7e), true
-			case "GreaterTilde": 
-				// GREATER-THAN OR EQUIVALENT TO
+			case "GreaterTilde":                    // GREATER-THAN OR EQUIVALENT TO
 				return rune(0x2273), true
 				return rune(0x2273), true
-			case "Gscr": 
-				// MATHEMATICAL SCRIPT CAPITAL G
+			case "Gscr":                            // MATHEMATICAL SCRIPT CAPITAL G
 				return rune(0x01d4a2), true
 				return rune(0x01d4a2), true
-			case "Gt": 
-				// MUCH GREATER-THAN
+			case "Gt":                              // MUCH GREATER-THAN
 				return rune(0x226b), true
 				return rune(0x226b), true
 		}
 		}
 
 
 	case 'H':
 	case 'H':
 		switch name {
 		switch name {
-			case "HARDcy": 
-				// CYRILLIC CAPITAL LETTER HARD SIGN
+			case "HARDcy":                          // CYRILLIC CAPITAL LETTER HARD SIGN
 				return rune(0x042a), true
 				return rune(0x042a), true
-			case "Hacek": 
-				// CARON
+			case "Hacek":                           // CARON
 				return rune(0x02c7), true
 				return rune(0x02c7), true
-			case "Hat": 
-				// CIRCUMFLEX ACCENT
+			case "Hat":                             // CIRCUMFLEX ACCENT
 				return rune(0x5e), true
 				return rune(0x5e), true
-			case "Hcirc": 
-				// LATIN CAPITAL LETTER H WITH CIRCUMFLEX
+			case "Hcirc":                           // LATIN CAPITAL LETTER H WITH CIRCUMFLEX
 				return rune(0x0124), true
 				return rune(0x0124), true
-			case "Hfr": 
-				// BLACK-LETTER CAPITAL H
+			case "Hfr":                             // BLACK-LETTER CAPITAL H
 				return rune(0x210c), true
 				return rune(0x210c), true
-			case "HilbertSpace": 
-				// SCRIPT CAPITAL H
+			case "HilbertSpace":                    // SCRIPT CAPITAL H
 				return rune(0x210b), true
 				return rune(0x210b), true
-			case "Hopf": 
-				// DOUBLE-STRUCK CAPITAL H
+			case "Hopf":                            // DOUBLE-STRUCK CAPITAL H
 				return rune(0x210d), true
 				return rune(0x210d), true
-			case "HorizontalLine": 
-				// BOX DRAWINGS LIGHT HORIZONTAL
+			case "HorizontalLine":                  // BOX DRAWINGS LIGHT HORIZONTAL
 				return rune(0x2500), true
 				return rune(0x2500), true
-			case "Hscr": 
-				// SCRIPT CAPITAL H
+			case "Hscr":                            // SCRIPT CAPITAL H
 				return rune(0x210b), true
 				return rune(0x210b), true
-			case "Hstrok": 
-				// LATIN CAPITAL LETTER H WITH STROKE
+			case "Hstrok":                          // LATIN CAPITAL LETTER H WITH STROKE
 				return rune(0x0126), true
 				return rune(0x0126), true
-			case "HumpDownHump": 
-				// GEOMETRICALLY EQUIVALENT TO
+			case "HumpDownHump":                    // GEOMETRICALLY EQUIVALENT TO
 				return rune(0x224e), true
 				return rune(0x224e), true
-			case "HumpEqual": 
-				// DIFFERENCE BETWEEN
+			case "HumpEqual":                       // DIFFERENCE BETWEEN
 				return rune(0x224f), true
 				return rune(0x224f), true
 		}
 		}
 
 
 	case 'I':
 	case 'I':
 		switch name {
 		switch name {
-			case "IEcy": 
-				// CYRILLIC CAPITAL LETTER IE
+			case "IEcy":                            // CYRILLIC CAPITAL LETTER IE
 				return rune(0x0415), true
 				return rune(0x0415), true
-			case "IJlig": 
-				// LATIN CAPITAL LIGATURE IJ
+			case "IJlig":                           // LATIN CAPITAL LIGATURE IJ
 				return rune(0x0132), true
 				return rune(0x0132), true
-			case "IOcy": 
-				// CYRILLIC CAPITAL LETTER IO
+			case "IOcy":                            // CYRILLIC CAPITAL LETTER IO
 				return rune(0x0401), true
 				return rune(0x0401), true
-			case "Iacgr": 
-				// GREEK CAPITAL LETTER IOTA WITH TONOS
+			case "Iacgr":                           // GREEK CAPITAL LETTER IOTA WITH TONOS
 				return rune(0x038a), true
 				return rune(0x038a), true
-			case "Iacute": 
-				// LATIN CAPITAL LETTER I WITH ACUTE
+			case "Iacute":                          // LATIN CAPITAL LETTER I WITH ACUTE
 				return rune(0xcd), true
 				return rune(0xcd), true
-			case "Icirc": 
-				// LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+			case "Icirc":                           // LATIN CAPITAL LETTER I WITH CIRCUMFLEX
 				return rune(0xce), true
 				return rune(0xce), true
-			case "Icy": 
-				// CYRILLIC CAPITAL LETTER I
+			case "Icy":                             // CYRILLIC CAPITAL LETTER I
 				return rune(0x0418), true
 				return rune(0x0418), true
-			case "Idigr": 
-				// GREEK CAPITAL LETTER IOTA WITH DIALYTIKA
+			case "Idigr":                           // GREEK CAPITAL LETTER IOTA WITH DIALYTIKA
 				return rune(0x03aa), true
 				return rune(0x03aa), true
-			case "Idot": 
-				// LATIN CAPITAL LETTER I WITH DOT ABOVE
+			case "Idot":                            // LATIN CAPITAL LETTER I WITH DOT ABOVE
 				return rune(0x0130), true
 				return rune(0x0130), true
-			case "Ifr": 
-				// BLACK-LETTER CAPITAL I
+			case "Ifr":                             // BLACK-LETTER CAPITAL I
 				return rune(0x2111), true
 				return rune(0x2111), true
-			case "Igrave": 
-				// LATIN CAPITAL LETTER I WITH GRAVE
-				return rune(0xcc), true
-			case "Igr": 
-				// GREEK CAPITAL LETTER IOTA
+			case "Igr":                             // GREEK CAPITAL LETTER IOTA
 				return rune(0x0399), true
 				return rune(0x0399), true
-			case "Imacr": 
-				// LATIN CAPITAL LETTER I WITH MACRON
+			case "Igrave":                          // LATIN CAPITAL LETTER I WITH GRAVE
+				return rune(0xcc), true
+			case "Im":                              // BLACK-LETTER CAPITAL I
+				return rune(0x2111), true
+			case "Imacr":                           // LATIN CAPITAL LETTER I WITH MACRON
 				return rune(0x012a), true
 				return rune(0x012a), true
-			case "ImaginaryI": 
-				// DOUBLE-STRUCK ITALIC SMALL I
+			case "ImaginaryI":                      // DOUBLE-STRUCK ITALIC SMALL I
 				return rune(0x2148), true
 				return rune(0x2148), true
-			case "Implies": 
-				// RIGHTWARDS DOUBLE ARROW
+			case "Implies":                         // RIGHTWARDS DOUBLE ARROW
 				return rune(0x21d2), true
 				return rune(0x21d2), true
-			case "Im": 
-				// BLACK-LETTER CAPITAL I
-				return rune(0x2111), true
-			case "Integral": 
-				// INTEGRAL
-				return rune(0x222b), true
-			case "Int": 
-				// DOUBLE INTEGRAL
+			case "Int":                             // DOUBLE INTEGRAL
 				return rune(0x222c), true
 				return rune(0x222c), true
-			case "Intersection": 
-				// N-ARY INTERSECTION
+			case "Integral":                        // INTEGRAL
+				return rune(0x222b), true
+			case "Intersection":                    // N-ARY INTERSECTION
 				return rune(0x22c2), true
 				return rune(0x22c2), true
-			case "InvisibleComma": 
-				// INVISIBLE SEPARATOR
+			case "InvisibleComma":                  // INVISIBLE SEPARATOR
 				return rune(0x2063), true
 				return rune(0x2063), true
-			case "InvisibleTimes": 
-				// INVISIBLE TIMES
+			case "InvisibleTimes":                  // INVISIBLE TIMES
 				return rune(0x2062), true
 				return rune(0x2062), true
-			case "Iogon": 
-				// LATIN CAPITAL LETTER I WITH OGONEK
+			case "Iogon":                           // LATIN CAPITAL LETTER I WITH OGONEK
 				return rune(0x012e), true
 				return rune(0x012e), true
-			case "Iopf": 
-				// MATHEMATICAL DOUBLE-STRUCK CAPITAL I
+			case "Iopf":                            // MATHEMATICAL DOUBLE-STRUCK CAPITAL I
 				return rune(0x01d540), true
 				return rune(0x01d540), true
-			case "Iota": 
-				// GREEK CAPITAL LETTER IOTA
+			case "Iota":                            // GREEK CAPITAL LETTER IOTA
 				return rune(0x0399), true
 				return rune(0x0399), true
-			case "Iscr": 
-				// SCRIPT CAPITAL I
+			case "Iscr":                            // SCRIPT CAPITAL I
 				return rune(0x2110), true
 				return rune(0x2110), true
-			case "Itilde": 
-				// LATIN CAPITAL LETTER I WITH TILDE
+			case "Itilde":                          // LATIN CAPITAL LETTER I WITH TILDE
 				return rune(0x0128), true
 				return rune(0x0128), true
-			case "Iukcy": 
-				// CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
+			case "Iukcy":                           // CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
 				return rune(0x0406), true
 				return rune(0x0406), true
-			case "Iuml": 
-				// LATIN CAPITAL LETTER I WITH DIAERESIS
+			case "Iuml":                            // LATIN CAPITAL LETTER I WITH DIAERESIS
 				return rune(0xcf), true
 				return rune(0xcf), true
 		}
 		}
 
 
 	case 'J':
 	case 'J':
 		switch name {
 		switch name {
-			case "Jcirc": 
-				// LATIN CAPITAL LETTER J WITH CIRCUMFLEX
+			case "Jcirc":                           // LATIN CAPITAL LETTER J WITH CIRCUMFLEX
 				return rune(0x0134), true
 				return rune(0x0134), true
-			case "Jcy": 
-				// CYRILLIC CAPITAL LETTER SHORT I
+			case "Jcy":                             // CYRILLIC CAPITAL LETTER SHORT I
 				return rune(0x0419), true
 				return rune(0x0419), true
-			case "Jfr": 
-				// MATHEMATICAL FRAKTUR CAPITAL J
+			case "Jfr":                             // MATHEMATICAL FRAKTUR CAPITAL J
 				return rune(0x01d50d), true
 				return rune(0x01d50d), true
-			case "Jopf": 
-				// MATHEMATICAL DOUBLE-STRUCK CAPITAL J
+			case "Jopf":                            // MATHEMATICAL DOUBLE-STRUCK CAPITAL J
 				return rune(0x01d541), true
 				return rune(0x01d541), true
-			case "Jscr": 
-				// MATHEMATICAL SCRIPT CAPITAL J
+			case "Jscr":                            // MATHEMATICAL SCRIPT CAPITAL J
 				return rune(0x01d4a5), true
 				return rune(0x01d4a5), true
-			case "Jsercy": 
-				// CYRILLIC CAPITAL LETTER JE
+			case "Jsercy":                          // CYRILLIC CAPITAL LETTER JE
 				return rune(0x0408), true
 				return rune(0x0408), true
-			case "Jukcy": 
-				// CYRILLIC CAPITAL LETTER UKRAINIAN IE
+			case "Jukcy":                           // CYRILLIC CAPITAL LETTER UKRAINIAN IE
 				return rune(0x0404), true
 				return rune(0x0404), true
 		}
 		}
 
 
 	case 'K':
 	case 'K':
 		switch name {
 		switch name {
-			case "KHcy": 
-				// CYRILLIC CAPITAL LETTER HA
+			case "KHcy":                            // CYRILLIC CAPITAL LETTER HA
 				return rune(0x0425), true
 				return rune(0x0425), true
-			case "KHgr": 
-				// GREEK CAPITAL LETTER CHI
+			case "KHgr":                            // GREEK CAPITAL LETTER CHI
 				return rune(0x03a7), true
 				return rune(0x03a7), true
-			case "KJcy": 
-				// CYRILLIC CAPITAL LETTER KJE
+			case "KJcy":                            // CYRILLIC CAPITAL LETTER KJE
 				return rune(0x040c), true
 				return rune(0x040c), true
-			case "Kappa": 
-				// GREEK CAPITAL LETTER KAPPA
+			case "Kappa":                           // GREEK CAPITAL LETTER KAPPA
 				return rune(0x039a), true
 				return rune(0x039a), true
-			case "Kcedil": 
-				// LATIN CAPITAL LETTER K WITH CEDILLA
+			case "Kcedil":                          // LATIN CAPITAL LETTER K WITH CEDILLA
 				return rune(0x0136), true
 				return rune(0x0136), true
-			case "Kcy": 
-				// CYRILLIC CAPITAL LETTER KA
+			case "Kcy":                             // CYRILLIC CAPITAL LETTER KA
 				return rune(0x041a), true
 				return rune(0x041a), true
-			case "Kfr": 
-				// MATHEMATICAL FRAKTUR CAPITAL K
+			case "Kfr":                             // MATHEMATICAL FRAKTUR CAPITAL K
 				return rune(0x01d50e), true
 				return rune(0x01d50e), true
-			case "Kgr": 
-				// GREEK CAPITAL LETTER KAPPA
+			case "Kgr":                             // GREEK CAPITAL LETTER KAPPA
 				return rune(0x039a), true
 				return rune(0x039a), true
-			case "Kopf": 
-				// MATHEMATICAL DOUBLE-STRUCK CAPITAL K
+			case "Kopf":                            // MATHEMATICAL DOUBLE-STRUCK CAPITAL K
 				return rune(0x01d542), true
 				return rune(0x01d542), true
-			case "Kscr": 
-				// MATHEMATICAL SCRIPT CAPITAL K
+			case "Kscr":                            // MATHEMATICAL SCRIPT CAPITAL K
 				return rune(0x01d4a6), true
 				return rune(0x01d4a6), true
 		}
 		}
 
 
 	case 'L':
 	case 'L':
 		switch name {
 		switch name {
-			case "LJcy": 
-				// CYRILLIC CAPITAL LETTER LJE
+			case "LJcy":                            // CYRILLIC CAPITAL LETTER LJE
 				return rune(0x0409), true
 				return rune(0x0409), true
-			case "LT": 
-				// LESS-THAN SIGN
+			case "LT":                              // LESS-THAN SIGN
 				return rune(0x3c), true
 				return rune(0x3c), true
-			case "Lacute": 
-				// LATIN CAPITAL LETTER L WITH ACUTE
+			case "Lacute":                          // LATIN CAPITAL LETTER L WITH ACUTE
 				return rune(0x0139), true
 				return rune(0x0139), true
-			case "Lambda": 
-				// GREEK CAPITAL LETTER LAMDA
+			case "Lambda":                          // GREEK CAPITAL LETTER LAMDA
 				return rune(0x039b), true
 				return rune(0x039b), true
-			case "Lang": 
-				// MATHEMATICAL LEFT DOUBLE ANGLE BRACKET
+			case "Lang":                            // MATHEMATICAL LEFT DOUBLE ANGLE BRACKET
 				return rune(0x27ea), true
 				return rune(0x27ea), true
-			case "Laplacetrf": 
-				// SCRIPT CAPITAL L
+			case "Laplacetrf":                      // SCRIPT CAPITAL L
 				return rune(0x2112), true
 				return rune(0x2112), true
-			case "Larr": 
-				// LEFTWARDS TWO HEADED ARROW
+			case "Larr":                            // LEFTWARDS TWO HEADED ARROW
 				return rune(0x219e), true
 				return rune(0x219e), true
-			case "Lcaron": 
-				// LATIN CAPITAL LETTER L WITH CARON
+			case "Lcaron":                          // LATIN CAPITAL LETTER L WITH CARON
 				return rune(0x013d), true
 				return rune(0x013d), true
-			case "Lcedil": 
-				// LATIN CAPITAL LETTER L WITH CEDILLA
+			case "Lcedil":                          // LATIN CAPITAL LETTER L WITH CEDILLA
 				return rune(0x013b), true
 				return rune(0x013b), true
-			case "Lcy": 
-				// CYRILLIC CAPITAL LETTER EL
+			case "Lcy":                             // CYRILLIC CAPITAL LETTER EL
 				return rune(0x041b), true
 				return rune(0x041b), true
-			case "LeftAngleBracket": 
-				// MATHEMATICAL LEFT ANGLE BRACKET
+			case "LeftAngleBracket":                // MATHEMATICAL LEFT ANGLE BRACKET
 				return rune(0x27e8), true
 				return rune(0x27e8), true
-			case "LeftArrowBar": 
-				// LEFTWARDS ARROW TO BAR
+			case "LeftArrow":                       // LEFTWARDS ARROW
+				return rune(0x2190), true
+			case "LeftArrowBar":                    // LEFTWARDS ARROW TO BAR
 				return rune(0x21e4), true
 				return rune(0x21e4), true
-			case "LeftArrowRightArrow": 
-				// LEFTWARDS ARROW OVER RIGHTWARDS ARROW
+			case "LeftArrowRightArrow":             // LEFTWARDS ARROW OVER RIGHTWARDS ARROW
 				return rune(0x21c6), true
 				return rune(0x21c6), true
-			case "LeftArrow": 
-				// LEFTWARDS ARROW
-				return rune(0x2190), true
-			case "LeftCeiling": 
-				// LEFT CEILING
+			case "LeftCeiling":                     // LEFT CEILING
 				return rune(0x2308), true
 				return rune(0x2308), true
-			case "LeftDoubleBracket": 
-				// MATHEMATICAL LEFT WHITE SQUARE BRACKET
+			case "LeftDoubleBracket":               // MATHEMATICAL LEFT WHITE SQUARE BRACKET
 				return rune(0x27e6), true
 				return rune(0x27e6), true
-			case "LeftDownTeeVector": 
-				// DOWNWARDS HARPOON WITH BARB LEFT FROM BAR
+			case "LeftDownTeeVector":               // DOWNWARDS HARPOON WITH BARB LEFT FROM BAR
 				return rune(0x2961), true
 				return rune(0x2961), true
-			case "LeftDownVector": 
-				// DOWNWARDS HARPOON WITH BARB LEFTWARDS
+			case "LeftDownVector":                  // DOWNWARDS HARPOON WITH BARB LEFTWARDS
 				return rune(0x21c3), true
 				return rune(0x21c3), true
-			case "LeftDownVectorBar": 
-				// DOWNWARDS HARPOON WITH BARB LEFT TO BAR
+			case "LeftDownVectorBar":               // DOWNWARDS HARPOON WITH BARB LEFT TO BAR
 				return rune(0x2959), true
 				return rune(0x2959), true
-			case "LeftFloor": 
-				// LEFT FLOOR
+			case "LeftFloor":                       // LEFT FLOOR
 				return rune(0x230a), true
 				return rune(0x230a), true
-			case "LeftRightArrow": 
-				// LEFT RIGHT ARROW
+			case "LeftRightArrow":                  // LEFT RIGHT ARROW
 				return rune(0x2194), true
 				return rune(0x2194), true
-			case "LeftRightVector": 
-				// LEFT BARB UP RIGHT BARB UP HARPOON
+			case "LeftRightVector":                 // LEFT BARB UP RIGHT BARB UP HARPOON
 				return rune(0x294e), true
 				return rune(0x294e), true
-			case "LeftTeeArrow": 
-				// LEFTWARDS ARROW FROM BAR
+			case "LeftTee":                         // LEFT TACK
+				return rune(0x22a3), true
+			case "LeftTeeArrow":                    // LEFTWARDS ARROW FROM BAR
 				return rune(0x21a4), true
 				return rune(0x21a4), true
-			case "LeftTeeVector": 
-				// LEFTWARDS HARPOON WITH BARB UP FROM BAR
+			case "LeftTeeVector":                   // LEFTWARDS HARPOON WITH BARB UP FROM BAR
 				return rune(0x295a), true
 				return rune(0x295a), true
-			case "LeftTee": 
-				// LEFT TACK
-				return rune(0x22a3), true
-			case "LeftTriangleBar": 
-				// LEFT TRIANGLE BESIDE VERTICAL BAR
-				return rune(0x29cf), true
-			case "LeftTriangle": 
-				// NORMAL SUBGROUP OF
+			case "LeftTriangle":                    // NORMAL SUBGROUP OF
 				return rune(0x22b2), true
 				return rune(0x22b2), true
-			case "LeftTriangleEqual": 
-				// NORMAL SUBGROUP OF OR EQUAL TO
+			case "LeftTriangleBar":                 // LEFT TRIANGLE BESIDE VERTICAL BAR
+				return rune(0x29cf), true
+			case "LeftTriangleEqual":               // NORMAL SUBGROUP OF OR EQUAL TO
 				return rune(0x22b4), true
 				return rune(0x22b4), true
-			case "LeftUpDownVector": 
-				// UP BARB LEFT DOWN BARB LEFT HARPOON
+			case "LeftUpDownVector":                // UP BARB LEFT DOWN BARB LEFT HARPOON
 				return rune(0x2951), true
 				return rune(0x2951), true
-			case "LeftUpTeeVector": 
-				// UPWARDS HARPOON WITH BARB LEFT FROM BAR
+			case "LeftUpTeeVector":                 // UPWARDS HARPOON WITH BARB LEFT FROM BAR
 				return rune(0x2960), true
 				return rune(0x2960), true
-			case "LeftUpVector": 
-				// UPWARDS HARPOON WITH BARB LEFTWARDS
+			case "LeftUpVector":                    // UPWARDS HARPOON WITH BARB LEFTWARDS
 				return rune(0x21bf), true
 				return rune(0x21bf), true
-			case "LeftUpVectorBar": 
-				// UPWARDS HARPOON WITH BARB LEFT TO BAR
+			case "LeftUpVectorBar":                 // UPWARDS HARPOON WITH BARB LEFT TO BAR
 				return rune(0x2958), true
 				return rune(0x2958), true
-			case "LeftVector": 
-				// LEFTWARDS HARPOON WITH BARB UPWARDS
+			case "LeftVector":                      // LEFTWARDS HARPOON WITH BARB UPWARDS
 				return rune(0x21bc), true
 				return rune(0x21bc), true
-			case "LeftVectorBar": 
-				// LEFTWARDS HARPOON WITH BARB UP TO BAR
+			case "LeftVectorBar":                   // LEFTWARDS HARPOON WITH BARB UP TO BAR
 				return rune(0x2952), true
 				return rune(0x2952), true
-			case "Leftarrow": 
-				// LEFTWARDS DOUBLE ARROW
+			case "Leftarrow":                       // LEFTWARDS DOUBLE ARROW
 				return rune(0x21d0), true
 				return rune(0x21d0), true
-			case "Leftrightarrow": 
-				// LEFT RIGHT DOUBLE ARROW
+			case "Leftrightarrow":                  // LEFT RIGHT DOUBLE ARROW
 				return rune(0x21d4), true
 				return rune(0x21d4), true
-			case "LessEqualGreater": 
-				// LESS-THAN EQUAL TO OR GREATER-THAN
+			case "LessEqualGreater":                // LESS-THAN EQUAL TO OR GREATER-THAN
 				return rune(0x22da), true
 				return rune(0x22da), true
-			case "LessFullEqual": 
-				// LESS-THAN OVER EQUAL TO
+			case "LessFullEqual":                   // LESS-THAN OVER EQUAL TO
 				return rune(0x2266), true
 				return rune(0x2266), true
-			case "LessGreater": 
-				// LESS-THAN OR GREATER-THAN
+			case "LessGreater":                     // LESS-THAN OR GREATER-THAN
 				return rune(0x2276), true
 				return rune(0x2276), true
-			case "LessLess": 
-				// DOUBLE NESTED LESS-THAN
+			case "LessLess":                        // DOUBLE NESTED LESS-THAN
 				return rune(0x2aa1), true
 				return rune(0x2aa1), true
-			case "LessSlantEqual": 
-				// LESS-THAN OR SLANTED EQUAL TO
+			case "LessSlantEqual":                  // LESS-THAN OR SLANTED EQUAL TO
 				return rune(0x2a7d), true
 				return rune(0x2a7d), true
-			case "LessTilde": 
-				// LESS-THAN OR EQUIVALENT TO
+			case "LessTilde":                       // LESS-THAN OR EQUIVALENT TO
 				return rune(0x2272), true
 				return rune(0x2272), true
-			case "Lfr": 
-				// MATHEMATICAL FRAKTUR CAPITAL L
+			case "Lfr":                             // MATHEMATICAL FRAKTUR CAPITAL L
 				return rune(0x01d50f), true
 				return rune(0x01d50f), true
-			case "Lgr": 
-				// GREEK CAPITAL LETTER LAMDA
+			case "Lgr":                             // GREEK CAPITAL LETTER LAMDA
 				return rune(0x039b), true
 				return rune(0x039b), true
-			case "Lleftarrow": 
-				// LEFTWARDS TRIPLE ARROW
-				return rune(0x21da), true
-			case "Ll": 
-				// VERY MUCH LESS-THAN
+			case "Ll":                              // VERY MUCH LESS-THAN
 				return rune(0x22d8), true
 				return rune(0x22d8), true
-			case "Lmidot": 
-				// LATIN CAPITAL LETTER L WITH MIDDLE DOT
+			case "Lleftarrow":                      // LEFTWARDS TRIPLE ARROW
+				return rune(0x21da), true
+			case "Lmidot":                          // LATIN CAPITAL LETTER L WITH MIDDLE DOT
 				return rune(0x013f), true
 				return rune(0x013f), true
-			case "LongLeftArrow": 
-				// LONG LEFTWARDS ARROW
+			case "LongLeftArrow":                   // LONG LEFTWARDS ARROW
 				return rune(0x27f5), true
 				return rune(0x27f5), true
-			case "LongLeftRightArrow": 
-				// LONG LEFT RIGHT ARROW
+			case "LongLeftRightArrow":              // LONG LEFT RIGHT ARROW
 				return rune(0x27f7), true
 				return rune(0x27f7), true
-			case "LongRightArrow": 
-				// LONG RIGHTWARDS ARROW
+			case "LongRightArrow":                  // LONG RIGHTWARDS ARROW
 				return rune(0x27f6), true
 				return rune(0x27f6), true
-			case "Longleftarrow": 
-				// LONG LEFTWARDS DOUBLE ARROW
+			case "Longleftarrow":                   // LONG LEFTWARDS DOUBLE ARROW
 				return rune(0x27f8), true
 				return rune(0x27f8), true
-			case "Longleftrightarrow": 
-				// LONG LEFT RIGHT DOUBLE ARROW
+			case "Longleftrightarrow":              // LONG LEFT RIGHT DOUBLE ARROW
 				return rune(0x27fa), true
 				return rune(0x27fa), true
-			case "Longrightarrow": 
-				// LONG RIGHTWARDS DOUBLE ARROW
+			case "Longrightarrow":                  // LONG RIGHTWARDS DOUBLE ARROW
 				return rune(0x27f9), true
 				return rune(0x27f9), true
-			case "Lopf": 
-				// MATHEMATICAL DOUBLE-STRUCK CAPITAL L
+			case "Lopf":                            // MATHEMATICAL DOUBLE-STRUCK CAPITAL L
 				return rune(0x01d543), true
 				return rune(0x01d543), true
-			case "LowerLeftArrow": 
-				// SOUTH WEST ARROW
+			case "LowerLeftArrow":                  // SOUTH WEST ARROW
 				return rune(0x2199), true
 				return rune(0x2199), true
-			case "LowerRightArrow": 
-				// SOUTH EAST ARROW
+			case "LowerRightArrow":                 // SOUTH EAST ARROW
 				return rune(0x2198), true
 				return rune(0x2198), true
-			case "Lscr": 
-				// SCRIPT CAPITAL L
+			case "Lscr":                            // SCRIPT CAPITAL L
 				return rune(0x2112), true
 				return rune(0x2112), true
-			case "Lsh": 
-				// UPWARDS ARROW WITH TIP LEFTWARDS
+			case "Lsh":                             // UPWARDS ARROW WITH TIP LEFTWARDS
 				return rune(0x21b0), true
 				return rune(0x21b0), true
-			case "Lstrok": 
-				// LATIN CAPITAL LETTER L WITH STROKE
+			case "Lstrok":                          // LATIN CAPITAL LETTER L WITH STROKE
 				return rune(0x0141), true
 				return rune(0x0141), true
-			case "Ltbar": 
-				// DOUBLE NESTED LESS-THAN WITH UNDERBAR
-				return rune(0x2aa3), true
-			case "Lt": 
-				// MUCH LESS-THAN
+			case "Lt":                              // MUCH LESS-THAN
 				return rune(0x226a), true
 				return rune(0x226a), true
+			case "Ltbar":                           // DOUBLE NESTED LESS-THAN WITH UNDERBAR
+				return rune(0x2aa3), true
 		}
 		}
 
 
 	case 'M':
 	case 'M':
 		switch name {
 		switch name {
-			case "Mapfrom": 
-				// LEFTWARDS DOUBLE ARROW FROM BAR
+			case "Map":                             // RIGHTWARDS TWO-HEADED ARROW FROM BAR
+				return rune(0x2905), true
+			case "Mapfrom":                         // LEFTWARDS DOUBLE ARROW FROM BAR
 				return rune(0x2906), true
 				return rune(0x2906), true
-			case "Mapto": 
-				// RIGHTWARDS DOUBLE ARROW FROM BAR
+			case "Mapto":                           // RIGHTWARDS DOUBLE ARROW FROM BAR
 				return rune(0x2907), true
 				return rune(0x2907), true
-			case "Map": 
-				// RIGHTWARDS TWO-HEADED ARROW FROM BAR
-				return rune(0x2905), true
-			case "Mcy": 
-				// CYRILLIC CAPITAL LETTER EM
+			case "Mcy":                             // CYRILLIC CAPITAL LETTER EM
 				return rune(0x041c), true
 				return rune(0x041c), true
-			case "MediumSpace": 
-				// MEDIUM MATHEMATICAL SPACE
+			case "MediumSpace":                     // MEDIUM MATHEMATICAL SPACE
 				return rune(0x205f), true
 				return rune(0x205f), true
-			case "Mellintrf": 
-				// SCRIPT CAPITAL M
+			case "Mellintrf":                       // SCRIPT CAPITAL M
 				return rune(0x2133), true
 				return rune(0x2133), true
-			case "Mfr": 
-				// MATHEMATICAL FRAKTUR CAPITAL M
+			case "Mfr":                             // MATHEMATICAL FRAKTUR CAPITAL M
 				return rune(0x01d510), true
 				return rune(0x01d510), true
-			case "Mgr": 
-				// GREEK CAPITAL LETTER MU
+			case "Mgr":                             // GREEK CAPITAL LETTER MU
 				return rune(0x039c), true
 				return rune(0x039c), true
-			case "MinusPlus": 
-				// MINUS-OR-PLUS SIGN
+			case "MinusPlus":                       // MINUS-OR-PLUS SIGN
 				return rune(0x2213), true
 				return rune(0x2213), true
-			case "Mopf": 
-				// MATHEMATICAL DOUBLE-STRUCK CAPITAL M
+			case "Mopf":                            // MATHEMATICAL DOUBLE-STRUCK CAPITAL M
 				return rune(0x01d544), true
 				return rune(0x01d544), true
-			case "Mscr": 
-				// SCRIPT CAPITAL M
+			case "Mscr":                            // SCRIPT CAPITAL M
 				return rune(0x2133), true
 				return rune(0x2133), true
-			case "Mu": 
-				// GREEK CAPITAL LETTER MU
+			case "Mu":                              // GREEK CAPITAL LETTER MU
 				return rune(0x039c), true
 				return rune(0x039c), true
 		}
 		}
 
 
 	case 'N':
 	case 'N':
 		switch name {
 		switch name {
-			case "NJcy": 
-				// CYRILLIC CAPITAL LETTER NJE
+			case "NJcy":                            // CYRILLIC CAPITAL LETTER NJE
 				return rune(0x040a), true
 				return rune(0x040a), true
-			case "Nacute": 
-				// LATIN CAPITAL LETTER N WITH ACUTE
+			case "Nacute":                          // LATIN CAPITAL LETTER N WITH ACUTE
 				return rune(0x0143), true
 				return rune(0x0143), true
-			case "Ncaron": 
-				// LATIN CAPITAL LETTER N WITH CARON
+			case "Ncaron":                          // LATIN CAPITAL LETTER N WITH CARON
 				return rune(0x0147), true
 				return rune(0x0147), true
-			case "Ncedil": 
-				// LATIN CAPITAL LETTER N WITH CEDILLA
+			case "Ncedil":                          // LATIN CAPITAL LETTER N WITH CEDILLA
 				return rune(0x0145), true
 				return rune(0x0145), true
-			case "Ncy": 
-				// CYRILLIC CAPITAL LETTER EN
+			case "Ncy":                             // CYRILLIC CAPITAL LETTER EN
 				return rune(0x041d), true
 				return rune(0x041d), true
-			case "NegativeMediumSpace": 
-				// ZERO WIDTH SPACE
+			case "NegativeMediumSpace":             // ZERO WIDTH SPACE
 				return rune(0x200b), true
 				return rune(0x200b), true
-			case "NegativeThickSpace": 
-				// ZERO WIDTH SPACE
+			case "NegativeThickSpace":              // ZERO WIDTH SPACE
 				return rune(0x200b), true
 				return rune(0x200b), true
-			case "NegativeThinSpace": 
-				// ZERO WIDTH SPACE
+			case "NegativeThinSpace":               // ZERO WIDTH SPACE
 				return rune(0x200b), true
 				return rune(0x200b), true
-			case "NegativeVeryThinSpace": 
-				// ZERO WIDTH SPACE
+			case "NegativeVeryThinSpace":           // ZERO WIDTH SPACE
 				return rune(0x200b), true
 				return rune(0x200b), true
-			case "NestedGreaterGreater": 
-				// MUCH GREATER-THAN
+			case "NestedGreaterGreater":            // MUCH GREATER-THAN
 				return rune(0x226b), true
 				return rune(0x226b), true
-			case "NestedLessLess": 
-				// MUCH LESS-THAN
+			case "NestedLessLess":                  // MUCH LESS-THAN
 				return rune(0x226a), true
 				return rune(0x226a), true
-			case "NewLine": 
-				// LINE FEED (LF)
+			case "NewLine":                         // LINE FEED (LF)
 				return rune(0x0a), true
 				return rune(0x0a), true
-			case "Nfr": 
-				// MATHEMATICAL FRAKTUR CAPITAL N
+			case "Nfr":                             // MATHEMATICAL FRAKTUR CAPITAL N
 				return rune(0x01d511), true
 				return rune(0x01d511), true
-			case "Ngr": 
-				// GREEK CAPITAL LETTER NU
+			case "Ngr":                             // GREEK CAPITAL LETTER NU
 				return rune(0x039d), true
 				return rune(0x039d), true
-			case "NoBreak": 
-				// WORD JOINER
+			case "NoBreak":                         // WORD JOINER
 				return rune(0x2060), true
 				return rune(0x2060), true
-			case "NonBreakingSpace": 
-				// NO-BREAK SPACE
+			case "NonBreakingSpace":                // NO-BREAK SPACE
 				return rune(0xa0), true
 				return rune(0xa0), true
-			case "Nopf": 
-				// DOUBLE-STRUCK CAPITAL N
+			case "Nopf":                            // DOUBLE-STRUCK CAPITAL N
 				return rune(0x2115), true
 				return rune(0x2115), true
-			case "NotDoubleVerticalBar": 
-				// NOT PARALLEL TO
+			case "Not":                             // DOUBLE STROKE NOT SIGN
+				return rune(0x2aec), true
+			case "NotCongruent":                    // NOT IDENTICAL TO
+				return rune(0x2262), true
+			case "NotCupCap":                       // NOT EQUIVALENT TO
+				return rune(0x226d), true
+			case "NotDoubleVerticalBar":            // NOT PARALLEL TO
 				return rune(0x2226), true
 				return rune(0x2226), true
-			case "NotElement": 
-				// NOT AN ELEMENT OF
+			case "NotElement":                      // NOT AN ELEMENT OF
 				return rune(0x2209), true
 				return rune(0x2209), true
-			case "NotEqualTilde": 
-				// MINUS TILDE with slash
-				return rune(0x2242), true
-			case "NotEqual": 
-				// NOT EQUAL TO
+			case "NotEqual":                        // NOT EQUAL TO
 				return rune(0x2260), true
 				return rune(0x2260), true
-			case "NotExists": 
-				// THERE DOES NOT EXIST
+			case "NotEqualTilde":                   // MINUS TILDE with slash
+				return rune(0x2242), true
+			case "NotExists":                       // THERE DOES NOT EXIST
 				return rune(0x2204), true
 				return rune(0x2204), true
-			case "NotHumpDownHump": 
-				// GEOMETRICALLY EQUIVALENT TO with slash
-				return rune(0x224e), true
-			case "NotHumpEqual": 
-				// DIFFERENCE BETWEEN with slash
-				return rune(0x224f), true
-			case "NotLessGreater": 
-				// NEITHER LESS-THAN NOR GREATER-THAN
-				return rune(0x2278), true
-			case "NotReverseElement": 
-				// DOES NOT CONTAIN AS MEMBER
-				return rune(0x220c), true
-			case "NotTilde": 
-				// NOT TILDE
-				return rune(0x2241), true
-			case "NotTildeEqual": 
-				// NOT ASYMPTOTICALLY EQUAL TO
-				return rune(0x2244), true
-			case "NotTildeFullEqual": 
-				// NEITHER APPROXIMATELY NOR ACTUALLY EQUAL TO
-				return rune(0x2247), true
-			case "NotTildeTilde": 
-				// NOT ALMOST EQUAL TO
-				return rune(0x2249), true
-			case "NotVerticalBar": 
-				// DOES NOT DIVIDE
-				return rune(0x2224), true
-			case "Not": 
-				// DOUBLE STROKE NOT SIGN
-				return rune(0x2aec), true
-			case "NotCongruent": 
-				// NOT IDENTICAL TO
-				return rune(0x2262), true
-			case "NotCupCap": 
-				// NOT EQUIVALENT TO
-				return rune(0x226d), true
-			case "NotGreaterFullEqual": 
-				// GREATER-THAN OVER EQUAL TO with slash
-				return rune(0x2267), true
-			case "NotGreaterGreater": 
-				// MUCH GREATER THAN with slash
-				return rune(0x226b), true
-			case "NotGreaterSlantEqual": 
-				// GREATER-THAN OR SLANTED EQUAL TO with slash
-				return rune(0x2a7e), true
-			case "NotGreater": 
-				// NOT GREATER-THAN
+			case "NotGreater":                      // NOT GREATER-THAN
 				return rune(0x226f), true
 				return rune(0x226f), true
-			case "NotGreaterEqual": 
-				// NEITHER GREATER-THAN NOR EQUAL TO
+			case "NotGreaterEqual":                 // NEITHER GREATER-THAN NOR EQUAL TO
 				return rune(0x2271), true
 				return rune(0x2271), true
-			case "NotGreaterLess": 
-				// NEITHER GREATER-THAN NOR LESS-THAN
+			case "NotGreaterFullEqual":             // GREATER-THAN OVER EQUAL TO with slash
+				return rune(0x2267), true
+			case "NotGreaterGreater":               // MUCH GREATER THAN with slash
+				return rune(0x226b), true
+			case "NotGreaterLess":                  // NEITHER GREATER-THAN NOR LESS-THAN
 				return rune(0x2279), true
 				return rune(0x2279), true
-			case "NotGreaterTilde": 
-				// NEITHER GREATER-THAN NOR EQUIVALENT TO
+			case "NotGreaterSlantEqual":            // GREATER-THAN OR SLANTED EQUAL TO with slash
+				return rune(0x2a7e), true
+			case "NotGreaterTilde":                 // NEITHER GREATER-THAN NOR EQUIVALENT TO
 				return rune(0x2275), true
 				return rune(0x2275), true
-			case "NotLeftTriangleBar": 
-				// LEFT TRIANGLE BESIDE VERTICAL BAR with slash
-				return rune(0x29cf), true
-			case "NotLeftTriangle": 
-				// NOT NORMAL SUBGROUP OF
+			case "NotHumpDownHump":                 // GEOMETRICALLY EQUIVALENT TO with slash
+				return rune(0x224e), true
+			case "NotHumpEqual":                    // DIFFERENCE BETWEEN with slash
+				return rune(0x224f), true
+			case "NotLeftTriangle":                 // NOT NORMAL SUBGROUP OF
 				return rune(0x22ea), true
 				return rune(0x22ea), true
-			case "NotLeftTriangleEqual": 
-				// NOT NORMAL SUBGROUP OF OR EQUAL TO
+			case "NotLeftTriangleBar":              // LEFT TRIANGLE BESIDE VERTICAL BAR with slash
+				return rune(0x29cf), true
+			case "NotLeftTriangleEqual":            // NOT NORMAL SUBGROUP OF OR EQUAL TO
 				return rune(0x22ec), true
 				return rune(0x22ec), true
-			case "NotLessLess": 
-				// MUCH LESS THAN with slash
-				return rune(0x226a), true
-			case "NotLessSlantEqual": 
-				// LESS-THAN OR SLANTED EQUAL TO with slash
-				return rune(0x2a7d), true
-			case "NotLess": 
-				// NOT LESS-THAN
+			case "NotLess":                         // NOT LESS-THAN
 				return rune(0x226e), true
 				return rune(0x226e), true
-			case "NotLessEqual": 
-				// NEITHER LESS-THAN NOR EQUAL TO
+			case "NotLessEqual":                    // NEITHER LESS-THAN NOR EQUAL TO
 				return rune(0x2270), true
 				return rune(0x2270), true
-			case "NotLessTilde": 
-				// NEITHER LESS-THAN NOR EQUIVALENT TO
+			case "NotLessGreater":                  // NEITHER LESS-THAN NOR GREATER-THAN
+				return rune(0x2278), true
+			case "NotLessLess":                     // MUCH LESS THAN with slash
+				return rune(0x226a), true
+			case "NotLessSlantEqual":               // LESS-THAN OR SLANTED EQUAL TO with slash
+				return rune(0x2a7d), true
+			case "NotLessTilde":                    // NEITHER LESS-THAN NOR EQUIVALENT TO
 				return rune(0x2274), true
 				return rune(0x2274), true
-			case "NotNestedGreaterGreater": 
-				// DOUBLE NESTED GREATER-THAN with slash
+			case "NotNestedGreaterGreater":         // DOUBLE NESTED GREATER-THAN with slash
 				return rune(0x2aa2), true
 				return rune(0x2aa2), true
-			case "NotNestedLessLess": 
-				// DOUBLE NESTED LESS-THAN with slash
+			case "NotNestedLessLess":               // DOUBLE NESTED LESS-THAN with slash
 				return rune(0x2aa1), true
 				return rune(0x2aa1), true
-			case "NotPrecedesEqual": 
-				// PRECEDES ABOVE SINGLE-LINE EQUALS SIGN with slash
-				return rune(0x2aaf), true
-			case "NotPrecedes": 
-				// DOES NOT PRECEDE
+			case "NotPrecedes":                     // DOES NOT PRECEDE
 				return rune(0x2280), true
 				return rune(0x2280), true
-			case "NotPrecedesSlantEqual": 
-				// DOES NOT PRECEDE OR EQUAL
+			case "NotPrecedesEqual":                // PRECEDES ABOVE SINGLE-LINE EQUALS SIGN with slash
+				return rune(0x2aaf), true
+			case "NotPrecedesSlantEqual":           // DOES NOT PRECEDE OR EQUAL
 				return rune(0x22e0), true
 				return rune(0x22e0), true
-			case "NotRightTriangleBar": 
-				// VERTICAL BAR BESIDE RIGHT TRIANGLE with slash
-				return rune(0x29d0), true
-			case "NotRightTriangle": 
-				// DOES NOT CONTAIN AS NORMAL SUBGROUP
+			case "NotReverseElement":               // DOES NOT CONTAIN AS MEMBER
+				return rune(0x220c), true
+			case "NotRightTriangle":                // DOES NOT CONTAIN AS NORMAL SUBGROUP
 				return rune(0x22eb), true
 				return rune(0x22eb), true
-			case "NotRightTriangleEqual": 
-				// DOES NOT CONTAIN AS NORMAL SUBGROUP OR EQUAL
+			case "NotRightTriangleBar":             // VERTICAL BAR BESIDE RIGHT TRIANGLE with slash
+				return rune(0x29d0), true
+			case "NotRightTriangleEqual":           // DOES NOT CONTAIN AS NORMAL SUBGROUP OR EQUAL
 				return rune(0x22ed), true
 				return rune(0x22ed), true
-			case "NotSquareSubset": 
-				// SQUARE IMAGE OF with slash
+			case "NotSquareSubset":                 // SQUARE IMAGE OF with slash
 				return rune(0x228f), true
 				return rune(0x228f), true
-			case "NotSquareSubsetEqual": 
-				// NOT SQUARE IMAGE OF OR EQUAL TO
+			case "NotSquareSubsetEqual":            // NOT SQUARE IMAGE OF OR EQUAL TO
 				return rune(0x22e2), true
 				return rune(0x22e2), true
-			case "NotSquareSuperset": 
-				// SQUARE ORIGINAL OF with slash
+			case "NotSquareSuperset":               // SQUARE ORIGINAL OF with slash
 				return rune(0x2290), true
 				return rune(0x2290), true
-			case "NotSquareSupersetEqual": 
-				// NOT SQUARE ORIGINAL OF OR EQUAL TO
+			case "NotSquareSupersetEqual":          // NOT SQUARE ORIGINAL OF OR EQUAL TO
 				return rune(0x22e3), true
 				return rune(0x22e3), true
-			case "NotSubset": 
-				// SUBSET OF with vertical line
+			case "NotSubset":                       // SUBSET OF with vertical line
 				return rune(0x2282), true
 				return rune(0x2282), true
-			case "NotSubsetEqual": 
-				// NEITHER A SUBSET OF NOR EQUAL TO
+			case "NotSubsetEqual":                  // NEITHER A SUBSET OF NOR EQUAL TO
 				return rune(0x2288), true
 				return rune(0x2288), true
-			case "NotSucceedsEqual": 
-				// SUCCEEDS ABOVE SINGLE-LINE EQUALS SIGN with slash
-				return rune(0x2ab0), true
-			case "NotSucceedsTilde": 
-				// SUCCEEDS OR EQUIVALENT TO with slash
-				return rune(0x227f), true
-			case "NotSucceeds": 
-				// DOES NOT SUCCEED
+			case "NotSucceeds":                     // DOES NOT SUCCEED
 				return rune(0x2281), true
 				return rune(0x2281), true
-			case "NotSucceedsSlantEqual": 
-				// DOES NOT SUCCEED OR EQUAL
+			case "NotSucceedsEqual":                // SUCCEEDS ABOVE SINGLE-LINE EQUALS SIGN with slash
+				return rune(0x2ab0), true
+			case "NotSucceedsSlantEqual":           // DOES NOT SUCCEED OR EQUAL
 				return rune(0x22e1), true
 				return rune(0x22e1), true
-			case "NotSuperset": 
-				// SUPERSET OF with vertical line
+			case "NotSucceedsTilde":                // SUCCEEDS OR EQUIVALENT TO with slash
+				return rune(0x227f), true
+			case "NotSuperset":                     // SUPERSET OF with vertical line
 				return rune(0x2283), true
 				return rune(0x2283), true
-			case "NotSupersetEqual": 
-				// NEITHER A SUPERSET OF NOR EQUAL TO
+			case "NotSupersetEqual":                // NEITHER A SUPERSET OF NOR EQUAL TO
 				return rune(0x2289), true
 				return rune(0x2289), true
-			case "Nscr": 
-				// MATHEMATICAL SCRIPT CAPITAL N
+			case "NotTilde":                        // NOT TILDE
+				return rune(0x2241), true
+			case "NotTildeEqual":                   // NOT ASYMPTOTICALLY EQUAL TO
+				return rune(0x2244), true
+			case "NotTildeFullEqual":               // NEITHER APPROXIMATELY NOR ACTUALLY EQUAL TO
+				return rune(0x2247), true
+			case "NotTildeTilde":                   // NOT ALMOST EQUAL TO
+				return rune(0x2249), true
+			case "NotVerticalBar":                  // DOES NOT DIVIDE
+				return rune(0x2224), true
+			case "Nscr":                            // MATHEMATICAL SCRIPT CAPITAL N
 				return rune(0x01d4a9), true
 				return rune(0x01d4a9), true
-			case "Ntilde": 
-				// LATIN CAPITAL LETTER N WITH TILDE
+			case "Ntilde":                          // LATIN CAPITAL LETTER N WITH TILDE
 				return rune(0xd1), true
 				return rune(0xd1), true
-			case "Nu": 
-				// GREEK CAPITAL LETTER NU
+			case "Nu":                              // GREEK CAPITAL LETTER NU
 				return rune(0x039d), true
 				return rune(0x039d), true
 		}
 		}
 
 
 	case 'O':
 	case 'O':
 		switch name {
 		switch name {
-			case "OElig": 
-				// LATIN CAPITAL LIGATURE OE
+			case "OElig":                           // LATIN CAPITAL LIGATURE OE
 				return rune(0x0152), true
 				return rune(0x0152), true
-			case "OHacgr": 
-				// GREEK CAPITAL LETTER OMEGA WITH TONOS
+			case "OHacgr":                          // GREEK CAPITAL LETTER OMEGA WITH TONOS
 				return rune(0x038f), true
 				return rune(0x038f), true
-			case "OHgr": 
-				// GREEK CAPITAL LETTER OMEGA
+			case "OHgr":                            // GREEK CAPITAL LETTER OMEGA
 				return rune(0x03a9), true
 				return rune(0x03a9), true
-			case "Oacgr": 
-				// GREEK CAPITAL LETTER OMICRON WITH TONOS
+			case "Oacgr":                           // GREEK CAPITAL LETTER OMICRON WITH TONOS
 				return rune(0x038c), true
 				return rune(0x038c), true
-			case "Oacute": 
-				// LATIN CAPITAL LETTER O WITH ACUTE
+			case "Oacute":                          // LATIN CAPITAL LETTER O WITH ACUTE
 				return rune(0xd3), true
 				return rune(0xd3), true
-			case "Ocirc": 
-				// LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+			case "Ocirc":                           // LATIN CAPITAL LETTER O WITH CIRCUMFLEX
 				return rune(0xd4), true
 				return rune(0xd4), true
-			case "Ocy": 
-				// CYRILLIC CAPITAL LETTER O
+			case "Ocy":                             // CYRILLIC CAPITAL LETTER O
 				return rune(0x041e), true
 				return rune(0x041e), true
-			case "Odblac": 
-				// LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+			case "Odblac":                          // LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
 				return rune(0x0150), true
 				return rune(0x0150), true
-			case "Ofr": 
-				// MATHEMATICAL FRAKTUR CAPITAL O
+			case "Ofr":                             // MATHEMATICAL FRAKTUR CAPITAL O
 				return rune(0x01d512), true
 				return rune(0x01d512), true
-			case "Ograve": 
-				// LATIN CAPITAL LETTER O WITH GRAVE
-				return rune(0xd2), true
-			case "Ogr": 
-				// GREEK CAPITAL LETTER OMICRON
+			case "Ogr":                             // GREEK CAPITAL LETTER OMICRON
 				return rune(0x039f), true
 				return rune(0x039f), true
-			case "Omacr": 
-				// LATIN CAPITAL LETTER O WITH MACRON
+			case "Ograve":                          // LATIN CAPITAL LETTER O WITH GRAVE
+				return rune(0xd2), true
+			case "Omacr":                           // LATIN CAPITAL LETTER O WITH MACRON
 				return rune(0x014c), true
 				return rune(0x014c), true
-			case "Omega": 
-				// GREEK CAPITAL LETTER OMEGA
+			case "Omega":                           // GREEK CAPITAL LETTER OMEGA
 				return rune(0x03a9), true
 				return rune(0x03a9), true
-			case "Omicron": 
-				// GREEK CAPITAL LETTER OMICRON
+			case "Omicron":                         // GREEK CAPITAL LETTER OMICRON
 				return rune(0x039f), true
 				return rune(0x039f), true
-			case "Oopf": 
-				// MATHEMATICAL DOUBLE-STRUCK CAPITAL O
+			case "Oopf":                            // MATHEMATICAL DOUBLE-STRUCK CAPITAL O
 				return rune(0x01d546), true
 				return rune(0x01d546), true
-			case "OpenCurlyDoubleQuote": 
-				// LEFT DOUBLE QUOTATION MARK
+			case "OpenCurlyDoubleQuote":            // LEFT DOUBLE QUOTATION MARK
 				return rune(0x201c), true
 				return rune(0x201c), true
-			case "OpenCurlyQuote": 
-				// LEFT SINGLE QUOTATION MARK
+			case "OpenCurlyQuote":                  // LEFT SINGLE QUOTATION MARK
 				return rune(0x2018), true
 				return rune(0x2018), true
-			case "Or": 
-				// DOUBLE LOGICAL OR
+			case "Or":                              // DOUBLE LOGICAL OR
 				return rune(0x2a54), true
 				return rune(0x2a54), true
-			case "Oscr": 
-				// MATHEMATICAL SCRIPT CAPITAL O
+			case "Oscr":                            // MATHEMATICAL SCRIPT CAPITAL O
 				return rune(0x01d4aa), true
 				return rune(0x01d4aa), true
-			case "Oslash": 
-				// LATIN CAPITAL LETTER O WITH STROKE
+			case "Oslash":                          // LATIN CAPITAL LETTER O WITH STROKE
 				return rune(0xd8), true
 				return rune(0xd8), true
-			case "Otilde": 
-				// LATIN CAPITAL LETTER O WITH TILDE
+			case "Otilde":                          // LATIN CAPITAL LETTER O WITH TILDE
 				return rune(0xd5), true
 				return rune(0xd5), true
-			case "Otimes": 
-				// MULTIPLICATION SIGN IN DOUBLE CIRCLE
+			case "Otimes":                          // MULTIPLICATION SIGN IN DOUBLE CIRCLE
 				return rune(0x2a37), true
 				return rune(0x2a37), true
-			case "Ouml": 
-				// LATIN CAPITAL LETTER O WITH DIAERESIS
+			case "Ouml":                            // LATIN CAPITAL LETTER O WITH DIAERESIS
 				return rune(0xd6), true
 				return rune(0xd6), true
-			case "OverBar": 
-				// OVERLINE
+			case "OverBar":                         // OVERLINE
 				return rune(0x203e), true
 				return rune(0x203e), true
-			case "OverBrace": 
-				// TOP CURLY BRACKET
+			case "OverBrace":                       // TOP CURLY BRACKET
 				return rune(0x23de), true
 				return rune(0x23de), true
-			case "OverBracket": 
-				// TOP SQUARE BRACKET
+			case "OverBracket":                     // TOP SQUARE BRACKET
 				return rune(0x23b4), true
 				return rune(0x23b4), true
-			case "OverParenthesis": 
-				// TOP PARENTHESIS
+			case "OverParenthesis":                 // TOP PARENTHESIS
 				return rune(0x23dc), true
 				return rune(0x23dc), true
 		}
 		}
 
 
 	case 'P':
 	case 'P':
 		switch name {
 		switch name {
-			case "PHgr": 
-				// GREEK CAPITAL LETTER PHI
+			case "PHgr":                            // GREEK CAPITAL LETTER PHI
 				return rune(0x03a6), true
 				return rune(0x03a6), true
-			case "PSgr": 
-				// GREEK CAPITAL LETTER PSI
+			case "PSgr":                            // GREEK CAPITAL LETTER PSI
 				return rune(0x03a8), true
 				return rune(0x03a8), true
-			case "PartialD": 
-				// PARTIAL DIFFERENTIAL
+			case "PartialD":                        // PARTIAL DIFFERENTIAL
 				return rune(0x2202), true
 				return rune(0x2202), true
-			case "Pcy": 
-				// CYRILLIC CAPITAL LETTER PE
+			case "Pcy":                             // CYRILLIC CAPITAL LETTER PE
 				return rune(0x041f), true
 				return rune(0x041f), true
-			case "Pfr": 
-				// MATHEMATICAL FRAKTUR CAPITAL P
+			case "Pfr":                             // MATHEMATICAL FRAKTUR CAPITAL P
 				return rune(0x01d513), true
 				return rune(0x01d513), true
-			case "Pgr": 
-				// GREEK CAPITAL LETTER PI
+			case "Pgr":                             // GREEK CAPITAL LETTER PI
 				return rune(0x03a0), true
 				return rune(0x03a0), true
-			case "Phi": 
-				// GREEK CAPITAL LETTER PHI
+			case "Phi":                             // GREEK CAPITAL LETTER PHI
 				return rune(0x03a6), true
 				return rune(0x03a6), true
-			case "Pi": 
-				// GREEK CAPITAL LETTER PI
+			case "Pi":                              // GREEK CAPITAL LETTER PI
 				return rune(0x03a0), true
 				return rune(0x03a0), true
-			case "PlusMinus": 
-				// PLUS-MINUS SIGN
+			case "PlusMinus":                       // PLUS-MINUS SIGN
 				return rune(0xb1), true
 				return rune(0xb1), true
-			case "Poincareplane": 
-				// BLACK-LETTER CAPITAL H
+			case "Poincareplane":                   // BLACK-LETTER CAPITAL H
 				return rune(0x210c), true
 				return rune(0x210c), true
-			case "Popf": 
-				// DOUBLE-STRUCK CAPITAL P
+			case "Popf":                            // DOUBLE-STRUCK CAPITAL P
 				return rune(0x2119), true
 				return rune(0x2119), true
-			case "Product": 
-				// N-ARY PRODUCT
-				return rune(0x220f), true
-			case "Proportional": 
-				// PROPORTIONAL TO
-				return rune(0x221d), true
-			case "Proportion": 
-				// PROPORTION
-				return rune(0x2237), true
-			case "Pr": 
-				// DOUBLE PRECEDES
+			case "Pr":                              // DOUBLE PRECEDES
 				return rune(0x2abb), true
 				return rune(0x2abb), true
-			case "PrecedesEqual": 
-				// PRECEDES ABOVE SINGLE-LINE EQUALS SIGN
-				return rune(0x2aaf), true
-			case "Precedes": 
-				// PRECEDES
+			case "Precedes":                        // PRECEDES
 				return rune(0x227a), true
 				return rune(0x227a), true
-			case "PrecedesSlantEqual": 
-				// PRECEDES OR EQUAL TO
+			case "PrecedesEqual":                   // PRECEDES ABOVE SINGLE-LINE EQUALS SIGN
+				return rune(0x2aaf), true
+			case "PrecedesSlantEqual":              // PRECEDES OR EQUAL TO
 				return rune(0x227c), true
 				return rune(0x227c), true
-			case "PrecedesTilde": 
-				// PRECEDES OR EQUIVALENT TO
+			case "PrecedesTilde":                   // PRECEDES OR EQUIVALENT TO
 				return rune(0x227e), true
 				return rune(0x227e), true
-			case "Prime": 
-				// DOUBLE PRIME
+			case "Prime":                           // DOUBLE PRIME
 				return rune(0x2033), true
 				return rune(0x2033), true
-			case "Pscr": 
-				// MATHEMATICAL SCRIPT CAPITAL P
+			case "Product":                         // N-ARY PRODUCT
+				return rune(0x220f), true
+			case "Proportion":                      // PROPORTION
+				return rune(0x2237), true
+			case "Proportional":                    // PROPORTIONAL TO
+				return rune(0x221d), true
+			case "Pscr":                            // MATHEMATICAL SCRIPT CAPITAL P
 				return rune(0x01d4ab), true
 				return rune(0x01d4ab), true
-			case "Psi": 
-				// GREEK CAPITAL LETTER PSI
+			case "Psi":                             // GREEK CAPITAL LETTER PSI
 				return rune(0x03a8), true
 				return rune(0x03a8), true
 		}
 		}
 
 
 	case 'Q':
 	case 'Q':
 		switch name {
 		switch name {
-			case "QUOT": 
-				// QUOTATION MARK
+			case "QUOT":                            // QUOTATION MARK
 				return rune(0x22), true
 				return rune(0x22), true
-			case "Qfr": 
-				// MATHEMATICAL FRAKTUR CAPITAL Q
+			case "Qfr":                             // MATHEMATICAL FRAKTUR CAPITAL Q
 				return rune(0x01d514), true
 				return rune(0x01d514), true
-			case "Qopf": 
-				// DOUBLE-STRUCK CAPITAL Q
+			case "Qopf":                            // DOUBLE-STRUCK CAPITAL Q
 				return rune(0x211a), true
 				return rune(0x211a), true
-			case "Qscr": 
-				// MATHEMATICAL SCRIPT CAPITAL Q
+			case "Qscr":                            // MATHEMATICAL SCRIPT CAPITAL Q
 				return rune(0x01d4ac), true
 				return rune(0x01d4ac), true
 		}
 		}
 
 
 	case 'R':
 	case 'R':
 		switch name {
 		switch name {
-			case "RBarr": 
-				// RIGHTWARDS TWO-HEADED TRIPLE DASH ARROW
+			case "RBarr":                           // RIGHTWARDS TWO-HEADED TRIPLE DASH ARROW
 				return rune(0x2910), true
 				return rune(0x2910), true
-			case "REG": 
-				// REGISTERED SIGN
+			case "REG":                             // REGISTERED SIGN
 				return rune(0xae), true
 				return rune(0xae), true
-			case "Racute": 
-				// LATIN CAPITAL LETTER R WITH ACUTE
+			case "Racute":                          // LATIN CAPITAL LETTER R WITH ACUTE
 				return rune(0x0154), true
 				return rune(0x0154), true
-			case "Rang": 
-				// MATHEMATICAL RIGHT DOUBLE ANGLE BRACKET
+			case "Rang":                            // MATHEMATICAL RIGHT DOUBLE ANGLE BRACKET
 				return rune(0x27eb), true
 				return rune(0x27eb), true
-			case "Rarr": 
-				// RIGHTWARDS TWO HEADED ARROW
+			case "Rarr":                            // RIGHTWARDS TWO HEADED ARROW
 				return rune(0x21a0), true
 				return rune(0x21a0), true
-			case "Rarrtl": 
-				// RIGHTWARDS TWO-HEADED ARROW WITH TAIL
+			case "Rarrtl":                          // RIGHTWARDS TWO-HEADED ARROW WITH TAIL
 				return rune(0x2916), true
 				return rune(0x2916), true
-			case "Rcaron": 
-				// LATIN CAPITAL LETTER R WITH CARON
+			case "Rcaron":                          // LATIN CAPITAL LETTER R WITH CARON
 				return rune(0x0158), true
 				return rune(0x0158), true
-			case "Rcedil": 
-				// LATIN CAPITAL LETTER R WITH CEDILLA
+			case "Rcedil":                          // LATIN CAPITAL LETTER R WITH CEDILLA
 				return rune(0x0156), true
 				return rune(0x0156), true
-			case "Rcy": 
-				// CYRILLIC CAPITAL LETTER ER
+			case "Rcy":                             // CYRILLIC CAPITAL LETTER ER
 				return rune(0x0420), true
 				return rune(0x0420), true
-			case "ReverseElement": 
-				// CONTAINS AS MEMBER
+			case "Re":                              // BLACK-LETTER CAPITAL R
+				return rune(0x211c), true
+			case "ReverseElement":                  // CONTAINS AS MEMBER
 				return rune(0x220b), true
 				return rune(0x220b), true
-			case "ReverseEquilibrium": 
-				// LEFTWARDS HARPOON OVER RIGHTWARDS HARPOON
+			case "ReverseEquilibrium":              // LEFTWARDS HARPOON OVER RIGHTWARDS HARPOON
 				return rune(0x21cb), true
 				return rune(0x21cb), true
-			case "Re": 
-				// BLACK-LETTER CAPITAL R
-				return rune(0x211c), true
-			case "ReverseUpEquilibrium": 
-				// DOWNWARDS HARPOON WITH BARB LEFT BESIDE UPWARDS HARPOON WITH BARB RIGHT
+			case "ReverseUpEquilibrium":            // DOWNWARDS HARPOON WITH BARB LEFT BESIDE UPWARDS HARPOON WITH BARB RIGHT
 				return rune(0x296f), true
 				return rune(0x296f), true
-			case "Rfr": 
-				// BLACK-LETTER CAPITAL R
+			case "Rfr":                             // BLACK-LETTER CAPITAL R
 				return rune(0x211c), true
 				return rune(0x211c), true
-			case "Rgr": 
-				// GREEK CAPITAL LETTER RHO
+			case "Rgr":                             // GREEK CAPITAL LETTER RHO
 				return rune(0x03a1), true
 				return rune(0x03a1), true
-			case "Rho": 
-				// GREEK CAPITAL LETTER RHO
+			case "Rho":                             // GREEK CAPITAL LETTER RHO
 				return rune(0x03a1), true
 				return rune(0x03a1), true
-			case "RightAngleBracket": 
-				// MATHEMATICAL RIGHT ANGLE BRACKET
+			case "RightAngleBracket":               // MATHEMATICAL RIGHT ANGLE BRACKET
 				return rune(0x27e9), true
 				return rune(0x27e9), true
-			case "RightArrowBar": 
-				// RIGHTWARDS ARROW TO BAR
-				return rune(0x21e5), true
-			case "RightArrow": 
-				// RIGHTWARDS ARROW
+			case "RightArrow":                      // RIGHTWARDS ARROW
 				return rune(0x2192), true
 				return rune(0x2192), true
-			case "RightArrowLeftArrow": 
-				// RIGHTWARDS ARROW OVER LEFTWARDS ARROW
+			case "RightArrowBar":                   // RIGHTWARDS ARROW TO BAR
+				return rune(0x21e5), true
+			case "RightArrowLeftArrow":             // RIGHTWARDS ARROW OVER LEFTWARDS ARROW
 				return rune(0x21c4), true
 				return rune(0x21c4), true
-			case "RightCeiling": 
-				// RIGHT CEILING
+			case "RightCeiling":                    // RIGHT CEILING
 				return rune(0x2309), true
 				return rune(0x2309), true
-			case "RightDoubleBracket": 
-				// MATHEMATICAL RIGHT WHITE SQUARE BRACKET
+			case "RightDoubleBracket":              // MATHEMATICAL RIGHT WHITE SQUARE BRACKET
 				return rune(0x27e7), true
 				return rune(0x27e7), true
-			case "RightDownTeeVector": 
-				// DOWNWARDS HARPOON WITH BARB RIGHT FROM BAR
+			case "RightDownTeeVector":              // DOWNWARDS HARPOON WITH BARB RIGHT FROM BAR
 				return rune(0x295d), true
 				return rune(0x295d), true
-			case "RightDownVector": 
-				// DOWNWARDS HARPOON WITH BARB RIGHTWARDS
+			case "RightDownVector":                 // DOWNWARDS HARPOON WITH BARB RIGHTWARDS
 				return rune(0x21c2), true
 				return rune(0x21c2), true
-			case "RightDownVectorBar": 
-				// DOWNWARDS HARPOON WITH BARB RIGHT TO BAR
+			case "RightDownVectorBar":              // DOWNWARDS HARPOON WITH BARB RIGHT TO BAR
 				return rune(0x2955), true
 				return rune(0x2955), true
-			case "RightFloor": 
-				// RIGHT FLOOR
+			case "RightFloor":                      // RIGHT FLOOR
 				return rune(0x230b), true
 				return rune(0x230b), true
-			case "RightTeeArrow": 
-				// RIGHTWARDS ARROW FROM BAR
+			case "RightTee":                        // RIGHT TACK
+				return rune(0x22a2), true
+			case "RightTeeArrow":                   // RIGHTWARDS ARROW FROM BAR
 				return rune(0x21a6), true
 				return rune(0x21a6), true
-			case "RightTeeVector": 
-				// RIGHTWARDS HARPOON WITH BARB UP FROM BAR
+			case "RightTeeVector":                  // RIGHTWARDS HARPOON WITH BARB UP FROM BAR
 				return rune(0x295b), true
 				return rune(0x295b), true
-			case "RightTee": 
-				// RIGHT TACK
-				return rune(0x22a2), true
-			case "RightTriangleBar": 
-				// VERTICAL BAR BESIDE RIGHT TRIANGLE
-				return rune(0x29d0), true
-			case "RightTriangle": 
-				// CONTAINS AS NORMAL SUBGROUP
+			case "RightTriangle":                   // CONTAINS AS NORMAL SUBGROUP
 				return rune(0x22b3), true
 				return rune(0x22b3), true
-			case "RightTriangleEqual": 
-				// CONTAINS AS NORMAL SUBGROUP OR EQUAL TO
+			case "RightTriangleBar":                // VERTICAL BAR BESIDE RIGHT TRIANGLE
+				return rune(0x29d0), true
+			case "RightTriangleEqual":              // CONTAINS AS NORMAL SUBGROUP OR EQUAL TO
 				return rune(0x22b5), true
 				return rune(0x22b5), true
-			case "RightUpDownVector": 
-				// UP BARB RIGHT DOWN BARB RIGHT HARPOON
+			case "RightUpDownVector":               // UP BARB RIGHT DOWN BARB RIGHT HARPOON
 				return rune(0x294f), true
 				return rune(0x294f), true
-			case "RightUpTeeVector": 
-				// UPWARDS HARPOON WITH BARB RIGHT FROM BAR
+			case "RightUpTeeVector":                // UPWARDS HARPOON WITH BARB RIGHT FROM BAR
 				return rune(0x295c), true
 				return rune(0x295c), true
-			case "RightUpVector": 
-				// UPWARDS HARPOON WITH BARB RIGHTWARDS
+			case "RightUpVector":                   // UPWARDS HARPOON WITH BARB RIGHTWARDS
 				return rune(0x21be), true
 				return rune(0x21be), true
-			case "RightUpVectorBar": 
-				// UPWARDS HARPOON WITH BARB RIGHT TO BAR
+			case "RightUpVectorBar":                // UPWARDS HARPOON WITH BARB RIGHT TO BAR
 				return rune(0x2954), true
 				return rune(0x2954), true
-			case "RightVector": 
-				// RIGHTWARDS HARPOON WITH BARB UPWARDS
+			case "RightVector":                     // RIGHTWARDS HARPOON WITH BARB UPWARDS
 				return rune(0x21c0), true
 				return rune(0x21c0), true
-			case "RightVectorBar": 
-				// RIGHTWARDS HARPOON WITH BARB UP TO BAR
+			case "RightVectorBar":                  // RIGHTWARDS HARPOON WITH BARB UP TO BAR
 				return rune(0x2953), true
 				return rune(0x2953), true
-			case "Rightarrow": 
-				// RIGHTWARDS DOUBLE ARROW
+			case "Rightarrow":                      // RIGHTWARDS DOUBLE ARROW
 				return rune(0x21d2), true
 				return rune(0x21d2), true
-			case "Ropf": 
-				// DOUBLE-STRUCK CAPITAL R
+			case "Ropf":                            // DOUBLE-STRUCK CAPITAL R
 				return rune(0x211d), true
 				return rune(0x211d), true
-			case "RoundImplies": 
-				// RIGHT DOUBLE ARROW WITH ROUNDED HEAD
+			case "RoundImplies":                    // RIGHT DOUBLE ARROW WITH ROUNDED HEAD
 				return rune(0x2970), true
 				return rune(0x2970), true
-			case "Rrightarrow": 
-				// RIGHTWARDS TRIPLE ARROW
+			case "Rrightarrow":                     // RIGHTWARDS TRIPLE ARROW
 				return rune(0x21db), true
 				return rune(0x21db), true
-			case "Rscr": 
-				// SCRIPT CAPITAL R
+			case "Rscr":                            // SCRIPT CAPITAL R
 				return rune(0x211b), true
 				return rune(0x211b), true
-			case "Rsh": 
-				// UPWARDS ARROW WITH TIP RIGHTWARDS
+			case "Rsh":                             // UPWARDS ARROW WITH TIP RIGHTWARDS
 				return rune(0x21b1), true
 				return rune(0x21b1), true
-			case "RuleDelayed": 
-				// RULE-DELAYED
+			case "RuleDelayed":                     // RULE-DELAYED
 				return rune(0x29f4), true
 				return rune(0x29f4), true
 		}
 		}
 
 
 	case 'S':
 	case 'S':
 		switch name {
 		switch name {
-			case "SHCHcy": 
-				// CYRILLIC CAPITAL LETTER SHCHA
+			case "SHCHcy":                          // CYRILLIC CAPITAL LETTER SHCHA
 				return rune(0x0429), true
 				return rune(0x0429), true
-			case "SHcy": 
-				// CYRILLIC CAPITAL LETTER SHA
+			case "SHcy":                            // CYRILLIC CAPITAL LETTER SHA
 				return rune(0x0428), true
 				return rune(0x0428), true
-			case "SOFTcy": 
-				// CYRILLIC CAPITAL LETTER SOFT SIGN
+			case "SOFTcy":                          // CYRILLIC CAPITAL LETTER SOFT SIGN
 				return rune(0x042c), true
 				return rune(0x042c), true
-			case "Sacute": 
-				// LATIN CAPITAL LETTER S WITH ACUTE
+			case "Sacute":                          // LATIN CAPITAL LETTER S WITH ACUTE
 				return rune(0x015a), true
 				return rune(0x015a), true
-			case "Sc": 
-				// DOUBLE SUCCEEDS
+			case "Sc":                              // DOUBLE SUCCEEDS
 				return rune(0x2abc), true
 				return rune(0x2abc), true
-			case "Scaron": 
-				// LATIN CAPITAL LETTER S WITH CARON
+			case "Scaron":                          // LATIN CAPITAL LETTER S WITH CARON
 				return rune(0x0160), true
 				return rune(0x0160), true
-			case "Scedil": 
-				// LATIN CAPITAL LETTER S WITH CEDILLA
+			case "Scedil":                          // LATIN CAPITAL LETTER S WITH CEDILLA
 				return rune(0x015e), true
 				return rune(0x015e), true
-			case "Scirc": 
-				// LATIN CAPITAL LETTER S WITH CIRCUMFLEX
+			case "Scirc":                           // LATIN CAPITAL LETTER S WITH CIRCUMFLEX
 				return rune(0x015c), true
 				return rune(0x015c), true
-			case "Scy": 
-				// CYRILLIC CAPITAL LETTER ES
+			case "Scy":                             // CYRILLIC CAPITAL LETTER ES
 				return rune(0x0421), true
 				return rune(0x0421), true
-			case "Sfr": 
-				// MATHEMATICAL FRAKTUR CAPITAL S
+			case "Sfr":                             // MATHEMATICAL FRAKTUR CAPITAL S
 				return rune(0x01d516), true
 				return rune(0x01d516), true
-			case "Sgr": 
-				// GREEK CAPITAL LETTER SIGMA
+			case "Sgr":                             // GREEK CAPITAL LETTER SIGMA
 				return rune(0x03a3), true
 				return rune(0x03a3), true
-			case "ShortDownArrow": 
-				// DOWNWARDS ARROW
+			case "ShortDownArrow":                  // DOWNWARDS ARROW
 				return rune(0x2193), true
 				return rune(0x2193), true
-			case "ShortLeftArrow": 
-				// LEFTWARDS ARROW
+			case "ShortLeftArrow":                  // LEFTWARDS ARROW
 				return rune(0x2190), true
 				return rune(0x2190), true
-			case "ShortRightArrow": 
-				// RIGHTWARDS ARROW
+			case "ShortRightArrow":                 // RIGHTWARDS ARROW
 				return rune(0x2192), true
 				return rune(0x2192), true
-			case "ShortUpArrow": 
-				// UPWARDS ARROW
+			case "ShortUpArrow":                    // UPWARDS ARROW
 				return rune(0x2191), true
 				return rune(0x2191), true
-			case "Sigma": 
-				// GREEK CAPITAL LETTER SIGMA
+			case "Sigma":                           // GREEK CAPITAL LETTER SIGMA
 				return rune(0x03a3), true
 				return rune(0x03a3), true
-			case "SmallCircle": 
-				// RING OPERATOR
+			case "SmallCircle":                     // RING OPERATOR
 				return rune(0x2218), true
 				return rune(0x2218), true
-			case "Sopf": 
-				// MATHEMATICAL DOUBLE-STRUCK CAPITAL S
+			case "Sopf":                            // MATHEMATICAL DOUBLE-STRUCK CAPITAL S
 				return rune(0x01d54a), true
 				return rune(0x01d54a), true
-			case "Sqrt": 
-				// SQUARE ROOT
+			case "Sqrt":                            // SQUARE ROOT
 				return rune(0x221a), true
 				return rune(0x221a), true
-			case "SquareIntersection": 
-				// SQUARE CAP
+			case "Square":                          // WHITE SQUARE
+				return rune(0x25a1), true
+			case "SquareIntersection":              // SQUARE CAP
 				return rune(0x2293), true
 				return rune(0x2293), true
-			case "SquareSubset": 
-				// SQUARE IMAGE OF
+			case "SquareSubset":                    // SQUARE IMAGE OF
 				return rune(0x228f), true
 				return rune(0x228f), true
-			case "SquareSubsetEqual": 
-				// SQUARE IMAGE OF OR EQUAL TO
+			case "SquareSubsetEqual":               // SQUARE IMAGE OF OR EQUAL TO
 				return rune(0x2291), true
 				return rune(0x2291), true
-			case "Square": 
-				// WHITE SQUARE
-				return rune(0x25a1), true
-			case "SquareSuperset": 
-				// SQUARE ORIGINAL OF
+			case "SquareSuperset":                  // SQUARE ORIGINAL OF
 				return rune(0x2290), true
 				return rune(0x2290), true
-			case "SquareSupersetEqual": 
-				// SQUARE ORIGINAL OF OR EQUAL TO
+			case "SquareSupersetEqual":             // SQUARE ORIGINAL OF OR EQUAL TO
 				return rune(0x2292), true
 				return rune(0x2292), true
-			case "SquareUnion": 
-				// SQUARE CUP
+			case "SquareUnion":                     // SQUARE CUP
 				return rune(0x2294), true
 				return rune(0x2294), true
-			case "Sscr": 
-				// MATHEMATICAL SCRIPT CAPITAL S
+			case "Sscr":                            // MATHEMATICAL SCRIPT CAPITAL S
 				return rune(0x01d4ae), true
 				return rune(0x01d4ae), true
-			case "Star": 
-				// STAR OPERATOR
+			case "Star":                            // STAR OPERATOR
 				return rune(0x22c6), true
 				return rune(0x22c6), true
-			case "Sub": 
-				// DOUBLE SUBSET
+			case "Sub":                             // DOUBLE SUBSET
 				return rune(0x22d0), true
 				return rune(0x22d0), true
-			case "Subset": 
-				// DOUBLE SUBSET
+			case "Subset":                          // DOUBLE SUBSET
 				return rune(0x22d0), true
 				return rune(0x22d0), true
-			case "SubsetEqual": 
-				// SUBSET OF OR EQUAL TO
+			case "SubsetEqual":                     // SUBSET OF OR EQUAL TO
 				return rune(0x2286), true
 				return rune(0x2286), true
-			case "Succeeds": 
-				// SUCCEEDS
+			case "Succeeds":                        // SUCCEEDS
 				return rune(0x227b), true
 				return rune(0x227b), true
-			case "SucceedsEqual": 
-				// SUCCEEDS ABOVE SINGLE-LINE EQUALS SIGN
+			case "SucceedsEqual":                   // SUCCEEDS ABOVE SINGLE-LINE EQUALS SIGN
 				return rune(0x2ab0), true
 				return rune(0x2ab0), true
-			case "SucceedsSlantEqual": 
-				// SUCCEEDS OR EQUAL TO
+			case "SucceedsSlantEqual":              // SUCCEEDS OR EQUAL TO
 				return rune(0x227d), true
 				return rune(0x227d), true
-			case "SucceedsTilde": 
-				// SUCCEEDS OR EQUIVALENT TO
+			case "SucceedsTilde":                   // SUCCEEDS OR EQUIVALENT TO
 				return rune(0x227f), true
 				return rune(0x227f), true
-			case "SuchThat": 
-				// CONTAINS AS MEMBER
+			case "SuchThat":                        // CONTAINS AS MEMBER
 				return rune(0x220b), true
 				return rune(0x220b), true
-			case "Sum": 
-				// N-ARY SUMMATION
+			case "Sum":                             // N-ARY SUMMATION
 				return rune(0x2211), true
 				return rune(0x2211), true
-			case "SupersetEqual": 
-				// SUPERSET OF OR EQUAL TO
-				return rune(0x2287), true
-			case "Sup": 
-				// DOUBLE SUPERSET
+			case "Sup":                             // DOUBLE SUPERSET
 				return rune(0x22d1), true
 				return rune(0x22d1), true
-			case "Superset": 
-				// SUPERSET OF
+			case "Superset":                        // SUPERSET OF
 				return rune(0x2283), true
 				return rune(0x2283), true
-			case "Supset": 
-				// DOUBLE SUPERSET
+			case "SupersetEqual":                   // SUPERSET OF OR EQUAL TO
+				return rune(0x2287), true
+			case "Supset":                          // DOUBLE SUPERSET
 				return rune(0x22d1), true
 				return rune(0x22d1), true
 		}
 		}
 
 
 	case 'T':
 	case 'T':
 		switch name {
 		switch name {
-			case "THORN": 
-				// LATIN CAPITAL LETTER THORN
+			case "THORN":                           // LATIN CAPITAL LETTER THORN
 				return rune(0xde), true
 				return rune(0xde), true
-			case "THgr": 
-				// GREEK CAPITAL LETTER THETA
+			case "THgr":                            // GREEK CAPITAL LETTER THETA
 				return rune(0x0398), true
 				return rune(0x0398), true
-			case "TRADE": 
-				// TRADE MARK SIGN
+			case "TRADE":                           // TRADE MARK SIGN
 				return rune(0x2122), true
 				return rune(0x2122), true
-			case "TSHcy": 
-				// CYRILLIC CAPITAL LETTER TSHE
+			case "TSHcy":                           // CYRILLIC CAPITAL LETTER TSHE
 				return rune(0x040b), true
 				return rune(0x040b), true
-			case "TScy": 
-				// CYRILLIC CAPITAL LETTER TSE
+			case "TScy":                            // CYRILLIC CAPITAL LETTER TSE
 				return rune(0x0426), true
 				return rune(0x0426), true
-			case "Tab": 
-				// CHARACTER TABULATION
+			case "Tab":                             // CHARACTER TABULATION
 				return rune(0x09), true
 				return rune(0x09), true
-			case "Tau": 
-				// GREEK CAPITAL LETTER TAU
+			case "Tau":                             // GREEK CAPITAL LETTER TAU
 				return rune(0x03a4), true
 				return rune(0x03a4), true
-			case "Tcaron": 
-				// LATIN CAPITAL LETTER T WITH CARON
+			case "Tcaron":                          // LATIN CAPITAL LETTER T WITH CARON
 				return rune(0x0164), true
 				return rune(0x0164), true
-			case "Tcedil": 
-				// LATIN CAPITAL LETTER T WITH CEDILLA
+			case "Tcedil":                          // LATIN CAPITAL LETTER T WITH CEDILLA
 				return rune(0x0162), true
 				return rune(0x0162), true
-			case "Tcy": 
-				// CYRILLIC CAPITAL LETTER TE
+			case "Tcy":                             // CYRILLIC CAPITAL LETTER TE
 				return rune(0x0422), true
 				return rune(0x0422), true
-			case "Tfr": 
-				// MATHEMATICAL FRAKTUR CAPITAL T
+			case "Tfr":                             // MATHEMATICAL FRAKTUR CAPITAL T
 				return rune(0x01d517), true
 				return rune(0x01d517), true
-			case "Tgr": 
-				// GREEK CAPITAL LETTER TAU
+			case "Tgr":                             // GREEK CAPITAL LETTER TAU
 				return rune(0x03a4), true
 				return rune(0x03a4), true
-			case "Therefore": 
-				// THEREFORE
+			case "Therefore":                       // THEREFORE
 				return rune(0x2234), true
 				return rune(0x2234), true
-			case "Theta": 
-				// GREEK CAPITAL LETTER THETA
+			case "Theta":                           // GREEK CAPITAL LETTER THETA
 				return rune(0x0398), true
 				return rune(0x0398), true
-			case "Thetav": 
-				// GREEK CAPITAL THETA SYMBOL
+			case "Thetav":                          // GREEK CAPITAL THETA SYMBOL
 				return rune(0x03f4), true
 				return rune(0x03f4), true
-			case "ThickSpace": 
-				// space of width 5/18 em
+			case "ThickSpace":                      // space of width 5/18 em
 				return rune(0x205f), true
 				return rune(0x205f), true
-			case "ThinSpace": 
-				// THIN SPACE
+			case "ThinSpace":                       // THIN SPACE
 				return rune(0x2009), true
 				return rune(0x2009), true
-			case "Tilde": 
-				// TILDE OPERATOR
+			case "Tilde":                           // TILDE OPERATOR
 				return rune(0x223c), true
 				return rune(0x223c), true
-			case "TildeEqual": 
-				// ASYMPTOTICALLY EQUAL TO
+			case "TildeEqual":                      // ASYMPTOTICALLY EQUAL TO
 				return rune(0x2243), true
 				return rune(0x2243), true
-			case "TildeFullEqual": 
-				// APPROXIMATELY EQUAL TO
+			case "TildeFullEqual":                  // APPROXIMATELY EQUAL TO
 				return rune(0x2245), true
 				return rune(0x2245), true
-			case "TildeTilde": 
-				// ALMOST EQUAL TO
+			case "TildeTilde":                      // ALMOST EQUAL TO
 				return rune(0x2248), true
 				return rune(0x2248), true
-			case "Topf": 
-				// MATHEMATICAL DOUBLE-STRUCK CAPITAL T
+			case "Topf":                            // MATHEMATICAL DOUBLE-STRUCK CAPITAL T
 				return rune(0x01d54b), true
 				return rune(0x01d54b), true
-			case "TripleDot": 
-				// COMBINING THREE DOTS ABOVE
+			case "TripleDot":                       // COMBINING THREE DOTS ABOVE
 				return rune(0x20db), true
 				return rune(0x20db), true
-			case "Tscr": 
-				// MATHEMATICAL SCRIPT CAPITAL T
+			case "Tscr":                            // MATHEMATICAL SCRIPT CAPITAL T
 				return rune(0x01d4af), true
 				return rune(0x01d4af), true
-			case "Tstrok": 
-				// LATIN CAPITAL LETTER T WITH STROKE
+			case "Tstrok":                          // LATIN CAPITAL LETTER T WITH STROKE
 				return rune(0x0166), true
 				return rune(0x0166), true
 		}
 		}
 
 
 	case 'U':
 	case 'U':
 		switch name {
 		switch name {
-			case "Uacgr": 
-				// GREEK CAPITAL LETTER UPSILON WITH TONOS
+			case "Uacgr":                           // GREEK CAPITAL LETTER UPSILON WITH TONOS
 				return rune(0x038e), true
 				return rune(0x038e), true
-			case "Uacute": 
-				// LATIN CAPITAL LETTER U WITH ACUTE
+			case "Uacute":                          // LATIN CAPITAL LETTER U WITH ACUTE
 				return rune(0xda), true
 				return rune(0xda), true
-			case "Uarrocir": 
-				// UPWARDS TWO-HEADED ARROW FROM SMALL CIRCLE
-				return rune(0x2949), true
-			case "Uarr": 
-				// UPWARDS TWO HEADED ARROW
+			case "Uarr":                            // UPWARDS TWO HEADED ARROW
 				return rune(0x219f), true
 				return rune(0x219f), true
-			case "Ubrcy": 
-				// CYRILLIC CAPITAL LETTER SHORT U
+			case "Uarrocir":                        // UPWARDS TWO-HEADED ARROW FROM SMALL CIRCLE
+				return rune(0x2949), true
+			case "Ubrcy":                           // CYRILLIC CAPITAL LETTER SHORT U
 				return rune(0x040e), true
 				return rune(0x040e), true
-			case "Ubreve": 
-				// LATIN CAPITAL LETTER U WITH BREVE
+			case "Ubreve":                          // LATIN CAPITAL LETTER U WITH BREVE
 				return rune(0x016c), true
 				return rune(0x016c), true
-			case "Ucirc": 
-				// LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+			case "Ucirc":                           // LATIN CAPITAL LETTER U WITH CIRCUMFLEX
 				return rune(0xdb), true
 				return rune(0xdb), true
-			case "Ucy": 
-				// CYRILLIC CAPITAL LETTER U
+			case "Ucy":                             // CYRILLIC CAPITAL LETTER U
 				return rune(0x0423), true
 				return rune(0x0423), true
-			case "Udblac": 
-				// LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+			case "Udblac":                          // LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
 				return rune(0x0170), true
 				return rune(0x0170), true
-			case "Udigr": 
-				// GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA
+			case "Udigr":                           // GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA
 				return rune(0x03ab), true
 				return rune(0x03ab), true
-			case "Ufr": 
-				// MATHEMATICAL FRAKTUR CAPITAL U
+			case "Ufr":                             // MATHEMATICAL FRAKTUR CAPITAL U
 				return rune(0x01d518), true
 				return rune(0x01d518), true
-			case "Ugrave": 
-				// LATIN CAPITAL LETTER U WITH GRAVE
-				return rune(0xd9), true
-			case "Ugr": 
-				// GREEK CAPITAL LETTER UPSILON
+			case "Ugr":                             // GREEK CAPITAL LETTER UPSILON
 				return rune(0x03a5), true
 				return rune(0x03a5), true
-			case "Umacr": 
-				// LATIN CAPITAL LETTER U WITH MACRON
+			case "Ugrave":                          // LATIN CAPITAL LETTER U WITH GRAVE
+				return rune(0xd9), true
+			case "Umacr":                           // LATIN CAPITAL LETTER U WITH MACRON
 				return rune(0x016a), true
 				return rune(0x016a), true
-			case "UnderBar": 
-				// LOW LINE
+			case "UnderBar":                        // LOW LINE
 				return rune(0x5f), true
 				return rune(0x5f), true
-			case "UnderBrace": 
-				// BOTTOM CURLY BRACKET
+			case "UnderBrace":                      // BOTTOM CURLY BRACKET
 				return rune(0x23df), true
 				return rune(0x23df), true
-			case "UnderBracket": 
-				// BOTTOM SQUARE BRACKET
+			case "UnderBracket":                    // BOTTOM SQUARE BRACKET
 				return rune(0x23b5), true
 				return rune(0x23b5), true
-			case "UnderParenthesis": 
-				// BOTTOM PARENTHESIS
+			case "UnderParenthesis":                // BOTTOM PARENTHESIS
 				return rune(0x23dd), true
 				return rune(0x23dd), true
-			case "Union": 
-				// N-ARY UNION
+			case "Union":                           // N-ARY UNION
 				return rune(0x22c3), true
 				return rune(0x22c3), true
-			case "UnionPlus": 
-				// MULTISET UNION
+			case "UnionPlus":                       // MULTISET UNION
 				return rune(0x228e), true
 				return rune(0x228e), true
-			case "Uogon": 
-				// LATIN CAPITAL LETTER U WITH OGONEK
+			case "Uogon":                           // LATIN CAPITAL LETTER U WITH OGONEK
 				return rune(0x0172), true
 				return rune(0x0172), true
-			case "Uopf": 
-				// MATHEMATICAL DOUBLE-STRUCK CAPITAL U
+			case "Uopf":                            // MATHEMATICAL DOUBLE-STRUCK CAPITAL U
 				return rune(0x01d54c), true
 				return rune(0x01d54c), true
-			case "UpArrow": 
-				// UPWARDS ARROW
+			case "UpArrow":                         // UPWARDS ARROW
 				return rune(0x2191), true
 				return rune(0x2191), true
-			case "UpArrowBar": 
-				// UPWARDS ARROW TO BAR
+			case "UpArrowBar":                      // UPWARDS ARROW TO BAR
 				return rune(0x2912), true
 				return rune(0x2912), true
-			case "UpArrowDownArrow": 
-				// UPWARDS ARROW LEFTWARDS OF DOWNWARDS ARROW
+			case "UpArrowDownArrow":                // UPWARDS ARROW LEFTWARDS OF DOWNWARDS ARROW
 				return rune(0x21c5), true
 				return rune(0x21c5), true
-			case "UpDownArrow": 
-				// UP DOWN ARROW
+			case "UpDownArrow":                     // UP DOWN ARROW
 				return rune(0x2195), true
 				return rune(0x2195), true
-			case "UpEquilibrium": 
-				// UPWARDS HARPOON WITH BARB LEFT BESIDE DOWNWARDS HARPOON WITH BARB RIGHT
+			case "UpEquilibrium":                   // UPWARDS HARPOON WITH BARB LEFT BESIDE DOWNWARDS HARPOON WITH BARB RIGHT
 				return rune(0x296e), true
 				return rune(0x296e), true
-			case "UpTee": 
-				// UP TACK
+			case "UpTee":                           // UP TACK
 				return rune(0x22a5), true
 				return rune(0x22a5), true
-			case "UpTeeArrow": 
-				// UPWARDS ARROW FROM BAR
+			case "UpTeeArrow":                      // UPWARDS ARROW FROM BAR
 				return rune(0x21a5), true
 				return rune(0x21a5), true
-			case "Uparrow": 
-				// UPWARDS DOUBLE ARROW
+			case "Uparrow":                         // UPWARDS DOUBLE ARROW
 				return rune(0x21d1), true
 				return rune(0x21d1), true
-			case "Updownarrow": 
-				// UP DOWN DOUBLE ARROW
+			case "Updownarrow":                     // UP DOWN DOUBLE ARROW
 				return rune(0x21d5), true
 				return rune(0x21d5), true
-			case "UpperLeftArrow": 
-				// NORTH WEST ARROW
+			case "UpperLeftArrow":                  // NORTH WEST ARROW
 				return rune(0x2196), true
 				return rune(0x2196), true
-			case "UpperRightArrow": 
-				// NORTH EAST ARROW
+			case "UpperRightArrow":                 // NORTH EAST ARROW
 				return rune(0x2197), true
 				return rune(0x2197), true
-			case "Upsilon": 
-				// GREEK CAPITAL LETTER UPSILON
-				return rune(0x03a5), true
-			case "Upsi": 
-				// GREEK UPSILON WITH HOOK SYMBOL
+			case "Upsi":                            // GREEK UPSILON WITH HOOK SYMBOL
 				return rune(0x03d2), true
 				return rune(0x03d2), true
-			case "Uring": 
-				// LATIN CAPITAL LETTER U WITH RING ABOVE
+			case "Upsilon":                         // GREEK CAPITAL LETTER UPSILON
+				return rune(0x03a5), true
+			case "Uring":                           // LATIN CAPITAL LETTER U WITH RING ABOVE
 				return rune(0x016e), true
 				return rune(0x016e), true
-			case "Uscr": 
-				// MATHEMATICAL SCRIPT CAPITAL U
+			case "Uscr":                            // MATHEMATICAL SCRIPT CAPITAL U
 				return rune(0x01d4b0), true
 				return rune(0x01d4b0), true
-			case "Utilde": 
-				// LATIN CAPITAL LETTER U WITH TILDE
+			case "Utilde":                          // LATIN CAPITAL LETTER U WITH TILDE
 				return rune(0x0168), true
 				return rune(0x0168), true
-			case "Uuml": 
-				// LATIN CAPITAL LETTER U WITH DIAERESIS
+			case "Uuml":                            // LATIN CAPITAL LETTER U WITH DIAERESIS
 				return rune(0xdc), true
 				return rune(0xdc), true
 		}
 		}
 
 
 	case 'V':
 	case 'V':
 		switch name {
 		switch name {
-			case "VDash": 
-				// DOUBLE VERTICAL BAR DOUBLE RIGHT TURNSTILE
+			case "VDash":                           // DOUBLE VERTICAL BAR DOUBLE RIGHT TURNSTILE
 				return rune(0x22ab), true
 				return rune(0x22ab), true
-			case "Vbar": 
-				// DOUBLE UP TACK
+			case "Vbar":                            // DOUBLE UP TACK
 				return rune(0x2aeb), true
 				return rune(0x2aeb), true
-			case "Vcy": 
-				// CYRILLIC CAPITAL LETTER VE
+			case "Vcy":                             // CYRILLIC CAPITAL LETTER VE
 				return rune(0x0412), true
 				return rune(0x0412), true
-			case "Vdashl": 
-				// LONG DASH FROM LEFT MEMBER OF DOUBLE VERTICAL
-				return rune(0x2ae6), true
-			case "Vdash": 
-				// FORCES
+			case "Vdash":                           // FORCES
 				return rune(0x22a9), true
 				return rune(0x22a9), true
-			case "Vee": 
-				// N-ARY LOGICAL OR
+			case "Vdashl":                          // LONG DASH FROM LEFT MEMBER OF DOUBLE VERTICAL
+				return rune(0x2ae6), true
+			case "Vee":                             // N-ARY LOGICAL OR
 				return rune(0x22c1), true
 				return rune(0x22c1), true
-			case "Verbar": 
-				// DOUBLE VERTICAL LINE
+			case "Verbar":                          // DOUBLE VERTICAL LINE
 				return rune(0x2016), true
 				return rune(0x2016), true
-			case "Vert": 
-				// DOUBLE VERTICAL LINE
+			case "Vert":                            // DOUBLE VERTICAL LINE
 				return rune(0x2016), true
 				return rune(0x2016), true
-			case "VerticalBar": 
-				// DIVIDES
+			case "VerticalBar":                     // DIVIDES
 				return rune(0x2223), true
 				return rune(0x2223), true
-			case "VerticalLine": 
-				// VERTICAL LINE
+			case "VerticalLine":                    // VERTICAL LINE
 				return rune(0x7c), true
 				return rune(0x7c), true
-			case "VerticalSeparator": 
-				// LIGHT VERTICAL BAR
+			case "VerticalSeparator":               // LIGHT VERTICAL BAR
 				return rune(0x2758), true
 				return rune(0x2758), true
-			case "VerticalTilde": 
-				// WREATH PRODUCT
+			case "VerticalTilde":                   // WREATH PRODUCT
 				return rune(0x2240), true
 				return rune(0x2240), true
-			case "VeryThinSpace": 
-				// HAIR SPACE
+			case "VeryThinSpace":                   // HAIR SPACE
 				return rune(0x200a), true
 				return rune(0x200a), true
-			case "Vfr": 
-				// MATHEMATICAL FRAKTUR CAPITAL V
+			case "Vfr":                             // MATHEMATICAL FRAKTUR CAPITAL V
 				return rune(0x01d519), true
 				return rune(0x01d519), true
-			case "Vopf": 
-				// MATHEMATICAL DOUBLE-STRUCK CAPITAL V
+			case "Vopf":                            // MATHEMATICAL DOUBLE-STRUCK CAPITAL V
 				return rune(0x01d54d), true
 				return rune(0x01d54d), true
-			case "Vscr": 
-				// MATHEMATICAL SCRIPT CAPITAL V
+			case "Vscr":                            // MATHEMATICAL SCRIPT CAPITAL V
 				return rune(0x01d4b1), true
 				return rune(0x01d4b1), true
-			case "Vvdash": 
-				// TRIPLE VERTICAL BAR RIGHT TURNSTILE
+			case "Vvdash":                          // TRIPLE VERTICAL BAR RIGHT TURNSTILE
 				return rune(0x22aa), true
 				return rune(0x22aa), true
 		}
 		}
 
 
 	case 'W':
 	case 'W':
 		switch name {
 		switch name {
-			case "Wcirc": 
-				// LATIN CAPITAL LETTER W WITH CIRCUMFLEX
+			case "Wcirc":                           // LATIN CAPITAL LETTER W WITH CIRCUMFLEX
 				return rune(0x0174), true
 				return rune(0x0174), true
-			case "Wedge": 
-				// N-ARY LOGICAL AND
+			case "Wedge":                           // N-ARY LOGICAL AND
 				return rune(0x22c0), true
 				return rune(0x22c0), true
-			case "Wfr": 
-				// MATHEMATICAL FRAKTUR CAPITAL W
+			case "Wfr":                             // MATHEMATICAL FRAKTUR CAPITAL W
 				return rune(0x01d51a), true
 				return rune(0x01d51a), true
-			case "Wopf": 
-				// MATHEMATICAL DOUBLE-STRUCK CAPITAL W
+			case "Wopf":                            // MATHEMATICAL DOUBLE-STRUCK CAPITAL W
 				return rune(0x01d54e), true
 				return rune(0x01d54e), true
-			case "Wscr": 
-				// MATHEMATICAL SCRIPT CAPITAL W
+			case "Wscr":                            // MATHEMATICAL SCRIPT CAPITAL W
 				return rune(0x01d4b2), true
 				return rune(0x01d4b2), true
 		}
 		}
 
 
 	case 'X':
 	case 'X':
 		switch name {
 		switch name {
-			case "Xfr": 
-				// MATHEMATICAL FRAKTUR CAPITAL X
+			case "Xfr":                             // MATHEMATICAL FRAKTUR CAPITAL X
 				return rune(0x01d51b), true
 				return rune(0x01d51b), true
-			case "Xgr": 
-				// GREEK CAPITAL LETTER XI
+			case "Xgr":                             // GREEK CAPITAL LETTER XI
 				return rune(0x039e), true
 				return rune(0x039e), true
-			case "Xi": 
-				// GREEK CAPITAL LETTER XI
+			case "Xi":                              // GREEK CAPITAL LETTER XI
 				return rune(0x039e), true
 				return rune(0x039e), true
-			case "Xopf": 
-				// MATHEMATICAL DOUBLE-STRUCK CAPITAL X
+			case "Xopf":                            // MATHEMATICAL DOUBLE-STRUCK CAPITAL X
 				return rune(0x01d54f), true
 				return rune(0x01d54f), true
-			case "Xscr": 
-				// MATHEMATICAL SCRIPT CAPITAL X
+			case "Xscr":                            // MATHEMATICAL SCRIPT CAPITAL X
 				return rune(0x01d4b3), true
 				return rune(0x01d4b3), true
 		}
 		}
 
 
 	case 'Y':
 	case 'Y':
 		switch name {
 		switch name {
-			case "YAcy": 
-				// CYRILLIC CAPITAL LETTER YA
+			case "YAcy":                            // CYRILLIC CAPITAL LETTER YA
 				return rune(0x042f), true
 				return rune(0x042f), true
-			case "YIcy": 
-				// CYRILLIC CAPITAL LETTER YI
+			case "YIcy":                            // CYRILLIC CAPITAL LETTER YI
 				return rune(0x0407), true
 				return rune(0x0407), true
-			case "YUcy": 
-				// CYRILLIC CAPITAL LETTER YU
+			case "YUcy":                            // CYRILLIC CAPITAL LETTER YU
 				return rune(0x042e), true
 				return rune(0x042e), true
-			case "Yacute": 
-				// LATIN CAPITAL LETTER Y WITH ACUTE
+			case "Yacute":                          // LATIN CAPITAL LETTER Y WITH ACUTE
 				return rune(0xdd), true
 				return rune(0xdd), true
-			case "Ycirc": 
-				// LATIN CAPITAL LETTER Y WITH CIRCUMFLEX
+			case "Ycirc":                           // LATIN CAPITAL LETTER Y WITH CIRCUMFLEX
 				return rune(0x0176), true
 				return rune(0x0176), true
-			case "Ycy": 
-				// CYRILLIC CAPITAL LETTER YERU
+			case "Ycy":                             // CYRILLIC CAPITAL LETTER YERU
 				return rune(0x042b), true
 				return rune(0x042b), true
-			case "Yfr": 
-				// MATHEMATICAL FRAKTUR CAPITAL Y
+			case "Yfr":                             // MATHEMATICAL FRAKTUR CAPITAL Y
 				return rune(0x01d51c), true
 				return rune(0x01d51c), true
-			case "Yopf": 
-				// MATHEMATICAL DOUBLE-STRUCK CAPITAL Y
+			case "Yopf":                            // MATHEMATICAL DOUBLE-STRUCK CAPITAL Y
 				return rune(0x01d550), true
 				return rune(0x01d550), true
-			case "Yscr": 
-				// MATHEMATICAL SCRIPT CAPITAL Y
+			case "Yscr":                            // MATHEMATICAL SCRIPT CAPITAL Y
 				return rune(0x01d4b4), true
 				return rune(0x01d4b4), true
-			case "Yuml": 
-				// LATIN CAPITAL LETTER Y WITH DIAERESIS
+			case "Yuml":                            // LATIN CAPITAL LETTER Y WITH DIAERESIS
 				return rune(0x0178), true
 				return rune(0x0178), true
 		}
 		}
 
 
 	case 'Z':
 	case 'Z':
 		switch name {
 		switch name {
-			case "ZHcy": 
-				// CYRILLIC CAPITAL LETTER ZHE
+			case "ZHcy":                            // CYRILLIC CAPITAL LETTER ZHE
 				return rune(0x0416), true
 				return rune(0x0416), true
-			case "Zacute": 
-				// LATIN CAPITAL LETTER Z WITH ACUTE
+			case "Zacute":                          // LATIN CAPITAL LETTER Z WITH ACUTE
 				return rune(0x0179), true
 				return rune(0x0179), true
-			case "Zcaron": 
-				// LATIN CAPITAL LETTER Z WITH CARON
+			case "Zcaron":                          // LATIN CAPITAL LETTER Z WITH CARON
 				return rune(0x017d), true
 				return rune(0x017d), true
-			case "Zcy": 
-				// CYRILLIC CAPITAL LETTER ZE
+			case "Zcy":                             // CYRILLIC CAPITAL LETTER ZE
 				return rune(0x0417), true
 				return rune(0x0417), true
-			case "Zdot": 
-				// LATIN CAPITAL LETTER Z WITH DOT ABOVE
+			case "Zdot":                            // LATIN CAPITAL LETTER Z WITH DOT ABOVE
 				return rune(0x017b), true
 				return rune(0x017b), true
-			case "ZeroWidthSpace": 
-				// ZERO WIDTH SPACE
+			case "ZeroWidthSpace":                  // ZERO WIDTH SPACE
 				return rune(0x200b), true
 				return rune(0x200b), true
-			case "Zeta": 
-				// GREEK CAPITAL LETTER ZETA
+			case "Zeta":                            // GREEK CAPITAL LETTER ZETA
 				return rune(0x0396), true
 				return rune(0x0396), true
-			case "Zfr": 
-				// BLACK-LETTER CAPITAL Z
+			case "Zfr":                             // BLACK-LETTER CAPITAL Z
 				return rune(0x2128), true
 				return rune(0x2128), true
-			case "Zgr": 
-				// GREEK CAPITAL LETTER ZETA
+			case "Zgr":                             // GREEK CAPITAL LETTER ZETA
 				return rune(0x0396), true
 				return rune(0x0396), true
-			case "Zopf": 
-				// DOUBLE-STRUCK CAPITAL Z
+			case "Zopf":                            // DOUBLE-STRUCK CAPITAL Z
 				return rune(0x2124), true
 				return rune(0x2124), true
-			case "Zscr": 
-				// MATHEMATICAL SCRIPT CAPITAL Z
+			case "Zscr":                            // MATHEMATICAL SCRIPT CAPITAL Z
 				return rune(0x01d4b5), true
 				return rune(0x01d4b5), true
 		}
 		}
 
 
 	case 'a':
 	case 'a':
 		switch name {
 		switch name {
-			case "aacgr": 
-				// GREEK SMALL LETTER ALPHA WITH TONOS
+			case "aacgr":                           // GREEK SMALL LETTER ALPHA WITH TONOS
 				return rune(0x03ac), true
 				return rune(0x03ac), true
-			case "aacute": 
-				// LATIN SMALL LETTER A WITH ACUTE
+			case "aacute":                          // LATIN SMALL LETTER A WITH ACUTE
 				return rune(0xe1), true
 				return rune(0xe1), true
-			case "abreve": 
-				// LATIN SMALL LETTER A WITH BREVE
+			case "abreve":                          // LATIN SMALL LETTER A WITH BREVE
 				return rune(0x0103), true
 				return rune(0x0103), true
-			case "acE": 
-				// INVERTED LAZY S with double underline
+			case "ac":                              // INVERTED LAZY S
 				return rune(0x223e), true
 				return rune(0x223e), true
-			case "acd": 
-				// SINE WAVE
-				return rune(0x223f), true
-			case "acute": 
-				// ACUTE ACCENT
-				return rune(0xb4), true
-			case "ac": 
-				// INVERTED LAZY S
+			case "acE":                             // INVERTED LAZY S with double underline
 				return rune(0x223e), true
 				return rune(0x223e), true
-			case "acirc": 
-				// LATIN SMALL LETTER A WITH CIRCUMFLEX
+			case "acd":                             // SINE WAVE
+				return rune(0x223f), true
+			case "acirc":                           // LATIN SMALL LETTER A WITH CIRCUMFLEX
 				return rune(0xe2), true
 				return rune(0xe2), true
-			case "actuary": 
-				// COMBINING ANNUITY SYMBOL
+			case "actuary":                         // COMBINING ANNUITY SYMBOL
 				return rune(0x20e7), true
 				return rune(0x20e7), true
-			case "acy": 
-				// CYRILLIC SMALL LETTER A
+			case "acute":                           // ACUTE ACCENT
+				return rune(0xb4), true
+			case "acy":                             // CYRILLIC SMALL LETTER A
 				return rune(0x0430), true
 				return rune(0x0430), true
-			case "aelig": 
-				// LATIN SMALL LETTER AE
+			case "aelig":                           // LATIN SMALL LETTER AE
 				return rune(0xe6), true
 				return rune(0xe6), true
-			case "af": 
-				// FUNCTION APPLICATION
+			case "af":                              // FUNCTION APPLICATION
 				return rune(0x2061), true
 				return rune(0x2061), true
-			case "afr": 
-				// MATHEMATICAL FRAKTUR SMALL A
+			case "afr":                             // MATHEMATICAL FRAKTUR SMALL A
 				return rune(0x01d51e), true
 				return rune(0x01d51e), true
-			case "agr": 
-				// GREEK SMALL LETTER ALPHA
+			case "agr":                             // GREEK SMALL LETTER ALPHA
 				return rune(0x03b1), true
 				return rune(0x03b1), true
-			case "agrave": 
-				// LATIN SMALL LETTER A WITH GRAVE
+			case "agrave":                          // LATIN SMALL LETTER A WITH GRAVE
 				return rune(0xe0), true
 				return rune(0xe0), true
-			case "alefsym": 
-				// ALEF SYMBOL
+			case "alefsym":                         // ALEF SYMBOL
 				return rune(0x2135), true
 				return rune(0x2135), true
-			case "aleph": 
-				// ALEF SYMBOL
+			case "aleph":                           // ALEF SYMBOL
 				return rune(0x2135), true
 				return rune(0x2135), true
-			case "alpha": 
-				// GREEK SMALL LETTER ALPHA
+			case "alpha":                           // GREEK SMALL LETTER ALPHA
 				return rune(0x03b1), true
 				return rune(0x03b1), true
-			case "amacr": 
-				// LATIN SMALL LETTER A WITH MACRON
+			case "amacr":                           // LATIN SMALL LETTER A WITH MACRON
 				return rune(0x0101), true
 				return rune(0x0101), true
-			case "amalg": 
-				// AMALGAMATION OR COPRODUCT
+			case "amalg":                           // AMALGAMATION OR COPRODUCT
 				return rune(0x2a3f), true
 				return rune(0x2a3f), true
-			case "amp": 
-				// AMPERSAND
+			case "amp":                             // AMPERSAND
 				return rune(0x26), true
 				return rune(0x26), true
-			case "andand": 
-				// TWO INTERSECTING LOGICAL AND
+			case "and":                             // LOGICAL AND
+				return rune(0x2227), true
+			case "andand":                          // TWO INTERSECTING LOGICAL AND
 				return rune(0x2a55), true
 				return rune(0x2a55), true
-			case "andd": 
-				// LOGICAL AND WITH HORIZONTAL DASH
+			case "andd":                            // LOGICAL AND WITH HORIZONTAL DASH
 				return rune(0x2a5c), true
 				return rune(0x2a5c), true
-			case "andslope": 
-				// SLOPING LARGE AND
+			case "andslope":                        // SLOPING LARGE AND
 				return rune(0x2a58), true
 				return rune(0x2a58), true
-			case "andv": 
-				// LOGICAL AND WITH MIDDLE STEM
+			case "andv":                            // LOGICAL AND WITH MIDDLE STEM
 				return rune(0x2a5a), true
 				return rune(0x2a5a), true
-			case "and": 
-				// LOGICAL AND
-				return rune(0x2227), true
-			case "angdnl": 
-				// TURNED ANGLE
+			case "ang":                             // ANGLE
+				return rune(0x2220), true
+			case "ang90":                           // RIGHT ANGLE
+				return rune(0x221f), true
+			case "angdnl":                          // TURNED ANGLE
 				return rune(0x29a2), true
 				return rune(0x29a2), true
-			case "angdnr": 
-				// ACUTE ANGLE
+			case "angdnr":                          // ACUTE ANGLE
 				return rune(0x299f), true
 				return rune(0x299f), true
-			case "ange": 
-				// ANGLE WITH UNDERBAR
+			case "ange":                            // ANGLE WITH UNDERBAR
 				return rune(0x29a4), true
 				return rune(0x29a4), true
-			case "angles": 
-				// ANGLE WITH S INSIDE
-				return rune(0x299e), true
-			case "angle": 
-				// ANGLE
+			case "angle":                           // ANGLE
 				return rune(0x2220), true
 				return rune(0x2220), true
-			case "angmsdaa": 
-				// MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING UP AND RIGHT
+			case "angles":                          // ANGLE WITH S INSIDE
+				return rune(0x299e), true
+			case "angmsd":                          // MEASURED ANGLE
+				return rune(0x2221), true
+			case "angmsdaa":                        // MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING UP AND RIGHT
 				return rune(0x29a8), true
 				return rune(0x29a8), true
-			case "angmsdab": 
-				// MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING UP AND LEFT
+			case "angmsdab":                        // MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING UP AND LEFT
 				return rune(0x29a9), true
 				return rune(0x29a9), true
-			case "angmsdac": 
-				// MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING DOWN AND RIGHT
+			case "angmsdac":                        // MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING DOWN AND RIGHT
 				return rune(0x29aa), true
 				return rune(0x29aa), true
-			case "angmsdad": 
-				// MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING DOWN AND LEFT
+			case "angmsdad":                        // MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING DOWN AND LEFT
 				return rune(0x29ab), true
 				return rune(0x29ab), true
-			case "angmsdae": 
-				// MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING RIGHT AND UP
+			case "angmsdae":                        // MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING RIGHT AND UP
 				return rune(0x29ac), true
 				return rune(0x29ac), true
-			case "angmsdaf": 
-				// MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING LEFT AND UP
+			case "angmsdaf":                        // MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING LEFT AND UP
 				return rune(0x29ad), true
 				return rune(0x29ad), true
-			case "angmsdag": 
-				// MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING RIGHT AND DOWN
+			case "angmsdag":                        // MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING RIGHT AND DOWN
 				return rune(0x29ae), true
 				return rune(0x29ae), true
-			case "angmsdah": 
-				// MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING LEFT AND DOWN
+			case "angmsdah":                        // MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING LEFT AND DOWN
 				return rune(0x29af), true
 				return rune(0x29af), true
-			case "angmsd": 
-				// MEASURED ANGLE
-				return rune(0x2221), true
-			case "angrtvbd": 
-				// MEASURED RIGHT ANGLE WITH DOT
-				return rune(0x299d), true
-			case "angrtvb": 
-				// RIGHT ANGLE WITH ARC
+			case "angrt":                           // RIGHT ANGLE
+				return rune(0x221f), true
+			case "angrtvb":                         // RIGHT ANGLE WITH ARC
 				return rune(0x22be), true
 				return rune(0x22be), true
-			case "angsph": 
-				// SPHERICAL ANGLE
+			case "angrtvbd":                        // MEASURED RIGHT ANGLE WITH DOT
+				return rune(0x299d), true
+			case "angsph":                          // SPHERICAL ANGLE
 				return rune(0x2222), true
 				return rune(0x2222), true
-			case "angst": 
-				// LATIN CAPITAL LETTER A WITH RING ABOVE
+			case "angst":                           // LATIN CAPITAL LETTER A WITH RING ABOVE
 				return rune(0xc5), true
 				return rune(0xc5), true
-			case "angupl": 
-				// REVERSED ANGLE
+			case "angupl":                          // REVERSED ANGLE
 				return rune(0x29a3), true
 				return rune(0x29a3), true
-			case "angzarr": 
-				// RIGHT ANGLE WITH DOWNWARDS ZIGZAG ARROW
+			case "angzarr":                         // RIGHT ANGLE WITH DOWNWARDS ZIGZAG ARROW
 				return rune(0x237c), true
 				return rune(0x237c), true
-			case "ang": 
-				// ANGLE
-				return rune(0x2220), true
-			case "ang90": 
-				// RIGHT ANGLE
-				return rune(0x221f), true
-			case "angrt": 
-				// RIGHT ANGLE
-				return rune(0x221f), true
-			case "aogon": 
-				// LATIN SMALL LETTER A WITH OGONEK
+			case "aogon":                           // LATIN SMALL LETTER A WITH OGONEK
 				return rune(0x0105), true
 				return rune(0x0105), true
-			case "aopf": 
-				// MATHEMATICAL DOUBLE-STRUCK SMALL A
+			case "aopf":                            // MATHEMATICAL DOUBLE-STRUCK SMALL A
 				return rune(0x01d552), true
 				return rune(0x01d552), true
-			case "apE": 
-				// APPROXIMATELY EQUAL OR EQUAL TO
+			case "ap":                              // ALMOST EQUAL TO
+				return rune(0x2248), true
+			case "apE":                             // APPROXIMATELY EQUAL OR EQUAL TO
 				return rune(0x2a70), true
 				return rune(0x2a70), true
-			case "apacir": 
-				// ALMOST EQUAL TO WITH CIRCUMFLEX ACCENT
+			case "apacir":                          // ALMOST EQUAL TO WITH CIRCUMFLEX ACCENT
 				return rune(0x2a6f), true
 				return rune(0x2a6f), true
-			case "ape": 
-				// ALMOST EQUAL OR EQUAL TO
+			case "ape":                             // ALMOST EQUAL OR EQUAL TO
 				return rune(0x224a), true
 				return rune(0x224a), true
-			case "apid": 
-				// TRIPLE TILDE
+			case "apid":                            // TRIPLE TILDE
 				return rune(0x224b), true
 				return rune(0x224b), true
-			case "approxeq": 
-				// ALMOST EQUAL OR EQUAL TO
-				return rune(0x224a), true
-			case "approx": 
-				// ALMOST EQUAL TO
-				return rune(0x2248), true
-			case "ap": 
-				// ALMOST EQUAL TO
-				return rune(0x2248), true
-			case "apos": 
-				// APOSTROPHE
+			case "apos":                            // APOSTROPHE
 				return rune(0x27), true
 				return rune(0x27), true
-			case "aring": 
-				// LATIN SMALL LETTER A WITH RING ABOVE
+			case "approx":                          // ALMOST EQUAL TO
+				return rune(0x2248), true
+			case "approxeq":                        // ALMOST EQUAL OR EQUAL TO
+				return rune(0x224a), true
+			case "aring":                           // LATIN SMALL LETTER A WITH RING ABOVE
 				return rune(0xe5), true
 				return rune(0xe5), true
-			case "arrllsr": 
-				// LEFTWARDS ARROW ABOVE SHORT RIGHTWARDS ARROW
+			case "arrllsr":                         // LEFTWARDS ARROW ABOVE SHORT RIGHTWARDS ARROW
 				return rune(0x2943), true
 				return rune(0x2943), true
-			case "arrlrsl": 
-				// RIGHTWARDS ARROW ABOVE SHORT LEFTWARDS ARROW
+			case "arrlrsl":                         // RIGHTWARDS ARROW ABOVE SHORT LEFTWARDS ARROW
 				return rune(0x2942), true
 				return rune(0x2942), true
-			case "arrsrll": 
-				// SHORT RIGHTWARDS ARROW ABOVE LEFTWARDS ARROW
+			case "arrsrll":                         // SHORT RIGHTWARDS ARROW ABOVE LEFTWARDS ARROW
 				return rune(0x2944), true
 				return rune(0x2944), true
-			case "ascr": 
-				// MATHEMATICAL SCRIPT SMALL A
+			case "ascr":                            // MATHEMATICAL SCRIPT SMALL A
 				return rune(0x01d4b6), true
 				return rune(0x01d4b6), true
-			case "astb": 
-				// SQUARED ASTERISK
-				return rune(0x29c6), true
-			case "ast": 
-				// ASTERISK
+			case "ast":                             // ASTERISK
 				return rune(0x2a), true
 				return rune(0x2a), true
-			case "asympeq": 
-				// EQUIVALENT TO
-				return rune(0x224d), true
-			case "asymp": 
-				// ALMOST EQUAL TO
+			case "astb":                            // SQUARED ASTERISK
+				return rune(0x29c6), true
+			case "asymp":                           // ALMOST EQUAL TO
 				return rune(0x2248), true
 				return rune(0x2248), true
-			case "atilde": 
-				// LATIN SMALL LETTER A WITH TILDE
+			case "asympeq":                         // EQUIVALENT TO
+				return rune(0x224d), true
+			case "atilde":                          // LATIN SMALL LETTER A WITH TILDE
 				return rune(0xe3), true
 				return rune(0xe3), true
-			case "auml": 
-				// LATIN SMALL LETTER A WITH DIAERESIS
+			case "auml":                            // LATIN SMALL LETTER A WITH DIAERESIS
 				return rune(0xe4), true
 				return rune(0xe4), true
-			case "awconint": 
-				// ANTICLOCKWISE CONTOUR INTEGRAL
+			case "awconint":                        // ANTICLOCKWISE CONTOUR INTEGRAL
 				return rune(0x2233), true
 				return rune(0x2233), true
-			case "awint": 
-				// ANTICLOCKWISE INTEGRATION
+			case "awint":                           // ANTICLOCKWISE INTEGRATION
 				return rune(0x2a11), true
 				return rune(0x2a11), true
 		}
 		}
 
 
 	case 'b':
 	case 'b':
 		switch name {
 		switch name {
-			case "b.Delta": 
-				// MATHEMATICAL BOLD CAPITAL DELTA
+			case "b.Delta":                         // MATHEMATICAL BOLD CAPITAL DELTA
 				return rune(0x01d6ab), true
 				return rune(0x01d6ab), true
-			case "b.Gamma": 
-				// MATHEMATICAL BOLD CAPITAL GAMMA
+			case "b.Gamma":                         // MATHEMATICAL BOLD CAPITAL GAMMA
 				return rune(0x01d6aa), true
 				return rune(0x01d6aa), true
-			case "b.Gammad": 
-				// MATHEMATICAL BOLD CAPITAL DIGAMMA
+			case "b.Gammad":                        // MATHEMATICAL BOLD CAPITAL DIGAMMA
 				return rune(0x01d7ca), true
 				return rune(0x01d7ca), true
-			case "b.Lambda": 
-				// MATHEMATICAL BOLD CAPITAL LAMDA
+			case "b.Lambda":                        // MATHEMATICAL BOLD CAPITAL LAMDA
 				return rune(0x01d6b2), true
 				return rune(0x01d6b2), true
-			case "b.Omega": 
-				// MATHEMATICAL BOLD CAPITAL OMEGA
+			case "b.Omega":                         // MATHEMATICAL BOLD CAPITAL OMEGA
 				return rune(0x01d6c0), true
 				return rune(0x01d6c0), true
-			case "b.Phi": 
-				// MATHEMATICAL BOLD CAPITAL PHI
+			case "b.Phi":                           // MATHEMATICAL BOLD CAPITAL PHI
 				return rune(0x01d6bd), true
 				return rune(0x01d6bd), true
-			case "b.Pi": 
-				// MATHEMATICAL BOLD CAPITAL PI
+			case "b.Pi":                            // MATHEMATICAL BOLD CAPITAL PI
 				return rune(0x01d6b7), true
 				return rune(0x01d6b7), true
-			case "b.Psi": 
-				// MATHEMATICAL BOLD CAPITAL PSI
+			case "b.Psi":                           // MATHEMATICAL BOLD CAPITAL PSI
 				return rune(0x01d6bf), true
 				return rune(0x01d6bf), true
-			case "b.Sigma": 
-				// MATHEMATICAL BOLD CAPITAL SIGMA
+			case "b.Sigma":                         // MATHEMATICAL BOLD CAPITAL SIGMA
 				return rune(0x01d6ba), true
 				return rune(0x01d6ba), true
-			case "b.Theta": 
-				// MATHEMATICAL BOLD CAPITAL THETA
+			case "b.Theta":                         // MATHEMATICAL BOLD CAPITAL THETA
 				return rune(0x01d6af), true
 				return rune(0x01d6af), true
-			case "b.Upsi": 
-				// MATHEMATICAL BOLD CAPITAL UPSILON
+			case "b.Upsi":                          // MATHEMATICAL BOLD CAPITAL UPSILON
 				return rune(0x01d6bc), true
 				return rune(0x01d6bc), true
-			case "b.Xi": 
-				// MATHEMATICAL BOLD CAPITAL XI
+			case "b.Xi":                            // MATHEMATICAL BOLD CAPITAL XI
 				return rune(0x01d6b5), true
 				return rune(0x01d6b5), true
-			case "b.alpha": 
-				// MATHEMATICAL BOLD SMALL ALPHA
+			case "b.alpha":                         // MATHEMATICAL BOLD SMALL ALPHA
 				return rune(0x01d6c2), true
 				return rune(0x01d6c2), true
-			case "b.beta": 
-				// MATHEMATICAL BOLD SMALL BETA
+			case "b.beta":                          // MATHEMATICAL BOLD SMALL BETA
 				return rune(0x01d6c3), true
 				return rune(0x01d6c3), true
-			case "b.chi": 
-				// MATHEMATICAL BOLD SMALL CHI
+			case "b.chi":                           // MATHEMATICAL BOLD SMALL CHI
 				return rune(0x01d6d8), true
 				return rune(0x01d6d8), true
-			case "b.delta": 
-				// MATHEMATICAL BOLD SMALL DELTA
+			case "b.delta":                         // MATHEMATICAL BOLD SMALL DELTA
 				return rune(0x01d6c5), true
 				return rune(0x01d6c5), true
-			case "b.epsi": 
-				// MATHEMATICAL BOLD SMALL EPSILON
+			case "b.epsi":                          // MATHEMATICAL BOLD SMALL EPSILON
 				return rune(0x01d6c6), true
 				return rune(0x01d6c6), true
-			case "b.epsiv": 
-				// MATHEMATICAL BOLD EPSILON SYMBOL
+			case "b.epsiv":                         // MATHEMATICAL BOLD EPSILON SYMBOL
 				return rune(0x01d6dc), true
 				return rune(0x01d6dc), true
-			case "b.eta": 
-				// MATHEMATICAL BOLD SMALL ETA
+			case "b.eta":                           // MATHEMATICAL BOLD SMALL ETA
 				return rune(0x01d6c8), true
 				return rune(0x01d6c8), true
-			case "b.gammad": 
-				// MATHEMATICAL BOLD SMALL DIGAMMA
-				return rune(0x01d7cb), true
-			case "b.gamma": 
-				// MATHEMATICAL BOLD SMALL GAMMA
+			case "b.gamma":                         // MATHEMATICAL BOLD SMALL GAMMA
 				return rune(0x01d6c4), true
 				return rune(0x01d6c4), true
-			case "b.iota": 
-				// MATHEMATICAL BOLD SMALL IOTA
+			case "b.gammad":                        // MATHEMATICAL BOLD SMALL DIGAMMA
+				return rune(0x01d7cb), true
+			case "b.iota":                          // MATHEMATICAL BOLD SMALL IOTA
 				return rune(0x01d6ca), true
 				return rune(0x01d6ca), true
-			case "b.kappa": 
-				// MATHEMATICAL BOLD SMALL KAPPA
+			case "b.kappa":                         // MATHEMATICAL BOLD SMALL KAPPA
 				return rune(0x01d6cb), true
 				return rune(0x01d6cb), true
-			case "b.kappav": 
-				// MATHEMATICAL BOLD KAPPA SYMBOL
+			case "b.kappav":                        // MATHEMATICAL BOLD KAPPA SYMBOL
 				return rune(0x01d6de), true
 				return rune(0x01d6de), true
-			case "b.lambda": 
-				// MATHEMATICAL BOLD SMALL LAMDA
+			case "b.lambda":                        // MATHEMATICAL BOLD SMALL LAMDA
 				return rune(0x01d6cc), true
 				return rune(0x01d6cc), true
-			case "b.mu": 
-				// MATHEMATICAL BOLD SMALL MU
+			case "b.mu":                            // MATHEMATICAL BOLD SMALL MU
 				return rune(0x01d6cd), true
 				return rune(0x01d6cd), true
-			case "b.nu": 
-				// MATHEMATICAL BOLD SMALL NU
+			case "b.nu":                            // MATHEMATICAL BOLD SMALL NU
 				return rune(0x01d6ce), true
 				return rune(0x01d6ce), true
-			case "b.omega": 
-				// MATHEMATICAL BOLD SMALL OMEGA
+			case "b.omega":                         // MATHEMATICAL BOLD SMALL OMEGA
 				return rune(0x01d6da), true
 				return rune(0x01d6da), true
-			case "b.phi": 
-				// MATHEMATICAL BOLD SMALL PHI
+			case "b.phi":                           // MATHEMATICAL BOLD SMALL PHI
 				return rune(0x01d6d7), true
 				return rune(0x01d6d7), true
-			case "b.phiv": 
-				// MATHEMATICAL BOLD PHI SYMBOL
+			case "b.phiv":                          // MATHEMATICAL BOLD PHI SYMBOL
 				return rune(0x01d6df), true
 				return rune(0x01d6df), true
-			case "b.pi": 
-				// MATHEMATICAL BOLD SMALL PI
+			case "b.pi":                            // MATHEMATICAL BOLD SMALL PI
 				return rune(0x01d6d1), true
 				return rune(0x01d6d1), true
-			case "b.piv": 
-				// MATHEMATICAL BOLD PI SYMBOL
+			case "b.piv":                           // MATHEMATICAL BOLD PI SYMBOL
 				return rune(0x01d6e1), true
 				return rune(0x01d6e1), true
-			case "b.psi": 
-				// MATHEMATICAL BOLD SMALL PSI
+			case "b.psi":                           // MATHEMATICAL BOLD SMALL PSI
 				return rune(0x01d6d9), true
 				return rune(0x01d6d9), true
-			case "b.rho": 
-				// MATHEMATICAL BOLD SMALL RHO
+			case "b.rho":                           // MATHEMATICAL BOLD SMALL RHO
 				return rune(0x01d6d2), true
 				return rune(0x01d6d2), true
-			case "b.rhov": 
-				// MATHEMATICAL BOLD RHO SYMBOL
+			case "b.rhov":                          // MATHEMATICAL BOLD RHO SYMBOL
 				return rune(0x01d6e0), true
 				return rune(0x01d6e0), true
-			case "b.sigmav": 
-				// MATHEMATICAL BOLD SMALL FINAL SIGMA
-				return rune(0x01d6d3), true
-			case "b.sigma": 
-				// MATHEMATICAL BOLD SMALL SIGMA
+			case "b.sigma":                         // MATHEMATICAL BOLD SMALL SIGMA
 				return rune(0x01d6d4), true
 				return rune(0x01d6d4), true
-			case "b.tau": 
-				// MATHEMATICAL BOLD SMALL TAU
+			case "b.sigmav":                        // MATHEMATICAL BOLD SMALL FINAL SIGMA
+				return rune(0x01d6d3), true
+			case "b.tau":                           // MATHEMATICAL BOLD SMALL TAU
 				return rune(0x01d6d5), true
 				return rune(0x01d6d5), true
-			case "b.thetas": 
-				// MATHEMATICAL BOLD SMALL THETA
+			case "b.thetas":                        // MATHEMATICAL BOLD SMALL THETA
 				return rune(0x01d6c9), true
 				return rune(0x01d6c9), true
-			case "b.thetav": 
-				// MATHEMATICAL BOLD THETA SYMBOL
+			case "b.thetav":                        // MATHEMATICAL BOLD THETA SYMBOL
 				return rune(0x01d6dd), true
 				return rune(0x01d6dd), true
-			case "b.upsi": 
-				// MATHEMATICAL BOLD SMALL UPSILON
+			case "b.upsi":                          // MATHEMATICAL BOLD SMALL UPSILON
 				return rune(0x01d6d6), true
 				return rune(0x01d6d6), true
-			case "b.xi": 
-				// MATHEMATICAL BOLD SMALL XI
+			case "b.xi":                            // MATHEMATICAL BOLD SMALL XI
 				return rune(0x01d6cf), true
 				return rune(0x01d6cf), true
-			case "b.zeta": 
-				// MATHEMATICAL BOLD SMALL ZETA
+			case "b.zeta":                          // MATHEMATICAL BOLD SMALL ZETA
 				return rune(0x01d6c7), true
 				return rune(0x01d6c7), true
-			case "bNot": 
-				// REVERSED DOUBLE STROKE NOT SIGN
+			case "bNot":                            // REVERSED DOUBLE STROKE NOT SIGN
 				return rune(0x2aed), true
 				return rune(0x2aed), true
-			case "backcong": 
-				// ALL EQUAL TO
+			case "backcong":                        // ALL EQUAL TO
 				return rune(0x224c), true
 				return rune(0x224c), true
-			case "backepsilon": 
-				// GREEK REVERSED LUNATE EPSILON SYMBOL
+			case "backepsilon":                     // GREEK REVERSED LUNATE EPSILON SYMBOL
 				return rune(0x03f6), true
 				return rune(0x03f6), true
-			case "backprime": 
-				// REVERSED PRIME
+			case "backprime":                       // REVERSED PRIME
 				return rune(0x2035), true
 				return rune(0x2035), true
-			case "backsimeq": 
-				// REVERSED TILDE EQUALS
-				return rune(0x22cd), true
-			case "backsim": 
-				// REVERSED TILDE
+			case "backsim":                         // REVERSED TILDE
 				return rune(0x223d), true
 				return rune(0x223d), true
-			case "barV": 
-				// DOUBLE DOWN TACK
+			case "backsimeq":                       // REVERSED TILDE EQUALS
+				return rune(0x22cd), true
+			case "barV":                            // DOUBLE DOWN TACK
 				return rune(0x2aea), true
 				return rune(0x2aea), true
-			case "barvee": 
-				// NOR
+			case "barvee":                          // NOR
 				return rune(0x22bd), true
 				return rune(0x22bd), true
-			case "barwed": 
-				// PROJECTIVE
+			case "barwed":                          // PROJECTIVE
 				return rune(0x2305), true
 				return rune(0x2305), true
-			case "barwedge": 
-				// PROJECTIVE
+			case "barwedge":                        // PROJECTIVE
 				return rune(0x2305), true
 				return rune(0x2305), true
-			case "bbrk": 
-				// BOTTOM SQUARE BRACKET
+			case "bbrk":                            // BOTTOM SQUARE BRACKET
 				return rune(0x23b5), true
 				return rune(0x23b5), true
-			case "bbrktbrk": 
-				// BOTTOM SQUARE BRACKET OVER TOP SQUARE BRACKET
+			case "bbrktbrk":                        // BOTTOM SQUARE BRACKET OVER TOP SQUARE BRACKET
 				return rune(0x23b6), true
 				return rune(0x23b6), true
-			case "bcong": 
-				// ALL EQUAL TO
+			case "bcong":                           // ALL EQUAL TO
 				return rune(0x224c), true
 				return rune(0x224c), true
-			case "bcy": 
-				// CYRILLIC SMALL LETTER BE
+			case "bcy":                             // CYRILLIC SMALL LETTER BE
 				return rune(0x0431), true
 				return rune(0x0431), true
-			case "bdlhar": 
-				// DOWNWARDS HARPOON WITH BARB LEFT FROM BAR
+			case "bdlhar":                          // DOWNWARDS HARPOON WITH BARB LEFT FROM BAR
 				return rune(0x2961), true
 				return rune(0x2961), true
-			case "bdquo": 
-				// DOUBLE LOW-9 QUOTATION MARK
+			case "bdquo":                           // DOUBLE LOW-9 QUOTATION MARK
 				return rune(0x201e), true
 				return rune(0x201e), true
-			case "bdrhar": 
-				// DOWNWARDS HARPOON WITH BARB RIGHT FROM BAR
+			case "bdrhar":                          // DOWNWARDS HARPOON WITH BARB RIGHT FROM BAR
 				return rune(0x295d), true
 				return rune(0x295d), true
-			case "because": 
-				// BECAUSE
+			case "becaus":                          // BECAUSE
 				return rune(0x2235), true
 				return rune(0x2235), true
-			case "becaus": 
-				// BECAUSE
+			case "because":                         // BECAUSE
 				return rune(0x2235), true
 				return rune(0x2235), true
-			case "bemptyv": 
-				// REVERSED EMPTY SET
+			case "bemptyv":                         // REVERSED EMPTY SET
 				return rune(0x29b0), true
 				return rune(0x29b0), true
-			case "bepsi": 
-				// GREEK REVERSED LUNATE EPSILON SYMBOL
+			case "bepsi":                           // GREEK REVERSED LUNATE EPSILON SYMBOL
 				return rune(0x03f6), true
 				return rune(0x03f6), true
-			case "bernou": 
-				// SCRIPT CAPITAL B
+			case "bernou":                          // SCRIPT CAPITAL B
 				return rune(0x212c), true
 				return rune(0x212c), true
-			case "beta": 
-				// GREEK SMALL LETTER BETA
+			case "beta":                            // GREEK SMALL LETTER BETA
 				return rune(0x03b2), true
 				return rune(0x03b2), true
-			case "beth": 
-				// BET SYMBOL
+			case "beth":                            // BET SYMBOL
 				return rune(0x2136), true
 				return rune(0x2136), true
-			case "between": 
-				// BETWEEN
+			case "between":                         // BETWEEN
 				return rune(0x226c), true
 				return rune(0x226c), true
-			case "bfr": 
-				// MATHEMATICAL FRAKTUR SMALL B
+			case "bfr":                             // MATHEMATICAL FRAKTUR SMALL B
 				return rune(0x01d51f), true
 				return rune(0x01d51f), true
-			case "bgr": 
-				// GREEK SMALL LETTER BETA
+			case "bgr":                             // GREEK SMALL LETTER BETA
 				return rune(0x03b2), true
 				return rune(0x03b2), true
-			case "bigcap": 
-				// N-ARY INTERSECTION
+			case "bigcap":                          // N-ARY INTERSECTION
 				return rune(0x22c2), true
 				return rune(0x22c2), true
-			case "bigcirc": 
-				// LARGE CIRCLE
+			case "bigcirc":                         // LARGE CIRCLE
 				return rune(0x25ef), true
 				return rune(0x25ef), true
-			case "bigcup": 
-				// N-ARY UNION
+			case "bigcup":                          // N-ARY UNION
 				return rune(0x22c3), true
 				return rune(0x22c3), true
-			case "bigodot": 
-				// N-ARY CIRCLED DOT OPERATOR
+			case "bigodot":                         // N-ARY CIRCLED DOT OPERATOR
 				return rune(0x2a00), true
 				return rune(0x2a00), true
-			case "bigoplus": 
-				// N-ARY CIRCLED PLUS OPERATOR
+			case "bigoplus":                        // N-ARY CIRCLED PLUS OPERATOR
 				return rune(0x2a01), true
 				return rune(0x2a01), true
-			case "bigotimes": 
-				// N-ARY CIRCLED TIMES OPERATOR
+			case "bigotimes":                       // N-ARY CIRCLED TIMES OPERATOR
 				return rune(0x2a02), true
 				return rune(0x2a02), true
-			case "bigsqcup": 
-				// N-ARY SQUARE UNION OPERATOR
+			case "bigsqcup":                        // N-ARY SQUARE UNION OPERATOR
 				return rune(0x2a06), true
 				return rune(0x2a06), true
-			case "bigstar": 
-				// BLACK STAR
+			case "bigstar":                         // BLACK STAR
 				return rune(0x2605), true
 				return rune(0x2605), true
-			case "bigtriangledown": 
-				// WHITE DOWN-POINTING TRIANGLE
+			case "bigtriangledown":                 // WHITE DOWN-POINTING TRIANGLE
 				return rune(0x25bd), true
 				return rune(0x25bd), true
-			case "bigtriangleup": 
-				// WHITE UP-POINTING TRIANGLE
+			case "bigtriangleup":                   // WHITE UP-POINTING TRIANGLE
 				return rune(0x25b3), true
 				return rune(0x25b3), true
-			case "biguplus": 
-				// N-ARY UNION OPERATOR WITH PLUS
+			case "biguplus":                        // N-ARY UNION OPERATOR WITH PLUS
 				return rune(0x2a04), true
 				return rune(0x2a04), true
-			case "bigvee": 
-				// N-ARY LOGICAL OR
+			case "bigvee":                          // N-ARY LOGICAL OR
 				return rune(0x22c1), true
 				return rune(0x22c1), true
-			case "bigwedge": 
-				// N-ARY LOGICAL AND
+			case "bigwedge":                        // N-ARY LOGICAL AND
 				return rune(0x22c0), true
 				return rune(0x22c0), true
-			case "bkarow": 
-				// RIGHTWARDS DOUBLE DASH ARROW
+			case "bkarow":                          // RIGHTWARDS DOUBLE DASH ARROW
 				return rune(0x290d), true
 				return rune(0x290d), true
-			case "blacklozenge": 
-				// BLACK LOZENGE
+			case "blacklozenge":                    // BLACK LOZENGE
 				return rune(0x29eb), true
 				return rune(0x29eb), true
-			case "blacksquare": 
-				// BLACK SMALL SQUARE
+			case "blacksquare":                     // BLACK SMALL SQUARE
 				return rune(0x25aa), true
 				return rune(0x25aa), true
-			case "blacktriangledown": 
-				// BLACK DOWN-POINTING SMALL TRIANGLE
+			case "blacktriangle":                   // BLACK UP-POINTING SMALL TRIANGLE
+				return rune(0x25b4), true
+			case "blacktriangledown":               // BLACK DOWN-POINTING SMALL TRIANGLE
 				return rune(0x25be), true
 				return rune(0x25be), true
-			case "blacktriangleleft": 
-				// BLACK LEFT-POINTING SMALL TRIANGLE
+			case "blacktriangleleft":               // BLACK LEFT-POINTING SMALL TRIANGLE
 				return rune(0x25c2), true
 				return rune(0x25c2), true
-			case "blacktriangleright": 
-				// BLACK RIGHT-POINTING SMALL TRIANGLE
+			case "blacktriangleright":              // BLACK RIGHT-POINTING SMALL TRIANGLE
 				return rune(0x25b8), true
 				return rune(0x25b8), true
-			case "blacktriangle": 
-				// BLACK UP-POINTING SMALL TRIANGLE
-				return rune(0x25b4), true
-			case "blank": 
-				// BLANK SYMBOL
+			case "blank":                           // BLANK SYMBOL
 				return rune(0x2422), true
 				return rune(0x2422), true
-			case "bldhar": 
-				// LEFTWARDS HARPOON WITH BARB DOWN FROM BAR
+			case "bldhar":                          // LEFTWARDS HARPOON WITH BARB DOWN FROM BAR
 				return rune(0x295e), true
 				return rune(0x295e), true
-			case "blk12": 
-				// MEDIUM SHADE
+			case "blk12":                           // MEDIUM SHADE
 				return rune(0x2592), true
 				return rune(0x2592), true
-			case "blk14": 
-				// LIGHT SHADE
+			case "blk14":                           // LIGHT SHADE
 				return rune(0x2591), true
 				return rune(0x2591), true
-			case "blk34": 
-				// DARK SHADE
+			case "blk34":                           // DARK SHADE
 				return rune(0x2593), true
 				return rune(0x2593), true
-			case "block": 
-				// FULL BLOCK
+			case "block":                           // FULL BLOCK
 				return rune(0x2588), true
 				return rune(0x2588), true
-			case "bluhar": 
-				// LEFTWARDS HARPOON WITH BARB UP FROM BAR
+			case "bluhar":                          // LEFTWARDS HARPOON WITH BARB UP FROM BAR
 				return rune(0x295a), true
 				return rune(0x295a), true
-			case "bnequiv": 
-				// IDENTICAL TO with reverse slash
-				return rune(0x2261), true
-			case "bne": 
-				// EQUALS SIGN with reverse slash
+			case "bne":                             // EQUALS SIGN with reverse slash
 				return rune(0x3d), true
 				return rune(0x3d), true
-			case "bnot": 
-				// REVERSED NOT SIGN
+			case "bnequiv":                         // IDENTICAL TO with reverse slash
+				return rune(0x2261), true
+			case "bnot":                            // REVERSED NOT SIGN
 				return rune(0x2310), true
 				return rune(0x2310), true
-			case "bopf": 
-				// MATHEMATICAL DOUBLE-STRUCK SMALL B
+			case "bopf":                            // MATHEMATICAL DOUBLE-STRUCK SMALL B
 				return rune(0x01d553), true
 				return rune(0x01d553), true
-			case "bot": 
-				// UP TACK
+			case "bot":                             // UP TACK
 				return rune(0x22a5), true
 				return rune(0x22a5), true
-			case "bottom": 
-				// UP TACK
+			case "bottom":                          // UP TACK
 				return rune(0x22a5), true
 				return rune(0x22a5), true
-			case "bowtie": 
-				// BOWTIE
+			case "bowtie":                          // BOWTIE
 				return rune(0x22c8), true
 				return rune(0x22c8), true
-			case "boxDL": 
-				// BOX DRAWINGS DOUBLE DOWN AND LEFT
+			case "boxDL":                           // BOX DRAWINGS DOUBLE DOWN AND LEFT
 				return rune(0x2557), true
 				return rune(0x2557), true
-			case "boxDR": 
-				// BOX DRAWINGS DOUBLE DOWN AND RIGHT
+			case "boxDR":                           // BOX DRAWINGS DOUBLE DOWN AND RIGHT
 				return rune(0x2554), true
 				return rune(0x2554), true
-			case "boxDl": 
-				// BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
+			case "boxDl":                           // BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
 				return rune(0x2556), true
 				return rune(0x2556), true
-			case "boxDr": 
-				// BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
+			case "boxDr":                           // BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
 				return rune(0x2553), true
 				return rune(0x2553), true
-			case "boxHD": 
-				// BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
+			case "boxH":                            // BOX DRAWINGS DOUBLE HORIZONTAL
+				return rune(0x2550), true
+			case "boxHD":                           // BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
 				return rune(0x2566), true
 				return rune(0x2566), true
-			case "boxHU": 
-				// BOX DRAWINGS DOUBLE UP AND HORIZONTAL
+			case "boxHU":                           // BOX DRAWINGS DOUBLE UP AND HORIZONTAL
 				return rune(0x2569), true
 				return rune(0x2569), true
-			case "boxHd": 
-				// BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
+			case "boxHd":                           // BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
 				return rune(0x2564), true
 				return rune(0x2564), true
-			case "boxHu": 
-				// BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
+			case "boxHu":                           // BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
 				return rune(0x2567), true
 				return rune(0x2567), true
-			case "boxH": 
-				// BOX DRAWINGS DOUBLE HORIZONTAL
-				return rune(0x2550), true
-			case "boxUL": 
-				// BOX DRAWINGS DOUBLE UP AND LEFT
+			case "boxUL":                           // BOX DRAWINGS DOUBLE UP AND LEFT
 				return rune(0x255d), true
 				return rune(0x255d), true
-			case "boxUR": 
-				// BOX DRAWINGS DOUBLE UP AND RIGHT
+			case "boxUR":                           // BOX DRAWINGS DOUBLE UP AND RIGHT
 				return rune(0x255a), true
 				return rune(0x255a), true
-			case "boxUl": 
-				// BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
+			case "boxUl":                           // BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
 				return rune(0x255c), true
 				return rune(0x255c), true
-			case "boxUr": 
-				// BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
+			case "boxUr":                           // BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
 				return rune(0x2559), true
 				return rune(0x2559), true
-			case "boxVH": 
-				// BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
+			case "boxV":                            // BOX DRAWINGS DOUBLE VERTICAL
+				return rune(0x2551), true
+			case "boxVH":                           // BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
 				return rune(0x256c), true
 				return rune(0x256c), true
-			case "boxVL": 
-				// BOX DRAWINGS DOUBLE VERTICAL AND LEFT
+			case "boxVL":                           // BOX DRAWINGS DOUBLE VERTICAL AND LEFT
 				return rune(0x2563), true
 				return rune(0x2563), true
-			case "boxVR": 
-				// BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
+			case "boxVR":                           // BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
 				return rune(0x2560), true
 				return rune(0x2560), true
-			case "boxVh": 
-				// BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
+			case "boxVh":                           // BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
 				return rune(0x256b), true
 				return rune(0x256b), true
-			case "boxVl": 
-				// BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
+			case "boxVl":                           // BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
 				return rune(0x2562), true
 				return rune(0x2562), true
-			case "boxVr": 
-				// BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
+			case "boxVr":                           // BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
 				return rune(0x255f), true
 				return rune(0x255f), true
-			case "boxV": 
-				// BOX DRAWINGS DOUBLE VERTICAL
-				return rune(0x2551), true
-			case "boxbox": 
-				// TWO JOINED SQUARES
+			case "boxbox":                          // TWO JOINED SQUARES
 				return rune(0x29c9), true
 				return rune(0x29c9), true
-			case "boxdL": 
-				// BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
+			case "boxdL":                           // BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
 				return rune(0x2555), true
 				return rune(0x2555), true
-			case "boxdR": 
-				// BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
+			case "boxdR":                           // BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
 				return rune(0x2552), true
 				return rune(0x2552), true
-			case "boxdl": 
-				// BOX DRAWINGS LIGHT DOWN AND LEFT
+			case "boxdl":                           // BOX DRAWINGS LIGHT DOWN AND LEFT
 				return rune(0x2510), true
 				return rune(0x2510), true
-			case "boxdr": 
-				// BOX DRAWINGS LIGHT DOWN AND RIGHT
+			case "boxdr":                           // BOX DRAWINGS LIGHT DOWN AND RIGHT
 				return rune(0x250c), true
 				return rune(0x250c), true
-			case "boxhU": 
-				// BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
-				return rune(0x2568), true
-			case "boxh": 
-				// BOX DRAWINGS LIGHT HORIZONTAL
+			case "boxh":                            // BOX DRAWINGS LIGHT HORIZONTAL
 				return rune(0x2500), true
 				return rune(0x2500), true
-			case "boxhD": 
-				// BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
+			case "boxhD":                           // BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
 				return rune(0x2565), true
 				return rune(0x2565), true
-			case "boxhd": 
-				// BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
+			case "boxhU":                           // BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
+				return rune(0x2568), true
+			case "boxhd":                           // BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
 				return rune(0x252c), true
 				return rune(0x252c), true
-			case "boxhu": 
-				// BOX DRAWINGS LIGHT UP AND HORIZONTAL
+			case "boxhu":                           // BOX DRAWINGS LIGHT UP AND HORIZONTAL
 				return rune(0x2534), true
 				return rune(0x2534), true
-			case "boxminus": 
-				// SQUARED MINUS
+			case "boxminus":                        // SQUARED MINUS
 				return rune(0x229f), true
 				return rune(0x229f), true
-			case "boxplus": 
-				// SQUARED PLUS
+			case "boxplus":                         // SQUARED PLUS
 				return rune(0x229e), true
 				return rune(0x229e), true
-			case "boxtimes": 
-				// SQUARED TIMES
+			case "boxtimes":                        // SQUARED TIMES
 				return rune(0x22a0), true
 				return rune(0x22a0), true
-			case "boxuL": 
-				// BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
+			case "boxuL":                           // BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
 				return rune(0x255b), true
 				return rune(0x255b), true
-			case "boxuR": 
-				// BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
+			case "boxuR":                           // BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
 				return rune(0x2558), true
 				return rune(0x2558), true
-			case "boxul": 
-				// BOX DRAWINGS LIGHT UP AND LEFT
+			case "boxul":                           // BOX DRAWINGS LIGHT UP AND LEFT
 				return rune(0x2518), true
 				return rune(0x2518), true
-			case "boxur": 
-				// BOX DRAWINGS LIGHT UP AND RIGHT
+			case "boxur":                           // BOX DRAWINGS LIGHT UP AND RIGHT
 				return rune(0x2514), true
 				return rune(0x2514), true
-			case "boxvL": 
-				// BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
+			case "boxv":                            // BOX DRAWINGS LIGHT VERTICAL
+				return rune(0x2502), true
+			case "boxvH":                           // BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
+				return rune(0x256a), true
+			case "boxvL":                           // BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
 				return rune(0x2561), true
 				return rune(0x2561), true
-			case "boxvR": 
-				// BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
+			case "boxvR":                           // BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
 				return rune(0x255e), true
 				return rune(0x255e), true
-			case "boxvl": 
-				// BOX DRAWINGS LIGHT VERTICAL AND LEFT
+			case "boxvh":                           // BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
+				return rune(0x253c), true
+			case "boxvl":                           // BOX DRAWINGS LIGHT VERTICAL AND LEFT
 				return rune(0x2524), true
 				return rune(0x2524), true
-			case "boxvr": 
-				// BOX DRAWINGS LIGHT VERTICAL AND RIGHT
+			case "boxvr":                           // BOX DRAWINGS LIGHT VERTICAL AND RIGHT
 				return rune(0x251c), true
 				return rune(0x251c), true
-			case "boxv": 
-				// BOX DRAWINGS LIGHT VERTICAL
-				return rune(0x2502), true
-			case "boxvH": 
-				// BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
-				return rune(0x256a), true
-			case "boxvh": 
-				// BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
-				return rune(0x253c), true
-			case "bprime": 
-				// REVERSED PRIME
+			case "bprime":                          // REVERSED PRIME
 				return rune(0x2035), true
 				return rune(0x2035), true
-			case "brdhar": 
-				// RIGHTWARDS HARPOON WITH BARB DOWN FROM BAR
+			case "brdhar":                          // RIGHTWARDS HARPOON WITH BARB DOWN FROM BAR
 				return rune(0x295f), true
 				return rune(0x295f), true
-			case "breve": 
-				// BREVE
+			case "breve":                           // BREVE
 				return rune(0x02d8), true
 				return rune(0x02d8), true
-			case "bruhar": 
-				// RIGHTWARDS HARPOON WITH BARB UP FROM BAR
+			case "bruhar":                          // RIGHTWARDS HARPOON WITH BARB UP FROM BAR
 				return rune(0x295b), true
 				return rune(0x295b), true
-			case "brvbar": 
-				// BROKEN BAR
+			case "brvbar":                          // BROKEN BAR
 				return rune(0xa6), true
 				return rune(0xa6), true
-			case "bscr": 
-				// MATHEMATICAL SCRIPT SMALL B
+			case "bscr":                            // MATHEMATICAL SCRIPT SMALL B
 				return rune(0x01d4b7), true
 				return rune(0x01d4b7), true
-			case "bsemi": 
-				// REVERSED SEMICOLON
+			case "bsemi":                           // REVERSED SEMICOLON
 				return rune(0x204f), true
 				return rune(0x204f), true
-			case "bsim": 
-				// REVERSED TILDE
+			case "bsim":                            // REVERSED TILDE
 				return rune(0x223d), true
 				return rune(0x223d), true
-			case "bsime": 
-				// REVERSED TILDE EQUALS
+			case "bsime":                           // REVERSED TILDE EQUALS
 				return rune(0x22cd), true
 				return rune(0x22cd), true
-			case "bsolb": 
-				// SQUARED FALLING DIAGONAL SLASH
+			case "bsol":                            // REVERSE SOLIDUS
+				return rune(0x5c), true
+			case "bsolb":                           // SQUARED FALLING DIAGONAL SLASH
 				return rune(0x29c5), true
 				return rune(0x29c5), true
-			case "bsolhsub": 
-				// REVERSE SOLIDUS PRECEDING SUBSET
+			case "bsolhsub":                        // REVERSE SOLIDUS PRECEDING SUBSET
 				return rune(0x27c8), true
 				return rune(0x27c8), true
-			case "bsol": 
-				// REVERSE SOLIDUS
-				return rune(0x5c), true
-			case "btimes": 
-				// SEMIDIRECT PRODUCT WITH BOTTOM CLOSED
+			case "btimes":                          // SEMIDIRECT PRODUCT WITH BOTTOM CLOSED
 				return rune(0x2a32), true
 				return rune(0x2a32), true
-			case "bulhar": 
-				// UPWARDS HARPOON WITH BARB LEFT FROM BAR
+			case "bulhar":                          // UPWARDS HARPOON WITH BARB LEFT FROM BAR
 				return rune(0x2960), true
 				return rune(0x2960), true
-			case "bullet": 
-				// BULLET
+			case "bull":                            // BULLET
 				return rune(0x2022), true
 				return rune(0x2022), true
-			case "bull": 
-				// BULLET
+			case "bullet":                          // BULLET
 				return rune(0x2022), true
 				return rune(0x2022), true
-			case "bump": 
-				// GEOMETRICALLY EQUIVALENT TO
+			case "bump":                            // GEOMETRICALLY EQUIVALENT TO
 				return rune(0x224e), true
 				return rune(0x224e), true
-			case "bumpE": 
-				// EQUALS SIGN WITH BUMPY ABOVE
+			case "bumpE":                           // EQUALS SIGN WITH BUMPY ABOVE
 				return rune(0x2aae), true
 				return rune(0x2aae), true
-			case "bumpe": 
-				// DIFFERENCE BETWEEN
+			case "bumpe":                           // DIFFERENCE BETWEEN
 				return rune(0x224f), true
 				return rune(0x224f), true
-			case "bumpeq": 
-				// DIFFERENCE BETWEEN
+			case "bumpeq":                          // DIFFERENCE BETWEEN
 				return rune(0x224f), true
 				return rune(0x224f), true
-			case "burhar": 
-				// UPWARDS HARPOON WITH BARB RIGHT FROM BAR
+			case "burhar":                          // UPWARDS HARPOON WITH BARB RIGHT FROM BAR
 				return rune(0x295c), true
 				return rune(0x295c), true
 		}
 		}
 
 
 	case 'c':
 	case 'c':
 		switch name {
 		switch name {
-			case "cacute": 
-				// LATIN SMALL LETTER C WITH ACUTE
+			case "cacute":                          // LATIN SMALL LETTER C WITH ACUTE
 				return rune(0x0107), true
 				return rune(0x0107), true
-			case "cap": 
-				// INTERSECTION
+			case "cap":                             // INTERSECTION
 				return rune(0x2229), true
 				return rune(0x2229), true
-			case "capand": 
-				// INTERSECTION WITH LOGICAL AND
+			case "capand":                          // INTERSECTION WITH LOGICAL AND
 				return rune(0x2a44), true
 				return rune(0x2a44), true
-			case "capbrcup": 
-				// INTERSECTION ABOVE BAR ABOVE UNION
+			case "capbrcup":                        // INTERSECTION ABOVE BAR ABOVE UNION
 				return rune(0x2a49), true
 				return rune(0x2a49), true
-			case "capcap": 
-				// INTERSECTION BESIDE AND JOINED WITH INTERSECTION
+			case "capcap":                          // INTERSECTION BESIDE AND JOINED WITH INTERSECTION
 				return rune(0x2a4b), true
 				return rune(0x2a4b), true
-			case "capcup": 
-				// INTERSECTION ABOVE UNION
+			case "capcup":                          // INTERSECTION ABOVE UNION
 				return rune(0x2a47), true
 				return rune(0x2a47), true
-			case "capdot": 
-				// INTERSECTION WITH DOT
+			case "capdot":                          // INTERSECTION WITH DOT
 				return rune(0x2a40), true
 				return rune(0x2a40), true
-			case "capint": 
-				// INTEGRAL WITH INTERSECTION
+			case "capint":                          // INTEGRAL WITH INTERSECTION
 				return rune(0x2a19), true
 				return rune(0x2a19), true
-			case "caps": 
-				// INTERSECTION with serifs
+			case "caps":                            // INTERSECTION with serifs
 				return rune(0x2229), true
 				return rune(0x2229), true
-			case "caret": 
-				// CARET INSERTION POINT
+			case "caret":                           // CARET INSERTION POINT
 				return rune(0x2041), true
 				return rune(0x2041), true
-			case "caron": 
-				// CARON
+			case "caron":                           // CARON
 				return rune(0x02c7), true
 				return rune(0x02c7), true
-			case "ccaps": 
-				// CLOSED INTERSECTION WITH SERIFS
+			case "ccaps":                           // CLOSED INTERSECTION WITH SERIFS
 				return rune(0x2a4d), true
 				return rune(0x2a4d), true
-			case "ccaron": 
-				// LATIN SMALL LETTER C WITH CARON
+			case "ccaron":                          // LATIN SMALL LETTER C WITH CARON
 				return rune(0x010d), true
 				return rune(0x010d), true
-			case "ccedil": 
-				// LATIN SMALL LETTER C WITH CEDILLA
+			case "ccedil":                          // LATIN SMALL LETTER C WITH CEDILLA
 				return rune(0xe7), true
 				return rune(0xe7), true
-			case "ccirc": 
-				// LATIN SMALL LETTER C WITH CIRCUMFLEX
+			case "ccirc":                           // LATIN SMALL LETTER C WITH CIRCUMFLEX
 				return rune(0x0109), true
 				return rune(0x0109), true
-			case "ccups": 
-				// CLOSED UNION WITH SERIFS
+			case "ccups":                           // CLOSED UNION WITH SERIFS
 				return rune(0x2a4c), true
 				return rune(0x2a4c), true
-			case "ccupssm": 
-				// CLOSED UNION WITH SERIFS AND SMASH PRODUCT
+			case "ccupssm":                         // CLOSED UNION WITH SERIFS AND SMASH PRODUCT
 				return rune(0x2a50), true
 				return rune(0x2a50), true
-			case "cdot": 
-				// LATIN SMALL LETTER C WITH DOT ABOVE
+			case "cdot":                            // LATIN SMALL LETTER C WITH DOT ABOVE
 				return rune(0x010b), true
 				return rune(0x010b), true
-			case "cedil": 
-				// CEDILLA
+			case "cedil":                           // CEDILLA
 				return rune(0xb8), true
 				return rune(0xb8), true
-			case "cemptyv": 
-				// EMPTY SET WITH SMALL CIRCLE ABOVE
+			case "cemptyv":                         // EMPTY SET WITH SMALL CIRCLE ABOVE
 				return rune(0x29b2), true
 				return rune(0x29b2), true
-			case "centerdot": 
-				// MIDDLE DOT
-				return rune(0xb7), true
-			case "cent": 
-				// CENT SIGN
+			case "cent":                            // CENT SIGN
 				return rune(0xa2), true
 				return rune(0xa2), true
-			case "cfr": 
-				// MATHEMATICAL FRAKTUR SMALL C
+			case "centerdot":                       // MIDDLE DOT
+				return rune(0xb7), true
+			case "cfr":                             // MATHEMATICAL FRAKTUR SMALL C
 				return rune(0x01d520), true
 				return rune(0x01d520), true
-			case "chcy": 
-				// CYRILLIC SMALL LETTER CHE
+			case "chcy":                            // CYRILLIC SMALL LETTER CHE
 				return rune(0x0447), true
 				return rune(0x0447), true
-			case "check": 
-				// CHECK MARK
+			case "check":                           // CHECK MARK
 				return rune(0x2713), true
 				return rune(0x2713), true
-			case "checkmark": 
-				// CHECK MARK
+			case "checkmark":                       // CHECK MARK
 				return rune(0x2713), true
 				return rune(0x2713), true
-			case "chi": 
-				// GREEK SMALL LETTER CHI
+			case "chi":                             // GREEK SMALL LETTER CHI
 				return rune(0x03c7), true
 				return rune(0x03c7), true
-			case "circeq": 
-				// RING EQUAL TO
+			case "cir":                             // WHITE CIRCLE
+				return rune(0x25cb), true
+			case "cirE":                            // CIRCLE WITH TWO HORIZONTAL STROKES TO THE RIGHT
+				return rune(0x29c3), true
+			case "cirb":                            // SQUARED SMALL CIRCLE
+				return rune(0x29c7), true
+			case "circ":                            // MODIFIER LETTER CIRCUMFLEX ACCENT
+				return rune(0x02c6), true
+			case "circeq":                          // RING EQUAL TO
 				return rune(0x2257), true
 				return rune(0x2257), true
-			case "circlearrowleft": 
-				// ANTICLOCKWISE OPEN CIRCLE ARROW
+			case "circlearrowleft":                 // ANTICLOCKWISE OPEN CIRCLE ARROW
 				return rune(0x21ba), true
 				return rune(0x21ba), true
-			case "circlearrowright": 
-				// CLOCKWISE OPEN CIRCLE ARROW
+			case "circlearrowright":                // CLOCKWISE OPEN CIRCLE ARROW
 				return rune(0x21bb), true
 				return rune(0x21bb), true
-			case "circledS": 
-				// CIRCLED LATIN CAPITAL LETTER S
+			case "circledR":                        // REGISTERED SIGN
+				return rune(0xae), true
+			case "circledS":                        // CIRCLED LATIN CAPITAL LETTER S
 				return rune(0x24c8), true
 				return rune(0x24c8), true
-			case "circledast": 
-				// CIRCLED ASTERISK OPERATOR
+			case "circledast":                      // CIRCLED ASTERISK OPERATOR
 				return rune(0x229b), true
 				return rune(0x229b), true
-			case "circledcirc": 
-				// CIRCLED RING OPERATOR
+			case "circledcirc":                     // CIRCLED RING OPERATOR
 				return rune(0x229a), true
 				return rune(0x229a), true
-			case "circleddash": 
-				// CIRCLED DASH
+			case "circleddash":                     // CIRCLED DASH
 				return rune(0x229d), true
 				return rune(0x229d), true
-			case "cire": 
-				// RING EQUAL TO
-				return rune(0x2257), true
-			case "cir": 
-				// WHITE CIRCLE
-				return rune(0x25cb), true
-			case "cirE": 
-				// CIRCLE WITH TWO HORIZONTAL STROKES TO THE RIGHT
-				return rune(0x29c3), true
-			case "cirb": 
-				// SQUARED SMALL CIRCLE
-				return rune(0x29c7), true
-			case "circ": 
-				// MODIFIER LETTER CIRCUMFLEX ACCENT
-				return rune(0x02c6), true
-			case "circledR": 
-				// REGISTERED SIGN
-				return rune(0xae), true
-			case "cirdarr": 
-				// WHITE CIRCLE WITH DOWN ARROW
+			case "cirdarr":                         // WHITE CIRCLE WITH DOWN ARROW
 				return rune(0x29ec), true
 				return rune(0x29ec), true
-			case "cirerr": 
-				// ERROR-BARRED WHITE CIRCLE
+			case "cire":                            // RING EQUAL TO
+				return rune(0x2257), true
+			case "cirerr":                          // ERROR-BARRED WHITE CIRCLE
 				return rune(0x29f2), true
 				return rune(0x29f2), true
-			case "cirfdarr": 
-				// BLACK CIRCLE WITH DOWN ARROW
+			case "cirfdarr":                        // BLACK CIRCLE WITH DOWN ARROW
 				return rune(0x29ed), true
 				return rune(0x29ed), true
-			case "cirferr": 
-				// ERROR-BARRED BLACK CIRCLE
+			case "cirferr":                         // ERROR-BARRED BLACK CIRCLE
 				return rune(0x29f3), true
 				return rune(0x29f3), true
-			case "cirfnint": 
-				// CIRCULATION FUNCTION
+			case "cirfnint":                        // CIRCULATION FUNCTION
 				return rune(0x2a10), true
 				return rune(0x2a10), true
-			case "cirmid": 
-				// VERTICAL LINE WITH CIRCLE ABOVE
+			case "cirmid":                          // VERTICAL LINE WITH CIRCLE ABOVE
 				return rune(0x2aef), true
 				return rune(0x2aef), true
-			case "cirscir": 
-				// CIRCLE WITH SMALL CIRCLE TO THE RIGHT
+			case "cirscir":                         // CIRCLE WITH SMALL CIRCLE TO THE RIGHT
 				return rune(0x29c2), true
 				return rune(0x29c2), true
-			case "closur": 
-				// CLOSE UP
+			case "closur":                          // CLOSE UP
 				return rune(0x2050), true
 				return rune(0x2050), true
-			case "clubs": 
-				// BLACK CLUB SUIT
+			case "clubs":                           // BLACK CLUB SUIT
 				return rune(0x2663), true
 				return rune(0x2663), true
-			case "clubsuit": 
-				// BLACK CLUB SUIT
+			case "clubsuit":                        // BLACK CLUB SUIT
 				return rune(0x2663), true
 				return rune(0x2663), true
-			case "colone": 
-				// COLON EQUALS
+			case "colon":                           // COLON
+				return rune(0x3a), true
+			case "colone":                          // COLON EQUALS
 				return rune(0x2254), true
 				return rune(0x2254), true
-			case "coloneq": 
-				// COLON EQUALS
+			case "coloneq":                         // COLON EQUALS
 				return rune(0x2254), true
 				return rune(0x2254), true
-			case "colon": 
-				// COLON
-				return rune(0x3a), true
-			case "commat": 
-				// COMMERCIAL AT
-				return rune(0x40), true
-			case "comma": 
-				// COMMA
+			case "comma":                           // COMMA
 				return rune(0x2c), true
 				return rune(0x2c), true
-			case "comp": 
-				// COMPLEMENT
+			case "commat":                          // COMMERCIAL AT
+				return rune(0x40), true
+			case "comp":                            // COMPLEMENT
 				return rune(0x2201), true
 				return rune(0x2201), true
-			case "compfn": 
-				// RING OPERATOR
+			case "compfn":                          // RING OPERATOR
 				return rune(0x2218), true
 				return rune(0x2218), true
-			case "complement": 
-				// COMPLEMENT
+			case "complement":                      // COMPLEMENT
 				return rune(0x2201), true
 				return rune(0x2201), true
-			case "complexes": 
-				// DOUBLE-STRUCK CAPITAL C
+			case "complexes":                       // DOUBLE-STRUCK CAPITAL C
 				return rune(0x2102), true
 				return rune(0x2102), true
-			case "cong": 
-				// APPROXIMATELY EQUAL TO
+			case "cong":                            // APPROXIMATELY EQUAL TO
 				return rune(0x2245), true
 				return rune(0x2245), true
-			case "congdot": 
-				// CONGRUENT WITH DOT ABOVE
+			case "congdot":                         // CONGRUENT WITH DOT ABOVE
 				return rune(0x2a6d), true
 				return rune(0x2a6d), true
-			case "conint": 
-				// CONTOUR INTEGRAL
+			case "conint":                          // CONTOUR INTEGRAL
 				return rune(0x222e), true
 				return rune(0x222e), true
-			case "copf": 
-				// MATHEMATICAL DOUBLE-STRUCK SMALL C
+			case "copf":                            // MATHEMATICAL DOUBLE-STRUCK SMALL C
 				return rune(0x01d554), true
 				return rune(0x01d554), true
-			case "coprod": 
-				// N-ARY COPRODUCT
+			case "coprod":                          // N-ARY COPRODUCT
 				return rune(0x2210), true
 				return rune(0x2210), true
-			case "copysr": 
-				// SOUND RECORDING COPYRIGHT
-				return rune(0x2117), true
-			case "copy": 
-				// COPYRIGHT SIGN
+			case "copy":                            // COPYRIGHT SIGN
 				return rune(0xa9), true
 				return rune(0xa9), true
-			case "crarr": 
-				// DOWNWARDS ARROW WITH CORNER LEFTWARDS
+			case "copysr":                          // SOUND RECORDING COPYRIGHT
+				return rune(0x2117), true
+			case "crarr":                           // DOWNWARDS ARROW WITH CORNER LEFTWARDS
 				return rune(0x21b5), true
 				return rune(0x21b5), true
-			case "cross": 
-				// BALLOT X
+			case "cross":                           // BALLOT X
 				return rune(0x2717), true
 				return rune(0x2717), true
-			case "cscr": 
-				// MATHEMATICAL SCRIPT SMALL C
+			case "cscr":                            // MATHEMATICAL SCRIPT SMALL C
 				return rune(0x01d4b8), true
 				return rune(0x01d4b8), true
-			case "csub": 
-				// CLOSED SUBSET
+			case "csub":                            // CLOSED SUBSET
 				return rune(0x2acf), true
 				return rune(0x2acf), true
-			case "csube": 
-				// CLOSED SUBSET OR EQUAL TO
+			case "csube":                           // CLOSED SUBSET OR EQUAL TO
 				return rune(0x2ad1), true
 				return rune(0x2ad1), true
-			case "csup": 
-				// CLOSED SUPERSET
+			case "csup":                            // CLOSED SUPERSET
 				return rune(0x2ad0), true
 				return rune(0x2ad0), true
-			case "csupe": 
-				// CLOSED SUPERSET OR EQUAL TO
+			case "csupe":                           // CLOSED SUPERSET OR EQUAL TO
 				return rune(0x2ad2), true
 				return rune(0x2ad2), true
-			case "ctdot": 
-				// MIDLINE HORIZONTAL ELLIPSIS
+			case "ctdot":                           // MIDLINE HORIZONTAL ELLIPSIS
 				return rune(0x22ef), true
 				return rune(0x22ef), true
-			case "cudarrl": 
-				// RIGHT-SIDE ARC CLOCKWISE ARROW
+			case "cudarrl":                         // RIGHT-SIDE ARC CLOCKWISE ARROW
 				return rune(0x2938), true
 				return rune(0x2938), true
-			case "cudarrr": 
-				// ARROW POINTING RIGHTWARDS THEN CURVING DOWNWARDS
+			case "cudarrr":                         // ARROW POINTING RIGHTWARDS THEN CURVING DOWNWARDS
 				return rune(0x2935), true
 				return rune(0x2935), true
-			case "cuepr": 
-				// EQUAL TO OR PRECEDES
+			case "cuepr":                           // EQUAL TO OR PRECEDES
 				return rune(0x22de), true
 				return rune(0x22de), true
-			case "cuesc": 
-				// EQUAL TO OR SUCCEEDS
+			case "cuesc":                           // EQUAL TO OR SUCCEEDS
 				return rune(0x22df), true
 				return rune(0x22df), true
-			case "cularr": 
-				// ANTICLOCKWISE TOP SEMICIRCLE ARROW
+			case "cularr":                          // ANTICLOCKWISE TOP SEMICIRCLE ARROW
 				return rune(0x21b6), true
 				return rune(0x21b6), true
-			case "cularrp": 
-				// TOP ARC ANTICLOCKWISE ARROW WITH PLUS
+			case "cularrp":                         // TOP ARC ANTICLOCKWISE ARROW WITH PLUS
 				return rune(0x293d), true
 				return rune(0x293d), true
-			case "cup": 
-				// UNION
+			case "cup":                             // UNION
 				return rune(0x222a), true
 				return rune(0x222a), true
-			case "cupbrcap": 
-				// UNION ABOVE BAR ABOVE INTERSECTION
+			case "cupbrcap":                        // UNION ABOVE BAR ABOVE INTERSECTION
 				return rune(0x2a48), true
 				return rune(0x2a48), true
-			case "cupcap": 
-				// UNION ABOVE INTERSECTION
+			case "cupcap":                          // UNION ABOVE INTERSECTION
 				return rune(0x2a46), true
 				return rune(0x2a46), true
-			case "cupcup": 
-				// UNION BESIDE AND JOINED WITH UNION
+			case "cupcup":                          // UNION BESIDE AND JOINED WITH UNION
 				return rune(0x2a4a), true
 				return rune(0x2a4a), true
-			case "cupdot": 
-				// MULTISET MULTIPLICATION
+			case "cupdot":                          // MULTISET MULTIPLICATION
 				return rune(0x228d), true
 				return rune(0x228d), true
-			case "cupint": 
-				// INTEGRAL WITH UNION
+			case "cupint":                          // INTEGRAL WITH UNION
 				return rune(0x2a1a), true
 				return rune(0x2a1a), true
-			case "cupor": 
-				// UNION WITH LOGICAL OR
+			case "cupor":                           // UNION WITH LOGICAL OR
 				return rune(0x2a45), true
 				return rune(0x2a45), true
-			case "cupre": 
-				// PRECEDES OR EQUAL TO
+			case "cupre":                           // PRECEDES OR EQUAL TO
 				return rune(0x227c), true
 				return rune(0x227c), true
-			case "cups": 
-				// UNION with serifs
+			case "cups":                            // UNION with serifs
 				return rune(0x222a), true
 				return rune(0x222a), true
-			case "curarr": 
-				// CLOCKWISE TOP SEMICIRCLE ARROW
+			case "curarr":                          // CLOCKWISE TOP SEMICIRCLE ARROW
 				return rune(0x21b7), true
 				return rune(0x21b7), true
-			case "curarrm": 
-				// TOP ARC CLOCKWISE ARROW WITH MINUS
+			case "curarrm":                         // TOP ARC CLOCKWISE ARROW WITH MINUS
 				return rune(0x293c), true
 				return rune(0x293c), true
-			case "curlyeqprec": 
-				// EQUAL TO OR PRECEDES
+			case "curlyeqprec":                     // EQUAL TO OR PRECEDES
 				return rune(0x22de), true
 				return rune(0x22de), true
-			case "curlyeqsucc": 
-				// EQUAL TO OR SUCCEEDS
+			case "curlyeqsucc":                     // EQUAL TO OR SUCCEEDS
 				return rune(0x22df), true
 				return rune(0x22df), true
-			case "curlyvee": 
-				// CURLY LOGICAL OR
+			case "curlyvee":                        // CURLY LOGICAL OR
 				return rune(0x22ce), true
 				return rune(0x22ce), true
-			case "curlywedge": 
-				// CURLY LOGICAL AND
+			case "curlywedge":                      // CURLY LOGICAL AND
 				return rune(0x22cf), true
 				return rune(0x22cf), true
-			case "curren": 
-				// CURRENCY SIGN
+			case "curren":                          // CURRENCY SIGN
 				return rune(0xa4), true
 				return rune(0xa4), true
-			case "curvearrowleft": 
-				// ANTICLOCKWISE TOP SEMICIRCLE ARROW
+			case "curvearrowleft":                  // ANTICLOCKWISE TOP SEMICIRCLE ARROW
 				return rune(0x21b6), true
 				return rune(0x21b6), true
-			case "curvearrowright": 
-				// CLOCKWISE TOP SEMICIRCLE ARROW
+			case "curvearrowright":                 // CLOCKWISE TOP SEMICIRCLE ARROW
 				return rune(0x21b7), true
 				return rune(0x21b7), true
-			case "cuvee": 
-				// CURLY LOGICAL OR
+			case "cuvee":                           // CURLY LOGICAL OR
 				return rune(0x22ce), true
 				return rune(0x22ce), true
-			case "cuwed": 
-				// CURLY LOGICAL AND
+			case "cuwed":                           // CURLY LOGICAL AND
 				return rune(0x22cf), true
 				return rune(0x22cf), true
-			case "cwconint": 
-				// CLOCKWISE CONTOUR INTEGRAL
+			case "cwconint":                        // CLOCKWISE CONTOUR INTEGRAL
 				return rune(0x2232), true
 				return rune(0x2232), true
-			case "cwint": 
-				// CLOCKWISE INTEGRAL
+			case "cwint":                           // CLOCKWISE INTEGRAL
 				return rune(0x2231), true
 				return rune(0x2231), true
-			case "cylcty": 
-				// CYLINDRICITY
+			case "cylcty":                          // CYLINDRICITY
 				return rune(0x232d), true
 				return rune(0x232d), true
 		}
 		}
 
 
 	case 'd':
 	case 'd':
 		switch name {
 		switch name {
-			case "dAarr": 
-				// DOWNWARDS TRIPLE ARROW
+			case "dAarr":                           // DOWNWARDS TRIPLE ARROW
 				return rune(0x290b), true
 				return rune(0x290b), true
-			case "dArr": 
-				// DOWNWARDS DOUBLE ARROW
+			case "dArr":                            // DOWNWARDS DOUBLE ARROW
 				return rune(0x21d3), true
 				return rune(0x21d3), true
-			case "dHar": 
-				// DOWNWARDS HARPOON WITH BARB LEFT BESIDE DOWNWARDS HARPOON WITH BARB RIGHT
+			case "dHar":                            // DOWNWARDS HARPOON WITH BARB LEFT BESIDE DOWNWARDS HARPOON WITH BARB RIGHT
 				return rune(0x2965), true
 				return rune(0x2965), true
-			case "dagger": 
-				// DAGGER
+			case "dagger":                          // DAGGER
 				return rune(0x2020), true
 				return rune(0x2020), true
-			case "dalembrt": 
-				// SQUARE WITH CONTOURED OUTLINE
+			case "dalembrt":                        // SQUARE WITH CONTOURED OUTLINE
 				return rune(0x29e0), true
 				return rune(0x29e0), true
-			case "daleth": 
-				// DALET SYMBOL
+			case "daleth":                          // DALET SYMBOL
 				return rune(0x2138), true
 				return rune(0x2138), true
-			case "darr2": 
-				// DOWNWARDS PAIRED ARROWS
-				return rune(0x21ca), true
-			case "darr": 
-				// DOWNWARDS ARROW
+			case "darr":                            // DOWNWARDS ARROW
 				return rune(0x2193), true
 				return rune(0x2193), true
-			case "darrb": 
-				// DOWNWARDS ARROW TO BAR
+			case "darr2":                           // DOWNWARDS PAIRED ARROWS
+				return rune(0x21ca), true
+			case "darrb":                           // DOWNWARDS ARROW TO BAR
 				return rune(0x2913), true
 				return rune(0x2913), true
-			case "darrln": 
-				// DOWNWARDS ARROW WITH HORIZONTAL STROKE
+			case "darrln":                          // DOWNWARDS ARROW WITH HORIZONTAL STROKE
 				return rune(0x2908), true
 				return rune(0x2908), true
-			case "dashv": 
-				// LEFT TACK
-				return rune(0x22a3), true
-			case "dash": 
-				// HYPHEN
+			case "dash":                            // HYPHEN
 				return rune(0x2010), true
 				return rune(0x2010), true
-			case "dashV": 
-				// DOUBLE VERTICAL BAR LEFT TURNSTILE
+			case "dashV":                           // DOUBLE VERTICAL BAR LEFT TURNSTILE
 				return rune(0x2ae3), true
 				return rune(0x2ae3), true
-			case "dbkarow": 
-				// RIGHTWARDS TRIPLE DASH ARROW
+			case "dashv":                           // LEFT TACK
+				return rune(0x22a3), true
+			case "dbkarow":                         // RIGHTWARDS TRIPLE DASH ARROW
 				return rune(0x290f), true
 				return rune(0x290f), true
-			case "dblac": 
-				// DOUBLE ACUTE ACCENT
+			case "dblac":                           // DOUBLE ACUTE ACCENT
 				return rune(0x02dd), true
 				return rune(0x02dd), true
-			case "dcaron": 
-				// LATIN SMALL LETTER D WITH CARON
+			case "dcaron":                          // LATIN SMALL LETTER D WITH CARON
 				return rune(0x010f), true
 				return rune(0x010f), true
-			case "dcy": 
-				// CYRILLIC SMALL LETTER DE
+			case "dcy":                             // CYRILLIC SMALL LETTER DE
 				return rune(0x0434), true
 				return rune(0x0434), true
-			case "ddarr": 
-				// DOWNWARDS PAIRED ARROWS
-				return rune(0x21ca), true
-			case "dd": 
-				// DOUBLE-STRUCK ITALIC SMALL D
+			case "dd":                              // DOUBLE-STRUCK ITALIC SMALL D
 				return rune(0x2146), true
 				return rune(0x2146), true
-			case "ddagger": 
-				// DOUBLE DAGGER
+			case "ddagger":                         // DOUBLE DAGGER
 				return rune(0x2021), true
 				return rune(0x2021), true
-			case "ddotseq": 
-				// EQUALS SIGN WITH TWO DOTS ABOVE AND TWO DOTS BELOW
+			case "ddarr":                           // DOWNWARDS PAIRED ARROWS
+				return rune(0x21ca), true
+			case "ddotseq":                         // EQUALS SIGN WITH TWO DOTS ABOVE AND TWO DOTS BELOW
 				return rune(0x2a77), true
 				return rune(0x2a77), true
-			case "deg": 
-				// DEGREE SIGN
+			case "deg":                             // DEGREE SIGN
 				return rune(0xb0), true
 				return rune(0xb0), true
-			case "delta": 
-				// GREEK SMALL LETTER DELTA
+			case "delta":                           // GREEK SMALL LETTER DELTA
 				return rune(0x03b4), true
 				return rune(0x03b4), true
-			case "demptyv": 
-				// EMPTY SET WITH OVERBAR
+			case "demptyv":                         // EMPTY SET WITH OVERBAR
 				return rune(0x29b1), true
 				return rune(0x29b1), true
-			case "dfisht": 
-				// DOWN FISH TAIL
+			case "dfisht":                          // DOWN FISH TAIL
 				return rune(0x297f), true
 				return rune(0x297f), true
-			case "dfr": 
-				// MATHEMATICAL FRAKTUR SMALL D
+			case "dfr":                             // MATHEMATICAL FRAKTUR SMALL D
 				return rune(0x01d521), true
 				return rune(0x01d521), true
-			case "dgr": 
-				// GREEK SMALL LETTER DELTA
+			case "dgr":                             // GREEK SMALL LETTER DELTA
 				return rune(0x03b4), true
 				return rune(0x03b4), true
-			case "dharl": 
-				// DOWNWARDS HARPOON WITH BARB LEFTWARDS
+			case "dharl":                           // DOWNWARDS HARPOON WITH BARB LEFTWARDS
 				return rune(0x21c3), true
 				return rune(0x21c3), true
-			case "dharr": 
-				// DOWNWARDS HARPOON WITH BARB RIGHTWARDS
+			case "dharr":                           // DOWNWARDS HARPOON WITH BARB RIGHTWARDS
 				return rune(0x21c2), true
 				return rune(0x21c2), true
-			case "diam": 
-				// DIAMOND OPERATOR
+			case "diam":                            // DIAMOND OPERATOR
 				return rune(0x22c4), true
 				return rune(0x22c4), true
-			case "diamdarr": 
-				// BLACK DIAMOND WITH DOWN ARROW
+			case "diamdarr":                        // BLACK DIAMOND WITH DOWN ARROW
 				return rune(0x29ea), true
 				return rune(0x29ea), true
-			case "diamerr": 
-				// ERROR-BARRED WHITE DIAMOND
+			case "diamerr":                         // ERROR-BARRED WHITE DIAMOND
 				return rune(0x29f0), true
 				return rune(0x29f0), true
-			case "diamerrf": 
-				// ERROR-BARRED BLACK DIAMOND
+			case "diamerrf":                        // ERROR-BARRED BLACK DIAMOND
 				return rune(0x29f1), true
 				return rune(0x29f1), true
-			case "diamond": 
-				// DIAMOND OPERATOR
+			case "diamond":                         // DIAMOND OPERATOR
 				return rune(0x22c4), true
 				return rune(0x22c4), true
-			case "diamondsuit": 
-				// BLACK DIAMOND SUIT
+			case "diamondsuit":                     // BLACK DIAMOND SUIT
 				return rune(0x2666), true
 				return rune(0x2666), true
-			case "diams": 
-				// BLACK DIAMOND SUIT
+			case "diams":                           // BLACK DIAMOND SUIT
 				return rune(0x2666), true
 				return rune(0x2666), true
-			case "die": 
-				// DIAERESIS
+			case "die":                             // DIAERESIS
 				return rune(0xa8), true
 				return rune(0xa8), true
-			case "digamma": 
-				// GREEK SMALL LETTER DIGAMMA
+			case "digamma":                         // GREEK SMALL LETTER DIGAMMA
 				return rune(0x03dd), true
 				return rune(0x03dd), true
-			case "disin": 
-				// ELEMENT OF WITH LONG HORIZONTAL STROKE
+			case "disin":                           // ELEMENT OF WITH LONG HORIZONTAL STROKE
 				return rune(0x22f2), true
 				return rune(0x22f2), true
-			case "divideontimes": 
-				// DIVISION TIMES
-				return rune(0x22c7), true
-			case "divonx": 
-				// DIVISION TIMES
-				return rune(0x22c7), true
-			case "div": 
-				// DIVISION SIGN
+			case "div":                             // DIVISION SIGN
 				return rune(0xf7), true
 				return rune(0xf7), true
-			case "divide": 
-				// DIVISION SIGN
+			case "divide":                          // DIVISION SIGN
 				return rune(0xf7), true
 				return rune(0xf7), true
-			case "djcy": 
-				// CYRILLIC SMALL LETTER DJE
+			case "divideontimes":                   // DIVISION TIMES
+				return rune(0x22c7), true
+			case "divonx":                          // DIVISION TIMES
+				return rune(0x22c7), true
+			case "djcy":                            // CYRILLIC SMALL LETTER DJE
 				return rune(0x0452), true
 				return rune(0x0452), true
-			case "dlarr": 
-				// SOUTH WEST ARROW
+			case "dlarr":                           // SOUTH WEST ARROW
 				return rune(0x2199), true
 				return rune(0x2199), true
-			case "dlcorn": 
-				// BOTTOM LEFT CORNER
+			case "dlcorn":                          // BOTTOM LEFT CORNER
 				return rune(0x231e), true
 				return rune(0x231e), true
-			case "dlcrop": 
-				// BOTTOM LEFT CROP
+			case "dlcrop":                          // BOTTOM LEFT CROP
 				return rune(0x230d), true
 				return rune(0x230d), true
-			case "dlharb": 
-				// DOWNWARDS HARPOON WITH BARB LEFT TO BAR
+			case "dlharb":                          // DOWNWARDS HARPOON WITH BARB LEFT TO BAR
 				return rune(0x2959), true
 				return rune(0x2959), true
-			case "dollar": 
-				// DOLLAR SIGN
+			case "dollar":                          // DOLLAR SIGN
 				return rune(0x24), true
 				return rune(0x24), true
-			case "dopf": 
-				// MATHEMATICAL DOUBLE-STRUCK SMALL D
+			case "dopf":                            // MATHEMATICAL DOUBLE-STRUCK SMALL D
 				return rune(0x01d555), true
 				return rune(0x01d555), true
-			case "doteq": 
-				// APPROACHES THE LIMIT
+			case "dot":                             // DOT ABOVE
+				return rune(0x02d9), true
+			case "doteq":                           // APPROACHES THE LIMIT
 				return rune(0x2250), true
 				return rune(0x2250), true
-			case "doteqdot": 
-				// GEOMETRICALLY EQUAL TO
+			case "doteqdot":                        // GEOMETRICALLY EQUAL TO
 				return rune(0x2251), true
 				return rune(0x2251), true
-			case "dotminus": 
-				// DOT MINUS
+			case "dotminus":                        // DOT MINUS
 				return rune(0x2238), true
 				return rune(0x2238), true
-			case "dotplus": 
-				// DOT PLUS
+			case "dotplus":                         // DOT PLUS
 				return rune(0x2214), true
 				return rune(0x2214), true
-			case "dotsquare": 
-				// SQUARED DOT OPERATOR
+			case "dotsquare":                       // SQUARED DOT OPERATOR
 				return rune(0x22a1), true
 				return rune(0x22a1), true
-			case "dot": 
-				// DOT ABOVE
-				return rune(0x02d9), true
-			case "doublebarwedge": 
-				// PERSPECTIVE
+			case "doublebarwedge":                  // PERSPECTIVE
 				return rune(0x2306), true
 				return rune(0x2306), true
-			case "downarrow": 
-				// DOWNWARDS ARROW
+			case "downarrow":                       // DOWNWARDS ARROW
 				return rune(0x2193), true
 				return rune(0x2193), true
-			case "downdownarrows": 
-				// DOWNWARDS PAIRED ARROWS
+			case "downdownarrows":                  // DOWNWARDS PAIRED ARROWS
 				return rune(0x21ca), true
 				return rune(0x21ca), true
-			case "downharpoonleft": 
-				// DOWNWARDS HARPOON WITH BARB LEFTWARDS
+			case "downharpoonleft":                 // DOWNWARDS HARPOON WITH BARB LEFTWARDS
 				return rune(0x21c3), true
 				return rune(0x21c3), true
-			case "downharpoonright": 
-				// DOWNWARDS HARPOON WITH BARB RIGHTWARDS
+			case "downharpoonright":                // DOWNWARDS HARPOON WITH BARB RIGHTWARDS
 				return rune(0x21c2), true
 				return rune(0x21c2), true
-			case "drarr": 
-				// SOUTH EAST ARROW
+			case "drarr":                           // SOUTH EAST ARROW
 				return rune(0x2198), true
 				return rune(0x2198), true
-			case "drbkarow": 
-				// RIGHTWARDS TWO-HEADED TRIPLE DASH ARROW
+			case "drbkarow":                        // RIGHTWARDS TWO-HEADED TRIPLE DASH ARROW
 				return rune(0x2910), true
 				return rune(0x2910), true
-			case "drcorn": 
-				// BOTTOM RIGHT CORNER
+			case "drcorn":                          // BOTTOM RIGHT CORNER
 				return rune(0x231f), true
 				return rune(0x231f), true
-			case "drcrop": 
-				// BOTTOM RIGHT CROP
+			case "drcrop":                          // BOTTOM RIGHT CROP
 				return rune(0x230c), true
 				return rune(0x230c), true
-			case "drharb": 
-				// DOWNWARDS HARPOON WITH BARB RIGHT TO BAR
+			case "drharb":                          // DOWNWARDS HARPOON WITH BARB RIGHT TO BAR
 				return rune(0x2955), true
 				return rune(0x2955), true
-			case "dscr": 
-				// MATHEMATICAL SCRIPT SMALL D
+			case "dscr":                            // MATHEMATICAL SCRIPT SMALL D
 				return rune(0x01d4b9), true
 				return rune(0x01d4b9), true
-			case "dscy": 
-				// CYRILLIC SMALL LETTER DZE
+			case "dscy":                            // CYRILLIC SMALL LETTER DZE
 				return rune(0x0455), true
 				return rune(0x0455), true
-			case "dsol": 
-				// SOLIDUS WITH OVERBAR
+			case "dsol":                            // SOLIDUS WITH OVERBAR
 				return rune(0x29f6), true
 				return rune(0x29f6), true
-			case "dstrok": 
-				// LATIN SMALL LETTER D WITH STROKE
+			case "dstrok":                          // LATIN SMALL LETTER D WITH STROKE
 				return rune(0x0111), true
 				return rune(0x0111), true
-			case "dtdot": 
-				// DOWN RIGHT DIAGONAL ELLIPSIS
+			case "dtdot":                           // DOWN RIGHT DIAGONAL ELLIPSIS
 				return rune(0x22f1), true
 				return rune(0x22f1), true
-			case "dtrif": 
-				// BLACK DOWN-POINTING SMALL TRIANGLE
-				return rune(0x25be), true
-			case "dtri": 
-				// WHITE DOWN-POINTING SMALL TRIANGLE
+			case "dtri":                            // WHITE DOWN-POINTING SMALL TRIANGLE
 				return rune(0x25bf), true
 				return rune(0x25bf), true
-			case "dtrilf": 
-				// DOWN-POINTING TRIANGLE WITH LEFT HALF BLACK
+			case "dtrif":                           // BLACK DOWN-POINTING SMALL TRIANGLE
+				return rune(0x25be), true
+			case "dtrilf":                          // DOWN-POINTING TRIANGLE WITH LEFT HALF BLACK
 				return rune(0x29e8), true
 				return rune(0x29e8), true
-			case "dtrirf": 
-				// DOWN-POINTING TRIANGLE WITH RIGHT HALF BLACK
+			case "dtrirf":                          // DOWN-POINTING TRIANGLE WITH RIGHT HALF BLACK
 				return rune(0x29e9), true
 				return rune(0x29e9), true
-			case "duarr": 
-				// DOWNWARDS ARROW LEFTWARDS OF UPWARDS ARROW
+			case "duarr":                           // DOWNWARDS ARROW LEFTWARDS OF UPWARDS ARROW
 				return rune(0x21f5), true
 				return rune(0x21f5), true
-			case "duhar": 
-				// DOWNWARDS HARPOON WITH BARB LEFT BESIDE UPWARDS HARPOON WITH BARB RIGHT
+			case "duhar":                           // DOWNWARDS HARPOON WITH BARB LEFT BESIDE UPWARDS HARPOON WITH BARB RIGHT
 				return rune(0x296f), true
 				return rune(0x296f), true
-			case "dumap": 
-				// DOUBLE-ENDED MULTIMAP
+			case "dumap":                           // DOUBLE-ENDED MULTIMAP
 				return rune(0x29df), true
 				return rune(0x29df), true
-			case "dwangle": 
-				// OBLIQUE ANGLE OPENING UP
+			case "dwangle":                         // OBLIQUE ANGLE OPENING UP
 				return rune(0x29a6), true
 				return rune(0x29a6), true
-			case "dzcy": 
-				// CYRILLIC SMALL LETTER DZHE
+			case "dzcy":                            // CYRILLIC SMALL LETTER DZHE
 				return rune(0x045f), true
 				return rune(0x045f), true
-			case "dzigrarr": 
-				// LONG RIGHTWARDS SQUIGGLE ARROW
+			case "dzigrarr":                        // LONG RIGHTWARDS SQUIGGLE ARROW
 				return rune(0x27ff), true
 				return rune(0x27ff), true
 		}
 		}
 
 
 	case 'e':
 	case 'e':
 		switch name {
 		switch name {
-			case "eDDot": 
-				// EQUALS SIGN WITH TWO DOTS ABOVE AND TWO DOTS BELOW
+			case "eDDot":                           // EQUALS SIGN WITH TWO DOTS ABOVE AND TWO DOTS BELOW
 				return rune(0x2a77), true
 				return rune(0x2a77), true
-			case "eDot": 
-				// GEOMETRICALLY EQUAL TO
+			case "eDot":                            // GEOMETRICALLY EQUAL TO
 				return rune(0x2251), true
 				return rune(0x2251), true
-			case "eacgr": 
-				// GREEK SMALL LETTER EPSILON WITH TONOS
+			case "eacgr":                           // GREEK SMALL LETTER EPSILON WITH TONOS
 				return rune(0x03ad), true
 				return rune(0x03ad), true
-			case "eacute": 
-				// LATIN SMALL LETTER E WITH ACUTE
+			case "eacute":                          // LATIN SMALL LETTER E WITH ACUTE
 				return rune(0xe9), true
 				return rune(0xe9), true
-			case "easter": 
-				// EQUALS WITH ASTERISK
+			case "easter":                          // EQUALS WITH ASTERISK
 				return rune(0x2a6e), true
 				return rune(0x2a6e), true
-			case "ecaron": 
-				// LATIN SMALL LETTER E WITH CARON
+			case "ecaron":                          // LATIN SMALL LETTER E WITH CARON
 				return rune(0x011b), true
 				return rune(0x011b), true
-			case "ecir": 
-				// RING IN EQUAL TO
+			case "ecir":                            // RING IN EQUAL TO
 				return rune(0x2256), true
 				return rune(0x2256), true
-			case "ecirc": 
-				// LATIN SMALL LETTER E WITH CIRCUMFLEX
+			case "ecirc":                           // LATIN SMALL LETTER E WITH CIRCUMFLEX
 				return rune(0xea), true
 				return rune(0xea), true
-			case "ecolon": 
-				// EQUALS COLON
+			case "ecolon":                          // EQUALS COLON
 				return rune(0x2255), true
 				return rune(0x2255), true
-			case "ecy": 
-				// CYRILLIC SMALL LETTER E
+			case "ecy":                             // CYRILLIC SMALL LETTER E
 				return rune(0x044d), true
 				return rune(0x044d), true
-			case "edot": 
-				// LATIN SMALL LETTER E WITH DOT ABOVE
+			case "edot":                            // LATIN SMALL LETTER E WITH DOT ABOVE
 				return rune(0x0117), true
 				return rune(0x0117), true
-			case "ee": 
-				// DOUBLE-STRUCK ITALIC SMALL E
+			case "ee":                              // DOUBLE-STRUCK ITALIC SMALL E
 				return rune(0x2147), true
 				return rune(0x2147), true
-			case "eeacgr": 
-				// GREEK SMALL LETTER ETA WITH TONOS
+			case "eeacgr":                          // GREEK SMALL LETTER ETA WITH TONOS
 				return rune(0x03ae), true
 				return rune(0x03ae), true
-			case "eegr": 
-				// GREEK SMALL LETTER ETA
+			case "eegr":                            // GREEK SMALL LETTER ETA
 				return rune(0x03b7), true
 				return rune(0x03b7), true
-			case "efDot": 
-				// APPROXIMATELY EQUAL TO OR THE IMAGE OF
+			case "efDot":                           // APPROXIMATELY EQUAL TO OR THE IMAGE OF
 				return rune(0x2252), true
 				return rune(0x2252), true
-			case "efr": 
-				// MATHEMATICAL FRAKTUR SMALL E
+			case "efr":                             // MATHEMATICAL FRAKTUR SMALL E
 				return rune(0x01d522), true
 				return rune(0x01d522), true
-			case "egr": 
-				// GREEK SMALL LETTER EPSILON
+			case "eg":                              // DOUBLE-LINE EQUAL TO OR GREATER-THAN
+				return rune(0x2a9a), true
+			case "egr":                             // GREEK SMALL LETTER EPSILON
 				return rune(0x03b5), true
 				return rune(0x03b5), true
-			case "egs": 
-				// SLANTED EQUAL TO OR GREATER-THAN
+			case "egrave":                          // LATIN SMALL LETTER E WITH GRAVE
+				return rune(0xe8), true
+			case "egs":                             // SLANTED EQUAL TO OR GREATER-THAN
 				return rune(0x2a96), true
 				return rune(0x2a96), true
-			case "egsdot": 
-				// SLANTED EQUAL TO OR GREATER-THAN WITH DOT INSIDE
+			case "egsdot":                          // SLANTED EQUAL TO OR GREATER-THAN WITH DOT INSIDE
 				return rune(0x2a98), true
 				return rune(0x2a98), true
-			case "eg": 
-				// DOUBLE-LINE EQUAL TO OR GREATER-THAN
-				return rune(0x2a9a), true
-			case "egrave": 
-				// LATIN SMALL LETTER E WITH GRAVE
-				return rune(0xe8), true
-			case "elinters": 
-				// ELECTRICAL INTERSECTION
+			case "el":                              // DOUBLE-LINE EQUAL TO OR LESS-THAN
+				return rune(0x2a99), true
+			case "elinters":                        // ELECTRICAL INTERSECTION
 				return rune(0x23e7), true
 				return rune(0x23e7), true
-			case "ell": 
-				// SCRIPT SMALL L
+			case "ell":                             // SCRIPT SMALL L
 				return rune(0x2113), true
 				return rune(0x2113), true
-			case "els": 
-				// SLANTED EQUAL TO OR LESS-THAN
+			case "els":                             // SLANTED EQUAL TO OR LESS-THAN
 				return rune(0x2a95), true
 				return rune(0x2a95), true
-			case "elsdot": 
-				// SLANTED EQUAL TO OR LESS-THAN WITH DOT INSIDE
+			case "elsdot":                          // SLANTED EQUAL TO OR LESS-THAN WITH DOT INSIDE
 				return rune(0x2a97), true
 				return rune(0x2a97), true
-			case "el": 
-				// DOUBLE-LINE EQUAL TO OR LESS-THAN
-				return rune(0x2a99), true
-			case "emacr": 
-				// LATIN SMALL LETTER E WITH MACRON
+			case "emacr":                           // LATIN SMALL LETTER E WITH MACRON
 				return rune(0x0113), true
 				return rune(0x0113), true
-			case "empty": 
-				// EMPTY SET
+			case "empty":                           // EMPTY SET
 				return rune(0x2205), true
 				return rune(0x2205), true
-			case "emptyset": 
-				// EMPTY SET
+			case "emptyset":                        // EMPTY SET
 				return rune(0x2205), true
 				return rune(0x2205), true
-			case "emptyv": 
-				// EMPTY SET
+			case "emptyv":                          // EMPTY SET
 				return rune(0x2205), true
 				return rune(0x2205), true
-			case "emsp13": 
-				// THREE-PER-EM SPACE
+			case "emsp":                            // EM SPACE
+				return rune(0x2003), true
+			case "emsp13":                          // THREE-PER-EM SPACE
 				return rune(0x2004), true
 				return rune(0x2004), true
-			case "emsp14": 
-				// FOUR-PER-EM SPACE
+			case "emsp14":                          // FOUR-PER-EM SPACE
 				return rune(0x2005), true
 				return rune(0x2005), true
-			case "emsp": 
-				// EM SPACE
-				return rune(0x2003), true
-			case "eng": 
-				// LATIN SMALL LETTER ENG
+			case "eng":                             // LATIN SMALL LETTER ENG
 				return rune(0x014b), true
 				return rune(0x014b), true
-			case "ensp": 
-				// EN SPACE
+			case "ensp":                            // EN SPACE
 				return rune(0x2002), true
 				return rune(0x2002), true
-			case "eogon": 
-				// LATIN SMALL LETTER E WITH OGONEK
+			case "eogon":                           // LATIN SMALL LETTER E WITH OGONEK
 				return rune(0x0119), true
 				return rune(0x0119), true
-			case "eopf": 
-				// MATHEMATICAL DOUBLE-STRUCK SMALL E
+			case "eopf":                            // MATHEMATICAL DOUBLE-STRUCK SMALL E
 				return rune(0x01d556), true
 				return rune(0x01d556), true
-			case "epar": 
-				// EQUAL AND PARALLEL TO
+			case "epar":                            // EQUAL AND PARALLEL TO
 				return rune(0x22d5), true
 				return rune(0x22d5), true
-			case "eparsl": 
-				// EQUALS SIGN AND SLANTED PARALLEL
+			case "eparsl":                          // EQUALS SIGN AND SLANTED PARALLEL
 				return rune(0x29e3), true
 				return rune(0x29e3), true
-			case "eplus": 
-				// EQUALS SIGN ABOVE PLUS SIGN
+			case "eplus":                           // EQUALS SIGN ABOVE PLUS SIGN
 				return rune(0x2a71), true
 				return rune(0x2a71), true
-			case "epsilon": 
-				// GREEK SMALL LETTER EPSILON
+			case "epsi":                            // GREEK SMALL LETTER EPSILON
+				return rune(0x03b5), true
+			case "epsilon":                         // GREEK SMALL LETTER EPSILON
 				return rune(0x03b5), true
 				return rune(0x03b5), true
-			case "epsis": 
-				// GREEK LUNATE EPSILON SYMBOL
+			case "epsis":                           // GREEK LUNATE EPSILON SYMBOL
 				return rune(0x03f5), true
 				return rune(0x03f5), true
-			case "epsiv": 
-				// GREEK LUNATE EPSILON SYMBOL
+			case "epsiv":                           // GREEK LUNATE EPSILON SYMBOL
 				return rune(0x03f5), true
 				return rune(0x03f5), true
-			case "epsi": 
-				// GREEK SMALL LETTER EPSILON
-				return rune(0x03b5), true
-			case "eqcirc": 
-				// RING IN EQUAL TO
+			case "eqcirc":                          // RING IN EQUAL TO
 				return rune(0x2256), true
 				return rune(0x2256), true
-			case "eqcolon": 
-				// EQUALS COLON
+			case "eqcolon":                         // EQUALS COLON
 				return rune(0x2255), true
 				return rune(0x2255), true
-			case "eqeq": 
-				// TWO CONSECUTIVE EQUALS SIGNS
+			case "eqeq":                            // TWO CONSECUTIVE EQUALS SIGNS
 				return rune(0x2a75), true
 				return rune(0x2a75), true
-			case "eqsim": 
-				// MINUS TILDE
+			case "eqsim":                           // MINUS TILDE
 				return rune(0x2242), true
 				return rune(0x2242), true
-			case "eqslantgtr": 
-				// SLANTED EQUAL TO OR GREATER-THAN
+			case "eqslantgtr":                      // SLANTED EQUAL TO OR GREATER-THAN
 				return rune(0x2a96), true
 				return rune(0x2a96), true
-			case "eqslantless": 
-				// SLANTED EQUAL TO OR LESS-THAN
+			case "eqslantless":                     // SLANTED EQUAL TO OR LESS-THAN
 				return rune(0x2a95), true
 				return rune(0x2a95), true
-			case "equals": 
-				// EQUALS SIGN
+			case "equals":                          // EQUALS SIGN
 				return rune(0x3d), true
 				return rune(0x3d), true
-			case "equest": 
-				// QUESTIONED EQUAL TO
+			case "equest":                          // QUESTIONED EQUAL TO
 				return rune(0x225f), true
 				return rune(0x225f), true
-			case "equiv": 
-				// IDENTICAL TO
+			case "equiv":                           // IDENTICAL TO
 				return rune(0x2261), true
 				return rune(0x2261), true
-			case "equivDD": 
-				// EQUIVALENT WITH FOUR DOTS ABOVE
+			case "equivDD":                         // EQUIVALENT WITH FOUR DOTS ABOVE
 				return rune(0x2a78), true
 				return rune(0x2a78), true
-			case "eqvparsl": 
-				// IDENTICAL TO AND SLANTED PARALLEL
+			case "eqvparsl":                        // IDENTICAL TO AND SLANTED PARALLEL
 				return rune(0x29e5), true
 				return rune(0x29e5), true
-			case "erDot": 
-				// IMAGE OF OR APPROXIMATELY EQUAL TO
+			case "erDot":                           // IMAGE OF OR APPROXIMATELY EQUAL TO
 				return rune(0x2253), true
 				return rune(0x2253), true
-			case "erarr": 
-				// EQUALS SIGN ABOVE RIGHTWARDS ARROW
+			case "erarr":                           // EQUALS SIGN ABOVE RIGHTWARDS ARROW
 				return rune(0x2971), true
 				return rune(0x2971), true
-			case "escr": 
-				// SCRIPT SMALL E
+			case "escr":                            // SCRIPT SMALL E
 				return rune(0x212f), true
 				return rune(0x212f), true
-			case "esdot": 
-				// APPROACHES THE LIMIT
+			case "esdot":                           // APPROACHES THE LIMIT
 				return rune(0x2250), true
 				return rune(0x2250), true
-			case "esim": 
-				// MINUS TILDE
+			case "esim":                            // MINUS TILDE
 				return rune(0x2242), true
 				return rune(0x2242), true
-			case "eta": 
-				// GREEK SMALL LETTER ETA
+			case "eta":                             // GREEK SMALL LETTER ETA
 				return rune(0x03b7), true
 				return rune(0x03b7), true
-			case "eth": 
-				// LATIN SMALL LETTER ETH
+			case "eth":                             // LATIN SMALL LETTER ETH
 				return rune(0xf0), true
 				return rune(0xf0), true
-			case "euml": 
-				// LATIN SMALL LETTER E WITH DIAERESIS
+			case "euml":                            // LATIN SMALL LETTER E WITH DIAERESIS
 				return rune(0xeb), true
 				return rune(0xeb), true
-			case "euro": 
-				// EURO SIGN
+			case "euro":                            // EURO SIGN
 				return rune(0x20ac), true
 				return rune(0x20ac), true
-			case "excl": 
-				// EXCLAMATION MARK
+			case "excl":                            // EXCLAMATION MARK
 				return rune(0x21), true
 				return rune(0x21), true
-			case "exist": 
-				// THERE EXISTS
+			case "exist":                           // THERE EXISTS
 				return rune(0x2203), true
 				return rune(0x2203), true
-			case "expectation": 
-				// SCRIPT CAPITAL E
+			case "expectation":                     // SCRIPT CAPITAL E
 				return rune(0x2130), true
 				return rune(0x2130), true
-			case "exponentiale": 
-				// DOUBLE-STRUCK ITALIC SMALL E
+			case "exponentiale":                    // DOUBLE-STRUCK ITALIC SMALL E
 				return rune(0x2147), true
 				return rune(0x2147), true
 		}
 		}
 
 
 	case 'f':
 	case 'f':
 		switch name {
 		switch name {
-			case "fallingdotseq": 
-				// APPROXIMATELY EQUAL TO OR THE IMAGE OF
+			case "fallingdotseq":                   // APPROXIMATELY EQUAL TO OR THE IMAGE OF
 				return rune(0x2252), true
 				return rune(0x2252), true
-			case "fbowtie": 
-				// BLACK BOWTIE
+			case "fbowtie":                         // BLACK BOWTIE
 				return rune(0x29d3), true
 				return rune(0x29d3), true
-			case "fcy": 
-				// CYRILLIC SMALL LETTER EF
+			case "fcy":                             // CYRILLIC SMALL LETTER EF
 				return rune(0x0444), true
 				return rune(0x0444), true
-			case "fdiag": 
-				// BOX DRAWINGS LIGHT DIAGONAL UPPER LEFT TO LOWER RIGHT
+			case "fdiag":                           // BOX DRAWINGS LIGHT DIAGONAL UPPER LEFT TO LOWER RIGHT
 				return rune(0x2572), true
 				return rune(0x2572), true
-			case "fdiordi": 
-				// FALLING DIAGONAL CROSSING RISING DIAGONAL
+			case "fdiordi":                         // FALLING DIAGONAL CROSSING RISING DIAGONAL
 				return rune(0x292c), true
 				return rune(0x292c), true
-			case "fdonearr": 
-				// FALLING DIAGONAL CROSSING NORTH EAST ARROW
+			case "fdonearr":                        // FALLING DIAGONAL CROSSING NORTH EAST ARROW
 				return rune(0x292f), true
 				return rune(0x292f), true
-			case "female": 
-				// FEMALE SIGN
+			case "female":                          // FEMALE SIGN
 				return rune(0x2640), true
 				return rune(0x2640), true
-			case "ffilig": 
-				// LATIN SMALL LIGATURE FFI
+			case "ffilig":                          // LATIN SMALL LIGATURE FFI
 				return rune(0xfb03), true
 				return rune(0xfb03), true
-			case "fflig": 
-				// LATIN SMALL LIGATURE FF
+			case "fflig":                           // LATIN SMALL LIGATURE FF
 				return rune(0xfb00), true
 				return rune(0xfb00), true
-			case "ffllig": 
-				// LATIN SMALL LIGATURE FFL
+			case "ffllig":                          // LATIN SMALL LIGATURE FFL
 				return rune(0xfb04), true
 				return rune(0xfb04), true
-			case "ffr": 
-				// MATHEMATICAL FRAKTUR SMALL F
+			case "ffr":                             // MATHEMATICAL FRAKTUR SMALL F
 				return rune(0x01d523), true
 				return rune(0x01d523), true
-			case "fhrglass": 
-				// BLACK HOURGLASS
+			case "fhrglass":                        // BLACK HOURGLASS
 				return rune(0x29d7), true
 				return rune(0x29d7), true
-			case "filig": 
-				// LATIN SMALL LIGATURE FI
+			case "filig":                           // LATIN SMALL LIGATURE FI
 				return rune(0xfb01), true
 				return rune(0xfb01), true
-			case "fjlig": 
-				// fj ligature
+			case "fjlig":                           // fj ligature
 				return rune(0x66), true
 				return rune(0x66), true
-			case "flat": 
-				// MUSIC FLAT SIGN
+			case "flat":                            // MUSIC FLAT SIGN
 				return rune(0x266d), true
 				return rune(0x266d), true
-			case "fllig": 
-				// LATIN SMALL LIGATURE FL
+			case "fllig":                           // LATIN SMALL LIGATURE FL
 				return rune(0xfb02), true
 				return rune(0xfb02), true
-			case "fltns": 
-				// WHITE PARALLELOGRAM
+			case "fltns":                           // WHITE PARALLELOGRAM
 				return rune(0x25b1), true
 				return rune(0x25b1), true
-			case "fnof": 
-				// LATIN SMALL LETTER F WITH HOOK
+			case "fnof":                            // LATIN SMALL LETTER F WITH HOOK
 				return rune(0x0192), true
 				return rune(0x0192), true
-			case "fopf": 
-				// MATHEMATICAL DOUBLE-STRUCK SMALL F
+			case "fopf":                            // MATHEMATICAL DOUBLE-STRUCK SMALL F
 				return rune(0x01d557), true
 				return rune(0x01d557), true
-			case "forall": 
-				// FOR ALL
+			case "forall":                          // FOR ALL
 				return rune(0x2200), true
 				return rune(0x2200), true
-			case "fork": 
-				// PITCHFORK
+			case "fork":                            // PITCHFORK
 				return rune(0x22d4), true
 				return rune(0x22d4), true
-			case "forkv": 
-				// ELEMENT OF OPENING DOWNWARDS
+			case "forkv":                           // ELEMENT OF OPENING DOWNWARDS
 				return rune(0x2ad9), true
 				return rune(0x2ad9), true
-			case "fpartint": 
-				// FINITE PART INTEGRAL
+			case "fpartint":                        // FINITE PART INTEGRAL
 				return rune(0x2a0d), true
 				return rune(0x2a0d), true
-			case "frac12": 
-				// VULGAR FRACTION ONE HALF
+			case "frac12":                          // VULGAR FRACTION ONE HALF
 				return rune(0xbd), true
 				return rune(0xbd), true
-			case "frac13": 
-				// VULGAR FRACTION ONE THIRD
+			case "frac13":                          // VULGAR FRACTION ONE THIRD
 				return rune(0x2153), true
 				return rune(0x2153), true
-			case "frac14": 
-				// VULGAR FRACTION ONE QUARTER
+			case "frac14":                          // VULGAR FRACTION ONE QUARTER
 				return rune(0xbc), true
 				return rune(0xbc), true
-			case "frac15": 
-				// VULGAR FRACTION ONE FIFTH
+			case "frac15":                          // VULGAR FRACTION ONE FIFTH
 				return rune(0x2155), true
 				return rune(0x2155), true
-			case "frac16": 
-				// VULGAR FRACTION ONE SIXTH
+			case "frac16":                          // VULGAR FRACTION ONE SIXTH
 				return rune(0x2159), true
 				return rune(0x2159), true
-			case "frac18": 
-				// VULGAR FRACTION ONE EIGHTH
+			case "frac18":                          // VULGAR FRACTION ONE EIGHTH
 				return rune(0x215b), true
 				return rune(0x215b), true
-			case "frac23": 
-				// VULGAR FRACTION TWO THIRDS
+			case "frac23":                          // VULGAR FRACTION TWO THIRDS
 				return rune(0x2154), true
 				return rune(0x2154), true
-			case "frac25": 
-				// VULGAR FRACTION TWO FIFTHS
+			case "frac25":                          // VULGAR FRACTION TWO FIFTHS
 				return rune(0x2156), true
 				return rune(0x2156), true
-			case "frac34": 
-				// VULGAR FRACTION THREE QUARTERS
+			case "frac34":                          // VULGAR FRACTION THREE QUARTERS
 				return rune(0xbe), true
 				return rune(0xbe), true
-			case "frac35": 
-				// VULGAR FRACTION THREE FIFTHS
+			case "frac35":                          // VULGAR FRACTION THREE FIFTHS
 				return rune(0x2157), true
 				return rune(0x2157), true
-			case "frac38": 
-				// VULGAR FRACTION THREE EIGHTHS
+			case "frac38":                          // VULGAR FRACTION THREE EIGHTHS
 				return rune(0x215c), true
 				return rune(0x215c), true
-			case "frac45": 
-				// VULGAR FRACTION FOUR FIFTHS
+			case "frac45":                          // VULGAR FRACTION FOUR FIFTHS
 				return rune(0x2158), true
 				return rune(0x2158), true
-			case "frac56": 
-				// VULGAR FRACTION FIVE SIXTHS
+			case "frac56":                          // VULGAR FRACTION FIVE SIXTHS
 				return rune(0x215a), true
 				return rune(0x215a), true
-			case "frac58": 
-				// VULGAR FRACTION FIVE EIGHTHS
+			case "frac58":                          // VULGAR FRACTION FIVE EIGHTHS
 				return rune(0x215d), true
 				return rune(0x215d), true
-			case "frac78": 
-				// VULGAR FRACTION SEVEN EIGHTHS
+			case "frac78":                          // VULGAR FRACTION SEVEN EIGHTHS
 				return rune(0x215e), true
 				return rune(0x215e), true
-			case "frasl": 
-				// FRACTION SLASH
+			case "frasl":                           // FRACTION SLASH
 				return rune(0x2044), true
 				return rune(0x2044), true
-			case "frown": 
-				// FROWN
+			case "frown":                           // FROWN
 				return rune(0x2322), true
 				return rune(0x2322), true
-			case "fscr": 
-				// MATHEMATICAL SCRIPT SMALL F
+			case "fscr":                            // MATHEMATICAL SCRIPT SMALL F
 				return rune(0x01d4bb), true
 				return rune(0x01d4bb), true
 		}
 		}
 
 
 	case 'g':
 	case 'g':
 		switch name {
 		switch name {
-			case "gE": 
-				// GREATER-THAN OVER EQUAL TO
+			case "gE":                              // GREATER-THAN OVER EQUAL TO
 				return rune(0x2267), true
 				return rune(0x2267), true
-			case "gEl": 
-				// GREATER-THAN ABOVE DOUBLE-LINE EQUAL ABOVE LESS-THAN
+			case "gEl":                             // GREATER-THAN ABOVE DOUBLE-LINE EQUAL ABOVE LESS-THAN
 				return rune(0x2a8c), true
 				return rune(0x2a8c), true
-			case "gacute": 
-				// LATIN SMALL LETTER G WITH ACUTE
+			case "gacute":                          // LATIN SMALL LETTER G WITH ACUTE
 				return rune(0x01f5), true
 				return rune(0x01f5), true
-			case "gammad": 
-				// GREEK SMALL LETTER DIGAMMA
-				return rune(0x03dd), true
-			case "gamma": 
-				// GREEK SMALL LETTER GAMMA
+			case "gamma":                           // GREEK SMALL LETTER GAMMA
 				return rune(0x03b3), true
 				return rune(0x03b3), true
-			case "gap": 
-				// GREATER-THAN OR APPROXIMATE
+			case "gammad":                          // GREEK SMALL LETTER DIGAMMA
+				return rune(0x03dd), true
+			case "gap":                             // GREATER-THAN OR APPROXIMATE
 				return rune(0x2a86), true
 				return rune(0x2a86), true
-			case "gbreve": 
-				// LATIN SMALL LETTER G WITH BREVE
+			case "gbreve":                          // LATIN SMALL LETTER G WITH BREVE
 				return rune(0x011f), true
 				return rune(0x011f), true
-			case "gcedil": 
-				// LATIN SMALL LETTER G WITH CEDILLA
+			case "gcedil":                          // LATIN SMALL LETTER G WITH CEDILLA
 				return rune(0x0123), true
 				return rune(0x0123), true
-			case "gcirc": 
-				// LATIN SMALL LETTER G WITH CIRCUMFLEX
+			case "gcirc":                           // LATIN SMALL LETTER G WITH CIRCUMFLEX
 				return rune(0x011d), true
 				return rune(0x011d), true
-			case "gcy": 
-				// CYRILLIC SMALL LETTER GHE
+			case "gcy":                             // CYRILLIC SMALL LETTER GHE
 				return rune(0x0433), true
 				return rune(0x0433), true
-			case "gdot": 
-				// LATIN SMALL LETTER G WITH DOT ABOVE
+			case "gdot":                            // LATIN SMALL LETTER G WITH DOT ABOVE
 				return rune(0x0121), true
 				return rune(0x0121), true
-			case "ge": 
-				// GREATER-THAN OR EQUAL TO
+			case "ge":                              // GREATER-THAN OR EQUAL TO
 				return rune(0x2265), true
 				return rune(0x2265), true
-			case "gel": 
-				// GREATER-THAN EQUAL TO OR LESS-THAN
+			case "gel":                             // GREATER-THAN EQUAL TO OR LESS-THAN
 				return rune(0x22db), true
 				return rune(0x22db), true
-			case "geq": 
-				// GREATER-THAN OR EQUAL TO
+			case "geq":                             // GREATER-THAN OR EQUAL TO
 				return rune(0x2265), true
 				return rune(0x2265), true
-			case "geqq": 
-				// GREATER-THAN OVER EQUAL TO
+			case "geqq":                            // GREATER-THAN OVER EQUAL TO
 				return rune(0x2267), true
 				return rune(0x2267), true
-			case "geqslant": 
-				// GREATER-THAN OR SLANTED EQUAL TO
+			case "geqslant":                        // GREATER-THAN OR SLANTED EQUAL TO
 				return rune(0x2a7e), true
 				return rune(0x2a7e), true
-			case "gesl": 
-				// GREATER-THAN slanted EQUAL TO OR LESS-THAN
-				return rune(0x22db), true
-			case "ges": 
-				// GREATER-THAN OR SLANTED EQUAL TO
+			case "ges":                             // GREATER-THAN OR SLANTED EQUAL TO
 				return rune(0x2a7e), true
 				return rune(0x2a7e), true
-			case "gescc": 
-				// GREATER-THAN CLOSED BY CURVE ABOVE SLANTED EQUAL
+			case "gescc":                           // GREATER-THAN CLOSED BY CURVE ABOVE SLANTED EQUAL
 				return rune(0x2aa9), true
 				return rune(0x2aa9), true
-			case "gesdot": 
-				// GREATER-THAN OR SLANTED EQUAL TO WITH DOT INSIDE
+			case "gesdot":                          // GREATER-THAN OR SLANTED EQUAL TO WITH DOT INSIDE
 				return rune(0x2a80), true
 				return rune(0x2a80), true
-			case "gesdoto": 
-				// GREATER-THAN OR SLANTED EQUAL TO WITH DOT ABOVE
+			case "gesdoto":                         // GREATER-THAN OR SLANTED EQUAL TO WITH DOT ABOVE
 				return rune(0x2a82), true
 				return rune(0x2a82), true
-			case "gesdotol": 
-				// GREATER-THAN OR SLANTED EQUAL TO WITH DOT ABOVE LEFT
+			case "gesdotol":                        // GREATER-THAN OR SLANTED EQUAL TO WITH DOT ABOVE LEFT
 				return rune(0x2a84), true
 				return rune(0x2a84), true
-			case "gesles": 
-				// GREATER-THAN ABOVE SLANTED EQUAL ABOVE LESS-THAN ABOVE SLANTED EQUAL
+			case "gesl":                            // GREATER-THAN slanted EQUAL TO OR LESS-THAN
+				return rune(0x22db), true
+			case "gesles":                          // GREATER-THAN ABOVE SLANTED EQUAL ABOVE LESS-THAN ABOVE SLANTED EQUAL
 				return rune(0x2a94), true
 				return rune(0x2a94), true
-			case "gfr": 
-				// MATHEMATICAL FRAKTUR SMALL G
+			case "gfr":                             // MATHEMATICAL FRAKTUR SMALL G
 				return rune(0x01d524), true
 				return rune(0x01d524), true
-			case "gg": 
-				// MUCH GREATER-THAN
+			case "gg":                              // MUCH GREATER-THAN
 				return rune(0x226b), true
 				return rune(0x226b), true
-			case "ggg": 
-				// VERY MUCH GREATER-THAN
+			case "ggg":                             // VERY MUCH GREATER-THAN
 				return rune(0x22d9), true
 				return rune(0x22d9), true
-			case "ggr": 
-				// GREEK SMALL LETTER GAMMA
+			case "ggr":                             // GREEK SMALL LETTER GAMMA
 				return rune(0x03b3), true
 				return rune(0x03b3), true
-			case "gimel": 
-				// GIMEL SYMBOL
+			case "gimel":                           // GIMEL SYMBOL
 				return rune(0x2137), true
 				return rune(0x2137), true
-			case "gjcy": 
-				// CYRILLIC SMALL LETTER GJE
+			case "gjcy":                            // CYRILLIC SMALL LETTER GJE
 				return rune(0x0453), true
 				return rune(0x0453), true
-			case "gl": 
-				// GREATER-THAN OR LESS-THAN
+			case "gl":                              // GREATER-THAN OR LESS-THAN
 				return rune(0x2277), true
 				return rune(0x2277), true
-			case "glE": 
-				// GREATER-THAN ABOVE LESS-THAN ABOVE DOUBLE-LINE EQUAL
+			case "glE":                             // GREATER-THAN ABOVE LESS-THAN ABOVE DOUBLE-LINE EQUAL
 				return rune(0x2a92), true
 				return rune(0x2a92), true
-			case "gla": 
-				// GREATER-THAN BESIDE LESS-THAN
+			case "gla":                             // GREATER-THAN BESIDE LESS-THAN
 				return rune(0x2aa5), true
 				return rune(0x2aa5), true
-			case "glj": 
-				// GREATER-THAN OVERLAPPING LESS-THAN
+			case "glj":                             // GREATER-THAN OVERLAPPING LESS-THAN
 				return rune(0x2aa4), true
 				return rune(0x2aa4), true
-			case "gnE": 
-				// GREATER-THAN BUT NOT EQUAL TO
+			case "gnE":                             // GREATER-THAN BUT NOT EQUAL TO
 				return rune(0x2269), true
 				return rune(0x2269), true
-			case "gnap": 
-				// GREATER-THAN AND NOT APPROXIMATE
+			case "gnap":                            // GREATER-THAN AND NOT APPROXIMATE
 				return rune(0x2a8a), true
 				return rune(0x2a8a), true
-			case "gnapprox": 
-				// GREATER-THAN AND NOT APPROXIMATE
+			case "gnapprox":                        // GREATER-THAN AND NOT APPROXIMATE
 				return rune(0x2a8a), true
 				return rune(0x2a8a), true
-			case "gneqq": 
-				// GREATER-THAN BUT NOT EQUAL TO
-				return rune(0x2269), true
-			case "gne": 
-				// GREATER-THAN AND SINGLE-LINE NOT EQUAL TO
+			case "gne":                             // GREATER-THAN AND SINGLE-LINE NOT EQUAL TO
 				return rune(0x2a88), true
 				return rune(0x2a88), true
-			case "gneq": 
-				// GREATER-THAN AND SINGLE-LINE NOT EQUAL TO
+			case "gneq":                            // GREATER-THAN AND SINGLE-LINE NOT EQUAL TO
 				return rune(0x2a88), true
 				return rune(0x2a88), true
-			case "gnsim": 
-				// GREATER-THAN BUT NOT EQUIVALENT TO
+			case "gneqq":                           // GREATER-THAN BUT NOT EQUAL TO
+				return rune(0x2269), true
+			case "gnsim":                           // GREATER-THAN BUT NOT EQUIVALENT TO
 				return rune(0x22e7), true
 				return rune(0x22e7), true
-			case "gopf": 
-				// MATHEMATICAL DOUBLE-STRUCK SMALL G
+			case "gopf":                            // MATHEMATICAL DOUBLE-STRUCK SMALL G
 				return rune(0x01d558), true
 				return rune(0x01d558), true
-			case "grave": 
-				// GRAVE ACCENT
+			case "grave":                           // GRAVE ACCENT
 				return rune(0x60), true
 				return rune(0x60), true
-			case "gscr": 
-				// SCRIPT SMALL G
+			case "gscr":                            // SCRIPT SMALL G
 				return rune(0x210a), true
 				return rune(0x210a), true
-			case "gsdot": 
-				// GREATER-THAN WITH DOT
+			case "gsdot":                           // GREATER-THAN WITH DOT
 				return rune(0x22d7), true
 				return rune(0x22d7), true
-			case "gsim": 
-				// GREATER-THAN OR EQUIVALENT TO
+			case "gsim":                            // GREATER-THAN OR EQUIVALENT TO
 				return rune(0x2273), true
 				return rune(0x2273), true
-			case "gsime": 
-				// GREATER-THAN ABOVE SIMILAR OR EQUAL
+			case "gsime":                           // GREATER-THAN ABOVE SIMILAR OR EQUAL
 				return rune(0x2a8e), true
 				return rune(0x2a8e), true
-			case "gsiml": 
-				// GREATER-THAN ABOVE SIMILAR ABOVE LESS-THAN
+			case "gsiml":                           // GREATER-THAN ABOVE SIMILAR ABOVE LESS-THAN
 				return rune(0x2a90), true
 				return rune(0x2a90), true
-			case "gtcc": 
-				// GREATER-THAN CLOSED BY CURVE
+			case "gt":                              // GREATER-THAN SIGN
+				return rune(0x3e), true
+			case "gtcc":                            // GREATER-THAN CLOSED BY CURVE
 				return rune(0x2aa7), true
 				return rune(0x2aa7), true
-			case "gtcir": 
-				// GREATER-THAN WITH CIRCLE INSIDE
+			case "gtcir":                           // GREATER-THAN WITH CIRCLE INSIDE
 				return rune(0x2a7a), true
 				return rune(0x2a7a), true
-			case "gtdot": 
-				// GREATER-THAN WITH DOT
+			case "gtdot":                           // GREATER-THAN WITH DOT
 				return rune(0x22d7), true
 				return rune(0x22d7), true
-			case "gtlPar": 
-				// DOUBLE LEFT ARC GREATER-THAN BRACKET
+			case "gtlPar":                          // DOUBLE LEFT ARC GREATER-THAN BRACKET
 				return rune(0x2995), true
 				return rune(0x2995), true
-			case "gtquest": 
-				// GREATER-THAN WITH QUESTION MARK ABOVE
+			case "gtquest":                         // GREATER-THAN WITH QUESTION MARK ABOVE
 				return rune(0x2a7c), true
 				return rune(0x2a7c), true
-			case "gtrapprox": 
-				// GREATER-THAN OR APPROXIMATE
+			case "gtrapprox":                       // GREATER-THAN OR APPROXIMATE
 				return rune(0x2a86), true
 				return rune(0x2a86), true
-			case "gtrarr": 
-				// GREATER-THAN ABOVE RIGHTWARDS ARROW
+			case "gtrarr":                          // GREATER-THAN ABOVE RIGHTWARDS ARROW
 				return rune(0x2978), true
 				return rune(0x2978), true
-			case "gtrdot": 
-				// GREATER-THAN WITH DOT
+			case "gtrdot":                          // GREATER-THAN WITH DOT
 				return rune(0x22d7), true
 				return rune(0x22d7), true
-			case "gtreqless": 
-				// GREATER-THAN EQUAL TO OR LESS-THAN
+			case "gtreqless":                       // GREATER-THAN EQUAL TO OR LESS-THAN
 				return rune(0x22db), true
 				return rune(0x22db), true
-			case "gtreqqless": 
-				// GREATER-THAN ABOVE DOUBLE-LINE EQUAL ABOVE LESS-THAN
+			case "gtreqqless":                      // GREATER-THAN ABOVE DOUBLE-LINE EQUAL ABOVE LESS-THAN
 				return rune(0x2a8c), true
 				return rune(0x2a8c), true
-			case "gtrless": 
-				// GREATER-THAN OR LESS-THAN
+			case "gtrless":                         // GREATER-THAN OR LESS-THAN
 				return rune(0x2277), true
 				return rune(0x2277), true
-			case "gtrpar": 
-				// SPHERICAL ANGLE OPENING LEFT
+			case "gtrpar":                          // SPHERICAL ANGLE OPENING LEFT
 				return rune(0x29a0), true
 				return rune(0x29a0), true
-			case "gtrsim": 
-				// GREATER-THAN OR EQUIVALENT TO
+			case "gtrsim":                          // GREATER-THAN OR EQUIVALENT TO
 				return rune(0x2273), true
 				return rune(0x2273), true
-			case "gt": 
-				// GREATER-THAN SIGN
-				return rune(0x3e), true
-			case "gvertneqq": 
-				// GREATER-THAN BUT NOT EQUAL TO - with vertical stroke
+			case "gvertneqq":                       // GREATER-THAN BUT NOT EQUAL TO - with vertical stroke
 				return rune(0x2269), true
 				return rune(0x2269), true
-			case "gvnE": 
-				// GREATER-THAN BUT NOT EQUAL TO - with vertical stroke
+			case "gvnE":                            // GREATER-THAN BUT NOT EQUAL TO - with vertical stroke
 				return rune(0x2269), true
 				return rune(0x2269), true
 		}
 		}
 
 
 	case 'h':
 	case 'h':
 		switch name {
 		switch name {
-			case "hArr": 
-				// LEFT RIGHT DOUBLE ARROW
+			case "hArr":                            // LEFT RIGHT DOUBLE ARROW
 				return rune(0x21d4), true
 				return rune(0x21d4), true
-			case "hairsp": 
-				// HAIR SPACE
+			case "hairsp":                          // HAIR SPACE
 				return rune(0x200a), true
 				return rune(0x200a), true
-			case "half": 
-				// VULGAR FRACTION ONE HALF
+			case "half":                            // VULGAR FRACTION ONE HALF
 				return rune(0xbd), true
 				return rune(0xbd), true
-			case "hamilt": 
-				// SCRIPT CAPITAL H
+			case "hamilt":                          // SCRIPT CAPITAL H
 				return rune(0x210b), true
 				return rune(0x210b), true
-			case "hardcy": 
-				// CYRILLIC SMALL LETTER HARD SIGN
+			case "hardcy":                          // CYRILLIC SMALL LETTER HARD SIGN
 				return rune(0x044a), true
 				return rune(0x044a), true
-			case "harrw": 
-				// LEFT RIGHT WAVE ARROW
-				return rune(0x21ad), true
-			case "harr": 
-				// LEFT RIGHT ARROW
+			case "harr":                            // LEFT RIGHT ARROW
 				return rune(0x2194), true
 				return rune(0x2194), true
-			case "harrcir": 
-				// LEFT RIGHT ARROW THROUGH SMALL CIRCLE
+			case "harrcir":                         // LEFT RIGHT ARROW THROUGH SMALL CIRCLE
 				return rune(0x2948), true
 				return rune(0x2948), true
-			case "hbar": 
-				// PLANCK CONSTANT OVER TWO PI
+			case "harrw":                           // LEFT RIGHT WAVE ARROW
+				return rune(0x21ad), true
+			case "hbar":                            // PLANCK CONSTANT OVER TWO PI
 				return rune(0x210f), true
 				return rune(0x210f), true
-			case "hcirc": 
-				// LATIN SMALL LETTER H WITH CIRCUMFLEX
+			case "hcirc":                           // LATIN SMALL LETTER H WITH CIRCUMFLEX
 				return rune(0x0125), true
 				return rune(0x0125), true
-			case "hearts": 
-				// BLACK HEART SUIT
+			case "hearts":                          // BLACK HEART SUIT
 				return rune(0x2665), true
 				return rune(0x2665), true
-			case "heartsuit": 
-				// BLACK HEART SUIT
+			case "heartsuit":                       // BLACK HEART SUIT
 				return rune(0x2665), true
 				return rune(0x2665), true
-			case "hellip": 
-				// HORIZONTAL ELLIPSIS
+			case "hellip":                          // HORIZONTAL ELLIPSIS
 				return rune(0x2026), true
 				return rune(0x2026), true
-			case "hercon": 
-				// HERMITIAN CONJUGATE MATRIX
+			case "hercon":                          // HERMITIAN CONJUGATE MATRIX
 				return rune(0x22b9), true
 				return rune(0x22b9), true
-			case "hfr": 
-				// MATHEMATICAL FRAKTUR SMALL H
+			case "hfr":                             // MATHEMATICAL FRAKTUR SMALL H
 				return rune(0x01d525), true
 				return rune(0x01d525), true
-			case "hksearow": 
-				// SOUTH EAST ARROW WITH HOOK
+			case "hksearow":                        // SOUTH EAST ARROW WITH HOOK
 				return rune(0x2925), true
 				return rune(0x2925), true
-			case "hkswarow": 
-				// SOUTH WEST ARROW WITH HOOK
+			case "hkswarow":                        // SOUTH WEST ARROW WITH HOOK
 				return rune(0x2926), true
 				return rune(0x2926), true
-			case "hoarr": 
-				// LEFT RIGHT OPEN-HEADED ARROW
+			case "hoarr":                           // LEFT RIGHT OPEN-HEADED ARROW
 				return rune(0x21ff), true
 				return rune(0x21ff), true
-			case "homtht": 
-				// HOMOTHETIC
+			case "homtht":                          // HOMOTHETIC
 				return rune(0x223b), true
 				return rune(0x223b), true
-			case "hookleftarrow": 
-				// LEFTWARDS ARROW WITH HOOK
+			case "hookleftarrow":                   // LEFTWARDS ARROW WITH HOOK
 				return rune(0x21a9), true
 				return rune(0x21a9), true
-			case "hookrightarrow": 
-				// RIGHTWARDS ARROW WITH HOOK
+			case "hookrightarrow":                  // RIGHTWARDS ARROW WITH HOOK
 				return rune(0x21aa), true
 				return rune(0x21aa), true
-			case "hopf": 
-				// MATHEMATICAL DOUBLE-STRUCK SMALL H
+			case "hopf":                            // MATHEMATICAL DOUBLE-STRUCK SMALL H
 				return rune(0x01d559), true
 				return rune(0x01d559), true
-			case "horbar": 
-				// HORIZONTAL BAR
+			case "horbar":                          // HORIZONTAL BAR
 				return rune(0x2015), true
 				return rune(0x2015), true
-			case "hrglass": 
-				// WHITE HOURGLASS
+			case "hrglass":                         // WHITE HOURGLASS
 				return rune(0x29d6), true
 				return rune(0x29d6), true
-			case "hscr": 
-				// MATHEMATICAL SCRIPT SMALL H
+			case "hscr":                            // MATHEMATICAL SCRIPT SMALL H
 				return rune(0x01d4bd), true
 				return rune(0x01d4bd), true
-			case "hslash": 
-				// PLANCK CONSTANT OVER TWO PI
+			case "hslash":                          // PLANCK CONSTANT OVER TWO PI
 				return rune(0x210f), true
 				return rune(0x210f), true
-			case "hstrok": 
-				// LATIN SMALL LETTER H WITH STROKE
+			case "hstrok":                          // LATIN SMALL LETTER H WITH STROKE
 				return rune(0x0127), true
 				return rune(0x0127), true
-			case "htimes": 
-				// VECTOR OR CROSS PRODUCT
+			case "htimes":                          // VECTOR OR CROSS PRODUCT
 				return rune(0x2a2f), true
 				return rune(0x2a2f), true
-			case "hybull": 
-				// HYPHEN BULLET
+			case "hybull":                          // HYPHEN BULLET
 				return rune(0x2043), true
 				return rune(0x2043), true
-			case "hyphen": 
-				// HYPHEN
+			case "hyphen":                          // HYPHEN
 				return rune(0x2010), true
 				return rune(0x2010), true
 		}
 		}
 
 
 	case 'i':
 	case 'i':
 		switch name {
 		switch name {
-			case "iacgr": 
-				// GREEK SMALL LETTER IOTA WITH TONOS
+			case "iacgr":                           // GREEK SMALL LETTER IOTA WITH TONOS
 				return rune(0x03af), true
 				return rune(0x03af), true
-			case "iacute": 
-				// LATIN SMALL LETTER I WITH ACUTE
+			case "iacute":                          // LATIN SMALL LETTER I WITH ACUTE
 				return rune(0xed), true
 				return rune(0xed), true
-			case "ic": 
-				// INVISIBLE SEPARATOR
+			case "ic":                              // INVISIBLE SEPARATOR
 				return rune(0x2063), true
 				return rune(0x2063), true
-			case "icirc": 
-				// LATIN SMALL LETTER I WITH CIRCUMFLEX
+			case "icirc":                           // LATIN SMALL LETTER I WITH CIRCUMFLEX
 				return rune(0xee), true
 				return rune(0xee), true
-			case "icy": 
-				// CYRILLIC SMALL LETTER I
+			case "icy":                             // CYRILLIC SMALL LETTER I
 				return rune(0x0438), true
 				return rune(0x0438), true
-			case "idiagr": 
-				// GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS
+			case "idiagr":                          // GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS
 				return rune(0x0390), true
 				return rune(0x0390), true
-			case "idigr": 
-				// GREEK SMALL LETTER IOTA WITH DIALYTIKA
+			case "idigr":                           // GREEK SMALL LETTER IOTA WITH DIALYTIKA
 				return rune(0x03ca), true
 				return rune(0x03ca), true
-			case "iecy": 
-				// CYRILLIC SMALL LETTER IE
+			case "iecy":                            // CYRILLIC SMALL LETTER IE
 				return rune(0x0435), true
 				return rune(0x0435), true
-			case "iexcl": 
-				// INVERTED EXCLAMATION MARK
+			case "iexcl":                           // INVERTED EXCLAMATION MARK
 				return rune(0xa1), true
 				return rune(0xa1), true
-			case "iff": 
-				// LEFT RIGHT DOUBLE ARROW
+			case "iff":                             // LEFT RIGHT DOUBLE ARROW
 				return rune(0x21d4), true
 				return rune(0x21d4), true
-			case "ifr": 
-				// MATHEMATICAL FRAKTUR SMALL I
+			case "ifr":                             // MATHEMATICAL FRAKTUR SMALL I
 				return rune(0x01d526), true
 				return rune(0x01d526), true
-			case "igr": 
-				// GREEK SMALL LETTER IOTA
+			case "igr":                             // GREEK SMALL LETTER IOTA
 				return rune(0x03b9), true
 				return rune(0x03b9), true
-			case "igrave": 
-				// LATIN SMALL LETTER I WITH GRAVE
+			case "igrave":                          // LATIN SMALL LETTER I WITH GRAVE
 				return rune(0xec), true
 				return rune(0xec), true
-			case "iiint": 
-				// TRIPLE INTEGRAL
-				return rune(0x222d), true
-			case "ii": 
-				// DOUBLE-STRUCK ITALIC SMALL I
+			case "ii":                              // DOUBLE-STRUCK ITALIC SMALL I
 				return rune(0x2148), true
 				return rune(0x2148), true
-			case "iiiint": 
-				// QUADRUPLE INTEGRAL OPERATOR
+			case "iiiint":                          // QUADRUPLE INTEGRAL OPERATOR
 				return rune(0x2a0c), true
 				return rune(0x2a0c), true
-			case "iinfin": 
-				// INCOMPLETE INFINITY
+			case "iiint":                           // TRIPLE INTEGRAL
+				return rune(0x222d), true
+			case "iinfin":                          // INCOMPLETE INFINITY
 				return rune(0x29dc), true
 				return rune(0x29dc), true
-			case "iiota": 
-				// TURNED GREEK SMALL LETTER IOTA
+			case "iiota":                           // TURNED GREEK SMALL LETTER IOTA
 				return rune(0x2129), true
 				return rune(0x2129), true
-			case "ijlig": 
-				// LATIN SMALL LIGATURE IJ
+			case "ijlig":                           // LATIN SMALL LIGATURE IJ
 				return rune(0x0133), true
 				return rune(0x0133), true
-			case "imacr": 
-				// LATIN SMALL LETTER I WITH MACRON
+			case "imacr":                           // LATIN SMALL LETTER I WITH MACRON
 				return rune(0x012b), true
 				return rune(0x012b), true
-			case "image": 
-				// BLACK-LETTER CAPITAL I
+			case "image":                           // BLACK-LETTER CAPITAL I
 				return rune(0x2111), true
 				return rune(0x2111), true
-			case "imagline": 
-				// SCRIPT CAPITAL I
+			case "imagline":                        // SCRIPT CAPITAL I
 				return rune(0x2110), true
 				return rune(0x2110), true
-			case "imagpart": 
-				// BLACK-LETTER CAPITAL I
+			case "imagpart":                        // BLACK-LETTER CAPITAL I
 				return rune(0x2111), true
 				return rune(0x2111), true
-			case "imath": 
-				// LATIN SMALL LETTER DOTLESS I
+			case "imath":                           // LATIN SMALL LETTER DOTLESS I
 				return rune(0x0131), true
 				return rune(0x0131), true
-			case "imof": 
-				// IMAGE OF
+			case "imof":                            // IMAGE OF
 				return rune(0x22b7), true
 				return rune(0x22b7), true
-			case "imped": 
-				// LATIN CAPITAL LETTER Z WITH STROKE
+			case "imped":                           // LATIN CAPITAL LETTER Z WITH STROKE
 				return rune(0x01b5), true
 				return rune(0x01b5), true
-			case "in": 
-				// ELEMENT OF
+			case "in":                              // ELEMENT OF
 				return rune(0x2208), true
 				return rune(0x2208), true
-			case "incare": 
-				// CARE OF
+			case "incare":                          // CARE OF
 				return rune(0x2105), true
 				return rune(0x2105), true
-			case "infin": 
-				// INFINITY
+			case "infin":                           // INFINITY
 				return rune(0x221e), true
 				return rune(0x221e), true
-			case "infintie": 
-				// TIE OVER INFINITY
+			case "infintie":                        // TIE OVER INFINITY
 				return rune(0x29dd), true
 				return rune(0x29dd), true
-			case "inodot": 
-				// LATIN SMALL LETTER DOTLESS I
+			case "inodot":                          // LATIN SMALL LETTER DOTLESS I
 				return rune(0x0131), true
 				return rune(0x0131), true
-			case "int": 
-				// INTEGRAL
+			case "int":                             // INTEGRAL
 				return rune(0x222b), true
 				return rune(0x222b), true
-			case "intcal": 
-				// INTERCALATE
+			case "intcal":                          // INTERCALATE
 				return rune(0x22ba), true
 				return rune(0x22ba), true
-			case "integers": 
-				// DOUBLE-STRUCK CAPITAL Z
+			case "integers":                        // DOUBLE-STRUCK CAPITAL Z
 				return rune(0x2124), true
 				return rune(0x2124), true
-			case "intercal": 
-				// INTERCALATE
+			case "intercal":                        // INTERCALATE
 				return rune(0x22ba), true
 				return rune(0x22ba), true
-			case "intlarhk": 
-				// INTEGRAL WITH LEFTWARDS ARROW WITH HOOK
+			case "intlarhk":                        // INTEGRAL WITH LEFTWARDS ARROW WITH HOOK
 				return rune(0x2a17), true
 				return rune(0x2a17), true
-			case "intprod": 
-				// INTERIOR PRODUCT
+			case "intprod":                         // INTERIOR PRODUCT
 				return rune(0x2a3c), true
 				return rune(0x2a3c), true
-			case "iocy": 
-				// CYRILLIC SMALL LETTER IO
+			case "iocy":                            // CYRILLIC SMALL LETTER IO
 				return rune(0x0451), true
 				return rune(0x0451), true
-			case "iogon": 
-				// LATIN SMALL LETTER I WITH OGONEK
+			case "iogon":                           // LATIN SMALL LETTER I WITH OGONEK
 				return rune(0x012f), true
 				return rune(0x012f), true
-			case "iopf": 
-				// MATHEMATICAL DOUBLE-STRUCK SMALL I
+			case "iopf":                            // MATHEMATICAL DOUBLE-STRUCK SMALL I
 				return rune(0x01d55a), true
 				return rune(0x01d55a), true
-			case "iota": 
-				// GREEK SMALL LETTER IOTA
+			case "iota":                            // GREEK SMALL LETTER IOTA
 				return rune(0x03b9), true
 				return rune(0x03b9), true
-			case "iprod": 
-				// INTERIOR PRODUCT
+			case "iprod":                           // INTERIOR PRODUCT
 				return rune(0x2a3c), true
 				return rune(0x2a3c), true
-			case "iprodr": 
-				// RIGHTHAND INTERIOR PRODUCT
+			case "iprodr":                          // RIGHTHAND INTERIOR PRODUCT
 				return rune(0x2a3d), true
 				return rune(0x2a3d), true
-			case "iquest": 
-				// INVERTED QUESTION MARK
+			case "iquest":                          // INVERTED QUESTION MARK
 				return rune(0xbf), true
 				return rune(0xbf), true
-			case "iscr": 
-				// MATHEMATICAL SCRIPT SMALL I
+			case "iscr":                            // MATHEMATICAL SCRIPT SMALL I
 				return rune(0x01d4be), true
 				return rune(0x01d4be), true
-			case "isin": 
-				// ELEMENT OF
+			case "isin":                            // ELEMENT OF
 				return rune(0x2208), true
 				return rune(0x2208), true
-			case "isinE": 
-				// ELEMENT OF WITH TWO HORIZONTAL STROKES
+			case "isinE":                           // ELEMENT OF WITH TWO HORIZONTAL STROKES
 				return rune(0x22f9), true
 				return rune(0x22f9), true
-			case "isindot": 
-				// ELEMENT OF WITH DOT ABOVE
+			case "isindot":                         // ELEMENT OF WITH DOT ABOVE
 				return rune(0x22f5), true
 				return rune(0x22f5), true
-			case "isinsv": 
-				// ELEMENT OF WITH VERTICAL BAR AT END OF HORIZONTAL STROKE
-				return rune(0x22f3), true
-			case "isins": 
-				// SMALL ELEMENT OF WITH VERTICAL BAR AT END OF HORIZONTAL STROKE
+			case "isins":                           // SMALL ELEMENT OF WITH VERTICAL BAR AT END OF HORIZONTAL STROKE
 				return rune(0x22f4), true
 				return rune(0x22f4), true
-			case "isinv": 
-				// ELEMENT OF
+			case "isinsv":                          // ELEMENT OF WITH VERTICAL BAR AT END OF HORIZONTAL STROKE
+				return rune(0x22f3), true
+			case "isinv":                           // ELEMENT OF
 				return rune(0x2208), true
 				return rune(0x2208), true
-			case "isinvb": 
-				// ELEMENT OF WITH UNDERBAR
+			case "isinvb":                          // ELEMENT OF WITH UNDERBAR
 				return rune(0x22f8), true
 				return rune(0x22f8), true
-			case "it": 
-				// INVISIBLE TIMES
+			case "it":                              // INVISIBLE TIMES
 				return rune(0x2062), true
 				return rune(0x2062), true
-			case "itilde": 
-				// LATIN SMALL LETTER I WITH TILDE
+			case "itilde":                          // LATIN SMALL LETTER I WITH TILDE
 				return rune(0x0129), true
 				return rune(0x0129), true
-			case "iukcy": 
-				// CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
+			case "iukcy":                           // CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
 				return rune(0x0456), true
 				return rune(0x0456), true
-			case "iuml": 
-				// LATIN SMALL LETTER I WITH DIAERESIS
+			case "iuml":                            // LATIN SMALL LETTER I WITH DIAERESIS
 				return rune(0xef), true
 				return rune(0xef), true
 		}
 		}
 
 
 	case 'j':
 	case 'j':
 		switch name {
 		switch name {
-			case "jcirc": 
-				// LATIN SMALL LETTER J WITH CIRCUMFLEX
+			case "jcirc":                           // LATIN SMALL LETTER J WITH CIRCUMFLEX
 				return rune(0x0135), true
 				return rune(0x0135), true
-			case "jcy": 
-				// CYRILLIC SMALL LETTER SHORT I
+			case "jcy":                             // CYRILLIC SMALL LETTER SHORT I
 				return rune(0x0439), true
 				return rune(0x0439), true
-			case "jfr": 
-				// MATHEMATICAL FRAKTUR SMALL J
+			case "jfr":                             // MATHEMATICAL FRAKTUR SMALL J
 				return rune(0x01d527), true
 				return rune(0x01d527), true
-			case "jmath": 
-				// LATIN SMALL LETTER DOTLESS J
+			case "jmath":                           // LATIN SMALL LETTER DOTLESS J
 				return rune(0x0237), true
 				return rune(0x0237), true
-			case "jnodot": 
-				// LATIN SMALL LETTER DOTLESS J
+			case "jnodot":                          // LATIN SMALL LETTER DOTLESS J
 				return rune(0x0237), true
 				return rune(0x0237), true
-			case "jopf": 
-				// MATHEMATICAL DOUBLE-STRUCK SMALL J
+			case "jopf":                            // MATHEMATICAL DOUBLE-STRUCK SMALL J
 				return rune(0x01d55b), true
 				return rune(0x01d55b), true
-			case "jscr": 
-				// MATHEMATICAL SCRIPT SMALL J
+			case "jscr":                            // MATHEMATICAL SCRIPT SMALL J
 				return rune(0x01d4bf), true
 				return rune(0x01d4bf), true
-			case "jsercy": 
-				// CYRILLIC SMALL LETTER JE
+			case "jsercy":                          // CYRILLIC SMALL LETTER JE
 				return rune(0x0458), true
 				return rune(0x0458), true
-			case "jukcy": 
-				// CYRILLIC SMALL LETTER UKRAINIAN IE
+			case "jukcy":                           // CYRILLIC SMALL LETTER UKRAINIAN IE
 				return rune(0x0454), true
 				return rune(0x0454), true
 		}
 		}
 
 
 	case 'k':
 	case 'k':
 		switch name {
 		switch name {
-			case "kappav": 
-				// GREEK KAPPA SYMBOL
-				return rune(0x03f0), true
-			case "kappa": 
-				// GREEK SMALL LETTER KAPPA
+			case "kappa":                           // GREEK SMALL LETTER KAPPA
 				return rune(0x03ba), true
 				return rune(0x03ba), true
-			case "kcedil": 
-				// LATIN SMALL LETTER K WITH CEDILLA
+			case "kappav":                          // GREEK KAPPA SYMBOL
+				return rune(0x03f0), true
+			case "kcedil":                          // LATIN SMALL LETTER K WITH CEDILLA
 				return rune(0x0137), true
 				return rune(0x0137), true
-			case "kcy": 
-				// CYRILLIC SMALL LETTER KA
+			case "kcy":                             // CYRILLIC SMALL LETTER KA
 				return rune(0x043a), true
 				return rune(0x043a), true
-			case "kfr": 
-				// MATHEMATICAL FRAKTUR SMALL K
+			case "kfr":                             // MATHEMATICAL FRAKTUR SMALL K
 				return rune(0x01d528), true
 				return rune(0x01d528), true
-			case "kgr": 
-				// GREEK SMALL LETTER KAPPA
+			case "kgr":                             // GREEK SMALL LETTER KAPPA
 				return rune(0x03ba), true
 				return rune(0x03ba), true
-			case "kgreen": 
-				// LATIN SMALL LETTER KRA
+			case "kgreen":                          // LATIN SMALL LETTER KRA
 				return rune(0x0138), true
 				return rune(0x0138), true
-			case "khcy": 
-				// CYRILLIC SMALL LETTER HA
+			case "khcy":                            // CYRILLIC SMALL LETTER HA
 				return rune(0x0445), true
 				return rune(0x0445), true
-			case "khgr": 
-				// GREEK SMALL LETTER CHI
+			case "khgr":                            // GREEK SMALL LETTER CHI
 				return rune(0x03c7), true
 				return rune(0x03c7), true
-			case "kjcy": 
-				// CYRILLIC SMALL LETTER KJE
+			case "kjcy":                            // CYRILLIC SMALL LETTER KJE
 				return rune(0x045c), true
 				return rune(0x045c), true
-			case "kopf": 
-				// MATHEMATICAL DOUBLE-STRUCK SMALL K
+			case "kopf":                            // MATHEMATICAL DOUBLE-STRUCK SMALL K
 				return rune(0x01d55c), true
 				return rune(0x01d55c), true
-			case "koppa": 
-				// GREEK LETTER KOPPA
+			case "koppa":                           // GREEK LETTER KOPPA
 				return rune(0x03de), true
 				return rune(0x03de), true
-			case "kscr": 
-				// MATHEMATICAL SCRIPT SMALL K
+			case "kscr":                            // MATHEMATICAL SCRIPT SMALL K
 				return rune(0x01d4c0), true
 				return rune(0x01d4c0), true
 		}
 		}
 
 
 	case 'l':
 	case 'l':
 		switch name {
 		switch name {
-			case "lAarr": 
-				// LEFTWARDS TRIPLE ARROW
+			case "lAarr":                           // LEFTWARDS TRIPLE ARROW
 				return rune(0x21da), true
 				return rune(0x21da), true
-			case "lArr": 
-				// LEFTWARDS DOUBLE ARROW
+			case "lArr":                            // LEFTWARDS DOUBLE ARROW
 				return rune(0x21d0), true
 				return rune(0x21d0), true
-			case "lAtail": 
-				// LEFTWARDS DOUBLE ARROW-TAIL
+			case "lAtail":                          // LEFTWARDS DOUBLE ARROW-TAIL
 				return rune(0x291b), true
 				return rune(0x291b), true
-			case "lBarr": 
-				// LEFTWARDS TRIPLE DASH ARROW
+			case "lBarr":                           // LEFTWARDS TRIPLE DASH ARROW
 				return rune(0x290e), true
 				return rune(0x290e), true
-			case "lE": 
-				// LESS-THAN OVER EQUAL TO
+			case "lE":                              // LESS-THAN OVER EQUAL TO
 				return rune(0x2266), true
 				return rune(0x2266), true
-			case "lEg": 
-				// LESS-THAN ABOVE DOUBLE-LINE EQUAL ABOVE GREATER-THAN
+			case "lEg":                             // LESS-THAN ABOVE DOUBLE-LINE EQUAL ABOVE GREATER-THAN
 				return rune(0x2a8b), true
 				return rune(0x2a8b), true
-			case "lHar": 
-				// LEFTWARDS HARPOON WITH BARB UP ABOVE LEFTWARDS HARPOON WITH BARB DOWN
+			case "lHar":                            // LEFTWARDS HARPOON WITH BARB UP ABOVE LEFTWARDS HARPOON WITH BARB DOWN
 				return rune(0x2962), true
 				return rune(0x2962), true
-			case "lacute": 
-				// LATIN SMALL LETTER L WITH ACUTE
+			case "lacute":                          // LATIN SMALL LETTER L WITH ACUTE
 				return rune(0x013a), true
 				return rune(0x013a), true
-			case "laemptyv": 
-				// EMPTY SET WITH LEFT ARROW ABOVE
+			case "laemptyv":                        // EMPTY SET WITH LEFT ARROW ABOVE
 				return rune(0x29b4), true
 				return rune(0x29b4), true
-			case "lagran": 
-				// SCRIPT CAPITAL L
+			case "lagran":                          // SCRIPT CAPITAL L
 				return rune(0x2112), true
 				return rune(0x2112), true
-			case "lambda": 
-				// GREEK SMALL LETTER LAMDA
+			case "lambda":                          // GREEK SMALL LETTER LAMDA
 				return rune(0x03bb), true
 				return rune(0x03bb), true
-			case "lang": 
-				// MATHEMATICAL LEFT ANGLE BRACKET
+			case "lang":                            // MATHEMATICAL LEFT ANGLE BRACKET
 				return rune(0x27e8), true
 				return rune(0x27e8), true
-			case "langd": 
-				// LEFT ANGLE BRACKET WITH DOT
+			case "langd":                           // LEFT ANGLE BRACKET WITH DOT
 				return rune(0x2991), true
 				return rune(0x2991), true
-			case "langle": 
-				// MATHEMATICAL LEFT ANGLE BRACKET
+			case "langle":                          // MATHEMATICAL LEFT ANGLE BRACKET
 				return rune(0x27e8), true
 				return rune(0x27e8), true
-			case "lap": 
-				// LESS-THAN OR APPROXIMATE
+			case "lap":                             // LESS-THAN OR APPROXIMATE
 				return rune(0x2a85), true
 				return rune(0x2a85), true
-			case "laquo": 
-				// LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+			case "laquo":                           // LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
 				return rune(0xab), true
 				return rune(0xab), true
-			case "larr2": 
-				// LEFTWARDS PAIRED ARROWS
+			case "larr":                            // LEFTWARDS ARROW
+				return rune(0x2190), true
+			case "larr2":                           // LEFTWARDS PAIRED ARROWS
 				return rune(0x21c7), true
 				return rune(0x21c7), true
-			case "larrb": 
-				// LEFTWARDS ARROW TO BAR
+			case "larrb":                           // LEFTWARDS ARROW TO BAR
 				return rune(0x21e4), true
 				return rune(0x21e4), true
-			case "larrhk": 
-				// LEFTWARDS ARROW WITH HOOK
-				return rune(0x21a9), true
-			case "larrlp": 
-				// LEFTWARDS ARROW WITH LOOP
-				return rune(0x21ab), true
-			case "larrtl": 
-				// LEFTWARDS ARROW WITH TAIL
-				return rune(0x21a2), true
-			case "larr": 
-				// LEFTWARDS ARROW
-				return rune(0x2190), true
-			case "larrbfs": 
-				// LEFTWARDS ARROW FROM BAR TO BLACK DIAMOND
+			case "larrbfs":                         // LEFTWARDS ARROW FROM BAR TO BLACK DIAMOND
 				return rune(0x291f), true
 				return rune(0x291f), true
-			case "larrfs": 
-				// LEFTWARDS ARROW TO BLACK DIAMOND
+			case "larrfs":                          // LEFTWARDS ARROW TO BLACK DIAMOND
 				return rune(0x291d), true
 				return rune(0x291d), true
-			case "larrpl": 
-				// LEFT-SIDE ARC ANTICLOCKWISE ARROW
+			case "larrhk":                          // LEFTWARDS ARROW WITH HOOK
+				return rune(0x21a9), true
+			case "larrlp":                          // LEFTWARDS ARROW WITH LOOP
+				return rune(0x21ab), true
+			case "larrpl":                          // LEFT-SIDE ARC ANTICLOCKWISE ARROW
 				return rune(0x2939), true
 				return rune(0x2939), true
-			case "larrsim": 
-				// LEFTWARDS ARROW ABOVE TILDE OPERATOR
+			case "larrsim":                         // LEFTWARDS ARROW ABOVE TILDE OPERATOR
 				return rune(0x2973), true
 				return rune(0x2973), true
-			case "latail": 
-				// LEFTWARDS ARROW-TAIL
-				return rune(0x2919), true
-			case "lat": 
-				// LARGER THAN
+			case "larrtl":                          // LEFTWARDS ARROW WITH TAIL
+				return rune(0x21a2), true
+			case "lat":                             // LARGER THAN
 				return rune(0x2aab), true
 				return rune(0x2aab), true
-			case "late": 
-				// LARGER THAN OR EQUAL TO
+			case "latail":                          // LEFTWARDS ARROW-TAIL
+				return rune(0x2919), true
+			case "late":                            // LARGER THAN OR EQUAL TO
 				return rune(0x2aad), true
 				return rune(0x2aad), true
-			case "lates": 
-				// LARGER THAN OR slanted EQUAL
+			case "lates":                           // LARGER THAN OR slanted EQUAL
 				return rune(0x2aad), true
 				return rune(0x2aad), true
-			case "lbarr": 
-				// LEFTWARDS DOUBLE DASH ARROW
+			case "lbarr":                           // LEFTWARDS DOUBLE DASH ARROW
 				return rune(0x290c), true
 				return rune(0x290c), true
-			case "lbbrk": 
-				// LIGHT LEFT TORTOISE SHELL BRACKET ORNAMENT
+			case "lbbrk":                           // LIGHT LEFT TORTOISE SHELL BRACKET ORNAMENT
 				return rune(0x2772), true
 				return rune(0x2772), true
-			case "lbrace": 
-				// LEFT CURLY BRACKET
+			case "lbrace":                          // LEFT CURLY BRACKET
 				return rune(0x7b), true
 				return rune(0x7b), true
-			case "lbrack": 
-				// LEFT SQUARE BRACKET
+			case "lbrack":                          // LEFT SQUARE BRACKET
 				return rune(0x5b), true
 				return rune(0x5b), true
-			case "lbrke": 
-				// LEFT SQUARE BRACKET WITH UNDERBAR
+			case "lbrke":                           // LEFT SQUARE BRACKET WITH UNDERBAR
 				return rune(0x298b), true
 				return rune(0x298b), true
-			case "lbrksld": 
-				// LEFT SQUARE BRACKET WITH TICK IN BOTTOM CORNER
+			case "lbrksld":                         // LEFT SQUARE BRACKET WITH TICK IN BOTTOM CORNER
 				return rune(0x298f), true
 				return rune(0x298f), true
-			case "lbrkslu": 
-				// LEFT SQUARE BRACKET WITH TICK IN TOP CORNER
+			case "lbrkslu":                         // LEFT SQUARE BRACKET WITH TICK IN TOP CORNER
 				return rune(0x298d), true
 				return rune(0x298d), true
-			case "lcaron": 
-				// LATIN SMALL LETTER L WITH CARON
+			case "lcaron":                          // LATIN SMALL LETTER L WITH CARON
 				return rune(0x013e), true
 				return rune(0x013e), true
-			case "lcedil": 
-				// LATIN SMALL LETTER L WITH CEDILLA
+			case "lcedil":                          // LATIN SMALL LETTER L WITH CEDILLA
 				return rune(0x013c), true
 				return rune(0x013c), true
-			case "lceil": 
-				// LEFT CEILING
+			case "lceil":                           // LEFT CEILING
 				return rune(0x2308), true
 				return rune(0x2308), true
-			case "lcub": 
-				// LEFT CURLY BRACKET
+			case "lcub":                            // LEFT CURLY BRACKET
 				return rune(0x7b), true
 				return rune(0x7b), true
-			case "lcy": 
-				// CYRILLIC SMALL LETTER EL
+			case "lcy":                             // CYRILLIC SMALL LETTER EL
 				return rune(0x043b), true
 				return rune(0x043b), true
-			case "ldca": 
-				// ARROW POINTING DOWNWARDS THEN CURVING LEFTWARDS
+			case "ldca":                            // ARROW POINTING DOWNWARDS THEN CURVING LEFTWARDS
 				return rune(0x2936), true
 				return rune(0x2936), true
-			case "ldharb": 
-				// LEFTWARDS HARPOON WITH BARB DOWN TO BAR
+			case "ldharb":                          // LEFTWARDS HARPOON WITH BARB DOWN TO BAR
 				return rune(0x2956), true
 				return rune(0x2956), true
-			case "ldot": 
-				// LESS-THAN WITH DOT
+			case "ldot":                            // LESS-THAN WITH DOT
 				return rune(0x22d6), true
 				return rune(0x22d6), true
-			case "ldquor": 
-				// DOUBLE LOW-9 QUOTATION MARK
-				return rune(0x201e), true
-			case "ldquo": 
-				// LEFT DOUBLE QUOTATION MARK
+			case "ldquo":                           // LEFT DOUBLE QUOTATION MARK
 				return rune(0x201c), true
 				return rune(0x201c), true
-			case "ldrdhar": 
-				// LEFTWARDS HARPOON WITH BARB DOWN ABOVE RIGHTWARDS HARPOON WITH BARB DOWN
+			case "ldquor":                          // DOUBLE LOW-9 QUOTATION MARK
+				return rune(0x201e), true
+			case "ldrdhar":                         // LEFTWARDS HARPOON WITH BARB DOWN ABOVE RIGHTWARDS HARPOON WITH BARB DOWN
 				return rune(0x2967), true
 				return rune(0x2967), true
-			case "ldrdshar": 
-				// LEFT BARB DOWN RIGHT BARB DOWN HARPOON
+			case "ldrdshar":                        // LEFT BARB DOWN RIGHT BARB DOWN HARPOON
 				return rune(0x2950), true
 				return rune(0x2950), true
-			case "ldrushar": 
-				// LEFT BARB DOWN RIGHT BARB UP HARPOON
+			case "ldrushar":                        // LEFT BARB DOWN RIGHT BARB UP HARPOON
 				return rune(0x294b), true
 				return rune(0x294b), true
-			case "ldsh": 
-				// DOWNWARDS ARROW WITH TIP LEFTWARDS
+			case "ldsh":                            // DOWNWARDS ARROW WITH TIP LEFTWARDS
 				return rune(0x21b2), true
 				return rune(0x21b2), true
-			case "leftarrowtail": 
-				// LEFTWARDS ARROW WITH TAIL
-				return rune(0x21a2), true
-			case "leftarrow": 
-				// LEFTWARDS ARROW
+			case "le":                              // LESS-THAN OR EQUAL TO
+				return rune(0x2264), true
+			case "leftarrow":                       // LEFTWARDS ARROW
 				return rune(0x2190), true
 				return rune(0x2190), true
-			case "leftharpoondown": 
-				// LEFTWARDS HARPOON WITH BARB DOWNWARDS
+			case "leftarrowtail":                   // LEFTWARDS ARROW WITH TAIL
+				return rune(0x21a2), true
+			case "leftharpoondown":                 // LEFTWARDS HARPOON WITH BARB DOWNWARDS
 				return rune(0x21bd), true
 				return rune(0x21bd), true
-			case "leftharpoonup": 
-				// LEFTWARDS HARPOON WITH BARB UPWARDS
+			case "leftharpoonup":                   // LEFTWARDS HARPOON WITH BARB UPWARDS
 				return rune(0x21bc), true
 				return rune(0x21bc), true
-			case "leftleftarrows": 
-				// LEFTWARDS PAIRED ARROWS
+			case "leftleftarrows":                  // LEFTWARDS PAIRED ARROWS
 				return rune(0x21c7), true
 				return rune(0x21c7), true
-			case "leftrightarrows": 
-				// LEFTWARDS ARROW OVER RIGHTWARDS ARROW
-				return rune(0x21c6), true
-			case "leftrightarrow": 
-				// LEFT RIGHT ARROW
+			case "leftrightarrow":                  // LEFT RIGHT ARROW
 				return rune(0x2194), true
 				return rune(0x2194), true
-			case "leftrightharpoons": 
-				// LEFTWARDS HARPOON OVER RIGHTWARDS HARPOON
+			case "leftrightarrows":                 // LEFTWARDS ARROW OVER RIGHTWARDS ARROW
+				return rune(0x21c6), true
+			case "leftrightharpoons":               // LEFTWARDS HARPOON OVER RIGHTWARDS HARPOON
 				return rune(0x21cb), true
 				return rune(0x21cb), true
-			case "leftrightsquigarrow": 
-				// LEFT RIGHT WAVE ARROW
+			case "leftrightsquigarrow":             // LEFT RIGHT WAVE ARROW
 				return rune(0x21ad), true
 				return rune(0x21ad), true
-			case "le": 
-				// LESS-THAN OR EQUAL TO
-				return rune(0x2264), true
-			case "leftthreetimes": 
-				// LEFT SEMIDIRECT PRODUCT
+			case "leftthreetimes":                  // LEFT SEMIDIRECT PRODUCT
 				return rune(0x22cb), true
 				return rune(0x22cb), true
-			case "leg": 
-				// LESS-THAN EQUAL TO OR GREATER-THAN
+			case "leg":                             // LESS-THAN EQUAL TO OR GREATER-THAN
 				return rune(0x22da), true
 				return rune(0x22da), true
-			case "leq": 
-				// LESS-THAN OR EQUAL TO
+			case "leq":                             // LESS-THAN OR EQUAL TO
 				return rune(0x2264), true
 				return rune(0x2264), true
-			case "leqq": 
-				// LESS-THAN OVER EQUAL TO
+			case "leqq":                            // LESS-THAN OVER EQUAL TO
 				return rune(0x2266), true
 				return rune(0x2266), true
-			case "leqslant": 
-				// LESS-THAN OR SLANTED EQUAL TO
+			case "leqslant":                        // LESS-THAN OR SLANTED EQUAL TO
 				return rune(0x2a7d), true
 				return rune(0x2a7d), true
-			case "lesg": 
-				// LESS-THAN slanted EQUAL TO OR GREATER-THAN
-				return rune(0x22da), true
-			case "lessdot": 
-				// LESS-THAN WITH DOT
-				return rune(0x22d6), true
-			case "lesseqgtr": 
-				// LESS-THAN EQUAL TO OR GREATER-THAN
-				return rune(0x22da), true
-			case "lessgtr": 
-				// LESS-THAN OR GREATER-THAN
-				return rune(0x2276), true
-			case "lesssim": 
-				// LESS-THAN OR EQUIVALENT TO
-				return rune(0x2272), true
-			case "les": 
-				// LESS-THAN OR SLANTED EQUAL TO
+			case "les":                             // LESS-THAN OR SLANTED EQUAL TO
 				return rune(0x2a7d), true
 				return rune(0x2a7d), true
-			case "lescc": 
-				// LESS-THAN CLOSED BY CURVE ABOVE SLANTED EQUAL
+			case "lescc":                           // LESS-THAN CLOSED BY CURVE ABOVE SLANTED EQUAL
 				return rune(0x2aa8), true
 				return rune(0x2aa8), true
-			case "lesdot": 
-				// LESS-THAN OR SLANTED EQUAL TO WITH DOT INSIDE
+			case "lesdot":                          // LESS-THAN OR SLANTED EQUAL TO WITH DOT INSIDE
 				return rune(0x2a7f), true
 				return rune(0x2a7f), true
-			case "lesdoto": 
-				// LESS-THAN OR SLANTED EQUAL TO WITH DOT ABOVE
+			case "lesdoto":                         // LESS-THAN OR SLANTED EQUAL TO WITH DOT ABOVE
 				return rune(0x2a81), true
 				return rune(0x2a81), true
-			case "lesdotor": 
-				// LESS-THAN OR SLANTED EQUAL TO WITH DOT ABOVE RIGHT
+			case "lesdotor":                        // LESS-THAN OR SLANTED EQUAL TO WITH DOT ABOVE RIGHT
 				return rune(0x2a83), true
 				return rune(0x2a83), true
-			case "lesges": 
-				// LESS-THAN ABOVE SLANTED EQUAL ABOVE GREATER-THAN ABOVE SLANTED EQUAL
+			case "lesg":                            // LESS-THAN slanted EQUAL TO OR GREATER-THAN
+				return rune(0x22da), true
+			case "lesges":                          // LESS-THAN ABOVE SLANTED EQUAL ABOVE GREATER-THAN ABOVE SLANTED EQUAL
 				return rune(0x2a93), true
 				return rune(0x2a93), true
-			case "lessapprox": 
-				// LESS-THAN OR APPROXIMATE
+			case "lessapprox":                      // LESS-THAN OR APPROXIMATE
 				return rune(0x2a85), true
 				return rune(0x2a85), true
-			case "lesseqqgtr": 
-				// LESS-THAN ABOVE DOUBLE-LINE EQUAL ABOVE GREATER-THAN
+			case "lessdot":                         // LESS-THAN WITH DOT
+				return rune(0x22d6), true
+			case "lesseqgtr":                       // LESS-THAN EQUAL TO OR GREATER-THAN
+				return rune(0x22da), true
+			case "lesseqqgtr":                      // LESS-THAN ABOVE DOUBLE-LINE EQUAL ABOVE GREATER-THAN
 				return rune(0x2a8b), true
 				return rune(0x2a8b), true
-			case "lfbowtie": 
-				// BOWTIE WITH LEFT HALF BLACK
+			case "lessgtr":                         // LESS-THAN OR GREATER-THAN
+				return rune(0x2276), true
+			case "lesssim":                         // LESS-THAN OR EQUIVALENT TO
+				return rune(0x2272), true
+			case "lfbowtie":                        // BOWTIE WITH LEFT HALF BLACK
 				return rune(0x29d1), true
 				return rune(0x29d1), true
-			case "lfisht": 
-				// LEFT FISH TAIL
+			case "lfisht":                          // LEFT FISH TAIL
 				return rune(0x297c), true
 				return rune(0x297c), true
-			case "lfloor": 
-				// LEFT FLOOR
+			case "lfloor":                          // LEFT FLOOR
 				return rune(0x230a), true
 				return rune(0x230a), true
-			case "lfr": 
-				// MATHEMATICAL FRAKTUR SMALL L
+			case "lfr":                             // MATHEMATICAL FRAKTUR SMALL L
 				return rune(0x01d529), true
 				return rune(0x01d529), true
-			case "lftimes": 
-				// TIMES WITH LEFT HALF BLACK
+			case "lftimes":                         // TIMES WITH LEFT HALF BLACK
 				return rune(0x29d4), true
 				return rune(0x29d4), true
-			case "lg": 
-				// LESS-THAN OR GREATER-THAN
+			case "lg":                              // LESS-THAN OR GREATER-THAN
 				return rune(0x2276), true
 				return rune(0x2276), true
-			case "lgE": 
-				// LESS-THAN ABOVE GREATER-THAN ABOVE DOUBLE-LINE EQUAL
+			case "lgE":                             // LESS-THAN ABOVE GREATER-THAN ABOVE DOUBLE-LINE EQUAL
 				return rune(0x2a91), true
 				return rune(0x2a91), true
-			case "lgr": 
-				// GREEK SMALL LETTER LAMDA
+			case "lgr":                             // GREEK SMALL LETTER LAMDA
 				return rune(0x03bb), true
 				return rune(0x03bb), true
-			case "lhard": 
-				// LEFTWARDS HARPOON WITH BARB DOWNWARDS
+			case "lhard":                           // LEFTWARDS HARPOON WITH BARB DOWNWARDS
 				return rune(0x21bd), true
 				return rune(0x21bd), true
-			case "lharu": 
-				// LEFTWARDS HARPOON WITH BARB UPWARDS
+			case "lharu":                           // LEFTWARDS HARPOON WITH BARB UPWARDS
 				return rune(0x21bc), true
 				return rune(0x21bc), true
-			case "lharul": 
-				// LEFTWARDS HARPOON WITH BARB UP ABOVE LONG DASH
+			case "lharul":                          // LEFTWARDS HARPOON WITH BARB UP ABOVE LONG DASH
 				return rune(0x296a), true
 				return rune(0x296a), true
-			case "lhblk": 
-				// LOWER HALF BLOCK
+			case "lhblk":                           // LOWER HALF BLOCK
 				return rune(0x2584), true
 				return rune(0x2584), true
-			case "ljcy": 
-				// CYRILLIC SMALL LETTER LJE
+			case "ljcy":                            // CYRILLIC SMALL LETTER LJE
 				return rune(0x0459), true
 				return rune(0x0459), true
-			case "llarr": 
-				// LEFTWARDS PAIRED ARROWS
-				return rune(0x21c7), true
-			case "ll": 
-				// MUCH LESS-THAN
+			case "ll":                              // MUCH LESS-THAN
 				return rune(0x226a), true
 				return rune(0x226a), true
-			case "llcorner": 
-				// BOTTOM LEFT CORNER
+			case "llarr":                           // LEFTWARDS PAIRED ARROWS
+				return rune(0x21c7), true
+			case "llcorner":                        // BOTTOM LEFT CORNER
 				return rune(0x231e), true
 				return rune(0x231e), true
-			case "llhard": 
-				// LEFTWARDS HARPOON WITH BARB DOWN BELOW LONG DASH
+			case "llhard":                          // LEFTWARDS HARPOON WITH BARB DOWN BELOW LONG DASH
 				return rune(0x296b), true
 				return rune(0x296b), true
-			case "lltrif": 
-				// BLACK LOWER LEFT TRIANGLE
-				return rune(0x25e3), true
-			case "lltri": 
-				// LOWER LEFT TRIANGLE
+			case "lltri":                           // LOWER LEFT TRIANGLE
 				return rune(0x25fa), true
 				return rune(0x25fa), true
-			case "lmidot": 
-				// LATIN SMALL LETTER L WITH MIDDLE DOT
+			case "lltrif":                          // BLACK LOWER LEFT TRIANGLE
+				return rune(0x25e3), true
+			case "lmidot":                          // LATIN SMALL LETTER L WITH MIDDLE DOT
 				return rune(0x0140), true
 				return rune(0x0140), true
-			case "lmoust": 
-				// UPPER LEFT OR LOWER RIGHT CURLY BRACKET SECTION
+			case "lmoust":                          // UPPER LEFT OR LOWER RIGHT CURLY BRACKET SECTION
 				return rune(0x23b0), true
 				return rune(0x23b0), true
-			case "lmoustache": 
-				// UPPER LEFT OR LOWER RIGHT CURLY BRACKET SECTION
+			case "lmoustache":                      // UPPER LEFT OR LOWER RIGHT CURLY BRACKET SECTION
 				return rune(0x23b0), true
 				return rune(0x23b0), true
-			case "lnE": 
-				// LESS-THAN BUT NOT EQUAL TO
+			case "lnE":                             // LESS-THAN BUT NOT EQUAL TO
 				return rune(0x2268), true
 				return rune(0x2268), true
-			case "lnap": 
-				// LESS-THAN AND NOT APPROXIMATE
+			case "lnap":                            // LESS-THAN AND NOT APPROXIMATE
 				return rune(0x2a89), true
 				return rune(0x2a89), true
-			case "lnapprox": 
-				// LESS-THAN AND NOT APPROXIMATE
+			case "lnapprox":                        // LESS-THAN AND NOT APPROXIMATE
 				return rune(0x2a89), true
 				return rune(0x2a89), true
-			case "lneqq": 
-				// LESS-THAN BUT NOT EQUAL TO
-				return rune(0x2268), true
-			case "lne": 
-				// LESS-THAN AND SINGLE-LINE NOT EQUAL TO
+			case "lne":                             // LESS-THAN AND SINGLE-LINE NOT EQUAL TO
 				return rune(0x2a87), true
 				return rune(0x2a87), true
-			case "lneq": 
-				// LESS-THAN AND SINGLE-LINE NOT EQUAL TO
+			case "lneq":                            // LESS-THAN AND SINGLE-LINE NOT EQUAL TO
 				return rune(0x2a87), true
 				return rune(0x2a87), true
-			case "lnsim": 
-				// LESS-THAN BUT NOT EQUIVALENT TO
+			case "lneqq":                           // LESS-THAN BUT NOT EQUAL TO
+				return rune(0x2268), true
+			case "lnsim":                           // LESS-THAN BUT NOT EQUIVALENT TO
 				return rune(0x22e6), true
 				return rune(0x22e6), true
-			case "loang": 
-				// MATHEMATICAL LEFT WHITE TORTOISE SHELL BRACKET
+			case "loang":                           // MATHEMATICAL LEFT WHITE TORTOISE SHELL BRACKET
 				return rune(0x27ec), true
 				return rune(0x27ec), true
-			case "loarr": 
-				// LEFTWARDS OPEN-HEADED ARROW
+			case "loarr":                           // LEFTWARDS OPEN-HEADED ARROW
 				return rune(0x21fd), true
 				return rune(0x21fd), true
-			case "lobrk": 
-				// MATHEMATICAL LEFT WHITE SQUARE BRACKET
+			case "lobrk":                           // MATHEMATICAL LEFT WHITE SQUARE BRACKET
 				return rune(0x27e6), true
 				return rune(0x27e6), true
-			case "locub": 
-				// LEFT WHITE CURLY BRACKET
+			case "locub":                           // LEFT WHITE CURLY BRACKET
 				return rune(0x2983), true
 				return rune(0x2983), true
-			case "longleftarrow": 
-				// LONG LEFTWARDS ARROW
+			case "longleftarrow":                   // LONG LEFTWARDS ARROW
 				return rune(0x27f5), true
 				return rune(0x27f5), true
-			case "longleftrightarrow": 
-				// LONG LEFT RIGHT ARROW
+			case "longleftrightarrow":              // LONG LEFT RIGHT ARROW
 				return rune(0x27f7), true
 				return rune(0x27f7), true
-			case "longmapsto": 
-				// LONG RIGHTWARDS ARROW FROM BAR
+			case "longmapsto":                      // LONG RIGHTWARDS ARROW FROM BAR
 				return rune(0x27fc), true
 				return rune(0x27fc), true
-			case "longrightarrow": 
-				// LONG RIGHTWARDS ARROW
+			case "longrightarrow":                  // LONG RIGHTWARDS ARROW
 				return rune(0x27f6), true
 				return rune(0x27f6), true
-			case "looparrowleft": 
-				// LEFTWARDS ARROW WITH LOOP
+			case "looparrowleft":                   // LEFTWARDS ARROW WITH LOOP
 				return rune(0x21ab), true
 				return rune(0x21ab), true
-			case "looparrowright": 
-				// RIGHTWARDS ARROW WITH LOOP
+			case "looparrowright":                  // RIGHTWARDS ARROW WITH LOOP
 				return rune(0x21ac), true
 				return rune(0x21ac), true
-			case "lopar": 
-				// LEFT WHITE PARENTHESIS
+			case "lopar":                           // LEFT WHITE PARENTHESIS
 				return rune(0x2985), true
 				return rune(0x2985), true
-			case "lopf": 
-				// MATHEMATICAL DOUBLE-STRUCK SMALL L
+			case "lopf":                            // MATHEMATICAL DOUBLE-STRUCK SMALL L
 				return rune(0x01d55d), true
 				return rune(0x01d55d), true
-			case "loplus": 
-				// PLUS SIGN IN LEFT HALF CIRCLE
+			case "loplus":                          // PLUS SIGN IN LEFT HALF CIRCLE
 				return rune(0x2a2d), true
 				return rune(0x2a2d), true
-			case "lotimes": 
-				// MULTIPLICATION SIGN IN LEFT HALF CIRCLE
+			case "lotimes":                         // MULTIPLICATION SIGN IN LEFT HALF CIRCLE
 				return rune(0x2a34), true
 				return rune(0x2a34), true
-			case "lowast": 
-				// LOW ASTERISK
+			case "lowast":                          // LOW ASTERISK
 				return rune(0x204e), true
 				return rune(0x204e), true
-			case "lowbar": 
-				// LOW LINE
+			case "lowbar":                          // LOW LINE
 				return rune(0x5f), true
 				return rune(0x5f), true
-			case "lowint": 
-				// INTEGRAL WITH UNDERBAR
+			case "lowint":                          // INTEGRAL WITH UNDERBAR
 				return rune(0x2a1c), true
 				return rune(0x2a1c), true
-			case "loz": 
-				// LOZENGE
+			case "loz":                             // LOZENGE
 				return rune(0x25ca), true
 				return rune(0x25ca), true
-			case "lozenge": 
-				// LOZENGE
+			case "lozenge":                         // LOZENGE
 				return rune(0x25ca), true
 				return rune(0x25ca), true
-			case "lozf": 
-				// BLACK LOZENGE
+			case "lozf":                            // BLACK LOZENGE
 				return rune(0x29eb), true
 				return rune(0x29eb), true
-			case "lpargt": 
-				// SPHERICAL ANGLE OPENING LEFT
+			case "lpar":                            // LEFT PARENTHESIS
+				return rune(0x28), true
+			case "lpargt":                          // SPHERICAL ANGLE OPENING LEFT
 				return rune(0x29a0), true
 				return rune(0x29a0), true
-			case "lparlt": 
-				// LEFT ARC LESS-THAN BRACKET
+			case "lparlt":                          // LEFT ARC LESS-THAN BRACKET
 				return rune(0x2993), true
 				return rune(0x2993), true
-			case "lpar": 
-				// LEFT PARENTHESIS
-				return rune(0x28), true
-			case "lrarr2": 
-				// LEFTWARDS ARROW OVER RIGHTWARDS ARROW
+			case "lrarr":                           // LEFTWARDS ARROW OVER RIGHTWARDS ARROW
 				return rune(0x21c6), true
 				return rune(0x21c6), true
-			case "lrarr": 
-				// LEFTWARDS ARROW OVER RIGHTWARDS ARROW
+			case "lrarr2":                          // LEFTWARDS ARROW OVER RIGHTWARDS ARROW
 				return rune(0x21c6), true
 				return rune(0x21c6), true
-			case "lrcorner": 
-				// BOTTOM RIGHT CORNER
+			case "lrcorner":                        // BOTTOM RIGHT CORNER
 				return rune(0x231f), true
 				return rune(0x231f), true
-			case "lrhar": 
-				// LEFTWARDS HARPOON OVER RIGHTWARDS HARPOON
+			case "lrhar":                           // LEFTWARDS HARPOON OVER RIGHTWARDS HARPOON
 				return rune(0x21cb), true
 				return rune(0x21cb), true
-			case "lrhar2": 
-				// LEFTWARDS HARPOON OVER RIGHTWARDS HARPOON
+			case "lrhar2":                          // LEFTWARDS HARPOON OVER RIGHTWARDS HARPOON
 				return rune(0x21cb), true
 				return rune(0x21cb), true
-			case "lrhard": 
-				// RIGHTWARDS HARPOON WITH BARB DOWN BELOW LONG DASH
+			case "lrhard":                          // RIGHTWARDS HARPOON WITH BARB DOWN BELOW LONG DASH
 				return rune(0x296d), true
 				return rune(0x296d), true
-			case "lrm": 
-				// LEFT-TO-RIGHT MARK
+			case "lrm":                             // LEFT-TO-RIGHT MARK
 				return rune(0x200e), true
 				return rune(0x200e), true
-			case "lrtri": 
-				// RIGHT TRIANGLE
+			case "lrtri":                           // RIGHT TRIANGLE
 				return rune(0x22bf), true
 				return rune(0x22bf), true
-			case "lsaquo": 
-				// SINGLE LEFT-POINTING ANGLE QUOTATION MARK
+			case "lsaquo":                          // SINGLE LEFT-POINTING ANGLE QUOTATION MARK
 				return rune(0x2039), true
 				return rune(0x2039), true
-			case "lscr": 
-				// MATHEMATICAL SCRIPT SMALL L
+			case "lscr":                            // MATHEMATICAL SCRIPT SMALL L
 				return rune(0x01d4c1), true
 				return rune(0x01d4c1), true
-			case "lsh": 
-				// UPWARDS ARROW WITH TIP LEFTWARDS
+			case "lsh":                             // UPWARDS ARROW WITH TIP LEFTWARDS
 				return rune(0x21b0), true
 				return rune(0x21b0), true
-			case "lsim": 
-				// LESS-THAN OR EQUIVALENT TO
+			case "lsim":                            // LESS-THAN OR EQUIVALENT TO
 				return rune(0x2272), true
 				return rune(0x2272), true
-			case "lsime": 
-				// LESS-THAN ABOVE SIMILAR OR EQUAL
+			case "lsime":                           // LESS-THAN ABOVE SIMILAR OR EQUAL
 				return rune(0x2a8d), true
 				return rune(0x2a8d), true
-			case "lsimg": 
-				// LESS-THAN ABOVE SIMILAR ABOVE GREATER-THAN
+			case "lsimg":                           // LESS-THAN ABOVE SIMILAR ABOVE GREATER-THAN
 				return rune(0x2a8f), true
 				return rune(0x2a8f), true
-			case "lsqb": 
-				// LEFT SQUARE BRACKET
+			case "lsqb":                            // LEFT SQUARE BRACKET
 				return rune(0x5b), true
 				return rune(0x5b), true
-			case "lsquor": 
-				// SINGLE LOW-9 QUOTATION MARK
-				return rune(0x201a), true
-			case "lsquo": 
-				// LEFT SINGLE QUOTATION MARK
+			case "lsquo":                           // LEFT SINGLE QUOTATION MARK
 				return rune(0x2018), true
 				return rune(0x2018), true
-			case "lstrok": 
-				// LATIN SMALL LETTER L WITH STROKE
+			case "lsquor":                          // SINGLE LOW-9 QUOTATION MARK
+				return rune(0x201a), true
+			case "lstrok":                          // LATIN SMALL LETTER L WITH STROKE
 				return rune(0x0142), true
 				return rune(0x0142), true
-			case "ltcc": 
-				// LESS-THAN CLOSED BY CURVE
+			case "lt":                              // LESS-THAN SIGN
+				return rune(0x3c), true
+			case "ltcc":                            // LESS-THAN CLOSED BY CURVE
 				return rune(0x2aa6), true
 				return rune(0x2aa6), true
-			case "ltcir": 
-				// LESS-THAN WITH CIRCLE INSIDE
+			case "ltcir":                           // LESS-THAN WITH CIRCLE INSIDE
 				return rune(0x2a79), true
 				return rune(0x2a79), true
-			case "ltdot": 
-				// LESS-THAN WITH DOT
+			case "ltdot":                           // LESS-THAN WITH DOT
 				return rune(0x22d6), true
 				return rune(0x22d6), true
-			case "lthree": 
-				// LEFT SEMIDIRECT PRODUCT
+			case "lthree":                          // LEFT SEMIDIRECT PRODUCT
 				return rune(0x22cb), true
 				return rune(0x22cb), true
-			case "ltimes": 
-				// LEFT NORMAL FACTOR SEMIDIRECT PRODUCT
+			case "ltimes":                          // LEFT NORMAL FACTOR SEMIDIRECT PRODUCT
 				return rune(0x22c9), true
 				return rune(0x22c9), true
-			case "ltlarr": 
-				// LESS-THAN ABOVE LEFTWARDS ARROW
+			case "ltlarr":                          // LESS-THAN ABOVE LEFTWARDS ARROW
 				return rune(0x2976), true
 				return rune(0x2976), true
-			case "ltquest": 
-				// LESS-THAN WITH QUESTION MARK ABOVE
+			case "ltquest":                         // LESS-THAN WITH QUESTION MARK ABOVE
 				return rune(0x2a7b), true
 				return rune(0x2a7b), true
-			case "ltrPar": 
-				// DOUBLE RIGHT ARC LESS-THAN BRACKET
+			case "ltrPar":                          // DOUBLE RIGHT ARC LESS-THAN BRACKET
 				return rune(0x2996), true
 				return rune(0x2996), true
-			case "ltrie": 
-				// NORMAL SUBGROUP OF OR EQUAL TO
+			case "ltri":                            // WHITE LEFT-POINTING SMALL TRIANGLE
+				return rune(0x25c3), true
+			case "ltrie":                           // NORMAL SUBGROUP OF OR EQUAL TO
 				return rune(0x22b4), true
 				return rune(0x22b4), true
-			case "ltrif": 
-				// BLACK LEFT-POINTING SMALL TRIANGLE
+			case "ltrif":                           // BLACK LEFT-POINTING SMALL TRIANGLE
 				return rune(0x25c2), true
 				return rune(0x25c2), true
-			case "ltri": 
-				// WHITE LEFT-POINTING SMALL TRIANGLE
-				return rune(0x25c3), true
-			case "ltrivb": 
-				// LEFT TRIANGLE BESIDE VERTICAL BAR
+			case "ltrivb":                          // LEFT TRIANGLE BESIDE VERTICAL BAR
 				return rune(0x29cf), true
 				return rune(0x29cf), true
-			case "lt": 
-				// LESS-THAN SIGN
-				return rune(0x3c), true
-			case "luharb": 
-				// LEFTWARDS HARPOON WITH BARB UP TO BAR
+			case "luharb":                          // LEFTWARDS HARPOON WITH BARB UP TO BAR
 				return rune(0x2952), true
 				return rune(0x2952), true
-			case "lurdshar": 
-				// LEFT BARB UP RIGHT BARB DOWN HARPOON
+			case "lurdshar":                        // LEFT BARB UP RIGHT BARB DOWN HARPOON
 				return rune(0x294a), true
 				return rune(0x294a), true
-			case "luruhar": 
-				// LEFTWARDS HARPOON WITH BARB UP ABOVE RIGHTWARDS HARPOON WITH BARB UP
+			case "luruhar":                         // LEFTWARDS HARPOON WITH BARB UP ABOVE RIGHTWARDS HARPOON WITH BARB UP
 				return rune(0x2966), true
 				return rune(0x2966), true
-			case "lurushar": 
-				// LEFT BARB UP RIGHT BARB UP HARPOON
+			case "lurushar":                        // LEFT BARB UP RIGHT BARB UP HARPOON
 				return rune(0x294e), true
 				return rune(0x294e), true
-			case "lvertneqq": 
-				// LESS-THAN BUT NOT EQUAL TO - with vertical stroke
+			case "lvertneqq":                       // LESS-THAN BUT NOT EQUAL TO - with vertical stroke
 				return rune(0x2268), true
 				return rune(0x2268), true
-			case "lvnE": 
-				// LESS-THAN BUT NOT EQUAL TO - with vertical stroke
+			case "lvnE":                            // LESS-THAN BUT NOT EQUAL TO - with vertical stroke
 				return rune(0x2268), true
 				return rune(0x2268), true
 		}
 		}
 
 
 	case 'm':
 	case 'm':
 		switch name {
 		switch name {
-			case "mDDot": 
-				// GEOMETRIC PROPORTION
+			case "mDDot":                           // GEOMETRIC PROPORTION
 				return rune(0x223a), true
 				return rune(0x223a), true
-			case "macr": 
-				// MACRON
+			case "macr":                            // MACRON
 				return rune(0xaf), true
 				return rune(0xaf), true
-			case "male": 
-				// MALE SIGN
+			case "male":                            // MALE SIGN
 				return rune(0x2642), true
 				return rune(0x2642), true
-			case "malt": 
-				// MALTESE CROSS
+			case "malt":                            // MALTESE CROSS
 				return rune(0x2720), true
 				return rune(0x2720), true
-			case "maltese": 
-				// MALTESE CROSS
+			case "maltese":                         // MALTESE CROSS
 				return rune(0x2720), true
 				return rune(0x2720), true
-			case "mapstodown": 
-				// DOWNWARDS ARROW FROM BAR
-				return rune(0x21a7), true
-			case "mapsto": 
-				// RIGHTWARDS ARROW FROM BAR
+			case "map":                             // RIGHTWARDS ARROW FROM BAR
 				return rune(0x21a6), true
 				return rune(0x21a6), true
-			case "map": 
-				// RIGHTWARDS ARROW FROM BAR
+			case "mapsto":                          // RIGHTWARDS ARROW FROM BAR
 				return rune(0x21a6), true
 				return rune(0x21a6), true
-			case "mapstoleft": 
-				// LEFTWARDS ARROW FROM BAR
+			case "mapstodown":                      // DOWNWARDS ARROW FROM BAR
+				return rune(0x21a7), true
+			case "mapstoleft":                      // LEFTWARDS ARROW FROM BAR
 				return rune(0x21a4), true
 				return rune(0x21a4), true
-			case "mapstoup": 
-				// UPWARDS ARROW FROM BAR
+			case "mapstoup":                        // UPWARDS ARROW FROM BAR
 				return rune(0x21a5), true
 				return rune(0x21a5), true
-			case "marker": 
-				// BLACK VERTICAL RECTANGLE
+			case "marker":                          // BLACK VERTICAL RECTANGLE
 				return rune(0x25ae), true
 				return rune(0x25ae), true
-			case "mcomma": 
-				// MINUS SIGN WITH COMMA ABOVE
+			case "mcomma":                          // MINUS SIGN WITH COMMA ABOVE
 				return rune(0x2a29), true
 				return rune(0x2a29), true
-			case "mcy": 
-				// CYRILLIC SMALL LETTER EM
+			case "mcy":                             // CYRILLIC SMALL LETTER EM
 				return rune(0x043c), true
 				return rune(0x043c), true
-			case "mdash": 
-				// EM DASH
+			case "mdash":                           // EM DASH
 				return rune(0x2014), true
 				return rune(0x2014), true
-			case "measuredangle": 
-				// MEASURED ANGLE
+			case "measuredangle":                   // MEASURED ANGLE
 				return rune(0x2221), true
 				return rune(0x2221), true
-			case "mfr": 
-				// MATHEMATICAL FRAKTUR SMALL M
+			case "mfr":                             // MATHEMATICAL FRAKTUR SMALL M
 				return rune(0x01d52a), true
 				return rune(0x01d52a), true
-			case "mgr": 
-				// GREEK SMALL LETTER MU
+			case "mgr":                             // GREEK SMALL LETTER MU
 				return rune(0x03bc), true
 				return rune(0x03bc), true
-			case "mho": 
-				// INVERTED OHM SIGN
+			case "mho":                             // INVERTED OHM SIGN
 				return rune(0x2127), true
 				return rune(0x2127), true
-			case "micro": 
-				// MICRO SIGN
+			case "micro":                           // MICRO SIGN
 				return rune(0xb5), true
 				return rune(0xb5), true
-			case "mid": 
-				// DIVIDES
+			case "mid":                             // DIVIDES
 				return rune(0x2223), true
 				return rune(0x2223), true
-			case "midast": 
-				// ASTERISK
+			case "midast":                          // ASTERISK
 				return rune(0x2a), true
 				return rune(0x2a), true
-			case "midcir": 
-				// VERTICAL LINE WITH CIRCLE BELOW
+			case "midcir":                          // VERTICAL LINE WITH CIRCLE BELOW
 				return rune(0x2af0), true
 				return rune(0x2af0), true
-			case "middot": 
-				// MIDDLE DOT
+			case "middot":                          // MIDDLE DOT
 				return rune(0xb7), true
 				return rune(0xb7), true
-			case "minus": 
-				// MINUS SIGN
+			case "minus":                           // MINUS SIGN
 				return rune(0x2212), true
 				return rune(0x2212), true
-			case "minusb": 
-				// SQUARED MINUS
+			case "minusb":                          // SQUARED MINUS
 				return rune(0x229f), true
 				return rune(0x229f), true
-			case "minusd": 
-				// DOT MINUS
+			case "minusd":                          // DOT MINUS
 				return rune(0x2238), true
 				return rune(0x2238), true
-			case "minusdu": 
-				// MINUS SIGN WITH DOT BELOW
+			case "minusdu":                         // MINUS SIGN WITH DOT BELOW
 				return rune(0x2a2a), true
 				return rune(0x2a2a), true
-			case "mlcp": 
-				// TRANSVERSAL INTERSECTION
+			case "mlcp":                            // TRANSVERSAL INTERSECTION
 				return rune(0x2adb), true
 				return rune(0x2adb), true
-			case "mldr": 
-				// HORIZONTAL ELLIPSIS
+			case "mldr":                            // HORIZONTAL ELLIPSIS
 				return rune(0x2026), true
 				return rune(0x2026), true
-			case "mnplus": 
-				// MINUS-OR-PLUS SIGN
+			case "mnplus":                          // MINUS-OR-PLUS SIGN
 				return rune(0x2213), true
 				return rune(0x2213), true
-			case "models": 
-				// MODELS
+			case "models":                          // MODELS
 				return rune(0x22a7), true
 				return rune(0x22a7), true
-			case "mopf": 
-				// MATHEMATICAL DOUBLE-STRUCK SMALL M
+			case "mopf":                            // MATHEMATICAL DOUBLE-STRUCK SMALL M
 				return rune(0x01d55e), true
 				return rune(0x01d55e), true
-			case "mp": 
-				// MINUS-OR-PLUS SIGN
+			case "mp":                              // MINUS-OR-PLUS SIGN
 				return rune(0x2213), true
 				return rune(0x2213), true
-			case "mscr": 
-				// MATHEMATICAL SCRIPT SMALL M
+			case "mscr":                            // MATHEMATICAL SCRIPT SMALL M
 				return rune(0x01d4c2), true
 				return rune(0x01d4c2), true
-			case "mstpos": 
-				// INVERTED LAZY S
+			case "mstpos":                          // INVERTED LAZY S
 				return rune(0x223e), true
 				return rune(0x223e), true
-			case "multimap": 
-				// MULTIMAP
+			case "mu":                              // GREEK SMALL LETTER MU
+				return rune(0x03bc), true
+			case "multimap":                        // MULTIMAP
 				return rune(0x22b8), true
 				return rune(0x22b8), true
-			case "mumap": 
-				// MULTIMAP
+			case "mumap":                           // MULTIMAP
 				return rune(0x22b8), true
 				return rune(0x22b8), true
-			case "mu": 
-				// GREEK SMALL LETTER MU
-				return rune(0x03bc), true
 		}
 		}
 
 
 	case 'n':
 	case 'n':
 		switch name {
 		switch name {
-			case "nGg": 
-				// VERY MUCH GREATER-THAN with slash
+			case "nGg":                             // VERY MUCH GREATER-THAN with slash
 				return rune(0x22d9), true
 				return rune(0x22d9), true
-			case "nGtv": 
-				// MUCH GREATER THAN with slash
+			case "nGt":                             // MUCH GREATER THAN with vertical line
 				return rune(0x226b), true
 				return rune(0x226b), true
-			case "nGt": 
-				// MUCH GREATER THAN with vertical line
+			case "nGtv":                            // MUCH GREATER THAN with slash
 				return rune(0x226b), true
 				return rune(0x226b), true
-			case "nLeftarrow": 
-				// LEFTWARDS DOUBLE ARROW WITH STROKE
+			case "nLeftarrow":                      // LEFTWARDS DOUBLE ARROW WITH STROKE
 				return rune(0x21cd), true
 				return rune(0x21cd), true
-			case "nLeftrightarrow": 
-				// LEFT RIGHT DOUBLE ARROW WITH STROKE
+			case "nLeftrightarrow":                 // LEFT RIGHT DOUBLE ARROW WITH STROKE
 				return rune(0x21ce), true
 				return rune(0x21ce), true
-			case "nLl": 
-				// VERY MUCH LESS-THAN with slash
+			case "nLl":                             // VERY MUCH LESS-THAN with slash
 				return rune(0x22d8), true
 				return rune(0x22d8), true
-			case "nLtv": 
-				// MUCH LESS THAN with slash
+			case "nLt":                             // MUCH LESS THAN with vertical line
 				return rune(0x226a), true
 				return rune(0x226a), true
-			case "nLt": 
-				// MUCH LESS THAN with vertical line
+			case "nLtv":                            // MUCH LESS THAN with slash
 				return rune(0x226a), true
 				return rune(0x226a), true
-			case "nRightarrow": 
-				// RIGHTWARDS DOUBLE ARROW WITH STROKE
+			case "nRightarrow":                     // RIGHTWARDS DOUBLE ARROW WITH STROKE
 				return rune(0x21cf), true
 				return rune(0x21cf), true
-			case "nVDash": 
-				// NEGATED DOUBLE VERTICAL BAR DOUBLE RIGHT TURNSTILE
+			case "nVDash":                          // NEGATED DOUBLE VERTICAL BAR DOUBLE RIGHT TURNSTILE
 				return rune(0x22af), true
 				return rune(0x22af), true
-			case "nVdash": 
-				// DOES NOT FORCE
+			case "nVdash":                          // DOES NOT FORCE
 				return rune(0x22ae), true
 				return rune(0x22ae), true
-			case "nabla": 
-				// NABLA
+			case "nabla":                           // NABLA
 				return rune(0x2207), true
 				return rune(0x2207), true
-			case "nacute": 
-				// LATIN SMALL LETTER N WITH ACUTE
+			case "nacute":                          // LATIN SMALL LETTER N WITH ACUTE
 				return rune(0x0144), true
 				return rune(0x0144), true
-			case "nang": 
-				// ANGLE with vertical line
+			case "nang":                            // ANGLE with vertical line
 				return rune(0x2220), true
 				return rune(0x2220), true
-			case "nap": 
-				// NOT ALMOST EQUAL TO
+			case "nap":                             // NOT ALMOST EQUAL TO
 				return rune(0x2249), true
 				return rune(0x2249), true
-			case "napE": 
-				// APPROXIMATELY EQUAL OR EQUAL TO with slash
+			case "napE":                            // APPROXIMATELY EQUAL OR EQUAL TO with slash
 				return rune(0x2a70), true
 				return rune(0x2a70), true
-			case "napid": 
-				// TRIPLE TILDE with slash
+			case "napid":                           // TRIPLE TILDE with slash
 				return rune(0x224b), true
 				return rune(0x224b), true
-			case "napos": 
-				// LATIN SMALL LETTER N PRECEDED BY APOSTROPHE
+			case "napos":                           // LATIN SMALL LETTER N PRECEDED BY APOSTROPHE
 				return rune(0x0149), true
 				return rune(0x0149), true
-			case "napprox": 
-				// NOT ALMOST EQUAL TO
+			case "napprox":                         // NOT ALMOST EQUAL TO
 				return rune(0x2249), true
 				return rune(0x2249), true
-			case "naturals": 
-				// DOUBLE-STRUCK CAPITAL N
-				return rune(0x2115), true
-			case "natur": 
-				// MUSIC NATURAL SIGN
+			case "natur":                           // MUSIC NATURAL SIGN
 				return rune(0x266e), true
 				return rune(0x266e), true
-			case "natural": 
-				// MUSIC NATURAL SIGN
+			case "natural":                         // MUSIC NATURAL SIGN
 				return rune(0x266e), true
 				return rune(0x266e), true
-			case "nbsp": 
-				// NO-BREAK SPACE
+			case "naturals":                        // DOUBLE-STRUCK CAPITAL N
+				return rune(0x2115), true
+			case "nbsp":                            // NO-BREAK SPACE
 				return rune(0xa0), true
 				return rune(0xa0), true
-			case "nbump": 
-				// GEOMETRICALLY EQUIVALENT TO with slash
+			case "nbump":                           // GEOMETRICALLY EQUIVALENT TO with slash
 				return rune(0x224e), true
 				return rune(0x224e), true
-			case "nbumpe": 
-				// DIFFERENCE BETWEEN with slash
+			case "nbumpe":                          // DIFFERENCE BETWEEN with slash
 				return rune(0x224f), true
 				return rune(0x224f), true
-			case "ncap": 
-				// INTERSECTION WITH OVERBAR
+			case "ncap":                            // INTERSECTION WITH OVERBAR
 				return rune(0x2a43), true
 				return rune(0x2a43), true
-			case "ncaron": 
-				// LATIN SMALL LETTER N WITH CARON
+			case "ncaron":                          // LATIN SMALL LETTER N WITH CARON
 				return rune(0x0148), true
 				return rune(0x0148), true
-			case "ncedil": 
-				// LATIN SMALL LETTER N WITH CEDILLA
+			case "ncedil":                          // LATIN SMALL LETTER N WITH CEDILLA
 				return rune(0x0146), true
 				return rune(0x0146), true
-			case "ncong": 
-				// NEITHER APPROXIMATELY NOR ACTUALLY EQUAL TO
+			case "ncong":                           // NEITHER APPROXIMATELY NOR ACTUALLY EQUAL TO
 				return rune(0x2247), true
 				return rune(0x2247), true
-			case "ncongdot": 
-				// CONGRUENT WITH DOT ABOVE with slash
+			case "ncongdot":                        // CONGRUENT WITH DOT ABOVE with slash
 				return rune(0x2a6d), true
 				return rune(0x2a6d), true
-			case "ncup": 
-				// UNION WITH OVERBAR
+			case "ncup":                            // UNION WITH OVERBAR
 				return rune(0x2a42), true
 				return rune(0x2a42), true
-			case "ncy": 
-				// CYRILLIC SMALL LETTER EN
+			case "ncy":                             // CYRILLIC SMALL LETTER EN
 				return rune(0x043d), true
 				return rune(0x043d), true
-			case "ndash": 
-				// EN DASH
+			case "ndash":                           // EN DASH
 				return rune(0x2013), true
 				return rune(0x2013), true
-			case "neArr": 
-				// NORTH EAST DOUBLE ARROW
+			case "ne":                              // NOT EQUAL TO
+				return rune(0x2260), true
+			case "neArr":                           // NORTH EAST DOUBLE ARROW
 				return rune(0x21d7), true
 				return rune(0x21d7), true
-			case "nearrow": 
-				// NORTH EAST ARROW
+			case "nearhk":                          // NORTH EAST ARROW WITH HOOK
+				return rune(0x2924), true
+			case "nearr":                           // NORTH EAST ARROW
 				return rune(0x2197), true
 				return rune(0x2197), true
-			case "nearr": 
-				// NORTH EAST ARROW
+			case "nearrow":                         // NORTH EAST ARROW
 				return rune(0x2197), true
 				return rune(0x2197), true
-			case "nedot": 
-				// APPROACHES THE LIMIT with slash
+			case "nedot":                           // APPROACHES THE LIMIT with slash
 				return rune(0x2250), true
 				return rune(0x2250), true
-			case "nesim": 
-				// MINUS TILDE with slash
-				return rune(0x2242), true
-			case "nexist": 
-				// THERE DOES NOT EXIST
-				return rune(0x2204), true
-			case "nexists": 
-				// THERE DOES NOT EXIST
-				return rune(0x2204), true
-			case "ne": 
-				// NOT EQUAL TO
-				return rune(0x2260), true
-			case "nearhk": 
-				// NORTH EAST ARROW WITH HOOK
-				return rune(0x2924), true
-			case "neonwarr": 
-				// NORTH EAST ARROW CROSSING NORTH WEST ARROW
+			case "neonwarr":                        // NORTH EAST ARROW CROSSING NORTH WEST ARROW
 				return rune(0x2931), true
 				return rune(0x2931), true
-			case "neosearr": 
-				// NORTH EAST ARROW CROSSING SOUTH EAST ARROW
+			case "neosearr":                        // NORTH EAST ARROW CROSSING SOUTH EAST ARROW
 				return rune(0x292e), true
 				return rune(0x292e), true
-			case "nequiv": 
-				// NOT IDENTICAL TO
+			case "nequiv":                          // NOT IDENTICAL TO
 				return rune(0x2262), true
 				return rune(0x2262), true
-			case "nesear": 
-				// NORTH EAST ARROW AND SOUTH EAST ARROW
+			case "nesear":                          // NORTH EAST ARROW AND SOUTH EAST ARROW
 				return rune(0x2928), true
 				return rune(0x2928), true
-			case "neswsarr": 
-				// NORTH EAST AND SOUTH WEST ARROW
+			case "nesim":                           // MINUS TILDE with slash
+				return rune(0x2242), true
+			case "neswsarr":                        // NORTH EAST AND SOUTH WEST ARROW
 				return rune(0x2922), true
 				return rune(0x2922), true
-			case "nfr": 
-				// MATHEMATICAL FRAKTUR SMALL N
+			case "nexist":                          // THERE DOES NOT EXIST
+				return rune(0x2204), true
+			case "nexists":                         // THERE DOES NOT EXIST
+				return rune(0x2204), true
+			case "nfr":                             // MATHEMATICAL FRAKTUR SMALL N
 				return rune(0x01d52b), true
 				return rune(0x01d52b), true
-			case "ngE": 
-				// GREATER-THAN OVER EQUAL TO with slash
-				return rune(0x2267), true
-			case "ngeqq": 
-				// GREATER-THAN OVER EQUAL TO with slash
+			case "ngE":                             // GREATER-THAN OVER EQUAL TO with slash
 				return rune(0x2267), true
 				return rune(0x2267), true
-			case "nge": 
-				// NEITHER GREATER-THAN NOR EQUAL TO
+			case "nge":                             // NEITHER GREATER-THAN NOR EQUAL TO
 				return rune(0x2271), true
 				return rune(0x2271), true
-			case "ngeq": 
-				// NEITHER GREATER-THAN NOR EQUAL TO
+			case "ngeq":                            // NEITHER GREATER-THAN NOR EQUAL TO
 				return rune(0x2271), true
 				return rune(0x2271), true
-			case "ngeqslant": 
-				// GREATER-THAN OR SLANTED EQUAL TO with slash
+			case "ngeqq":                           // GREATER-THAN OVER EQUAL TO with slash
+				return rune(0x2267), true
+			case "ngeqslant":                       // GREATER-THAN OR SLANTED EQUAL TO with slash
 				return rune(0x2a7e), true
 				return rune(0x2a7e), true
-			case "nges": 
-				// GREATER-THAN OR SLANTED EQUAL TO with slash
+			case "nges":                            // GREATER-THAN OR SLANTED EQUAL TO with slash
 				return rune(0x2a7e), true
 				return rune(0x2a7e), true
-			case "ngr": 
-				// GREEK SMALL LETTER NU
+			case "ngr":                             // GREEK SMALL LETTER NU
 				return rune(0x03bd), true
 				return rune(0x03bd), true
-			case "ngsim": 
-				// NEITHER GREATER-THAN NOR EQUIVALENT TO
+			case "ngsim":                           // NEITHER GREATER-THAN NOR EQUIVALENT TO
 				return rune(0x2275), true
 				return rune(0x2275), true
-			case "ngt": 
-				// NOT GREATER-THAN
+			case "ngt":                             // NOT GREATER-THAN
 				return rune(0x226f), true
 				return rune(0x226f), true
-			case "ngtr": 
-				// NOT GREATER-THAN
+			case "ngtr":                            // NOT GREATER-THAN
 				return rune(0x226f), true
 				return rune(0x226f), true
-			case "nhArr": 
-				// LEFT RIGHT DOUBLE ARROW WITH STROKE
+			case "nhArr":                           // LEFT RIGHT DOUBLE ARROW WITH STROKE
 				return rune(0x21ce), true
 				return rune(0x21ce), true
-			case "nharr": 
-				// LEFT RIGHT ARROW WITH STROKE
+			case "nharr":                           // LEFT RIGHT ARROW WITH STROKE
 				return rune(0x21ae), true
 				return rune(0x21ae), true
-			case "nhpar": 
-				// PARALLEL WITH HORIZONTAL STROKE
+			case "nhpar":                           // PARALLEL WITH HORIZONTAL STROKE
 				return rune(0x2af2), true
 				return rune(0x2af2), true
-			case "niv": 
-				// CONTAINS AS MEMBER
-				return rune(0x220b), true
-			case "ni": 
-				// CONTAINS AS MEMBER
+			case "ni":                              // CONTAINS AS MEMBER
 				return rune(0x220b), true
 				return rune(0x220b), true
-			case "nisd": 
-				// CONTAINS WITH LONG HORIZONTAL STROKE
-				return rune(0x22fa), true
-			case "nis": 
-				// SMALL CONTAINS WITH VERTICAL BAR AT END OF HORIZONTAL STROKE
+			case "nis":                             // SMALL CONTAINS WITH VERTICAL BAR AT END OF HORIZONTAL STROKE
 				return rune(0x22fc), true
 				return rune(0x22fc), true
-			case "njcy": 
-				// CYRILLIC SMALL LETTER NJE
+			case "nisd":                            // CONTAINS WITH LONG HORIZONTAL STROKE
+				return rune(0x22fa), true
+			case "niv":                             // CONTAINS AS MEMBER
+				return rune(0x220b), true
+			case "njcy":                            // CYRILLIC SMALL LETTER NJE
 				return rune(0x045a), true
 				return rune(0x045a), true
-			case "nlArr": 
-				// LEFTWARDS DOUBLE ARROW WITH STROKE
+			case "nlArr":                           // LEFTWARDS DOUBLE ARROW WITH STROKE
 				return rune(0x21cd), true
 				return rune(0x21cd), true
-			case "nlE": 
-				// LESS-THAN OVER EQUAL TO with slash
+			case "nlE":                             // LESS-THAN OVER EQUAL TO with slash
 				return rune(0x2266), true
 				return rune(0x2266), true
-			case "nlarr": 
-				// LEFTWARDS ARROW WITH STROKE
+			case "nlarr":                           // LEFTWARDS ARROW WITH STROKE
 				return rune(0x219a), true
 				return rune(0x219a), true
-			case "nldr": 
-				// TWO DOT LEADER
+			case "nldr":                            // TWO DOT LEADER
 				return rune(0x2025), true
 				return rune(0x2025), true
-			case "nleftarrow": 
-				// LEFTWARDS ARROW WITH STROKE
+			case "nle":                             // NEITHER LESS-THAN NOR EQUAL TO
+				return rune(0x2270), true
+			case "nleftarrow":                      // LEFTWARDS ARROW WITH STROKE
 				return rune(0x219a), true
 				return rune(0x219a), true
-			case "nleftrightarrow": 
-				// LEFT RIGHT ARROW WITH STROKE
+			case "nleftrightarrow":                 // LEFT RIGHT ARROW WITH STROKE
 				return rune(0x21ae), true
 				return rune(0x21ae), true
-			case "nleqq": 
-				// LESS-THAN OVER EQUAL TO with slash
-				return rune(0x2266), true
-			case "nless": 
-				// NOT LESS-THAN
-				return rune(0x226e), true
-			case "nle": 
-				// NEITHER LESS-THAN NOR EQUAL TO
+			case "nleq":                            // NEITHER LESS-THAN NOR EQUAL TO
 				return rune(0x2270), true
 				return rune(0x2270), true
-			case "nleq": 
-				// NEITHER LESS-THAN NOR EQUAL TO
-				return rune(0x2270), true
-			case "nleqslant": 
-				// LESS-THAN OR SLANTED EQUAL TO with slash
+			case "nleqq":                           // LESS-THAN OVER EQUAL TO with slash
+				return rune(0x2266), true
+			case "nleqslant":                       // LESS-THAN OR SLANTED EQUAL TO with slash
 				return rune(0x2a7d), true
 				return rune(0x2a7d), true
-			case "nles": 
-				// LESS-THAN OR SLANTED EQUAL TO with slash
+			case "nles":                            // LESS-THAN OR SLANTED EQUAL TO with slash
 				return rune(0x2a7d), true
 				return rune(0x2a7d), true
-			case "nlsim": 
-				// NEITHER LESS-THAN NOR EQUIVALENT TO
+			case "nless":                           // NOT LESS-THAN
+				return rune(0x226e), true
+			case "nlsim":                           // NEITHER LESS-THAN NOR EQUIVALENT TO
 				return rune(0x2274), true
 				return rune(0x2274), true
-			case "nlt": 
-				// NOT LESS-THAN
+			case "nlt":                             // NOT LESS-THAN
 				return rune(0x226e), true
 				return rune(0x226e), true
-			case "nltri": 
-				// NOT NORMAL SUBGROUP OF
+			case "nltri":                           // NOT NORMAL SUBGROUP OF
 				return rune(0x22ea), true
 				return rune(0x22ea), true
-			case "nltrie": 
-				// NOT NORMAL SUBGROUP OF OR EQUAL TO
+			case "nltrie":                          // NOT NORMAL SUBGROUP OF OR EQUAL TO
 				return rune(0x22ec), true
 				return rune(0x22ec), true
-			case "nltrivb": 
-				// LEFT TRIANGLE BESIDE VERTICAL BAR with slash
+			case "nltrivb":                         // LEFT TRIANGLE BESIDE VERTICAL BAR with slash
 				return rune(0x29cf), true
 				return rune(0x29cf), true
-			case "nmid": 
-				// DOES NOT DIVIDE
+			case "nmid":                            // DOES NOT DIVIDE
 				return rune(0x2224), true
 				return rune(0x2224), true
-			case "nopf": 
-				// MATHEMATICAL DOUBLE-STRUCK SMALL N
+			case "nopf":                            // MATHEMATICAL DOUBLE-STRUCK SMALL N
 				return rune(0x01d55f), true
 				return rune(0x01d55f), true
-			case "notin": 
-				// NOT AN ELEMENT OF
+			case "not":                             // NOT SIGN
+				return rune(0xac), true
+			case "notin":                           // NOT AN ELEMENT OF
 				return rune(0x2209), true
 				return rune(0x2209), true
-			case "notinE": 
-				// ELEMENT OF WITH TWO HORIZONTAL STROKES with slash
+			case "notinE":                          // ELEMENT OF WITH TWO HORIZONTAL STROKES with slash
 				return rune(0x22f9), true
 				return rune(0x22f9), true
-			case "notindot": 
-				// ELEMENT OF WITH DOT ABOVE with slash
+			case "notindot":                        // ELEMENT OF WITH DOT ABOVE with slash
 				return rune(0x22f5), true
 				return rune(0x22f5), true
-			case "notinva": 
-				// NOT AN ELEMENT OF
+			case "notinva":                         // NOT AN ELEMENT OF
 				return rune(0x2209), true
 				return rune(0x2209), true
-			case "notinvb": 
-				// SMALL ELEMENT OF WITH OVERBAR
+			case "notinvb":                         // SMALL ELEMENT OF WITH OVERBAR
 				return rune(0x22f7), true
 				return rune(0x22f7), true
-			case "notinvc": 
-				// ELEMENT OF WITH OVERBAR
+			case "notinvc":                         // ELEMENT OF WITH OVERBAR
 				return rune(0x22f6), true
 				return rune(0x22f6), true
-			case "notni": 
-				// DOES NOT CONTAIN AS MEMBER
+			case "notni":                           // DOES NOT CONTAIN AS MEMBER
 				return rune(0x220c), true
 				return rune(0x220c), true
-			case "notniva": 
-				// DOES NOT CONTAIN AS MEMBER
+			case "notniva":                         // DOES NOT CONTAIN AS MEMBER
 				return rune(0x220c), true
 				return rune(0x220c), true
-			case "notnivb": 
-				// SMALL CONTAINS WITH OVERBAR
+			case "notnivb":                         // SMALL CONTAINS WITH OVERBAR
 				return rune(0x22fe), true
 				return rune(0x22fe), true
-			case "notnivc": 
-				// CONTAINS WITH OVERBAR
+			case "notnivc":                         // CONTAINS WITH OVERBAR
 				return rune(0x22fd), true
 				return rune(0x22fd), true
-			case "not": 
-				// NOT SIGN
-				return rune(0xac), true
-			case "npart": 
-				// PARTIAL DIFFERENTIAL with slash
-				return rune(0x2202), true
-			case "npar": 
-				// NOT PARALLEL TO
+			case "npar":                            // NOT PARALLEL TO
 				return rune(0x2226), true
 				return rune(0x2226), true
-			case "nparallel": 
-				// NOT PARALLEL TO
+			case "nparallel":                       // NOT PARALLEL TO
 				return rune(0x2226), true
 				return rune(0x2226), true
-			case "nparsl": 
-				// DOUBLE SOLIDUS OPERATOR with reverse slash
+			case "nparsl":                          // DOUBLE SOLIDUS OPERATOR with reverse slash
 				return rune(0x2afd), true
 				return rune(0x2afd), true
-			case "npolint": 
-				// LINE INTEGRATION NOT INCLUDING THE POLE
+			case "npart":                           // PARTIAL DIFFERENTIAL with slash
+				return rune(0x2202), true
+			case "npolint":                         // LINE INTEGRATION NOT INCLUDING THE POLE
 				return rune(0x2a14), true
 				return rune(0x2a14), true
-			case "nprsim": 
-				// PRECEDES OR EQUIVALENT TO with slash
-				return rune(0x227e), true
-			case "npr": 
-				// DOES NOT PRECEDE
+			case "npr":                             // DOES NOT PRECEDE
 				return rune(0x2280), true
 				return rune(0x2280), true
-			case "nprcue": 
-				// DOES NOT PRECEDE OR EQUAL
+			case "nprcue":                          // DOES NOT PRECEDE OR EQUAL
 				return rune(0x22e0), true
 				return rune(0x22e0), true
-			case "nprec": 
-				// DOES NOT PRECEDE
-				return rune(0x2280), true
-			case "npre": 
-				// PRECEDES ABOVE SINGLE-LINE EQUALS SIGN with slash
+			case "npre":                            // PRECEDES ABOVE SINGLE-LINE EQUALS SIGN with slash
 				return rune(0x2aaf), true
 				return rune(0x2aaf), true
-			case "npreceq": 
-				// PRECEDES ABOVE SINGLE-LINE EQUALS SIGN with slash
+			case "nprec":                           // DOES NOT PRECEDE
+				return rune(0x2280), true
+			case "npreceq":                         // PRECEDES ABOVE SINGLE-LINE EQUALS SIGN with slash
 				return rune(0x2aaf), true
 				return rune(0x2aaf), true
-			case "nrArr": 
-				// RIGHTWARDS DOUBLE ARROW WITH STROKE
+			case "nprsim":                          // PRECEDES OR EQUIVALENT TO with slash
+				return rune(0x227e), true
+			case "nrArr":                           // RIGHTWARDS DOUBLE ARROW WITH STROKE
 				return rune(0x21cf), true
 				return rune(0x21cf), true
-			case "nrarrw": 
-				// RIGHTWARDS WAVE ARROW with slash
-				return rune(0x219d), true
-			case "nrarr": 
-				// RIGHTWARDS ARROW WITH STROKE
+			case "nrarr":                           // RIGHTWARDS ARROW WITH STROKE
 				return rune(0x219b), true
 				return rune(0x219b), true
-			case "nrarrc": 
-				// WAVE ARROW POINTING DIRECTLY RIGHT with slash
+			case "nrarrc":                          // WAVE ARROW POINTING DIRECTLY RIGHT with slash
 				return rune(0x2933), true
 				return rune(0x2933), true
-			case "nrightarrow": 
-				// RIGHTWARDS ARROW WITH STROKE
+			case "nrarrw":                          // RIGHTWARDS WAVE ARROW with slash
+				return rune(0x219d), true
+			case "nrightarrow":                     // RIGHTWARDS ARROW WITH STROKE
 				return rune(0x219b), true
 				return rune(0x219b), true
-			case "nrtri": 
-				// DOES NOT CONTAIN AS NORMAL SUBGROUP
+			case "nrtri":                           // DOES NOT CONTAIN AS NORMAL SUBGROUP
 				return rune(0x22eb), true
 				return rune(0x22eb), true
-			case "nrtrie": 
-				// DOES NOT CONTAIN AS NORMAL SUBGROUP OR EQUAL
+			case "nrtrie":                          // DOES NOT CONTAIN AS NORMAL SUBGROUP OR EQUAL
 				return rune(0x22ed), true
 				return rune(0x22ed), true
-			case "nsGt": 
-				// DOUBLE NESTED GREATER-THAN with slash
+			case "nsGt":                            // DOUBLE NESTED GREATER-THAN with slash
 				return rune(0x2aa2), true
 				return rune(0x2aa2), true
-			case "nsLt": 
-				// DOUBLE NESTED LESS-THAN with slash
+			case "nsLt":                            // DOUBLE NESTED LESS-THAN with slash
 				return rune(0x2aa1), true
 				return rune(0x2aa1), true
-			case "nscsim": 
-				// SUCCEEDS OR EQUIVALENT TO with slash
-				return rune(0x227f), true
-			case "nsc": 
-				// DOES NOT SUCCEED
+			case "nsc":                             // DOES NOT SUCCEED
 				return rune(0x2281), true
 				return rune(0x2281), true
-			case "nsccue": 
-				// DOES NOT SUCCEED OR EQUAL
+			case "nsccue":                          // DOES NOT SUCCEED OR EQUAL
 				return rune(0x22e1), true
 				return rune(0x22e1), true
-			case "nsce": 
-				// SUCCEEDS ABOVE SINGLE-LINE EQUALS SIGN with slash
+			case "nsce":                            // SUCCEEDS ABOVE SINGLE-LINE EQUALS SIGN with slash
 				return rune(0x2ab0), true
 				return rune(0x2ab0), true
-			case "nscr": 
-				// MATHEMATICAL SCRIPT SMALL N
+			case "nscr":                            // MATHEMATICAL SCRIPT SMALL N
 				return rune(0x01d4c3), true
 				return rune(0x01d4c3), true
-			case "nshortmid": 
-				// DOES NOT DIVIDE
+			case "nscsim":                          // SUCCEEDS OR EQUIVALENT TO with slash
+				return rune(0x227f), true
+			case "nshortmid":                       // DOES NOT DIVIDE
 				return rune(0x2224), true
 				return rune(0x2224), true
-			case "nshortparallel": 
-				// NOT PARALLEL TO
+			case "nshortparallel":                  // NOT PARALLEL TO
 				return rune(0x2226), true
 				return rune(0x2226), true
-			case "nsim": 
-				// NOT TILDE
+			case "nsim":                            // NOT TILDE
 				return rune(0x2241), true
 				return rune(0x2241), true
-			case "nsime": 
-				// NOT ASYMPTOTICALLY EQUAL TO
+			case "nsime":                           // NOT ASYMPTOTICALLY EQUAL TO
 				return rune(0x2244), true
 				return rune(0x2244), true
-			case "nsimeq": 
-				// NOT ASYMPTOTICALLY EQUAL TO
+			case "nsimeq":                          // NOT ASYMPTOTICALLY EQUAL TO
 				return rune(0x2244), true
 				return rune(0x2244), true
-			case "nsmid": 
-				// DOES NOT DIVIDE
+			case "nsmid":                           // DOES NOT DIVIDE
 				return rune(0x2224), true
 				return rune(0x2224), true
-			case "nspar": 
-				// NOT PARALLEL TO
+			case "nspar":                           // NOT PARALLEL TO
 				return rune(0x2226), true
 				return rune(0x2226), true
-			case "nsqsub": 
-				// SQUARE IMAGE OF with slash
+			case "nsqsub":                          // SQUARE IMAGE OF with slash
 				return rune(0x228f), true
 				return rune(0x228f), true
-			case "nsqsube": 
-				// NOT SQUARE IMAGE OF OR EQUAL TO
+			case "nsqsube":                         // NOT SQUARE IMAGE OF OR EQUAL TO
 				return rune(0x22e2), true
 				return rune(0x22e2), true
-			case "nsqsup": 
-				// SQUARE ORIGINAL OF with slash
+			case "nsqsup":                          // SQUARE ORIGINAL OF with slash
 				return rune(0x2290), true
 				return rune(0x2290), true
-			case "nsqsupe": 
-				// NOT SQUARE ORIGINAL OF OR EQUAL TO
+			case "nsqsupe":                         // NOT SQUARE ORIGINAL OF OR EQUAL TO
 				return rune(0x22e3), true
 				return rune(0x22e3), true
-			case "nsubset": 
-				// SUBSET OF with vertical line
-				return rune(0x2282), true
-			case "nsub": 
-				// NOT A SUBSET OF
+			case "nsub":                            // NOT A SUBSET OF
 				return rune(0x2284), true
 				return rune(0x2284), true
-			case "nsubE": 
-				// SUBSET OF ABOVE EQUALS SIGN with slash
+			case "nsubE":                           // SUBSET OF ABOVE EQUALS SIGN with slash
 				return rune(0x2ac5), true
 				return rune(0x2ac5), true
-			case "nsube": 
-				// NEITHER A SUBSET OF NOR EQUAL TO
+			case "nsube":                           // NEITHER A SUBSET OF NOR EQUAL TO
 				return rune(0x2288), true
 				return rune(0x2288), true
-			case "nsubseteq": 
-				// NEITHER A SUBSET OF NOR EQUAL TO
+			case "nsubset":                         // SUBSET OF with vertical line
+				return rune(0x2282), true
+			case "nsubseteq":                       // NEITHER A SUBSET OF NOR EQUAL TO
 				return rune(0x2288), true
 				return rune(0x2288), true
-			case "nsubseteqq": 
-				// SUBSET OF ABOVE EQUALS SIGN with slash
+			case "nsubseteqq":                      // SUBSET OF ABOVE EQUALS SIGN with slash
 				return rune(0x2ac5), true
 				return rune(0x2ac5), true
-			case "nsucc": 
-				// DOES NOT SUCCEED
+			case "nsucc":                           // DOES NOT SUCCEED
 				return rune(0x2281), true
 				return rune(0x2281), true
-			case "nsucceq": 
-				// SUCCEEDS ABOVE SINGLE-LINE EQUALS SIGN with slash
+			case "nsucceq":                         // SUCCEEDS ABOVE SINGLE-LINE EQUALS SIGN with slash
 				return rune(0x2ab0), true
 				return rune(0x2ab0), true
-			case "nsupset": 
-				// SUPERSET OF with vertical line
-				return rune(0x2283), true
-			case "nsup": 
-				// NOT A SUPERSET OF
+			case "nsup":                            // NOT A SUPERSET OF
 				return rune(0x2285), true
 				return rune(0x2285), true
-			case "nsupE": 
-				// SUPERSET OF ABOVE EQUALS SIGN with slash
+			case "nsupE":                           // SUPERSET OF ABOVE EQUALS SIGN with slash
 				return rune(0x2ac6), true
 				return rune(0x2ac6), true
-			case "nsupe": 
-				// NEITHER A SUPERSET OF NOR EQUAL TO
+			case "nsupe":                           // NEITHER A SUPERSET OF NOR EQUAL TO
 				return rune(0x2289), true
 				return rune(0x2289), true
-			case "nsupseteq": 
-				// NEITHER A SUPERSET OF NOR EQUAL TO
+			case "nsupset":                         // SUPERSET OF with vertical line
+				return rune(0x2283), true
+			case "nsupseteq":                       // NEITHER A SUPERSET OF NOR EQUAL TO
 				return rune(0x2289), true
 				return rune(0x2289), true
-			case "nsupseteqq": 
-				// SUPERSET OF ABOVE EQUALS SIGN with slash
+			case "nsupseteqq":                      // SUPERSET OF ABOVE EQUALS SIGN with slash
 				return rune(0x2ac6), true
 				return rune(0x2ac6), true
-			case "ntgl": 
-				// NEITHER GREATER-THAN NOR LESS-THAN
+			case "ntgl":                            // NEITHER GREATER-THAN NOR LESS-THAN
 				return rune(0x2279), true
 				return rune(0x2279), true
-			case "ntilde": 
-				// LATIN SMALL LETTER N WITH TILDE
+			case "ntilde":                          // LATIN SMALL LETTER N WITH TILDE
 				return rune(0xf1), true
 				return rune(0xf1), true
-			case "ntlg": 
-				// NEITHER LESS-THAN NOR GREATER-THAN
+			case "ntlg":                            // NEITHER LESS-THAN NOR GREATER-THAN
 				return rune(0x2278), true
 				return rune(0x2278), true
-			case "ntriangleleft": 
-				// NOT NORMAL SUBGROUP OF
+			case "ntriangleleft":                   // NOT NORMAL SUBGROUP OF
 				return rune(0x22ea), true
 				return rune(0x22ea), true
-			case "ntrianglelefteq": 
-				// NOT NORMAL SUBGROUP OF OR EQUAL TO
+			case "ntrianglelefteq":                 // NOT NORMAL SUBGROUP OF OR EQUAL TO
 				return rune(0x22ec), true
 				return rune(0x22ec), true
-			case "ntriangleright": 
-				// DOES NOT CONTAIN AS NORMAL SUBGROUP
+			case "ntriangleright":                  // DOES NOT CONTAIN AS NORMAL SUBGROUP
 				return rune(0x22eb), true
 				return rune(0x22eb), true
-			case "ntrianglerighteq": 
-				// DOES NOT CONTAIN AS NORMAL SUBGROUP OR EQUAL
+			case "ntrianglerighteq":                // DOES NOT CONTAIN AS NORMAL SUBGROUP OR EQUAL
 				return rune(0x22ed), true
 				return rune(0x22ed), true
-			case "numero": 
-				// NUMERO SIGN
-				return rune(0x2116), true
-			case "numsp": 
-				// FIGURE SPACE
-				return rune(0x2007), true
-			case "nu": 
-				// GREEK SMALL LETTER NU
+			case "nu":                              // GREEK SMALL LETTER NU
 				return rune(0x03bd), true
 				return rune(0x03bd), true
-			case "num": 
-				// NUMBER SIGN
+			case "num":                             // NUMBER SIGN
 				return rune(0x23), true
 				return rune(0x23), true
-			case "nvDash": 
-				// NOT TRUE
+			case "numero":                          // NUMERO SIGN
+				return rune(0x2116), true
+			case "numsp":                           // FIGURE SPACE
+				return rune(0x2007), true
+			case "nvDash":                          // NOT TRUE
 				return rune(0x22ad), true
 				return rune(0x22ad), true
-			case "nvHarr": 
-				// LEFT RIGHT DOUBLE ARROW WITH VERTICAL STROKE
+			case "nvHarr":                          // LEFT RIGHT DOUBLE ARROW WITH VERTICAL STROKE
 				return rune(0x2904), true
 				return rune(0x2904), true
-			case "nvap": 
-				// EQUIVALENT TO with vertical line
+			case "nvap":                            // EQUIVALENT TO with vertical line
 				return rune(0x224d), true
 				return rune(0x224d), true
-			case "nvbrtri": 
-				// VERTICAL BAR BESIDE RIGHT TRIANGLE with slash
+			case "nvbrtri":                         // VERTICAL BAR BESIDE RIGHT TRIANGLE with slash
 				return rune(0x29d0), true
 				return rune(0x29d0), true
-			case "nvdash": 
-				// DOES NOT PROVE
+			case "nvdash":                          // DOES NOT PROVE
 				return rune(0x22ac), true
 				return rune(0x22ac), true
-			case "nvge": 
-				// GREATER-THAN OR EQUAL TO with vertical line
+			case "nvge":                            // GREATER-THAN OR EQUAL TO with vertical line
 				return rune(0x2265), true
 				return rune(0x2265), true
-			case "nvgt": 
-				// GREATER-THAN SIGN with vertical line
+			case "nvgt":                            // GREATER-THAN SIGN with vertical line
 				return rune(0x3e), true
 				return rune(0x3e), true
-			case "nvinfin": 
-				// INFINITY NEGATED WITH VERTICAL BAR
+			case "nvinfin":                         // INFINITY NEGATED WITH VERTICAL BAR
 				return rune(0x29de), true
 				return rune(0x29de), true
-			case "nvlArr": 
-				// LEFTWARDS DOUBLE ARROW WITH VERTICAL STROKE
+			case "nvlArr":                          // LEFTWARDS DOUBLE ARROW WITH VERTICAL STROKE
 				return rune(0x2902), true
 				return rune(0x2902), true
-			case "nvle": 
-				// LESS-THAN OR EQUAL TO with vertical line
+			case "nvle":                            // LESS-THAN OR EQUAL TO with vertical line
 				return rune(0x2264), true
 				return rune(0x2264), true
-			case "nvltrie": 
-				// NORMAL SUBGROUP OF OR EQUAL TO with vertical line
-				return rune(0x22b4), true
-			case "nvlt": 
-				// LESS-THAN SIGN with vertical line
+			case "nvlt":                            // LESS-THAN SIGN with vertical line
 				return rune(0x3c), true
 				return rune(0x3c), true
-			case "nvrArr": 
-				// RIGHTWARDS DOUBLE ARROW WITH VERTICAL STROKE
+			case "nvltrie":                         // NORMAL SUBGROUP OF OR EQUAL TO with vertical line
+				return rune(0x22b4), true
+			case "nvrArr":                          // RIGHTWARDS DOUBLE ARROW WITH VERTICAL STROKE
 				return rune(0x2903), true
 				return rune(0x2903), true
-			case "nvrtrie": 
-				// CONTAINS AS NORMAL SUBGROUP OR EQUAL TO with vertical line
+			case "nvrtrie":                         // CONTAINS AS NORMAL SUBGROUP OR EQUAL TO with vertical line
 				return rune(0x22b5), true
 				return rune(0x22b5), true
-			case "nvsim": 
-				// TILDE OPERATOR with vertical line
+			case "nvsim":                           // TILDE OPERATOR with vertical line
 				return rune(0x223c), true
 				return rune(0x223c), true
-			case "nwArr": 
-				// NORTH WEST DOUBLE ARROW
+			case "nwArr":                           // NORTH WEST DOUBLE ARROW
 				return rune(0x21d6), true
 				return rune(0x21d6), true
-			case "nwarhk": 
-				// NORTH WEST ARROW WITH HOOK
+			case "nwarhk":                          // NORTH WEST ARROW WITH HOOK
 				return rune(0x2923), true
 				return rune(0x2923), true
-			case "nwarrow": 
-				// NORTH WEST ARROW
+			case "nwarr":                           // NORTH WEST ARROW
 				return rune(0x2196), true
 				return rune(0x2196), true
-			case "nwarr": 
-				// NORTH WEST ARROW
+			case "nwarrow":                         // NORTH WEST ARROW
 				return rune(0x2196), true
 				return rune(0x2196), true
-			case "nwnear": 
-				// NORTH WEST ARROW AND NORTH EAST ARROW
+			case "nwnear":                          // NORTH WEST ARROW AND NORTH EAST ARROW
 				return rune(0x2927), true
 				return rune(0x2927), true
-			case "nwonearr": 
-				// NORTH WEST ARROW CROSSING NORTH EAST ARROW
+			case "nwonearr":                        // NORTH WEST ARROW CROSSING NORTH EAST ARROW
 				return rune(0x2932), true
 				return rune(0x2932), true
-			case "nwsesarr": 
-				// NORTH WEST AND SOUTH EAST ARROW
+			case "nwsesarr":                        // NORTH WEST AND SOUTH EAST ARROW
 				return rune(0x2921), true
 				return rune(0x2921), true
 		}
 		}
 
 
 	case 'o':
 	case 'o':
 		switch name {
 		switch name {
-			case "oS": 
-				// CIRCLED LATIN CAPITAL LETTER S
+			case "oS":                              // CIRCLED LATIN CAPITAL LETTER S
 				return rune(0x24c8), true
 				return rune(0x24c8), true
-			case "oacgr": 
-				// GREEK SMALL LETTER OMICRON WITH TONOS
+			case "oacgr":                           // GREEK SMALL LETTER OMICRON WITH TONOS
 				return rune(0x03cc), true
 				return rune(0x03cc), true
-			case "oacute": 
-				// LATIN SMALL LETTER O WITH ACUTE
+			case "oacute":                          // LATIN SMALL LETTER O WITH ACUTE
 				return rune(0xf3), true
 				return rune(0xf3), true
-			case "oast": 
-				// CIRCLED ASTERISK OPERATOR
+			case "oast":                            // CIRCLED ASTERISK OPERATOR
 				return rune(0x229b), true
 				return rune(0x229b), true
-			case "obsol": 
-				// CIRCLED REVERSE SOLIDUS
+			case "obsol":                           // CIRCLED REVERSE SOLIDUS
 				return rune(0x29b8), true
 				return rune(0x29b8), true
-			case "ocir": 
-				// CIRCLED RING OPERATOR
+			case "ocir":                            // CIRCLED RING OPERATOR
 				return rune(0x229a), true
 				return rune(0x229a), true
-			case "ocirc": 
-				// LATIN SMALL LETTER O WITH CIRCUMFLEX
+			case "ocirc":                           // LATIN SMALL LETTER O WITH CIRCUMFLEX
 				return rune(0xf4), true
 				return rune(0xf4), true
-			case "ocy": 
-				// CYRILLIC SMALL LETTER O
+			case "ocy":                             // CYRILLIC SMALL LETTER O
 				return rune(0x043e), true
 				return rune(0x043e), true
-			case "odash": 
-				// CIRCLED DASH
+			case "odash":                           // CIRCLED DASH
 				return rune(0x229d), true
 				return rune(0x229d), true
-			case "odblac": 
-				// LATIN SMALL LETTER O WITH DOUBLE ACUTE
+			case "odblac":                          // LATIN SMALL LETTER O WITH DOUBLE ACUTE
 				return rune(0x0151), true
 				return rune(0x0151), true
-			case "odiv": 
-				// CIRCLED DIVISION SIGN
+			case "odiv":                            // CIRCLED DIVISION SIGN
 				return rune(0x2a38), true
 				return rune(0x2a38), true
-			case "odot": 
-				// CIRCLED DOT OPERATOR
+			case "odot":                            // CIRCLED DOT OPERATOR
 				return rune(0x2299), true
 				return rune(0x2299), true
-			case "odsold": 
-				// CIRCLED ANTICLOCKWISE-ROTATED DIVISION SIGN
+			case "odsold":                          // CIRCLED ANTICLOCKWISE-ROTATED DIVISION SIGN
 				return rune(0x29bc), true
 				return rune(0x29bc), true
-			case "oelig": 
-				// LATIN SMALL LIGATURE OE
+			case "oelig":                           // LATIN SMALL LIGATURE OE
 				return rune(0x0153), true
 				return rune(0x0153), true
-			case "ofcir": 
-				// CIRCLED BULLET
+			case "ofcir":                           // CIRCLED BULLET
 				return rune(0x29bf), true
 				return rune(0x29bf), true
-			case "ofr": 
-				// MATHEMATICAL FRAKTUR SMALL O
+			case "ofr":                             // MATHEMATICAL FRAKTUR SMALL O
 				return rune(0x01d52c), true
 				return rune(0x01d52c), true
-			case "ogon": 
-				// OGONEK
+			case "ogon":                            // OGONEK
 				return rune(0x02db), true
 				return rune(0x02db), true
-			case "ogr": 
-				// GREEK SMALL LETTER OMICRON
+			case "ogr":                             // GREEK SMALL LETTER OMICRON
 				return rune(0x03bf), true
 				return rune(0x03bf), true
-			case "ograve": 
-				// LATIN SMALL LETTER O WITH GRAVE
+			case "ograve":                          // LATIN SMALL LETTER O WITH GRAVE
 				return rune(0xf2), true
 				return rune(0xf2), true
-			case "ogt": 
-				// CIRCLED GREATER-THAN
+			case "ogt":                             // CIRCLED GREATER-THAN
 				return rune(0x29c1), true
 				return rune(0x29c1), true
-			case "ohacgr": 
-				// GREEK SMALL LETTER OMEGA WITH TONOS
+			case "ohacgr":                          // GREEK SMALL LETTER OMEGA WITH TONOS
 				return rune(0x03ce), true
 				return rune(0x03ce), true
-			case "ohbar": 
-				// CIRCLE WITH HORIZONTAL BAR
+			case "ohbar":                           // CIRCLE WITH HORIZONTAL BAR
 				return rune(0x29b5), true
 				return rune(0x29b5), true
-			case "ohgr": 
-				// GREEK SMALL LETTER OMEGA
+			case "ohgr":                            // GREEK SMALL LETTER OMEGA
 				return rune(0x03c9), true
 				return rune(0x03c9), true
-			case "ohm": 
-				// GREEK CAPITAL LETTER OMEGA
+			case "ohm":                             // GREEK CAPITAL LETTER OMEGA
 				return rune(0x03a9), true
 				return rune(0x03a9), true
-			case "oint": 
-				// CONTOUR INTEGRAL
+			case "oint":                            // CONTOUR INTEGRAL
 				return rune(0x222e), true
 				return rune(0x222e), true
-			case "olarr": 
-				// ANTICLOCKWISE OPEN CIRCLE ARROW
+			case "olarr":                           // ANTICLOCKWISE OPEN CIRCLE ARROW
 				return rune(0x21ba), true
 				return rune(0x21ba), true
-			case "olcir": 
-				// CIRCLED WHITE BULLET
+			case "olcir":                           // CIRCLED WHITE BULLET
 				return rune(0x29be), true
 				return rune(0x29be), true
-			case "olcross": 
-				// CIRCLE WITH SUPERIMPOSED X
+			case "olcross":                         // CIRCLE WITH SUPERIMPOSED X
 				return rune(0x29bb), true
 				return rune(0x29bb), true
-			case "oline": 
-				// OVERLINE
+			case "oline":                           // OVERLINE
 				return rune(0x203e), true
 				return rune(0x203e), true
-			case "olt": 
-				// CIRCLED LESS-THAN
+			case "olt":                             // CIRCLED LESS-THAN
 				return rune(0x29c0), true
 				return rune(0x29c0), true
-			case "omacr": 
-				// LATIN SMALL LETTER O WITH MACRON
+			case "omacr":                           // LATIN SMALL LETTER O WITH MACRON
 				return rune(0x014d), true
 				return rune(0x014d), true
-			case "omega": 
-				// GREEK SMALL LETTER OMEGA
+			case "omega":                           // GREEK SMALL LETTER OMEGA
 				return rune(0x03c9), true
 				return rune(0x03c9), true
-			case "omicron": 
-				// GREEK SMALL LETTER OMICRON
+			case "omicron":                         // GREEK SMALL LETTER OMICRON
 				return rune(0x03bf), true
 				return rune(0x03bf), true
-			case "omid": 
-				// CIRCLED VERTICAL BAR
+			case "omid":                            // CIRCLED VERTICAL BAR
 				return rune(0x29b6), true
 				return rune(0x29b6), true
-			case "ominus": 
-				// CIRCLED MINUS
+			case "ominus":                          // CIRCLED MINUS
 				return rune(0x2296), true
 				return rune(0x2296), true
-			case "oopf": 
-				// MATHEMATICAL DOUBLE-STRUCK SMALL O
+			case "oopf":                            // MATHEMATICAL DOUBLE-STRUCK SMALL O
 				return rune(0x01d560), true
 				return rune(0x01d560), true
-			case "opar": 
-				// CIRCLED PARALLEL
+			case "opar":                            // CIRCLED PARALLEL
 				return rune(0x29b7), true
 				return rune(0x29b7), true
-			case "operp": 
-				// CIRCLED PERPENDICULAR
+			case "operp":                           // CIRCLED PERPENDICULAR
 				return rune(0x29b9), true
 				return rune(0x29b9), true
-			case "opfgamma": 
-				// DOUBLE-STRUCK SMALL GAMMA
+			case "opfgamma":                        // DOUBLE-STRUCK SMALL GAMMA
 				return rune(0x213d), true
 				return rune(0x213d), true
-			case "opfpi": 
-				// DOUBLE-STRUCK CAPITAL PI
+			case "opfpi":                           // DOUBLE-STRUCK CAPITAL PI
 				return rune(0x213f), true
 				return rune(0x213f), true
-			case "opfsum": 
-				// DOUBLE-STRUCK N-ARY SUMMATION
+			case "opfsum":                          // DOUBLE-STRUCK N-ARY SUMMATION
 				return rune(0x2140), true
 				return rune(0x2140), true
-			case "oplus": 
-				// CIRCLED PLUS
+			case "oplus":                           // CIRCLED PLUS
 				return rune(0x2295), true
 				return rune(0x2295), true
-			case "orarr": 
-				// CLOCKWISE OPEN CIRCLE ARROW
-				return rune(0x21bb), true
-			case "or": 
-				// LOGICAL OR
+			case "or":                              // LOGICAL OR
 				return rune(0x2228), true
 				return rune(0x2228), true
-			case "orderof": 
-				// SCRIPT SMALL O
+			case "orarr":                           // CLOCKWISE OPEN CIRCLE ARROW
+				return rune(0x21bb), true
+			case "ord":                             // LOGICAL OR WITH HORIZONTAL DASH
+				return rune(0x2a5d), true
+			case "order":                           // SCRIPT SMALL O
 				return rune(0x2134), true
 				return rune(0x2134), true
-			case "order": 
-				// SCRIPT SMALL O
+			case "orderof":                         // SCRIPT SMALL O
 				return rune(0x2134), true
 				return rune(0x2134), true
-			case "ord": 
-				// LOGICAL OR WITH HORIZONTAL DASH
-				return rune(0x2a5d), true
-			case "ordf": 
-				// FEMININE ORDINAL INDICATOR
+			case "ordf":                            // FEMININE ORDINAL INDICATOR
 				return rune(0xaa), true
 				return rune(0xaa), true
-			case "ordm": 
-				// MASCULINE ORDINAL INDICATOR
+			case "ordm":                            // MASCULINE ORDINAL INDICATOR
 				return rune(0xba), true
 				return rune(0xba), true
-			case "origof": 
-				// ORIGINAL OF
+			case "origof":                          // ORIGINAL OF
 				return rune(0x22b6), true
 				return rune(0x22b6), true
-			case "oror": 
-				// TWO INTERSECTING LOGICAL OR
+			case "oror":                            // TWO INTERSECTING LOGICAL OR
 				return rune(0x2a56), true
 				return rune(0x2a56), true
-			case "orslope": 
-				// SLOPING LARGE OR
+			case "orslope":                         // SLOPING LARGE OR
 				return rune(0x2a57), true
 				return rune(0x2a57), true
-			case "orv": 
-				// LOGICAL OR WITH MIDDLE STEM
+			case "orv":                             // LOGICAL OR WITH MIDDLE STEM
 				return rune(0x2a5b), true
 				return rune(0x2a5b), true
-			case "oscr": 
-				// SCRIPT SMALL O
+			case "oscr":                            // SCRIPT SMALL O
 				return rune(0x2134), true
 				return rune(0x2134), true
-			case "oslash": 
-				// LATIN SMALL LETTER O WITH STROKE
+			case "oslash":                          // LATIN SMALL LETTER O WITH STROKE
 				return rune(0xf8), true
 				return rune(0xf8), true
-			case "osol": 
-				// CIRCLED DIVISION SLASH
+			case "osol":                            // CIRCLED DIVISION SLASH
 				return rune(0x2298), true
 				return rune(0x2298), true
-			case "otilde": 
-				// LATIN SMALL LETTER O WITH TILDE
+			case "otilde":                          // LATIN SMALL LETTER O WITH TILDE
 				return rune(0xf5), true
 				return rune(0xf5), true
-			case "otimes": 
-				// CIRCLED TIMES
+			case "otimes":                          // CIRCLED TIMES
 				return rune(0x2297), true
 				return rune(0x2297), true
-			case "otimesas": 
-				// CIRCLED MULTIPLICATION SIGN WITH CIRCUMFLEX ACCENT
+			case "otimesas":                        // CIRCLED MULTIPLICATION SIGN WITH CIRCUMFLEX ACCENT
 				return rune(0x2a36), true
 				return rune(0x2a36), true
-			case "ouml": 
-				// LATIN SMALL LETTER O WITH DIAERESIS
+			case "ouml":                            // LATIN SMALL LETTER O WITH DIAERESIS
 				return rune(0xf6), true
 				return rune(0xf6), true
-			case "ovbar": 
-				// APL FUNCTIONAL SYMBOL CIRCLE STILE
+			case "ovbar":                           // APL FUNCTIONAL SYMBOL CIRCLE STILE
 				return rune(0x233d), true
 				return rune(0x233d), true
-			case "ovrbrk": 
-				// TOP SQUARE BRACKET
+			case "ovrbrk":                          // TOP SQUARE BRACKET
 				return rune(0x23b4), true
 				return rune(0x23b4), true
-			case "ovrcub": 
-				// TOP CURLY BRACKET
+			case "ovrcub":                          // TOP CURLY BRACKET
 				return rune(0x23de), true
 				return rune(0x23de), true
-			case "ovrpar": 
-				// TOP PARENTHESIS
+			case "ovrpar":                          // TOP PARENTHESIS
 				return rune(0x23dc), true
 				return rune(0x23dc), true
-			case "oxuarr": 
-				// UP ARROW THROUGH CIRCLE
+			case "oxuarr":                          // UP ARROW THROUGH CIRCLE
 				return rune(0x29bd), true
 				return rune(0x29bd), true
 		}
 		}
 
 
 	case 'p':
 	case 'p':
 		switch name {
 		switch name {
-			case "part": 
-				// PARTIAL DIFFERENTIAL
-				return rune(0x2202), true
-			case "par": 
-				// PARALLEL TO
+			case "par":                             // PARALLEL TO
 				return rune(0x2225), true
 				return rune(0x2225), true
-			case "parallel": 
-				// PARALLEL TO
-				return rune(0x2225), true
-			case "para": 
-				// PILCROW SIGN
+			case "para":                            // PILCROW SIGN
 				return rune(0xb6), true
 				return rune(0xb6), true
-			case "parsim": 
-				// PARALLEL WITH TILDE OPERATOR
+			case "parallel":                        // PARALLEL TO
+				return rune(0x2225), true
+			case "parsim":                          // PARALLEL WITH TILDE OPERATOR
 				return rune(0x2af3), true
 				return rune(0x2af3), true
-			case "parsl": 
-				// DOUBLE SOLIDUS OPERATOR
+			case "parsl":                           // DOUBLE SOLIDUS OPERATOR
 				return rune(0x2afd), true
 				return rune(0x2afd), true
-			case "pcy": 
-				// CYRILLIC SMALL LETTER PE
+			case "part":                            // PARTIAL DIFFERENTIAL
+				return rune(0x2202), true
+			case "pcy":                             // CYRILLIC SMALL LETTER PE
 				return rune(0x043f), true
 				return rune(0x043f), true
-			case "percnt": 
-				// PERCENT SIGN
+			case "percnt":                          // PERCENT SIGN
 				return rune(0x25), true
 				return rune(0x25), true
-			case "period": 
-				// FULL STOP
+			case "period":                          // FULL STOP
 				return rune(0x2e), true
 				return rune(0x2e), true
-			case "permil": 
-				// PER MILLE SIGN
+			case "permil":                          // PER MILLE SIGN
 				return rune(0x2030), true
 				return rune(0x2030), true
-			case "perp": 
-				// UP TACK
+			case "perp":                            // UP TACK
 				return rune(0x22a5), true
 				return rune(0x22a5), true
-			case "pertenk": 
-				// PER TEN THOUSAND SIGN
+			case "pertenk":                         // PER TEN THOUSAND SIGN
 				return rune(0x2031), true
 				return rune(0x2031), true
-			case "pfr": 
-				// MATHEMATICAL FRAKTUR SMALL P
+			case "pfr":                             // MATHEMATICAL FRAKTUR SMALL P
 				return rune(0x01d52d), true
 				return rune(0x01d52d), true
-			case "pgr": 
-				// GREEK SMALL LETTER PI
+			case "pgr":                             // GREEK SMALL LETTER PI
 				return rune(0x03c0), true
 				return rune(0x03c0), true
-			case "phgr": 
-				// GREEK SMALL LETTER PHI
+			case "phgr":                            // GREEK SMALL LETTER PHI
+				return rune(0x03c6), true
+			case "phi":                             // GREEK SMALL LETTER PHI
 				return rune(0x03c6), true
 				return rune(0x03c6), true
-			case "phis": 
-				// GREEK PHI SYMBOL
+			case "phis":                            // GREEK PHI SYMBOL
 				return rune(0x03d5), true
 				return rune(0x03d5), true
-			case "phiv": 
-				// GREEK PHI SYMBOL
+			case "phiv":                            // GREEK PHI SYMBOL
 				return rune(0x03d5), true
 				return rune(0x03d5), true
-			case "phi": 
-				// GREEK SMALL LETTER PHI
-				return rune(0x03c6), true
-			case "phmmat": 
-				// SCRIPT CAPITAL M
+			case "phmmat":                          // SCRIPT CAPITAL M
 				return rune(0x2133), true
 				return rune(0x2133), true
-			case "phone": 
-				// BLACK TELEPHONE
+			case "phone":                           // BLACK TELEPHONE
 				return rune(0x260e), true
 				return rune(0x260e), true
-			case "pitchfork": 
-				// PITCHFORK
+			case "pi":                              // GREEK SMALL LETTER PI
+				return rune(0x03c0), true
+			case "pitchfork":                       // PITCHFORK
 				return rune(0x22d4), true
 				return rune(0x22d4), true
-			case "piv": 
-				// GREEK PI SYMBOL
+			case "piv":                             // GREEK PI SYMBOL
 				return rune(0x03d6), true
 				return rune(0x03d6), true
-			case "pi": 
-				// GREEK SMALL LETTER PI
-				return rune(0x03c0), true
-			case "planck": 
-				// PLANCK CONSTANT OVER TWO PI
+			case "planck":                          // PLANCK CONSTANT OVER TWO PI
 				return rune(0x210f), true
 				return rune(0x210f), true
-			case "planckh": 
-				// PLANCK CONSTANT
+			case "planckh":                         // PLANCK CONSTANT
 				return rune(0x210e), true
 				return rune(0x210e), true
-			case "plankv": 
-				// PLANCK CONSTANT OVER TWO PI
+			case "plankv":                          // PLANCK CONSTANT OVER TWO PI
 				return rune(0x210f), true
 				return rune(0x210f), true
-			case "plusacir": 
-				// PLUS SIGN WITH CIRCUMFLEX ACCENT ABOVE
+			case "plus":                            // PLUS SIGN
+				return rune(0x2b), true
+			case "plusacir":                        // PLUS SIGN WITH CIRCUMFLEX ACCENT ABOVE
 				return rune(0x2a23), true
 				return rune(0x2a23), true
-			case "plusb": 
-				// SQUARED PLUS
+			case "plusb":                           // SQUARED PLUS
 				return rune(0x229e), true
 				return rune(0x229e), true
-			case "pluscir": 
-				// PLUS SIGN WITH SMALL CIRCLE ABOVE
+			case "pluscir":                         // PLUS SIGN WITH SMALL CIRCLE ABOVE
 				return rune(0x2a22), true
 				return rune(0x2a22), true
-			case "plusdo": 
-				// DOT PLUS
+			case "plusdo":                          // DOT PLUS
 				return rune(0x2214), true
 				return rune(0x2214), true
-			case "plusdu": 
-				// PLUS SIGN WITH DOT BELOW
+			case "plusdu":                          // PLUS SIGN WITH DOT BELOW
 				return rune(0x2a25), true
 				return rune(0x2a25), true
-			case "pluse": 
-				// PLUS SIGN ABOVE EQUALS SIGN
+			case "pluse":                           // PLUS SIGN ABOVE EQUALS SIGN
 				return rune(0x2a72), true
 				return rune(0x2a72), true
-			case "plusmn": 
-				// PLUS-MINUS SIGN
+			case "plusmn":                          // PLUS-MINUS SIGN
 				return rune(0xb1), true
 				return rune(0xb1), true
-			case "plussim": 
-				// PLUS SIGN WITH TILDE BELOW
+			case "plussim":                         // PLUS SIGN WITH TILDE BELOW
 				return rune(0x2a26), true
 				return rune(0x2a26), true
-			case "plustrif": 
-				// PLUS SIGN WITH BLACK TRIANGLE
+			case "plustrif":                        // PLUS SIGN WITH BLACK TRIANGLE
 				return rune(0x2a28), true
 				return rune(0x2a28), true
-			case "plustwo": 
-				// PLUS SIGN WITH SUBSCRIPT TWO
+			case "plustwo":                         // PLUS SIGN WITH SUBSCRIPT TWO
 				return rune(0x2a27), true
 				return rune(0x2a27), true
-			case "plus": 
-				// PLUS SIGN
-				return rune(0x2b), true
-			case "pm": 
-				// PLUS-MINUS SIGN
+			case "pm":                              // PLUS-MINUS SIGN
 				return rune(0xb1), true
 				return rune(0xb1), true
-			case "pointint": 
-				// INTEGRAL AROUND A POINT OPERATOR
+			case "pointint":                        // INTEGRAL AROUND A POINT OPERATOR
 				return rune(0x2a15), true
 				return rune(0x2a15), true
-			case "popf": 
-				// MATHEMATICAL DOUBLE-STRUCK SMALL P
+			case "popf":                            // MATHEMATICAL DOUBLE-STRUCK SMALL P
 				return rune(0x01d561), true
 				return rune(0x01d561), true
-			case "pound": 
-				// POUND SIGN
+			case "pound":                           // POUND SIGN
 				return rune(0xa3), true
 				return rune(0xa3), true
-			case "prod": 
-				// N-ARY PRODUCT
-				return rune(0x220f), true
-			case "prop": 
-				// PROPORTIONAL TO
-				return rune(0x221d), true
-			case "propto": 
-				// PROPORTIONAL TO
-				return rune(0x221d), true
-			case "pr": 
-				// PRECEDES
+			case "pr":                              // PRECEDES
 				return rune(0x227a), true
 				return rune(0x227a), true
-			case "prE": 
-				// PRECEDES ABOVE EQUALS SIGN
+			case "prE":                             // PRECEDES ABOVE EQUALS SIGN
 				return rune(0x2ab3), true
 				return rune(0x2ab3), true
-			case "prap": 
-				// PRECEDES ABOVE ALMOST EQUAL TO
+			case "prap":                            // PRECEDES ABOVE ALMOST EQUAL TO
 				return rune(0x2ab7), true
 				return rune(0x2ab7), true
-			case "prcue": 
-				// PRECEDES OR EQUAL TO
-				return rune(0x227c), true
-			case "prec": 
-				// PRECEDES
-				return rune(0x227a), true
-			case "preccurlyeq": 
-				// PRECEDES OR EQUAL TO
+			case "prcue":                           // PRECEDES OR EQUAL TO
 				return rune(0x227c), true
 				return rune(0x227c), true
-			case "precnsim": 
-				// PRECEDES BUT NOT EQUIVALENT TO
-				return rune(0x22e8), true
-			case "precsim": 
-				// PRECEDES OR EQUIVALENT TO
-				return rune(0x227e), true
-			case "pre": 
-				// PRECEDES ABOVE SINGLE-LINE EQUALS SIGN
+			case "pre":                             // PRECEDES ABOVE SINGLE-LINE EQUALS SIGN
 				return rune(0x2aaf), true
 				return rune(0x2aaf), true
-			case "precapprox": 
-				// PRECEDES ABOVE ALMOST EQUAL TO
+			case "prec":                            // PRECEDES
+				return rune(0x227a), true
+			case "precapprox":                      // PRECEDES ABOVE ALMOST EQUAL TO
 				return rune(0x2ab7), true
 				return rune(0x2ab7), true
-			case "preceq": 
-				// PRECEDES ABOVE SINGLE-LINE EQUALS SIGN
+			case "preccurlyeq":                     // PRECEDES OR EQUAL TO
+				return rune(0x227c), true
+			case "preceq":                          // PRECEDES ABOVE SINGLE-LINE EQUALS SIGN
 				return rune(0x2aaf), true
 				return rune(0x2aaf), true
-			case "precnapprox": 
-				// PRECEDES ABOVE NOT ALMOST EQUAL TO
+			case "precnapprox":                     // PRECEDES ABOVE NOT ALMOST EQUAL TO
 				return rune(0x2ab9), true
 				return rune(0x2ab9), true
-			case "precneqq": 
-				// PRECEDES ABOVE NOT EQUAL TO
+			case "precneqq":                        // PRECEDES ABOVE NOT EQUAL TO
 				return rune(0x2ab5), true
 				return rune(0x2ab5), true
-			case "primes": 
-				// DOUBLE-STRUCK CAPITAL P
-				return rune(0x2119), true
-			case "prime": 
-				// PRIME
+			case "precnsim":                        // PRECEDES BUT NOT EQUIVALENT TO
+				return rune(0x22e8), true
+			case "precsim":                         // PRECEDES OR EQUIVALENT TO
+				return rune(0x227e), true
+			case "prime":                           // PRIME
 				return rune(0x2032), true
 				return rune(0x2032), true
-			case "prnE": 
-				// PRECEDES ABOVE NOT EQUAL TO
+			case "primes":                          // DOUBLE-STRUCK CAPITAL P
+				return rune(0x2119), true
+			case "prnE":                            // PRECEDES ABOVE NOT EQUAL TO
 				return rune(0x2ab5), true
 				return rune(0x2ab5), true
-			case "prnap": 
-				// PRECEDES ABOVE NOT ALMOST EQUAL TO
+			case "prnap":                           // PRECEDES ABOVE NOT ALMOST EQUAL TO
 				return rune(0x2ab9), true
 				return rune(0x2ab9), true
-			case "prnsim": 
-				// PRECEDES BUT NOT EQUIVALENT TO
+			case "prnsim":                          // PRECEDES BUT NOT EQUIVALENT TO
 				return rune(0x22e8), true
 				return rune(0x22e8), true
-			case "profalar": 
-				// ALL AROUND-PROFILE
+			case "prod":                            // N-ARY PRODUCT
+				return rune(0x220f), true
+			case "profalar":                        // ALL AROUND-PROFILE
 				return rune(0x232e), true
 				return rune(0x232e), true
-			case "profline": 
-				// ARC
+			case "profline":                        // ARC
 				return rune(0x2312), true
 				return rune(0x2312), true
-			case "profsurf": 
-				// SEGMENT
+			case "profsurf":                        // SEGMENT
 				return rune(0x2313), true
 				return rune(0x2313), true
-			case "prsim": 
-				// PRECEDES OR EQUIVALENT TO
+			case "prop":                            // PROPORTIONAL TO
+				return rune(0x221d), true
+			case "propto":                          // PROPORTIONAL TO
+				return rune(0x221d), true
+			case "prsim":                           // PRECEDES OR EQUIVALENT TO
 				return rune(0x227e), true
 				return rune(0x227e), true
-			case "prurel": 
-				// PRECEDES UNDER RELATION
+			case "prurel":                          // PRECEDES UNDER RELATION
 				return rune(0x22b0), true
 				return rune(0x22b0), true
-			case "pscr": 
-				// MATHEMATICAL SCRIPT SMALL P
+			case "pscr":                            // MATHEMATICAL SCRIPT SMALL P
 				return rune(0x01d4c5), true
 				return rune(0x01d4c5), true
-			case "psgr": 
-				// GREEK SMALL LETTER PSI
+			case "psgr":                            // GREEK SMALL LETTER PSI
 				return rune(0x03c8), true
 				return rune(0x03c8), true
-			case "psi": 
-				// GREEK SMALL LETTER PSI
+			case "psi":                             // GREEK SMALL LETTER PSI
 				return rune(0x03c8), true
 				return rune(0x03c8), true
-			case "puncsp": 
-				// PUNCTUATION SPACE
+			case "puncsp":                          // PUNCTUATION SPACE
 				return rune(0x2008), true
 				return rune(0x2008), true
 		}
 		}
 
 
 	case 'q':
 	case 'q':
 		switch name {
 		switch name {
-			case "qfr": 
-				// MATHEMATICAL FRAKTUR SMALL Q
+			case "qfr":                             // MATHEMATICAL FRAKTUR SMALL Q
 				return rune(0x01d52e), true
 				return rune(0x01d52e), true
-			case "qint": 
-				// QUADRUPLE INTEGRAL OPERATOR
+			case "qint":                            // QUADRUPLE INTEGRAL OPERATOR
 				return rune(0x2a0c), true
 				return rune(0x2a0c), true
-			case "qopf": 
-				// MATHEMATICAL DOUBLE-STRUCK SMALL Q
+			case "qopf":                            // MATHEMATICAL DOUBLE-STRUCK SMALL Q
 				return rune(0x01d562), true
 				return rune(0x01d562), true
-			case "qprime": 
-				// QUADRUPLE PRIME
+			case "qprime":                          // QUADRUPLE PRIME
 				return rune(0x2057), true
 				return rune(0x2057), true
-			case "qscr": 
-				// MATHEMATICAL SCRIPT SMALL Q
+			case "qscr":                            // MATHEMATICAL SCRIPT SMALL Q
 				return rune(0x01d4c6), true
 				return rune(0x01d4c6), true
-			case "quaternions": 
-				// DOUBLE-STRUCK CAPITAL H
+			case "quaternions":                     // DOUBLE-STRUCK CAPITAL H
 				return rune(0x210d), true
 				return rune(0x210d), true
-			case "quatint": 
-				// QUATERNION INTEGRAL OPERATOR
+			case "quatint":                         // QUATERNION INTEGRAL OPERATOR
 				return rune(0x2a16), true
 				return rune(0x2a16), true
-			case "questeq": 
-				// QUESTIONED EQUAL TO
-				return rune(0x225f), true
-			case "quest": 
-				// QUESTION MARK
+			case "quest":                           // QUESTION MARK
 				return rune(0x3f), true
 				return rune(0x3f), true
-			case "quot": 
-				// QUOTATION MARK
+			case "questeq":                         // QUESTIONED EQUAL TO
+				return rune(0x225f), true
+			case "quot":                            // QUOTATION MARK
 				return rune(0x22), true
 				return rune(0x22), true
 		}
 		}
 
 
 	case 'r':
 	case 'r':
 		switch name {
 		switch name {
-			case "rAarr": 
-				// RIGHTWARDS TRIPLE ARROW
+			case "rAarr":                           // RIGHTWARDS TRIPLE ARROW
 				return rune(0x21db), true
 				return rune(0x21db), true
-			case "rArr": 
-				// RIGHTWARDS DOUBLE ARROW
+			case "rArr":                            // RIGHTWARDS DOUBLE ARROW
 				return rune(0x21d2), true
 				return rune(0x21d2), true
-			case "rAtail": 
-				// RIGHTWARDS DOUBLE ARROW-TAIL
+			case "rAtail":                          // RIGHTWARDS DOUBLE ARROW-TAIL
 				return rune(0x291c), true
 				return rune(0x291c), true
-			case "rBarr": 
-				// RIGHTWARDS TRIPLE DASH ARROW
+			case "rBarr":                           // RIGHTWARDS TRIPLE DASH ARROW
 				return rune(0x290f), true
 				return rune(0x290f), true
-			case "rHar": 
-				// RIGHTWARDS HARPOON WITH BARB UP ABOVE RIGHTWARDS HARPOON WITH BARB DOWN
+			case "rHar":                            // RIGHTWARDS HARPOON WITH BARB UP ABOVE RIGHTWARDS HARPOON WITH BARB DOWN
 				return rune(0x2964), true
 				return rune(0x2964), true
-			case "race": 
-				// REVERSED TILDE with underline
+			case "race":                            // REVERSED TILDE with underline
 				return rune(0x223d), true
 				return rune(0x223d), true
-			case "racute": 
-				// LATIN SMALL LETTER R WITH ACUTE
+			case "racute":                          // LATIN SMALL LETTER R WITH ACUTE
 				return rune(0x0155), true
 				return rune(0x0155), true
-			case "radic": 
-				// SQUARE ROOT
+			case "radic":                           // SQUARE ROOT
 				return rune(0x221a), true
 				return rune(0x221a), true
-			case "raemptyv": 
-				// EMPTY SET WITH RIGHT ARROW ABOVE
+			case "raemptyv":                        // EMPTY SET WITH RIGHT ARROW ABOVE
 				return rune(0x29b3), true
 				return rune(0x29b3), true
-			case "rang": 
-				// MATHEMATICAL RIGHT ANGLE BRACKET
+			case "rang":                            // MATHEMATICAL RIGHT ANGLE BRACKET
 				return rune(0x27e9), true
 				return rune(0x27e9), true
-			case "rangd": 
-				// RIGHT ANGLE BRACKET WITH DOT
+			case "rangd":                           // RIGHT ANGLE BRACKET WITH DOT
 				return rune(0x2992), true
 				return rune(0x2992), true
-			case "range": 
-				// REVERSED ANGLE WITH UNDERBAR
+			case "range":                           // REVERSED ANGLE WITH UNDERBAR
 				return rune(0x29a5), true
 				return rune(0x29a5), true
-			case "rangle": 
-				// MATHEMATICAL RIGHT ANGLE BRACKET
+			case "rangle":                          // MATHEMATICAL RIGHT ANGLE BRACKET
 				return rune(0x27e9), true
 				return rune(0x27e9), true
-			case "raquo": 
-				// RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+			case "raquo":                           // RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
 				return rune(0xbb), true
 				return rune(0xbb), true
-			case "rarr2": 
-				// RIGHTWARDS PAIRED ARROWS
+			case "rarr":                            // RIGHTWARDS ARROW
+				return rune(0x2192), true
+			case "rarr2":                           // RIGHTWARDS PAIRED ARROWS
 				return rune(0x21c9), true
 				return rune(0x21c9), true
-			case "rarr3": 
-				// THREE RIGHTWARDS ARROWS
+			case "rarr3":                           // THREE RIGHTWARDS ARROWS
 				return rune(0x21f6), true
 				return rune(0x21f6), true
-			case "rarrb": 
-				// RIGHTWARDS ARROW TO BAR
-				return rune(0x21e5), true
-			case "rarrhk": 
-				// RIGHTWARDS ARROW WITH HOOK
-				return rune(0x21aa), true
-			case "rarrlp": 
-				// RIGHTWARDS ARROW WITH LOOP
-				return rune(0x21ac), true
-			case "rarrtl": 
-				// RIGHTWARDS ARROW WITH TAIL
-				return rune(0x21a3), true
-			case "rarrw": 
-				// RIGHTWARDS WAVE ARROW
-				return rune(0x219d), true
-			case "rarr": 
-				// RIGHTWARDS ARROW
-				return rune(0x2192), true
-			case "rarrap": 
-				// RIGHTWARDS ARROW ABOVE ALMOST EQUAL TO
+			case "rarrap":                          // RIGHTWARDS ARROW ABOVE ALMOST EQUAL TO
 				return rune(0x2975), true
 				return rune(0x2975), true
-			case "rarrbfs": 
-				// RIGHTWARDS ARROW FROM BAR TO BLACK DIAMOND
+			case "rarrb":                           // RIGHTWARDS ARROW TO BAR
+				return rune(0x21e5), true
+			case "rarrbfs":                         // RIGHTWARDS ARROW FROM BAR TO BLACK DIAMOND
 				return rune(0x2920), true
 				return rune(0x2920), true
-			case "rarrc": 
-				// WAVE ARROW POINTING DIRECTLY RIGHT
+			case "rarrc":                           // WAVE ARROW POINTING DIRECTLY RIGHT
 				return rune(0x2933), true
 				return rune(0x2933), true
-			case "rarrfs": 
-				// RIGHTWARDS ARROW TO BLACK DIAMOND
+			case "rarrfs":                          // RIGHTWARDS ARROW TO BLACK DIAMOND
 				return rune(0x291e), true
 				return rune(0x291e), true
-			case "rarrpl": 
-				// RIGHTWARDS ARROW WITH PLUS BELOW
+			case "rarrhk":                          // RIGHTWARDS ARROW WITH HOOK
+				return rune(0x21aa), true
+			case "rarrlp":                          // RIGHTWARDS ARROW WITH LOOP
+				return rune(0x21ac), true
+			case "rarrpl":                          // RIGHTWARDS ARROW WITH PLUS BELOW
 				return rune(0x2945), true
 				return rune(0x2945), true
-			case "rarrsim": 
-				// RIGHTWARDS ARROW ABOVE TILDE OPERATOR
+			case "rarrsim":                         // RIGHTWARDS ARROW ABOVE TILDE OPERATOR
 				return rune(0x2974), true
 				return rune(0x2974), true
-			case "rarrx": 
-				// RIGHTWARDS ARROW THROUGH X
+			case "rarrtl":                          // RIGHTWARDS ARROW WITH TAIL
+				return rune(0x21a3), true
+			case "rarrw":                           // RIGHTWARDS WAVE ARROW
+				return rune(0x219d), true
+			case "rarrx":                           // RIGHTWARDS ARROW THROUGH X
 				return rune(0x2947), true
 				return rune(0x2947), true
-			case "ratail": 
-				// RIGHTWARDS ARROW-TAIL
+			case "ratail":                          // RIGHTWARDS ARROW-TAIL
 				return rune(0x291a), true
 				return rune(0x291a), true
-			case "ratio": 
-				// RATIO
+			case "ratio":                           // RATIO
 				return rune(0x2236), true
 				return rune(0x2236), true
-			case "rationals": 
-				// DOUBLE-STRUCK CAPITAL Q
+			case "rationals":                       // DOUBLE-STRUCK CAPITAL Q
 				return rune(0x211a), true
 				return rune(0x211a), true
-			case "rbarr": 
-				// RIGHTWARDS DOUBLE DASH ARROW
+			case "rbarr":                           // RIGHTWARDS DOUBLE DASH ARROW
 				return rune(0x290d), true
 				return rune(0x290d), true
-			case "rbbrk": 
-				// LIGHT RIGHT TORTOISE SHELL BRACKET ORNAMENT
+			case "rbbrk":                           // LIGHT RIGHT TORTOISE SHELL BRACKET ORNAMENT
 				return rune(0x2773), true
 				return rune(0x2773), true
-			case "rbrace": 
-				// RIGHT CURLY BRACKET
+			case "rbrace":                          // RIGHT CURLY BRACKET
 				return rune(0x7d), true
 				return rune(0x7d), true
-			case "rbrack": 
-				// RIGHT SQUARE BRACKET
+			case "rbrack":                          // RIGHT SQUARE BRACKET
 				return rune(0x5d), true
 				return rune(0x5d), true
-			case "rbrke": 
-				// RIGHT SQUARE BRACKET WITH UNDERBAR
+			case "rbrke":                           // RIGHT SQUARE BRACKET WITH UNDERBAR
 				return rune(0x298c), true
 				return rune(0x298c), true
-			case "rbrksld": 
-				// RIGHT SQUARE BRACKET WITH TICK IN BOTTOM CORNER
+			case "rbrksld":                         // RIGHT SQUARE BRACKET WITH TICK IN BOTTOM CORNER
 				return rune(0x298e), true
 				return rune(0x298e), true
-			case "rbrkslu": 
-				// RIGHT SQUARE BRACKET WITH TICK IN TOP CORNER
+			case "rbrkslu":                         // RIGHT SQUARE BRACKET WITH TICK IN TOP CORNER
 				return rune(0x2990), true
 				return rune(0x2990), true
-			case "rcaron": 
-				// LATIN SMALL LETTER R WITH CARON
+			case "rcaron":                          // LATIN SMALL LETTER R WITH CARON
 				return rune(0x0159), true
 				return rune(0x0159), true
-			case "rcedil": 
-				// LATIN SMALL LETTER R WITH CEDILLA
+			case "rcedil":                          // LATIN SMALL LETTER R WITH CEDILLA
 				return rune(0x0157), true
 				return rune(0x0157), true
-			case "rceil": 
-				// RIGHT CEILING
+			case "rceil":                           // RIGHT CEILING
 				return rune(0x2309), true
 				return rune(0x2309), true
-			case "rcub": 
-				// RIGHT CURLY BRACKET
+			case "rcub":                            // RIGHT CURLY BRACKET
 				return rune(0x7d), true
 				return rune(0x7d), true
-			case "rcy": 
-				// CYRILLIC SMALL LETTER ER
+			case "rcy":                             // CYRILLIC SMALL LETTER ER
 				return rune(0x0440), true
 				return rune(0x0440), true
-			case "rdca": 
-				// ARROW POINTING DOWNWARDS THEN CURVING RIGHTWARDS
+			case "rdca":                            // ARROW POINTING DOWNWARDS THEN CURVING RIGHTWARDS
 				return rune(0x2937), true
 				return rune(0x2937), true
-			case "rdharb": 
-				// RIGHTWARDS HARPOON WITH BARB DOWN TO BAR
+			case "rdharb":                          // RIGHTWARDS HARPOON WITH BARB DOWN TO BAR
 				return rune(0x2957), true
 				return rune(0x2957), true
-			case "rdiag": 
-				// BOX DRAWINGS LIGHT DIAGONAL UPPER RIGHT TO LOWER LEFT
+			case "rdiag":                           // BOX DRAWINGS LIGHT DIAGONAL UPPER RIGHT TO LOWER LEFT
 				return rune(0x2571), true
 				return rune(0x2571), true
-			case "rdiofdi": 
-				// RISING DIAGONAL CROSSING FALLING DIAGONAL
+			case "rdiofdi":                         // RISING DIAGONAL CROSSING FALLING DIAGONAL
 				return rune(0x292b), true
 				return rune(0x292b), true
-			case "rdldhar": 
-				// RIGHTWARDS HARPOON WITH BARB DOWN ABOVE LEFTWARDS HARPOON WITH BARB DOWN
+			case "rdldhar":                         // RIGHTWARDS HARPOON WITH BARB DOWN ABOVE LEFTWARDS HARPOON WITH BARB DOWN
 				return rune(0x2969), true
 				return rune(0x2969), true
-			case "rdosearr": 
-				// RISING DIAGONAL CROSSING SOUTH EAST ARROW
+			case "rdosearr":                        // RISING DIAGONAL CROSSING SOUTH EAST ARROW
 				return rune(0x2930), true
 				return rune(0x2930), true
-			case "rdquor": 
-				// RIGHT DOUBLE QUOTATION MARK
+			case "rdquo":                           // RIGHT DOUBLE QUOTATION MARK
 				return rune(0x201d), true
 				return rune(0x201d), true
-			case "rdquo": 
-				// RIGHT DOUBLE QUOTATION MARK
+			case "rdquor":                          // RIGHT DOUBLE QUOTATION MARK
 				return rune(0x201d), true
 				return rune(0x201d), true
-			case "rdsh": 
-				// DOWNWARDS ARROW WITH TIP RIGHTWARDS
+			case "rdsh":                            // DOWNWARDS ARROW WITH TIP RIGHTWARDS
 				return rune(0x21b3), true
 				return rune(0x21b3), true
-			case "realpart": 
-				// BLACK-LETTER CAPITAL R
+			case "real":                            // BLACK-LETTER CAPITAL R
 				return rune(0x211c), true
 				return rune(0x211c), true
-			case "reals": 
-				// DOUBLE-STRUCK CAPITAL R
-				return rune(0x211d), true
-			case "real": 
-				// BLACK-LETTER CAPITAL R
-				return rune(0x211c), true
-			case "realine": 
-				// SCRIPT CAPITAL R
+			case "realine":                         // SCRIPT CAPITAL R
 				return rune(0x211b), true
 				return rune(0x211b), true
-			case "rect": 
-				// WHITE RECTANGLE
+			case "realpart":                        // BLACK-LETTER CAPITAL R
+				return rune(0x211c), true
+			case "reals":                           // DOUBLE-STRUCK CAPITAL R
+				return rune(0x211d), true
+			case "rect":                            // WHITE RECTANGLE
 				return rune(0x25ad), true
 				return rune(0x25ad), true
-			case "reg": 
-				// REGISTERED SIGN
+			case "reg":                             // REGISTERED SIGN
 				return rune(0xae), true
 				return rune(0xae), true
-			case "rfbowtie": 
-				// BOWTIE WITH RIGHT HALF BLACK
+			case "rfbowtie":                        // BOWTIE WITH RIGHT HALF BLACK
 				return rune(0x29d2), true
 				return rune(0x29d2), true
-			case "rfisht": 
-				// RIGHT FISH TAIL
+			case "rfisht":                          // RIGHT FISH TAIL
 				return rune(0x297d), true
 				return rune(0x297d), true
-			case "rfloor": 
-				// RIGHT FLOOR
+			case "rfloor":                          // RIGHT FLOOR
 				return rune(0x230b), true
 				return rune(0x230b), true
-			case "rfr": 
-				// MATHEMATICAL FRAKTUR SMALL R
+			case "rfr":                             // MATHEMATICAL FRAKTUR SMALL R
 				return rune(0x01d52f), true
 				return rune(0x01d52f), true
-			case "rftimes": 
-				// TIMES WITH RIGHT HALF BLACK
+			case "rftimes":                         // TIMES WITH RIGHT HALF BLACK
 				return rune(0x29d5), true
 				return rune(0x29d5), true
-			case "rgr": 
-				// GREEK SMALL LETTER RHO
+			case "rgr":                             // GREEK SMALL LETTER RHO
 				return rune(0x03c1), true
 				return rune(0x03c1), true
-			case "rhard": 
-				// RIGHTWARDS HARPOON WITH BARB DOWNWARDS
+			case "rhard":                           // RIGHTWARDS HARPOON WITH BARB DOWNWARDS
 				return rune(0x21c1), true
 				return rune(0x21c1), true
-			case "rharu": 
-				// RIGHTWARDS HARPOON WITH BARB UPWARDS
+			case "rharu":                           // RIGHTWARDS HARPOON WITH BARB UPWARDS
 				return rune(0x21c0), true
 				return rune(0x21c0), true
-			case "rharul": 
-				// RIGHTWARDS HARPOON WITH BARB UP ABOVE LONG DASH
+			case "rharul":                          // RIGHTWARDS HARPOON WITH BARB UP ABOVE LONG DASH
 				return rune(0x296c), true
 				return rune(0x296c), true
-			case "rhov": 
-				// GREEK RHO SYMBOL
-				return rune(0x03f1), true
-			case "rho": 
-				// GREEK SMALL LETTER RHO
+			case "rho":                             // GREEK SMALL LETTER RHO
 				return rune(0x03c1), true
 				return rune(0x03c1), true
-			case "rightarrowtail": 
-				// RIGHTWARDS ARROW WITH TAIL
-				return rune(0x21a3), true
-			case "rightarrow": 
-				// RIGHTWARDS ARROW
+			case "rhov":                            // GREEK RHO SYMBOL
+				return rune(0x03f1), true
+			case "rightarrow":                      // RIGHTWARDS ARROW
 				return rune(0x2192), true
 				return rune(0x2192), true
-			case "rightharpoondown": 
-				// RIGHTWARDS HARPOON WITH BARB DOWNWARDS
+			case "rightarrowtail":                  // RIGHTWARDS ARROW WITH TAIL
+				return rune(0x21a3), true
+			case "rightharpoondown":                // RIGHTWARDS HARPOON WITH BARB DOWNWARDS
 				return rune(0x21c1), true
 				return rune(0x21c1), true
-			case "rightharpoonup": 
-				// RIGHTWARDS HARPOON WITH BARB UPWARDS
+			case "rightharpoonup":                  // RIGHTWARDS HARPOON WITH BARB UPWARDS
 				return rune(0x21c0), true
 				return rune(0x21c0), true
-			case "rightleftarrows": 
-				// RIGHTWARDS ARROW OVER LEFTWARDS ARROW
+			case "rightleftarrows":                 // RIGHTWARDS ARROW OVER LEFTWARDS ARROW
 				return rune(0x21c4), true
 				return rune(0x21c4), true
-			case "rightleftharpoons": 
-				// RIGHTWARDS HARPOON OVER LEFTWARDS HARPOON
+			case "rightleftharpoons":               // RIGHTWARDS HARPOON OVER LEFTWARDS HARPOON
 				return rune(0x21cc), true
 				return rune(0x21cc), true
-			case "rightrightarrows": 
-				// RIGHTWARDS PAIRED ARROWS
+			case "rightrightarrows":                // RIGHTWARDS PAIRED ARROWS
 				return rune(0x21c9), true
 				return rune(0x21c9), true
-			case "rightsquigarrow": 
-				// RIGHTWARDS WAVE ARROW
+			case "rightsquigarrow":                 // RIGHTWARDS WAVE ARROW
 				return rune(0x219d), true
 				return rune(0x219d), true
-			case "rightthreetimes": 
-				// RIGHT SEMIDIRECT PRODUCT
+			case "rightthreetimes":                 // RIGHT SEMIDIRECT PRODUCT
 				return rune(0x22cc), true
 				return rune(0x22cc), true
-			case "rimply": 
-				// RIGHT DOUBLE ARROW WITH ROUNDED HEAD
+			case "rimply":                          // RIGHT DOUBLE ARROW WITH ROUNDED HEAD
 				return rune(0x2970), true
 				return rune(0x2970), true
-			case "ring": 
-				// RING ABOVE
+			case "ring":                            // RING ABOVE
 				return rune(0x02da), true
 				return rune(0x02da), true
-			case "risingdotseq": 
-				// IMAGE OF OR APPROXIMATELY EQUAL TO
+			case "risingdotseq":                    // IMAGE OF OR APPROXIMATELY EQUAL TO
 				return rune(0x2253), true
 				return rune(0x2253), true
-			case "rlarr2": 
-				// RIGHTWARDS ARROW OVER LEFTWARDS ARROW
+			case "rlarr":                           // RIGHTWARDS ARROW OVER LEFTWARDS ARROW
 				return rune(0x21c4), true
 				return rune(0x21c4), true
-			case "rlarr": 
-				// RIGHTWARDS ARROW OVER LEFTWARDS ARROW
+			case "rlarr2":                          // RIGHTWARDS ARROW OVER LEFTWARDS ARROW
 				return rune(0x21c4), true
 				return rune(0x21c4), true
-			case "rlhar": 
-				// RIGHTWARDS HARPOON OVER LEFTWARDS HARPOON
+			case "rlhar":                           // RIGHTWARDS HARPOON OVER LEFTWARDS HARPOON
 				return rune(0x21cc), true
 				return rune(0x21cc), true
-			case "rlhar2": 
-				// RIGHTWARDS HARPOON OVER LEFTWARDS HARPOON
+			case "rlhar2":                          // RIGHTWARDS HARPOON OVER LEFTWARDS HARPOON
 				return rune(0x21cc), true
 				return rune(0x21cc), true
-			case "rlm": 
-				// RIGHT-TO-LEFT MARK
+			case "rlm":                             // RIGHT-TO-LEFT MARK
 				return rune(0x200f), true
 				return rune(0x200f), true
-			case "rmoust": 
-				// UPPER RIGHT OR LOWER LEFT CURLY BRACKET SECTION
+			case "rmoust":                          // UPPER RIGHT OR LOWER LEFT CURLY BRACKET SECTION
 				return rune(0x23b1), true
 				return rune(0x23b1), true
-			case "rmoustache": 
-				// UPPER RIGHT OR LOWER LEFT CURLY BRACKET SECTION
+			case "rmoustache":                      // UPPER RIGHT OR LOWER LEFT CURLY BRACKET SECTION
 				return rune(0x23b1), true
 				return rune(0x23b1), true
-			case "rnmid": 
-				// DOES NOT DIVIDE WITH REVERSED NEGATION SLASH
+			case "rnmid":                           // DOES NOT DIVIDE WITH REVERSED NEGATION SLASH
 				return rune(0x2aee), true
 				return rune(0x2aee), true
-			case "roang": 
-				// MATHEMATICAL RIGHT WHITE TORTOISE SHELL BRACKET
+			case "roang":                           // MATHEMATICAL RIGHT WHITE TORTOISE SHELL BRACKET
 				return rune(0x27ed), true
 				return rune(0x27ed), true
-			case "roarr": 
-				// RIGHTWARDS OPEN-HEADED ARROW
+			case "roarr":                           // RIGHTWARDS OPEN-HEADED ARROW
 				return rune(0x21fe), true
 				return rune(0x21fe), true
-			case "robrk": 
-				// MATHEMATICAL RIGHT WHITE SQUARE BRACKET
+			case "robrk":                           // MATHEMATICAL RIGHT WHITE SQUARE BRACKET
 				return rune(0x27e7), true
 				return rune(0x27e7), true
-			case "rocub": 
-				// RIGHT WHITE CURLY BRACKET
+			case "rocub":                           // RIGHT WHITE CURLY BRACKET
 				return rune(0x2984), true
 				return rune(0x2984), true
-			case "ropar": 
-				// RIGHT WHITE PARENTHESIS
+			case "ropar":                           // RIGHT WHITE PARENTHESIS
 				return rune(0x2986), true
 				return rune(0x2986), true
-			case "ropf": 
-				// MATHEMATICAL DOUBLE-STRUCK SMALL R
+			case "ropf":                            // MATHEMATICAL DOUBLE-STRUCK SMALL R
 				return rune(0x01d563), true
 				return rune(0x01d563), true
-			case "roplus": 
-				// PLUS SIGN IN RIGHT HALF CIRCLE
+			case "roplus":                          // PLUS SIGN IN RIGHT HALF CIRCLE
 				return rune(0x2a2e), true
 				return rune(0x2a2e), true
-			case "rotimes": 
-				// MULTIPLICATION SIGN IN RIGHT HALF CIRCLE
+			case "rotimes":                         // MULTIPLICATION SIGN IN RIGHT HALF CIRCLE
 				return rune(0x2a35), true
 				return rune(0x2a35), true
-			case "rpargt": 
-				// RIGHT ARC GREATER-THAN BRACKET
-				return rune(0x2994), true
-			case "rpar": 
-				// RIGHT PARENTHESIS
+			case "rpar":                            // RIGHT PARENTHESIS
 				return rune(0x29), true
 				return rune(0x29), true
-			case "rppolint": 
-				// LINE INTEGRATION WITH RECTANGULAR PATH AROUND POLE
+			case "rpargt":                          // RIGHT ARC GREATER-THAN BRACKET
+				return rune(0x2994), true
+			case "rppolint":                        // LINE INTEGRATION WITH RECTANGULAR PATH AROUND POLE
 				return rune(0x2a12), true
 				return rune(0x2a12), true
-			case "rrarr": 
-				// RIGHTWARDS PAIRED ARROWS
+			case "rrarr":                           // RIGHTWARDS PAIRED ARROWS
 				return rune(0x21c9), true
 				return rune(0x21c9), true
-			case "rsaquo": 
-				// SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
+			case "rsaquo":                          // SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
 				return rune(0x203a), true
 				return rune(0x203a), true
-			case "rscr": 
-				// MATHEMATICAL SCRIPT SMALL R
+			case "rscr":                            // MATHEMATICAL SCRIPT SMALL R
 				return rune(0x01d4c7), true
 				return rune(0x01d4c7), true
-			case "rsh": 
-				// UPWARDS ARROW WITH TIP RIGHTWARDS
+			case "rsh":                             // UPWARDS ARROW WITH TIP RIGHTWARDS
 				return rune(0x21b1), true
 				return rune(0x21b1), true
-			case "rsolbar": 
-				// REVERSE SOLIDUS WITH HORIZONTAL STROKE
+			case "rsolbar":                         // REVERSE SOLIDUS WITH HORIZONTAL STROKE
 				return rune(0x29f7), true
 				return rune(0x29f7), true
-			case "rsqb": 
-				// RIGHT SQUARE BRACKET
+			case "rsqb":                            // RIGHT SQUARE BRACKET
 				return rune(0x5d), true
 				return rune(0x5d), true
-			case "rsquor": 
-				// RIGHT SINGLE QUOTATION MARK
+			case "rsquo":                           // RIGHT SINGLE QUOTATION MARK
 				return rune(0x2019), true
 				return rune(0x2019), true
-			case "rsquo": 
-				// RIGHT SINGLE QUOTATION MARK
+			case "rsquor":                          // RIGHT SINGLE QUOTATION MARK
 				return rune(0x2019), true
 				return rune(0x2019), true
-			case "rthree": 
-				// RIGHT SEMIDIRECT PRODUCT
+			case "rthree":                          // RIGHT SEMIDIRECT PRODUCT
 				return rune(0x22cc), true
 				return rune(0x22cc), true
-			case "rtimes": 
-				// RIGHT NORMAL FACTOR SEMIDIRECT PRODUCT
+			case "rtimes":                          // RIGHT NORMAL FACTOR SEMIDIRECT PRODUCT
 				return rune(0x22ca), true
 				return rune(0x22ca), true
-			case "rtrie": 
-				// CONTAINS AS NORMAL SUBGROUP OR EQUAL TO
+			case "rtri":                            // WHITE RIGHT-POINTING SMALL TRIANGLE
+				return rune(0x25b9), true
+			case "rtrie":                           // CONTAINS AS NORMAL SUBGROUP OR EQUAL TO
 				return rune(0x22b5), true
 				return rune(0x22b5), true
-			case "rtrif": 
-				// BLACK RIGHT-POINTING SMALL TRIANGLE
+			case "rtrif":                           // BLACK RIGHT-POINTING SMALL TRIANGLE
 				return rune(0x25b8), true
 				return rune(0x25b8), true
-			case "rtri": 
-				// WHITE RIGHT-POINTING SMALL TRIANGLE
-				return rune(0x25b9), true
-			case "rtriltri": 
-				// RIGHT TRIANGLE ABOVE LEFT TRIANGLE
+			case "rtriltri":                        // RIGHT TRIANGLE ABOVE LEFT TRIANGLE
 				return rune(0x29ce), true
 				return rune(0x29ce), true
-			case "ruharb": 
-				// RIGHTWARDS HARPOON WITH BARB UP TO BAR
+			case "ruharb":                          // RIGHTWARDS HARPOON WITH BARB UP TO BAR
 				return rune(0x2953), true
 				return rune(0x2953), true
-			case "ruluhar": 
-				// RIGHTWARDS HARPOON WITH BARB UP ABOVE LEFTWARDS HARPOON WITH BARB UP
+			case "ruluhar":                         // RIGHTWARDS HARPOON WITH BARB UP ABOVE LEFTWARDS HARPOON WITH BARB UP
 				return rune(0x2968), true
 				return rune(0x2968), true
-			case "rx": 
-				// PRESCRIPTION TAKE
+			case "rx":                              // PRESCRIPTION TAKE
 				return rune(0x211e), true
 				return rune(0x211e), true
 		}
 		}
 
 
 	case 's':
 	case 's':
 		switch name {
 		switch name {
-			case "sacute": 
-				// LATIN SMALL LETTER S WITH ACUTE
+			case "sacute":                          // LATIN SMALL LETTER S WITH ACUTE
 				return rune(0x015b), true
 				return rune(0x015b), true
-			case "samalg": 
-				// N-ARY COPRODUCT
+			case "samalg":                          // N-ARY COPRODUCT
 				return rune(0x2210), true
 				return rune(0x2210), true
-			case "sampi": 
-				// GREEK LETTER SAMPI
+			case "sampi":                           // GREEK LETTER SAMPI
 				return rune(0x03e0), true
 				return rune(0x03e0), true
-			case "sbquo": 
-				// SINGLE LOW-9 QUOTATION MARK
+			case "sbquo":                           // SINGLE LOW-9 QUOTATION MARK
 				return rune(0x201a), true
 				return rune(0x201a), true
-			case "sbsol": 
-				// SMALL REVERSE SOLIDUS
+			case "sbsol":                           // SMALL REVERSE SOLIDUS
 				return rune(0xfe68), true
 				return rune(0xfe68), true
-			case "sc": 
-				// SUCCEEDS
+			case "sc":                              // SUCCEEDS
 				return rune(0x227b), true
 				return rune(0x227b), true
-			case "scE": 
-				// SUCCEEDS ABOVE EQUALS SIGN
+			case "scE":                             // SUCCEEDS ABOVE EQUALS SIGN
 				return rune(0x2ab4), true
 				return rune(0x2ab4), true
-			case "scap": 
-				// SUCCEEDS ABOVE ALMOST EQUAL TO
+			case "scap":                            // SUCCEEDS ABOVE ALMOST EQUAL TO
 				return rune(0x2ab8), true
 				return rune(0x2ab8), true
-			case "scaron": 
-				// LATIN SMALL LETTER S WITH CARON
+			case "scaron":                          // LATIN SMALL LETTER S WITH CARON
 				return rune(0x0161), true
 				return rune(0x0161), true
-			case "sccue": 
-				// SUCCEEDS OR EQUAL TO
+			case "sccue":                           // SUCCEEDS OR EQUAL TO
 				return rune(0x227d), true
 				return rune(0x227d), true
-			case "scedil": 
-				// LATIN SMALL LETTER S WITH CEDILLA
-				return rune(0x015f), true
-			case "sce": 
-				// SUCCEEDS ABOVE SINGLE-LINE EQUALS SIGN
+			case "sce":                             // SUCCEEDS ABOVE SINGLE-LINE EQUALS SIGN
 				return rune(0x2ab0), true
 				return rune(0x2ab0), true
-			case "scirc": 
-				// LATIN SMALL LETTER S WITH CIRCUMFLEX
+			case "scedil":                          // LATIN SMALL LETTER S WITH CEDILLA
+				return rune(0x015f), true
+			case "scirc":                           // LATIN SMALL LETTER S WITH CIRCUMFLEX
 				return rune(0x015d), true
 				return rune(0x015d), true
-			case "scnE": 
-				// SUCCEEDS ABOVE NOT EQUAL TO
+			case "scnE":                            // SUCCEEDS ABOVE NOT EQUAL TO
 				return rune(0x2ab6), true
 				return rune(0x2ab6), true
-			case "scnap": 
-				// SUCCEEDS ABOVE NOT ALMOST EQUAL TO
+			case "scnap":                           // SUCCEEDS ABOVE NOT ALMOST EQUAL TO
 				return rune(0x2aba), true
 				return rune(0x2aba), true
-			case "scnsim": 
-				// SUCCEEDS BUT NOT EQUIVALENT TO
+			case "scnsim":                          // SUCCEEDS BUT NOT EQUIVALENT TO
 				return rune(0x22e9), true
 				return rune(0x22e9), true
-			case "scpolint": 
-				// LINE INTEGRATION WITH SEMICIRCULAR PATH AROUND POLE
+			case "scpolint":                        // LINE INTEGRATION WITH SEMICIRCULAR PATH AROUND POLE
 				return rune(0x2a13), true
 				return rune(0x2a13), true
-			case "scsim": 
-				// SUCCEEDS OR EQUIVALENT TO
+			case "scsim":                           // SUCCEEDS OR EQUIVALENT TO
 				return rune(0x227f), true
 				return rune(0x227f), true
-			case "scy": 
-				// CYRILLIC SMALL LETTER ES
+			case "scy":                             // CYRILLIC SMALL LETTER ES
 				return rune(0x0441), true
 				return rune(0x0441), true
-			case "sdotb": 
-				// SQUARED DOT OPERATOR
-				return rune(0x22a1), true
-			case "sdot": 
-				// DOT OPERATOR
+			case "sdot":                            // DOT OPERATOR
 				return rune(0x22c5), true
 				return rune(0x22c5), true
-			case "sdote": 
-				// EQUALS SIGN WITH DOT BELOW
+			case "sdotb":                           // SQUARED DOT OPERATOR
+				return rune(0x22a1), true
+			case "sdote":                           // EQUALS SIGN WITH DOT BELOW
 				return rune(0x2a66), true
 				return rune(0x2a66), true
-			case "seArr": 
-				// SOUTH EAST DOUBLE ARROW
+			case "seArr":                           // SOUTH EAST DOUBLE ARROW
 				return rune(0x21d8), true
 				return rune(0x21d8), true
-			case "searhk": 
-				// SOUTH EAST ARROW WITH HOOK
+			case "searhk":                          // SOUTH EAST ARROW WITH HOOK
 				return rune(0x2925), true
 				return rune(0x2925), true
-			case "searrow": 
-				// SOUTH EAST ARROW
+			case "searr":                           // SOUTH EAST ARROW
 				return rune(0x2198), true
 				return rune(0x2198), true
-			case "searr": 
-				// SOUTH EAST ARROW
+			case "searrow":                         // SOUTH EAST ARROW
 				return rune(0x2198), true
 				return rune(0x2198), true
-			case "sect": 
-				// SECTION SIGN
+			case "sect":                            // SECTION SIGN
 				return rune(0xa7), true
 				return rune(0xa7), true
-			case "semi": 
-				// SEMICOLON
+			case "semi":                            // SEMICOLON
 				return rune(0x3b), true
 				return rune(0x3b), true
-			case "seonearr": 
-				// SOUTH EAST ARROW CROSSING NORTH EAST ARROW
+			case "seonearr":                        // SOUTH EAST ARROW CROSSING NORTH EAST ARROW
 				return rune(0x292d), true
 				return rune(0x292d), true
-			case "seswar": 
-				// SOUTH EAST ARROW AND SOUTH WEST ARROW
+			case "seswar":                          // SOUTH EAST ARROW AND SOUTH WEST ARROW
 				return rune(0x2929), true
 				return rune(0x2929), true
-			case "setminus": 
-				// SET MINUS
+			case "setminus":                        // SET MINUS
 				return rune(0x2216), true
 				return rune(0x2216), true
-			case "setmn": 
-				// SET MINUS
+			case "setmn":                           // SET MINUS
 				return rune(0x2216), true
 				return rune(0x2216), true
-			case "sext": 
-				// SIX POINTED BLACK STAR
+			case "sext":                            // SIX POINTED BLACK STAR
 				return rune(0x2736), true
 				return rune(0x2736), true
-			case "sfgr": 
-				// GREEK SMALL LETTER FINAL SIGMA
+			case "sfgr":                            // GREEK SMALL LETTER FINAL SIGMA
 				return rune(0x03c2), true
 				return rune(0x03c2), true
-			case "sfrown": 
-				// FROWN
-				return rune(0x2322), true
-			case "sfr": 
-				// MATHEMATICAL FRAKTUR SMALL S
+			case "sfr":                             // MATHEMATICAL FRAKTUR SMALL S
 				return rune(0x01d530), true
 				return rune(0x01d530), true
-			case "sgr": 
-				// GREEK SMALL LETTER SIGMA
+			case "sfrown":                          // FROWN
+				return rune(0x2322), true
+			case "sgr":                             // GREEK SMALL LETTER SIGMA
 				return rune(0x03c3), true
 				return rune(0x03c3), true
-			case "sharp": 
-				// MUSIC SHARP SIGN
+			case "sharp":                           // MUSIC SHARP SIGN
 				return rune(0x266f), true
 				return rune(0x266f), true
-			case "shchcy": 
-				// CYRILLIC SMALL LETTER SHCHA
+			case "shchcy":                          // CYRILLIC SMALL LETTER SHCHA
 				return rune(0x0449), true
 				return rune(0x0449), true
-			case "shcy": 
-				// CYRILLIC SMALL LETTER SHA
+			case "shcy":                            // CYRILLIC SMALL LETTER SHA
 				return rune(0x0448), true
 				return rune(0x0448), true
-			case "shortmid": 
-				// DIVIDES
+			case "shortmid":                        // DIVIDES
 				return rune(0x2223), true
 				return rune(0x2223), true
-			case "shortparallel": 
-				// PARALLEL TO
+			case "shortparallel":                   // PARALLEL TO
 				return rune(0x2225), true
 				return rune(0x2225), true
-			case "shuffle": 
-				// SHUFFLE PRODUCT
+			case "shuffle":                         // SHUFFLE PRODUCT
 				return rune(0x29e2), true
 				return rune(0x29e2), true
-			case "shy": 
-				// SOFT HYPHEN
+			case "shy":                             // SOFT HYPHEN
 				return rune(0xad), true
 				return rune(0xad), true
-			case "sigma": 
-				// GREEK SMALL LETTER SIGMA
+			case "sigma":                           // GREEK SMALL LETTER SIGMA
 				return rune(0x03c3), true
 				return rune(0x03c3), true
-			case "sigmaf": 
-				// GREEK SMALL LETTER FINAL SIGMA
+			case "sigmaf":                          // GREEK SMALL LETTER FINAL SIGMA
 				return rune(0x03c2), true
 				return rune(0x03c2), true
-			case "sigmav": 
-				// GREEK SMALL LETTER FINAL SIGMA
+			case "sigmav":                          // GREEK SMALL LETTER FINAL SIGMA
 				return rune(0x03c2), true
 				return rune(0x03c2), true
-			case "sim": 
-				// TILDE OPERATOR
+			case "sim":                             // TILDE OPERATOR
 				return rune(0x223c), true
 				return rune(0x223c), true
-			case "simdot": 
-				// TILDE OPERATOR WITH DOT ABOVE
+			case "simdot":                          // TILDE OPERATOR WITH DOT ABOVE
 				return rune(0x2a6a), true
 				return rune(0x2a6a), true
-			case "sime": 
-				// ASYMPTOTICALLY EQUAL TO
+			case "sime":                            // ASYMPTOTICALLY EQUAL TO
 				return rune(0x2243), true
 				return rune(0x2243), true
-			case "simeq": 
-				// ASYMPTOTICALLY EQUAL TO
+			case "simeq":                           // ASYMPTOTICALLY EQUAL TO
 				return rune(0x2243), true
 				return rune(0x2243), true
-			case "simg": 
-				// SIMILAR OR GREATER-THAN
+			case "simg":                            // SIMILAR OR GREATER-THAN
 				return rune(0x2a9e), true
 				return rune(0x2a9e), true
-			case "simgE": 
-				// SIMILAR ABOVE GREATER-THAN ABOVE EQUALS SIGN
+			case "simgE":                           // SIMILAR ABOVE GREATER-THAN ABOVE EQUALS SIGN
 				return rune(0x2aa0), true
 				return rune(0x2aa0), true
-			case "siml": 
-				// SIMILAR OR LESS-THAN
+			case "siml":                            // SIMILAR OR LESS-THAN
 				return rune(0x2a9d), true
 				return rune(0x2a9d), true
-			case "simlE": 
-				// SIMILAR ABOVE LESS-THAN ABOVE EQUALS SIGN
+			case "simlE":                           // SIMILAR ABOVE LESS-THAN ABOVE EQUALS SIGN
 				return rune(0x2a9f), true
 				return rune(0x2a9f), true
-			case "simne": 
-				// APPROXIMATELY BUT NOT ACTUALLY EQUAL TO
+			case "simne":                           // APPROXIMATELY BUT NOT ACTUALLY EQUAL TO
 				return rune(0x2246), true
 				return rune(0x2246), true
-			case "simplus": 
-				// PLUS SIGN WITH TILDE ABOVE
+			case "simplus":                         // PLUS SIGN WITH TILDE ABOVE
 				return rune(0x2a24), true
 				return rune(0x2a24), true
-			case "simrarr": 
-				// TILDE OPERATOR ABOVE RIGHTWARDS ARROW
+			case "simrarr":                         // TILDE OPERATOR ABOVE RIGHTWARDS ARROW
 				return rune(0x2972), true
 				return rune(0x2972), true
-			case "slarr": 
-				// LEFTWARDS ARROW
+			case "slarr":                           // LEFTWARDS ARROW
 				return rune(0x2190), true
 				return rune(0x2190), true
-			case "slint": 
-				// INTEGRAL AVERAGE WITH SLASH
+			case "slint":                           // INTEGRAL AVERAGE WITH SLASH
 				return rune(0x2a0f), true
 				return rune(0x2a0f), true
-			case "smallsetminus": 
-				// SET MINUS
+			case "smallsetminus":                   // SET MINUS
 				return rune(0x2216), true
 				return rune(0x2216), true
-			case "smashp": 
-				// SMASH PRODUCT
+			case "smashp":                          // SMASH PRODUCT
 				return rune(0x2a33), true
 				return rune(0x2a33), true
-			case "smeparsl": 
-				// EQUALS SIGN AND SLANTED PARALLEL WITH TILDE ABOVE
+			case "smeparsl":                        // EQUALS SIGN AND SLANTED PARALLEL WITH TILDE ABOVE
 				return rune(0x29e4), true
 				return rune(0x29e4), true
-			case "smid": 
-				// DIVIDES
+			case "smid":                            // DIVIDES
 				return rune(0x2223), true
 				return rune(0x2223), true
-			case "smile": 
-				// SMILE
+			case "smile":                           // SMILE
 				return rune(0x2323), true
 				return rune(0x2323), true
-			case "smt": 
-				// SMALLER THAN
+			case "smt":                             // SMALLER THAN
 				return rune(0x2aaa), true
 				return rune(0x2aaa), true
-			case "smte": 
-				// SMALLER THAN OR EQUAL TO
+			case "smte":                            // SMALLER THAN OR EQUAL TO
 				return rune(0x2aac), true
 				return rune(0x2aac), true
-			case "smtes": 
-				// SMALLER THAN OR slanted EQUAL
+			case "smtes":                           // SMALLER THAN OR slanted EQUAL
 				return rune(0x2aac), true
 				return rune(0x2aac), true
-			case "softcy": 
-				// CYRILLIC SMALL LETTER SOFT SIGN
+			case "softcy":                          // CYRILLIC SMALL LETTER SOFT SIGN
 				return rune(0x044c), true
 				return rune(0x044c), true
-			case "solbar": 
-				// APL FUNCTIONAL SYMBOL SLASH BAR
-				return rune(0x233f), true
-			case "solb": 
-				// SQUARED RISING DIAGONAL SLASH
-				return rune(0x29c4), true
-			case "sol": 
-				// SOLIDUS
+			case "sol":                             // SOLIDUS
 				return rune(0x2f), true
 				return rune(0x2f), true
-			case "sopf": 
-				// MATHEMATICAL DOUBLE-STRUCK SMALL S
+			case "solb":                            // SQUARED RISING DIAGONAL SLASH
+				return rune(0x29c4), true
+			case "solbar":                          // APL FUNCTIONAL SYMBOL SLASH BAR
+				return rune(0x233f), true
+			case "sopf":                            // MATHEMATICAL DOUBLE-STRUCK SMALL S
 				return rune(0x01d564), true
 				return rune(0x01d564), true
-			case "spades": 
-				// BLACK SPADE SUIT
+			case "spades":                          // BLACK SPADE SUIT
 				return rune(0x2660), true
 				return rune(0x2660), true
-			case "spadesuit": 
-				// BLACK SPADE SUIT
+			case "spadesuit":                       // BLACK SPADE SUIT
 				return rune(0x2660), true
 				return rune(0x2660), true
-			case "spar": 
-				// PARALLEL TO
+			case "spar":                            // PARALLEL TO
 				return rune(0x2225), true
 				return rune(0x2225), true
-			case "sqcap": 
-				// SQUARE CAP
+			case "sqcap":                           // SQUARE CAP
 				return rune(0x2293), true
 				return rune(0x2293), true
-			case "sqcaps": 
-				// SQUARE CAP with serifs
+			case "sqcaps":                          // SQUARE CAP with serifs
 				return rune(0x2293), true
 				return rune(0x2293), true
-			case "sqcup": 
-				// SQUARE CUP
+			case "sqcup":                           // SQUARE CUP
 				return rune(0x2294), true
 				return rune(0x2294), true
-			case "sqcups": 
-				// SQUARE CUP with serifs
+			case "sqcups":                          // SQUARE CUP with serifs
 				return rune(0x2294), true
 				return rune(0x2294), true
-			case "sqsub": 
-				// SQUARE IMAGE OF
+			case "sqsub":                           // SQUARE IMAGE OF
 				return rune(0x228f), true
 				return rune(0x228f), true
-			case "sqsube": 
-				// SQUARE IMAGE OF OR EQUAL TO
+			case "sqsube":                          // SQUARE IMAGE OF OR EQUAL TO
 				return rune(0x2291), true
 				return rune(0x2291), true
-			case "sqsubset": 
-				// SQUARE IMAGE OF
+			case "sqsubset":                        // SQUARE IMAGE OF
 				return rune(0x228f), true
 				return rune(0x228f), true
-			case "sqsubseteq": 
-				// SQUARE IMAGE OF OR EQUAL TO
+			case "sqsubseteq":                      // SQUARE IMAGE OF OR EQUAL TO
 				return rune(0x2291), true
 				return rune(0x2291), true
-			case "sqsup": 
-				// SQUARE ORIGINAL OF
+			case "sqsup":                           // SQUARE ORIGINAL OF
 				return rune(0x2290), true
 				return rune(0x2290), true
-			case "sqsupe": 
-				// SQUARE ORIGINAL OF OR EQUAL TO
+			case "sqsupe":                          // SQUARE ORIGINAL OF OR EQUAL TO
 				return rune(0x2292), true
 				return rune(0x2292), true
-			case "sqsupset": 
-				// SQUARE ORIGINAL OF
+			case "sqsupset":                        // SQUARE ORIGINAL OF
 				return rune(0x2290), true
 				return rune(0x2290), true
-			case "sqsupseteq": 
-				// SQUARE ORIGINAL OF OR EQUAL TO
+			case "sqsupseteq":                      // SQUARE ORIGINAL OF OR EQUAL TO
 				return rune(0x2292), true
 				return rune(0x2292), true
-			case "squ": 
-				// WHITE SQUARE
+			case "squ":                             // WHITE SQUARE
 				return rune(0x25a1), true
 				return rune(0x25a1), true
-			case "square": 
-				// WHITE SQUARE
+			case "square":                          // WHITE SQUARE
 				return rune(0x25a1), true
 				return rune(0x25a1), true
-			case "squarf": 
-				// BLACK SMALL SQUARE
+			case "squarf":                          // BLACK SMALL SQUARE
 				return rune(0x25aa), true
 				return rune(0x25aa), true
-			case "squb": 
-				// SQUARED SQUARE
+			case "squb":                            // SQUARED SQUARE
 				return rune(0x29c8), true
 				return rune(0x29c8), true
-			case "squerr": 
-				// ERROR-BARRED WHITE SQUARE
+			case "squerr":                          // ERROR-BARRED WHITE SQUARE
 				return rune(0x29ee), true
 				return rune(0x29ee), true
-			case "squf": 
-				// BLACK SMALL SQUARE
+			case "squf":                            // BLACK SMALL SQUARE
 				return rune(0x25aa), true
 				return rune(0x25aa), true
-			case "squferr": 
-				// ERROR-BARRED BLACK SQUARE
+			case "squferr":                         // ERROR-BARRED BLACK SQUARE
 				return rune(0x29ef), true
 				return rune(0x29ef), true
-			case "srarr": 
-				// RIGHTWARDS ARROW
+			case "srarr":                           // RIGHTWARDS ARROW
 				return rune(0x2192), true
 				return rune(0x2192), true
-			case "sscr": 
-				// MATHEMATICAL SCRIPT SMALL S
+			case "sscr":                            // MATHEMATICAL SCRIPT SMALL S
 				return rune(0x01d4c8), true
 				return rune(0x01d4c8), true
-			case "ssetmn": 
-				// SET MINUS
+			case "ssetmn":                          // SET MINUS
 				return rune(0x2216), true
 				return rune(0x2216), true
-			case "ssmile": 
-				// SMILE
+			case "ssmile":                          // SMILE
 				return rune(0x2323), true
 				return rune(0x2323), true
-			case "sstarf": 
-				// STAR OPERATOR
+			case "sstarf":                          // STAR OPERATOR
 				return rune(0x22c6), true
 				return rune(0x22c6), true
-			case "starf": 
-				// BLACK STAR
-				return rune(0x2605), true
-			case "star": 
-				// WHITE STAR
+			case "star":                            // WHITE STAR
 				return rune(0x2606), true
 				return rune(0x2606), true
-			case "stigma": 
-				// GREEK LETTER STIGMA
+			case "starf":                           // BLACK STAR
+				return rune(0x2605), true
+			case "stigma":                          // GREEK LETTER STIGMA
 				return rune(0x03da), true
 				return rune(0x03da), true
-			case "straightepsilon": 
-				// GREEK LUNATE EPSILON SYMBOL
+			case "straightepsilon":                 // GREEK LUNATE EPSILON SYMBOL
 				return rune(0x03f5), true
 				return rune(0x03f5), true
-			case "straightphi": 
-				// GREEK PHI SYMBOL
+			case "straightphi":                     // GREEK PHI SYMBOL
 				return rune(0x03d5), true
 				return rune(0x03d5), true
-			case "strns": 
-				// MACRON
+			case "strns":                           // MACRON
 				return rune(0xaf), true
 				return rune(0xaf), true
-			case "sub": 
-				// SUBSET OF
+			case "sub":                             // SUBSET OF
 				return rune(0x2282), true
 				return rune(0x2282), true
-			case "subE": 
-				// SUBSET OF ABOVE EQUALS SIGN
+			case "subE":                            // SUBSET OF ABOVE EQUALS SIGN
 				return rune(0x2ac5), true
 				return rune(0x2ac5), true
-			case "subdot": 
-				// SUBSET WITH DOT
+			case "subdot":                          // SUBSET WITH DOT
 				return rune(0x2abd), true
 				return rune(0x2abd), true
-			case "sube": 
-				// SUBSET OF OR EQUAL TO
+			case "sube":                            // SUBSET OF OR EQUAL TO
 				return rune(0x2286), true
 				return rune(0x2286), true
-			case "subedot": 
-				// SUBSET OF OR EQUAL TO WITH DOT ABOVE
+			case "subedot":                         // SUBSET OF OR EQUAL TO WITH DOT ABOVE
 				return rune(0x2ac3), true
 				return rune(0x2ac3), true
-			case "submult": 
-				// SUBSET WITH MULTIPLICATION SIGN BELOW
+			case "submult":                         // SUBSET WITH MULTIPLICATION SIGN BELOW
 				return rune(0x2ac1), true
 				return rune(0x2ac1), true
-			case "subnE": 
-				// SUBSET OF ABOVE NOT EQUAL TO
+			case "subnE":                           // SUBSET OF ABOVE NOT EQUAL TO
 				return rune(0x2acb), true
 				return rune(0x2acb), true
-			case "subne": 
-				// SUBSET OF WITH NOT EQUAL TO
+			case "subne":                           // SUBSET OF WITH NOT EQUAL TO
 				return rune(0x228a), true
 				return rune(0x228a), true
-			case "subplus": 
-				// SUBSET WITH PLUS SIGN BELOW
+			case "subplus":                         // SUBSET WITH PLUS SIGN BELOW
 				return rune(0x2abf), true
 				return rune(0x2abf), true
-			case "subrarr": 
-				// SUBSET ABOVE RIGHTWARDS ARROW
+			case "subrarr":                         // SUBSET ABOVE RIGHTWARDS ARROW
 				return rune(0x2979), true
 				return rune(0x2979), true
-			case "subset": 
-				// SUBSET OF
+			case "subset":                          // SUBSET OF
 				return rune(0x2282), true
 				return rune(0x2282), true
-			case "subseteq": 
-				// SUBSET OF OR EQUAL TO
+			case "subseteq":                        // SUBSET OF OR EQUAL TO
 				return rune(0x2286), true
 				return rune(0x2286), true
-			case "subseteqq": 
-				// SUBSET OF ABOVE EQUALS SIGN
+			case "subseteqq":                       // SUBSET OF ABOVE EQUALS SIGN
 				return rune(0x2ac5), true
 				return rune(0x2ac5), true
-			case "subsetneq": 
-				// SUBSET OF WITH NOT EQUAL TO
+			case "subsetneq":                       // SUBSET OF WITH NOT EQUAL TO
 				return rune(0x228a), true
 				return rune(0x228a), true
-			case "subsetneqq": 
-				// SUBSET OF ABOVE NOT EQUAL TO
+			case "subsetneqq":                      // SUBSET OF ABOVE NOT EQUAL TO
 				return rune(0x2acb), true
 				return rune(0x2acb), true
-			case "subsim": 
-				// SUBSET OF ABOVE TILDE OPERATOR
+			case "subsim":                          // SUBSET OF ABOVE TILDE OPERATOR
 				return rune(0x2ac7), true
 				return rune(0x2ac7), true
-			case "subsub": 
-				// SUBSET ABOVE SUBSET
+			case "subsub":                          // SUBSET ABOVE SUBSET
 				return rune(0x2ad5), true
 				return rune(0x2ad5), true
-			case "subsup": 
-				// SUBSET ABOVE SUPERSET
+			case "subsup":                          // SUBSET ABOVE SUPERSET
 				return rune(0x2ad3), true
 				return rune(0x2ad3), true
-			case "succ": 
-				// SUCCEEDS
+			case "succ":                            // SUCCEEDS
 				return rune(0x227b), true
 				return rune(0x227b), true
-			case "succapprox": 
-				// SUCCEEDS ABOVE ALMOST EQUAL TO
+			case "succapprox":                      // SUCCEEDS ABOVE ALMOST EQUAL TO
 				return rune(0x2ab8), true
 				return rune(0x2ab8), true
-			case "succcurlyeq": 
-				// SUCCEEDS OR EQUAL TO
+			case "succcurlyeq":                     // SUCCEEDS OR EQUAL TO
 				return rune(0x227d), true
 				return rune(0x227d), true
-			case "succeq": 
-				// SUCCEEDS ABOVE SINGLE-LINE EQUALS SIGN
+			case "succeq":                          // SUCCEEDS ABOVE SINGLE-LINE EQUALS SIGN
 				return rune(0x2ab0), true
 				return rune(0x2ab0), true
-			case "succnapprox": 
-				// SUCCEEDS ABOVE NOT ALMOST EQUAL TO
+			case "succnapprox":                     // SUCCEEDS ABOVE NOT ALMOST EQUAL TO
 				return rune(0x2aba), true
 				return rune(0x2aba), true
-			case "succneqq": 
-				// SUCCEEDS ABOVE NOT EQUAL TO
+			case "succneqq":                        // SUCCEEDS ABOVE NOT EQUAL TO
 				return rune(0x2ab6), true
 				return rune(0x2ab6), true
-			case "succnsim": 
-				// SUCCEEDS BUT NOT EQUIVALENT TO
+			case "succnsim":                        // SUCCEEDS BUT NOT EQUIVALENT TO
 				return rune(0x22e9), true
 				return rune(0x22e9), true
-			case "succsim": 
-				// SUCCEEDS OR EQUIVALENT TO
+			case "succsim":                         // SUCCEEDS OR EQUIVALENT TO
 				return rune(0x227f), true
 				return rune(0x227f), true
-			case "sum": 
-				// N-ARY SUMMATION
+			case "sum":                             // N-ARY SUMMATION
 				return rune(0x2211), true
 				return rune(0x2211), true
-			case "sumint": 
-				// SUMMATION WITH INTEGRAL
+			case "sumint":                          // SUMMATION WITH INTEGRAL
 				return rune(0x2a0b), true
 				return rune(0x2a0b), true
-			case "sung": 
-				// EIGHTH NOTE
+			case "sung":                            // EIGHTH NOTE
 				return rune(0x266a), true
 				return rune(0x266a), true
-			case "sup": 
-				// SUPERSET OF
+			case "sup":                             // SUPERSET OF
 				return rune(0x2283), true
 				return rune(0x2283), true
-			case "sup1": 
-				// SUPERSCRIPT ONE
+			case "sup1":                            // SUPERSCRIPT ONE
 				return rune(0xb9), true
 				return rune(0xb9), true
-			case "sup2": 
-				// SUPERSCRIPT TWO
+			case "sup2":                            // SUPERSCRIPT TWO
 				return rune(0xb2), true
 				return rune(0xb2), true
-			case "sup3": 
-				// SUPERSCRIPT THREE
+			case "sup3":                            // SUPERSCRIPT THREE
 				return rune(0xb3), true
 				return rune(0xb3), true
-			case "supE": 
-				// SUPERSET OF ABOVE EQUALS SIGN
+			case "supE":                            // SUPERSET OF ABOVE EQUALS SIGN
 				return rune(0x2ac6), true
 				return rune(0x2ac6), true
-			case "supdot": 
-				// SUPERSET WITH DOT
+			case "supdot":                          // SUPERSET WITH DOT
 				return rune(0x2abe), true
 				return rune(0x2abe), true
-			case "supdsub": 
-				// SUPERSET BESIDE AND JOINED BY DASH WITH SUBSET
+			case "supdsub":                         // SUPERSET BESIDE AND JOINED BY DASH WITH SUBSET
 				return rune(0x2ad8), true
 				return rune(0x2ad8), true
-			case "supe": 
-				// SUPERSET OF OR EQUAL TO
+			case "supe":                            // SUPERSET OF OR EQUAL TO
 				return rune(0x2287), true
 				return rune(0x2287), true
-			case "supedot": 
-				// SUPERSET OF OR EQUAL TO WITH DOT ABOVE
+			case "supedot":                         // SUPERSET OF OR EQUAL TO WITH DOT ABOVE
 				return rune(0x2ac4), true
 				return rune(0x2ac4), true
-			case "suphsol": 
-				// SUPERSET PRECEDING SOLIDUS
+			case "suphsol":                         // SUPERSET PRECEDING SOLIDUS
 				return rune(0x27c9), true
 				return rune(0x27c9), true
-			case "suphsub": 
-				// SUPERSET BESIDE SUBSET
+			case "suphsub":                         // SUPERSET BESIDE SUBSET
 				return rune(0x2ad7), true
 				return rune(0x2ad7), true
-			case "suplarr": 
-				// SUPERSET ABOVE LEFTWARDS ARROW
+			case "suplarr":                         // SUPERSET ABOVE LEFTWARDS ARROW
 				return rune(0x297b), true
 				return rune(0x297b), true
-			case "supmult": 
-				// SUPERSET WITH MULTIPLICATION SIGN BELOW
+			case "supmult":                         // SUPERSET WITH MULTIPLICATION SIGN BELOW
 				return rune(0x2ac2), true
 				return rune(0x2ac2), true
-			case "supnE": 
-				// SUPERSET OF ABOVE NOT EQUAL TO
+			case "supnE":                           // SUPERSET OF ABOVE NOT EQUAL TO
 				return rune(0x2acc), true
 				return rune(0x2acc), true
-			case "supne": 
-				// SUPERSET OF WITH NOT EQUAL TO
+			case "supne":                           // SUPERSET OF WITH NOT EQUAL TO
 				return rune(0x228b), true
 				return rune(0x228b), true
-			case "supplus": 
-				// SUPERSET WITH PLUS SIGN BELOW
+			case "supplus":                         // SUPERSET WITH PLUS SIGN BELOW
 				return rune(0x2ac0), true
 				return rune(0x2ac0), true
-			case "supset": 
-				// SUPERSET OF
+			case "supset":                          // SUPERSET OF
 				return rune(0x2283), true
 				return rune(0x2283), true
-			case "supseteq": 
-				// SUPERSET OF OR EQUAL TO
+			case "supseteq":                        // SUPERSET OF OR EQUAL TO
 				return rune(0x2287), true
 				return rune(0x2287), true
-			case "supseteqq": 
-				// SUPERSET OF ABOVE EQUALS SIGN
+			case "supseteqq":                       // SUPERSET OF ABOVE EQUALS SIGN
 				return rune(0x2ac6), true
 				return rune(0x2ac6), true
-			case "supsetneq": 
-				// SUPERSET OF WITH NOT EQUAL TO
+			case "supsetneq":                       // SUPERSET OF WITH NOT EQUAL TO
 				return rune(0x228b), true
 				return rune(0x228b), true
-			case "supsetneqq": 
-				// SUPERSET OF ABOVE NOT EQUAL TO
+			case "supsetneqq":                      // SUPERSET OF ABOVE NOT EQUAL TO
 				return rune(0x2acc), true
 				return rune(0x2acc), true
-			case "supsim": 
-				// SUPERSET OF ABOVE TILDE OPERATOR
+			case "supsim":                          // SUPERSET OF ABOVE TILDE OPERATOR
 				return rune(0x2ac8), true
 				return rune(0x2ac8), true
-			case "supsub": 
-				// SUPERSET ABOVE SUBSET
+			case "supsub":                          // SUPERSET ABOVE SUBSET
 				return rune(0x2ad4), true
 				return rune(0x2ad4), true
-			case "supsup": 
-				// SUPERSET ABOVE SUPERSET
+			case "supsup":                          // SUPERSET ABOVE SUPERSET
 				return rune(0x2ad6), true
 				return rune(0x2ad6), true
-			case "swArr": 
-				// SOUTH WEST DOUBLE ARROW
+			case "swArr":                           // SOUTH WEST DOUBLE ARROW
 				return rune(0x21d9), true
 				return rune(0x21d9), true
-			case "swarhk": 
-				// SOUTH WEST ARROW WITH HOOK
+			case "swarhk":                          // SOUTH WEST ARROW WITH HOOK
 				return rune(0x2926), true
 				return rune(0x2926), true
-			case "swarrow": 
-				// SOUTH WEST ARROW
+			case "swarr":                           // SOUTH WEST ARROW
 				return rune(0x2199), true
 				return rune(0x2199), true
-			case "swarr": 
-				// SOUTH WEST ARROW
+			case "swarrow":                         // SOUTH WEST ARROW
 				return rune(0x2199), true
 				return rune(0x2199), true
-			case "swnwar": 
-				// SOUTH WEST ARROW AND NORTH WEST ARROW
+			case "swnwar":                          // SOUTH WEST ARROW AND NORTH WEST ARROW
 				return rune(0x292a), true
 				return rune(0x292a), true
-			case "szlig": 
-				// LATIN SMALL LETTER SHARP S
+			case "szlig":                           // LATIN SMALL LETTER SHARP S
 				return rune(0xdf), true
 				return rune(0xdf), true
 		}
 		}
 
 
 	case 't':
 	case 't':
 		switch name {
 		switch name {
-			case "target": 
-				// POSITION INDICATOR
+			case "target":                          // POSITION INDICATOR
 				return rune(0x2316), true
 				return rune(0x2316), true
-			case "tau": 
-				// GREEK SMALL LETTER TAU
+			case "tau":                             // GREEK SMALL LETTER TAU
 				return rune(0x03c4), true
 				return rune(0x03c4), true
-			case "tbrk": 
-				// TOP SQUARE BRACKET
+			case "tbrk":                            // TOP SQUARE BRACKET
 				return rune(0x23b4), true
 				return rune(0x23b4), true
-			case "tcaron": 
-				// LATIN SMALL LETTER T WITH CARON
+			case "tcaron":                          // LATIN SMALL LETTER T WITH CARON
 				return rune(0x0165), true
 				return rune(0x0165), true
-			case "tcedil": 
-				// LATIN SMALL LETTER T WITH CEDILLA
+			case "tcedil":                          // LATIN SMALL LETTER T WITH CEDILLA
 				return rune(0x0163), true
 				return rune(0x0163), true
-			case "tcy": 
-				// CYRILLIC SMALL LETTER TE
+			case "tcy":                             // CYRILLIC SMALL LETTER TE
 				return rune(0x0442), true
 				return rune(0x0442), true
-			case "tdot": 
-				// COMBINING THREE DOTS ABOVE
+			case "tdot":                            // COMBINING THREE DOTS ABOVE
 				return rune(0x20db), true
 				return rune(0x20db), true
-			case "telrec": 
-				// TELEPHONE RECORDER
+			case "telrec":                          // TELEPHONE RECORDER
 				return rune(0x2315), true
 				return rune(0x2315), true
-			case "tfr": 
-				// MATHEMATICAL FRAKTUR SMALL T
+			case "tfr":                             // MATHEMATICAL FRAKTUR SMALL T
 				return rune(0x01d531), true
 				return rune(0x01d531), true
-			case "tgr": 
-				// GREEK SMALL LETTER TAU
+			case "tgr":                             // GREEK SMALL LETTER TAU
 				return rune(0x03c4), true
 				return rune(0x03c4), true
-			case "there4": 
-				// THEREFORE
+			case "there4":                          // THEREFORE
 				return rune(0x2234), true
 				return rune(0x2234), true
-			case "therefore": 
-				// THEREFORE
+			case "therefore":                       // THEREFORE
 				return rune(0x2234), true
 				return rune(0x2234), true
-			case "thermod": 
-				// THERMODYNAMIC
+			case "thermod":                         // THERMODYNAMIC
 				return rune(0x29e7), true
 				return rune(0x29e7), true
-			case "thetasym": 
-				// GREEK THETA SYMBOL
-				return rune(0x03d1), true
-			case "thetas": 
-				// GREEK SMALL LETTER THETA
+			case "theta":                           // GREEK SMALL LETTER THETA
 				return rune(0x03b8), true
 				return rune(0x03b8), true
-			case "thetav": 
-				// GREEK THETA SYMBOL
-				return rune(0x03d1), true
-			case "theta": 
-				// GREEK SMALL LETTER THETA
+			case "thetas":                          // GREEK SMALL LETTER THETA
 				return rune(0x03b8), true
 				return rune(0x03b8), true
-			case "thgr": 
-				// GREEK SMALL LETTER THETA
+			case "thetasym":                        // GREEK THETA SYMBOL
+				return rune(0x03d1), true
+			case "thetav":                          // GREEK THETA SYMBOL
+				return rune(0x03d1), true
+			case "thgr":                            // GREEK SMALL LETTER THETA
 				return rune(0x03b8), true
 				return rune(0x03b8), true
-			case "thickapprox": 
-				// ALMOST EQUAL TO
+			case "thickapprox":                     // ALMOST EQUAL TO
 				return rune(0x2248), true
 				return rune(0x2248), true
-			case "thicksim": 
-				// TILDE OPERATOR
+			case "thicksim":                        // TILDE OPERATOR
 				return rune(0x223c), true
 				return rune(0x223c), true
-			case "thinsp": 
-				// THIN SPACE
+			case "thinsp":                          // THIN SPACE
 				return rune(0x2009), true
 				return rune(0x2009), true
-			case "thkap": 
-				// ALMOST EQUAL TO
+			case "thkap":                           // ALMOST EQUAL TO
 				return rune(0x2248), true
 				return rune(0x2248), true
-			case "thksim": 
-				// TILDE OPERATOR
+			case "thksim":                          // TILDE OPERATOR
 				return rune(0x223c), true
 				return rune(0x223c), true
-			case "thorn": 
-				// LATIN SMALL LETTER THORN
+			case "thorn":                           // LATIN SMALL LETTER THORN
 				return rune(0xfe), true
 				return rune(0xfe), true
-			case "tilde": 
-				// SMALL TILDE
+			case "tilde":                           // SMALL TILDE
 				return rune(0x02dc), true
 				return rune(0x02dc), true
-			case "timeint": 
-				// INTEGRAL WITH TIMES SIGN
+			case "timeint":                         // INTEGRAL WITH TIMES SIGN
 				return rune(0x2a18), true
 				return rune(0x2a18), true
-			case "timesb": 
-				// SQUARED TIMES
+			case "times":                           // MULTIPLICATION SIGN
+				return rune(0xd7), true
+			case "timesb":                          // SQUARED TIMES
 				return rune(0x22a0), true
 				return rune(0x22a0), true
-			case "timesbar": 
-				// MULTIPLICATION SIGN WITH UNDERBAR
+			case "timesbar":                        // MULTIPLICATION SIGN WITH UNDERBAR
 				return rune(0x2a31), true
 				return rune(0x2a31), true
-			case "timesd": 
-				// MULTIPLICATION SIGN WITH DOT ABOVE
+			case "timesd":                          // MULTIPLICATION SIGN WITH DOT ABOVE
 				return rune(0x2a30), true
 				return rune(0x2a30), true
-			case "times": 
-				// MULTIPLICATION SIGN
-				return rune(0xd7), true
-			case "tint": 
-				// TRIPLE INTEGRAL
+			case "tint":                            // TRIPLE INTEGRAL
 				return rune(0x222d), true
 				return rune(0x222d), true
-			case "toea": 
-				// NORTH EAST ARROW AND SOUTH EAST ARROW
+			case "toea":                            // NORTH EAST ARROW AND SOUTH EAST ARROW
 				return rune(0x2928), true
 				return rune(0x2928), true
-			case "top": 
-				// DOWN TACK
+			case "top":                             // DOWN TACK
 				return rune(0x22a4), true
 				return rune(0x22a4), true
-			case "topbot": 
-				// APL FUNCTIONAL SYMBOL I-BEAM
+			case "topbot":                          // APL FUNCTIONAL SYMBOL I-BEAM
 				return rune(0x2336), true
 				return rune(0x2336), true
-			case "topcir": 
-				// DOWN TACK WITH CIRCLE BELOW
+			case "topcir":                          // DOWN TACK WITH CIRCLE BELOW
 				return rune(0x2af1), true
 				return rune(0x2af1), true
-			case "topfork": 
-				// PITCHFORK WITH TEE TOP
-				return rune(0x2ada), true
-			case "topf": 
-				// MATHEMATICAL DOUBLE-STRUCK SMALL T
+			case "topf":                            // MATHEMATICAL DOUBLE-STRUCK SMALL T
 				return rune(0x01d565), true
 				return rune(0x01d565), true
-			case "tosa": 
-				// SOUTH EAST ARROW AND SOUTH WEST ARROW
+			case "topfork":                         // PITCHFORK WITH TEE TOP
+				return rune(0x2ada), true
+			case "tosa":                            // SOUTH EAST ARROW AND SOUTH WEST ARROW
 				return rune(0x2929), true
 				return rune(0x2929), true
-			case "tprime": 
-				// TRIPLE PRIME
+			case "tprime":                          // TRIPLE PRIME
 				return rune(0x2034), true
 				return rune(0x2034), true
-			case "trade": 
-				// TRADE MARK SIGN
+			case "trade":                           // TRADE MARK SIGN
 				return rune(0x2122), true
 				return rune(0x2122), true
-			case "triS": 
-				// S IN TRIANGLE
+			case "triS":                            // S IN TRIANGLE
 				return rune(0x29cc), true
 				return rune(0x29cc), true
-			case "trianglelefteq": 
-				// NORMAL SUBGROUP OF OR EQUAL TO
-				return rune(0x22b4), true
-			case "triangleq": 
-				// DELTA EQUAL TO
-				return rune(0x225c), true
-			case "trianglerighteq": 
-				// CONTAINS AS NORMAL SUBGROUP OR EQUAL TO
-				return rune(0x22b5), true
-			case "triangle": 
-				// WHITE UP-POINTING SMALL TRIANGLE
+			case "triangle":                        // WHITE UP-POINTING SMALL TRIANGLE
 				return rune(0x25b5), true
 				return rune(0x25b5), true
-			case "triangledown": 
-				// WHITE DOWN-POINTING SMALL TRIANGLE
+			case "triangledown":                    // WHITE DOWN-POINTING SMALL TRIANGLE
 				return rune(0x25bf), true
 				return rune(0x25bf), true
-			case "triangleleft": 
-				// WHITE LEFT-POINTING SMALL TRIANGLE
+			case "triangleleft":                    // WHITE LEFT-POINTING SMALL TRIANGLE
 				return rune(0x25c3), true
 				return rune(0x25c3), true
-			case "triangleright": 
-				// WHITE RIGHT-POINTING SMALL TRIANGLE
+			case "trianglelefteq":                  // NORMAL SUBGROUP OF OR EQUAL TO
+				return rune(0x22b4), true
+			case "triangleq":                       // DELTA EQUAL TO
+				return rune(0x225c), true
+			case "triangleright":                   // WHITE RIGHT-POINTING SMALL TRIANGLE
 				return rune(0x25b9), true
 				return rune(0x25b9), true
-			case "tribar": 
-				// TRIANGLE WITH UNDERBAR
+			case "trianglerighteq":                 // CONTAINS AS NORMAL SUBGROUP OR EQUAL TO
+				return rune(0x22b5), true
+			case "tribar":                          // TRIANGLE WITH UNDERBAR
 				return rune(0x29cb), true
 				return rune(0x29cb), true
-			case "tridot": 
-				// WHITE UP-POINTING TRIANGLE WITH DOT
+			case "tridot":                          // WHITE UP-POINTING TRIANGLE WITH DOT
 				return rune(0x25ec), true
 				return rune(0x25ec), true
-			case "tridoto": 
-				// TRIANGLE WITH DOT ABOVE
+			case "tridoto":                         // TRIANGLE WITH DOT ABOVE
 				return rune(0x29ca), true
 				return rune(0x29ca), true
-			case "trie": 
-				// DELTA EQUAL TO
+			case "trie":                            // DELTA EQUAL TO
 				return rune(0x225c), true
 				return rune(0x225c), true
-			case "triminus": 
-				// MINUS SIGN IN TRIANGLE
+			case "triminus":                        // MINUS SIGN IN TRIANGLE
 				return rune(0x2a3a), true
 				return rune(0x2a3a), true
-			case "triplus": 
-				// PLUS SIGN IN TRIANGLE
+			case "triplus":                         // PLUS SIGN IN TRIANGLE
 				return rune(0x2a39), true
 				return rune(0x2a39), true
-			case "trisb": 
-				// TRIANGLE WITH SERIFS AT BOTTOM
+			case "trisb":                           // TRIANGLE WITH SERIFS AT BOTTOM
 				return rune(0x29cd), true
 				return rune(0x29cd), true
-			case "tritime": 
-				// MULTIPLICATION SIGN IN TRIANGLE
+			case "tritime":                         // MULTIPLICATION SIGN IN TRIANGLE
 				return rune(0x2a3b), true
 				return rune(0x2a3b), true
-			case "trpezium": 
-				// WHITE TRAPEZIUM
+			case "trpezium":                        // WHITE TRAPEZIUM
 				return rune(0x23e2), true
 				return rune(0x23e2), true
-			case "tscr": 
-				// MATHEMATICAL SCRIPT SMALL T
+			case "tscr":                            // MATHEMATICAL SCRIPT SMALL T
 				return rune(0x01d4c9), true
 				return rune(0x01d4c9), true
-			case "tscy": 
-				// CYRILLIC SMALL LETTER TSE
+			case "tscy":                            // CYRILLIC SMALL LETTER TSE
 				return rune(0x0446), true
 				return rune(0x0446), true
-			case "tshcy": 
-				// CYRILLIC SMALL LETTER TSHE
+			case "tshcy":                           // CYRILLIC SMALL LETTER TSHE
 				return rune(0x045b), true
 				return rune(0x045b), true
-			case "tstrok": 
-				// LATIN SMALL LETTER T WITH STROKE
+			case "tstrok":                          // LATIN SMALL LETTER T WITH STROKE
 				return rune(0x0167), true
 				return rune(0x0167), true
-			case "tverbar": 
-				// TRIPLE VERTICAL BAR DELIMITER
+			case "tverbar":                         // TRIPLE VERTICAL BAR DELIMITER
 				return rune(0x2980), true
 				return rune(0x2980), true
-			case "twixt": 
-				// BETWEEN
+			case "twixt":                           // BETWEEN
 				return rune(0x226c), true
 				return rune(0x226c), true
-			case "twoheadleftarrow": 
-				// LEFTWARDS TWO HEADED ARROW
+			case "twoheadleftarrow":                // LEFTWARDS TWO HEADED ARROW
 				return rune(0x219e), true
 				return rune(0x219e), true
-			case "twoheadrightarrow": 
-				// RIGHTWARDS TWO HEADED ARROW
+			case "twoheadrightarrow":               // RIGHTWARDS TWO HEADED ARROW
 				return rune(0x21a0), true
 				return rune(0x21a0), true
 		}
 		}
 
 
 	case 'u':
 	case 'u':
 		switch name {
 		switch name {
-			case "uAarr": 
-				// UPWARDS TRIPLE ARROW
+			case "uAarr":                           // UPWARDS TRIPLE ARROW
 				return rune(0x290a), true
 				return rune(0x290a), true
-			case "uArr": 
-				// UPWARDS DOUBLE ARROW
+			case "uArr":                            // UPWARDS DOUBLE ARROW
 				return rune(0x21d1), true
 				return rune(0x21d1), true
-			case "uHar": 
-				// UPWARDS HARPOON WITH BARB LEFT BESIDE UPWARDS HARPOON WITH BARB RIGHT
+			case "uHar":                            // UPWARDS HARPOON WITH BARB LEFT BESIDE UPWARDS HARPOON WITH BARB RIGHT
 				return rune(0x2963), true
 				return rune(0x2963), true
-			case "uacgr": 
-				// GREEK SMALL LETTER UPSILON WITH TONOS
+			case "uacgr":                           // GREEK SMALL LETTER UPSILON WITH TONOS
 				return rune(0x03cd), true
 				return rune(0x03cd), true
-			case "uacute": 
-				// LATIN SMALL LETTER U WITH ACUTE
+			case "uacute":                          // LATIN SMALL LETTER U WITH ACUTE
 				return rune(0xfa), true
 				return rune(0xfa), true
-			case "uarr2": 
-				// UPWARDS PAIRED ARROWS
-				return rune(0x21c8), true
-			case "uarr": 
-				// UPWARDS ARROW
+			case "uarr":                            // UPWARDS ARROW
 				return rune(0x2191), true
 				return rune(0x2191), true
-			case "uarrb": 
-				// UPWARDS ARROW TO BAR
+			case "uarr2":                           // UPWARDS PAIRED ARROWS
+				return rune(0x21c8), true
+			case "uarrb":                           // UPWARDS ARROW TO BAR
 				return rune(0x2912), true
 				return rune(0x2912), true
-			case "uarrln": 
-				// UPWARDS ARROW WITH HORIZONTAL STROKE
+			case "uarrln":                          // UPWARDS ARROW WITH HORIZONTAL STROKE
 				return rune(0x2909), true
 				return rune(0x2909), true
-			case "ubrcy": 
-				// CYRILLIC SMALL LETTER SHORT U
+			case "ubrcy":                           // CYRILLIC SMALL LETTER SHORT U
 				return rune(0x045e), true
 				return rune(0x045e), true
-			case "ubreve": 
-				// LATIN SMALL LETTER U WITH BREVE
+			case "ubreve":                          // LATIN SMALL LETTER U WITH BREVE
 				return rune(0x016d), true
 				return rune(0x016d), true
-			case "ucirc": 
-				// LATIN SMALL LETTER U WITH CIRCUMFLEX
+			case "ucirc":                           // LATIN SMALL LETTER U WITH CIRCUMFLEX
 				return rune(0xfb), true
 				return rune(0xfb), true
-			case "ucy": 
-				// CYRILLIC SMALL LETTER U
+			case "ucy":                             // CYRILLIC SMALL LETTER U
 				return rune(0x0443), true
 				return rune(0x0443), true
-			case "udarr": 
-				// UPWARDS ARROW LEFTWARDS OF DOWNWARDS ARROW
+			case "udarr":                           // UPWARDS ARROW LEFTWARDS OF DOWNWARDS ARROW
 				return rune(0x21c5), true
 				return rune(0x21c5), true
-			case "udblac": 
-				// LATIN SMALL LETTER U WITH DOUBLE ACUTE
+			case "udblac":                          // LATIN SMALL LETTER U WITH DOUBLE ACUTE
 				return rune(0x0171), true
 				return rune(0x0171), true
-			case "udhar": 
-				// UPWARDS HARPOON WITH BARB LEFT BESIDE DOWNWARDS HARPOON WITH BARB RIGHT
+			case "udhar":                           // UPWARDS HARPOON WITH BARB LEFT BESIDE DOWNWARDS HARPOON WITH BARB RIGHT
 				return rune(0x296e), true
 				return rune(0x296e), true
-			case "udiagr": 
-				// GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS
+			case "udiagr":                          // GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS
 				return rune(0x03b0), true
 				return rune(0x03b0), true
-			case "udigr": 
-				// GREEK SMALL LETTER UPSILON WITH DIALYTIKA
+			case "udigr":                           // GREEK SMALL LETTER UPSILON WITH DIALYTIKA
 				return rune(0x03cb), true
 				return rune(0x03cb), true
-			case "udrbrk": 
-				// BOTTOM SQUARE BRACKET
+			case "udrbrk":                          // BOTTOM SQUARE BRACKET
 				return rune(0x23b5), true
 				return rune(0x23b5), true
-			case "udrcub": 
-				// BOTTOM CURLY BRACKET
+			case "udrcub":                          // BOTTOM CURLY BRACKET
 				return rune(0x23df), true
 				return rune(0x23df), true
-			case "udrpar": 
-				// BOTTOM PARENTHESIS
+			case "udrpar":                          // BOTTOM PARENTHESIS
 				return rune(0x23dd), true
 				return rune(0x23dd), true
-			case "ufisht": 
-				// UP FISH TAIL
+			case "ufisht":                          // UP FISH TAIL
 				return rune(0x297e), true
 				return rune(0x297e), true
-			case "ufr": 
-				// MATHEMATICAL FRAKTUR SMALL U
+			case "ufr":                             // MATHEMATICAL FRAKTUR SMALL U
 				return rune(0x01d532), true
 				return rune(0x01d532), true
-			case "ugr": 
-				// GREEK SMALL LETTER UPSILON
+			case "ugr":                             // GREEK SMALL LETTER UPSILON
 				return rune(0x03c5), true
 				return rune(0x03c5), true
-			case "ugrave": 
-				// LATIN SMALL LETTER U WITH GRAVE
+			case "ugrave":                          // LATIN SMALL LETTER U WITH GRAVE
 				return rune(0xf9), true
 				return rune(0xf9), true
-			case "uharl": 
-				// UPWARDS HARPOON WITH BARB LEFTWARDS
+			case "uharl":                           // UPWARDS HARPOON WITH BARB LEFTWARDS
 				return rune(0x21bf), true
 				return rune(0x21bf), true
-			case "uharr": 
-				// UPWARDS HARPOON WITH BARB RIGHTWARDS
+			case "uharr":                           // UPWARDS HARPOON WITH BARB RIGHTWARDS
 				return rune(0x21be), true
 				return rune(0x21be), true
-			case "uhblk": 
-				// UPPER HALF BLOCK
+			case "uhblk":                           // UPPER HALF BLOCK
 				return rune(0x2580), true
 				return rune(0x2580), true
-			case "ulcorn": 
-				// TOP LEFT CORNER
+			case "ulcorn":                          // TOP LEFT CORNER
 				return rune(0x231c), true
 				return rune(0x231c), true
-			case "ulcorner": 
-				// TOP LEFT CORNER
+			case "ulcorner":                        // TOP LEFT CORNER
 				return rune(0x231c), true
 				return rune(0x231c), true
-			case "ulcrop": 
-				// TOP LEFT CROP
+			case "ulcrop":                          // TOP LEFT CROP
 				return rune(0x230f), true
 				return rune(0x230f), true
-			case "uldlshar": 
-				// UP BARB LEFT DOWN BARB LEFT HARPOON
+			case "uldlshar":                        // UP BARB LEFT DOWN BARB LEFT HARPOON
 				return rune(0x2951), true
 				return rune(0x2951), true
-			case "ulharb": 
-				// UPWARDS HARPOON WITH BARB LEFT TO BAR
+			case "ulharb":                          // UPWARDS HARPOON WITH BARB LEFT TO BAR
 				return rune(0x2958), true
 				return rune(0x2958), true
-			case "ultri": 
-				// UPPER LEFT TRIANGLE
+			case "ultri":                           // UPPER LEFT TRIANGLE
 				return rune(0x25f8), true
 				return rune(0x25f8), true
-			case "umacr": 
-				// LATIN SMALL LETTER U WITH MACRON
+			case "umacr":                           // LATIN SMALL LETTER U WITH MACRON
 				return rune(0x016b), true
 				return rune(0x016b), true
-			case "uml": 
-				// DIAERESIS
+			case "uml":                             // DIAERESIS
 				return rune(0xa8), true
 				return rune(0xa8), true
-			case "uogon": 
-				// LATIN SMALL LETTER U WITH OGONEK
+			case "uogon":                           // LATIN SMALL LETTER U WITH OGONEK
 				return rune(0x0173), true
 				return rune(0x0173), true
-			case "uopf": 
-				// MATHEMATICAL DOUBLE-STRUCK SMALL U
+			case "uopf":                            // MATHEMATICAL DOUBLE-STRUCK SMALL U
 				return rune(0x01d566), true
 				return rune(0x01d566), true
-			case "uparrow": 
-				// UPWARDS ARROW
+			case "uparrow":                         // UPWARDS ARROW
 				return rune(0x2191), true
 				return rune(0x2191), true
-			case "updownarrow": 
-				// UP DOWN ARROW
+			case "updownarrow":                     // UP DOWN ARROW
 				return rune(0x2195), true
 				return rune(0x2195), true
-			case "upharpoonleft": 
-				// UPWARDS HARPOON WITH BARB LEFTWARDS
+			case "upharpoonleft":                   // UPWARDS HARPOON WITH BARB LEFTWARDS
 				return rune(0x21bf), true
 				return rune(0x21bf), true
-			case "upharpoonright": 
-				// UPWARDS HARPOON WITH BARB RIGHTWARDS
+			case "upharpoonright":                  // UPWARDS HARPOON WITH BARB RIGHTWARDS
 				return rune(0x21be), true
 				return rune(0x21be), true
-			case "upint": 
-				// INTEGRAL WITH OVERBAR
+			case "upint":                           // INTEGRAL WITH OVERBAR
 				return rune(0x2a1b), true
 				return rune(0x2a1b), true
-			case "uplus": 
-				// MULTISET UNION
+			case "uplus":                           // MULTISET UNION
 				return rune(0x228e), true
 				return rune(0x228e), true
-			case "upsih": 
-				// GREEK UPSILON WITH HOOK SYMBOL
-				return rune(0x03d2), true
-			case "upsilon": 
-				// GREEK SMALL LETTER UPSILON
+			case "upsi":                            // GREEK SMALL LETTER UPSILON
 				return rune(0x03c5), true
 				return rune(0x03c5), true
-			case "upsi": 
-				// GREEK SMALL LETTER UPSILON
+			case "upsih":                           // GREEK UPSILON WITH HOOK SYMBOL
+				return rune(0x03d2), true
+			case "upsilon":                         // GREEK SMALL LETTER UPSILON
 				return rune(0x03c5), true
 				return rune(0x03c5), true
-			case "upuparrows": 
-				// UPWARDS PAIRED ARROWS
+			case "upuparrows":                      // UPWARDS PAIRED ARROWS
 				return rune(0x21c8), true
 				return rune(0x21c8), true
-			case "urcorn": 
-				// TOP RIGHT CORNER
+			case "urcorn":                          // TOP RIGHT CORNER
 				return rune(0x231d), true
 				return rune(0x231d), true
-			case "urcorner": 
-				// TOP RIGHT CORNER
+			case "urcorner":                        // TOP RIGHT CORNER
 				return rune(0x231d), true
 				return rune(0x231d), true
-			case "urcrop": 
-				// TOP RIGHT CROP
+			case "urcrop":                          // TOP RIGHT CROP
 				return rune(0x230e), true
 				return rune(0x230e), true
-			case "urdrshar": 
-				// UP BARB RIGHT DOWN BARB RIGHT HARPOON
+			case "urdrshar":                        // UP BARB RIGHT DOWN BARB RIGHT HARPOON
 				return rune(0x294f), true
 				return rune(0x294f), true
-			case "urharb": 
-				// UPWARDS HARPOON WITH BARB RIGHT TO BAR
+			case "urharb":                          // UPWARDS HARPOON WITH BARB RIGHT TO BAR
 				return rune(0x2954), true
 				return rune(0x2954), true
-			case "uring": 
-				// LATIN SMALL LETTER U WITH RING ABOVE
+			case "uring":                           // LATIN SMALL LETTER U WITH RING ABOVE
 				return rune(0x016f), true
 				return rune(0x016f), true
-			case "urtrif": 
-				// BLACK UPPER RIGHT TRIANGLE
-				return rune(0x25e5), true
-			case "urtri": 
-				// UPPER RIGHT TRIANGLE
+			case "urtri":                           // UPPER RIGHT TRIANGLE
 				return rune(0x25f9), true
 				return rune(0x25f9), true
-			case "uscr": 
-				// MATHEMATICAL SCRIPT SMALL U
+			case "urtrif":                          // BLACK UPPER RIGHT TRIANGLE
+				return rune(0x25e5), true
+			case "uscr":                            // MATHEMATICAL SCRIPT SMALL U
 				return rune(0x01d4ca), true
 				return rune(0x01d4ca), true
-			case "utdot": 
-				// UP RIGHT DIAGONAL ELLIPSIS
+			case "utdot":                           // UP RIGHT DIAGONAL ELLIPSIS
 				return rune(0x22f0), true
 				return rune(0x22f0), true
-			case "utilde": 
-				// LATIN SMALL LETTER U WITH TILDE
+			case "utilde":                          // LATIN SMALL LETTER U WITH TILDE
 				return rune(0x0169), true
 				return rune(0x0169), true
-			case "utrif": 
-				// BLACK UP-POINTING SMALL TRIANGLE
-				return rune(0x25b4), true
-			case "utri": 
-				// WHITE UP-POINTING SMALL TRIANGLE
+			case "utri":                            // WHITE UP-POINTING SMALL TRIANGLE
 				return rune(0x25b5), true
 				return rune(0x25b5), true
-			case "uuarr": 
-				// UPWARDS PAIRED ARROWS
+			case "utrif":                           // BLACK UP-POINTING SMALL TRIANGLE
+				return rune(0x25b4), true
+			case "uuarr":                           // UPWARDS PAIRED ARROWS
 				return rune(0x21c8), true
 				return rune(0x21c8), true
-			case "uuml": 
-				// LATIN SMALL LETTER U WITH DIAERESIS
+			case "uuml":                            // LATIN SMALL LETTER U WITH DIAERESIS
 				return rune(0xfc), true
 				return rune(0xfc), true
-			case "uwangle": 
-				// OBLIQUE ANGLE OPENING DOWN
+			case "uwangle":                         // OBLIQUE ANGLE OPENING DOWN
 				return rune(0x29a7), true
 				return rune(0x29a7), true
 		}
 		}
 
 
 	case 'v':
 	case 'v':
 		switch name {
 		switch name {
-			case "vArr": 
-				// UP DOWN DOUBLE ARROW
+			case "vArr":                            // UP DOWN DOUBLE ARROW
 				return rune(0x21d5), true
 				return rune(0x21d5), true
-			case "vBar": 
-				// SHORT UP TACK WITH UNDERBAR
+			case "vBar":                            // SHORT UP TACK WITH UNDERBAR
 				return rune(0x2ae8), true
 				return rune(0x2ae8), true
-			case "vBarv": 
-				// SHORT UP TACK ABOVE SHORT DOWN TACK
+			case "vBarv":                           // SHORT UP TACK ABOVE SHORT DOWN TACK
 				return rune(0x2ae9), true
 				return rune(0x2ae9), true
-			case "vDash": 
-				// TRUE
+			case "vDash":                           // TRUE
 				return rune(0x22a8), true
 				return rune(0x22a8), true
-			case "vDdash": 
-				// VERTICAL BAR TRIPLE RIGHT TURNSTILE
+			case "vDdash":                          // VERTICAL BAR TRIPLE RIGHT TURNSTILE
 				return rune(0x2ae2), true
 				return rune(0x2ae2), true
-			case "vangrt": 
-				// RIGHT ANGLE VARIANT WITH SQUARE
+			case "vangrt":                          // RIGHT ANGLE VARIANT WITH SQUARE
 				return rune(0x299c), true
 				return rune(0x299c), true
-			case "varepsilon": 
-				// GREEK LUNATE EPSILON SYMBOL
+			case "varepsilon":                      // GREEK LUNATE EPSILON SYMBOL
 				return rune(0x03f5), true
 				return rune(0x03f5), true
-			case "varkappa": 
-				// GREEK KAPPA SYMBOL
+			case "varkappa":                        // GREEK KAPPA SYMBOL
 				return rune(0x03f0), true
 				return rune(0x03f0), true
-			case "varnothing": 
-				// EMPTY SET
+			case "varnothing":                      // EMPTY SET
 				return rune(0x2205), true
 				return rune(0x2205), true
-			case "varphi": 
-				// GREEK PHI SYMBOL
+			case "varphi":                          // GREEK PHI SYMBOL
 				return rune(0x03d5), true
 				return rune(0x03d5), true
-			case "varpi": 
-				// GREEK PI SYMBOL
+			case "varpi":                           // GREEK PI SYMBOL
 				return rune(0x03d6), true
 				return rune(0x03d6), true
-			case "varpropto": 
-				// PROPORTIONAL TO
+			case "varpropto":                       // PROPORTIONAL TO
 				return rune(0x221d), true
 				return rune(0x221d), true
-			case "varr": 
-				// UP DOWN ARROW
+			case "varr":                            // UP DOWN ARROW
 				return rune(0x2195), true
 				return rune(0x2195), true
-			case "varrho": 
-				// GREEK RHO SYMBOL
+			case "varrho":                          // GREEK RHO SYMBOL
 				return rune(0x03f1), true
 				return rune(0x03f1), true
-			case "varsigma": 
-				// GREEK SMALL LETTER FINAL SIGMA
+			case "varsigma":                        // GREEK SMALL LETTER FINAL SIGMA
 				return rune(0x03c2), true
 				return rune(0x03c2), true
-			case "varsubsetneq": 
-				// SUBSET OF WITH NOT EQUAL TO - variant with stroke through bottom members
+			case "varsubsetneq":                    // SUBSET OF WITH NOT EQUAL TO - variant with stroke through bottom members
 				return rune(0x228a), true
 				return rune(0x228a), true
-			case "varsubsetneqq": 
-				// SUBSET OF ABOVE NOT EQUAL TO - variant with stroke through bottom members
+			case "varsubsetneqq":                   // SUBSET OF ABOVE NOT EQUAL TO - variant with stroke through bottom members
 				return rune(0x2acb), true
 				return rune(0x2acb), true
-			case "varsupsetneq": 
-				// SUPERSET OF WITH NOT EQUAL TO - variant with stroke through bottom members
+			case "varsupsetneq":                    // SUPERSET OF WITH NOT EQUAL TO - variant with stroke through bottom members
 				return rune(0x228b), true
 				return rune(0x228b), true
-			case "varsupsetneqq": 
-				// SUPERSET OF ABOVE NOT EQUAL TO - variant with stroke through bottom members
+			case "varsupsetneqq":                   // SUPERSET OF ABOVE NOT EQUAL TO - variant with stroke through bottom members
 				return rune(0x2acc), true
 				return rune(0x2acc), true
-			case "vartheta": 
-				// GREEK THETA SYMBOL
+			case "vartheta":                        // GREEK THETA SYMBOL
 				return rune(0x03d1), true
 				return rune(0x03d1), true
-			case "vartriangleleft": 
-				// NORMAL SUBGROUP OF
+			case "vartriangleleft":                 // NORMAL SUBGROUP OF
 				return rune(0x22b2), true
 				return rune(0x22b2), true
-			case "vartriangleright": 
-				// CONTAINS AS NORMAL SUBGROUP
+			case "vartriangleright":                // CONTAINS AS NORMAL SUBGROUP
 				return rune(0x22b3), true
 				return rune(0x22b3), true
-			case "vbrtri": 
-				// VERTICAL BAR BESIDE RIGHT TRIANGLE
+			case "vbrtri":                          // VERTICAL BAR BESIDE RIGHT TRIANGLE
 				return rune(0x29d0), true
 				return rune(0x29d0), true
-			case "vcy": 
-				// CYRILLIC SMALL LETTER VE
+			case "vcy":                             // CYRILLIC SMALL LETTER VE
 				return rune(0x0432), true
 				return rune(0x0432), true
-			case "vdash": 
-				// RIGHT TACK
+			case "vdash":                           // RIGHT TACK
 				return rune(0x22a2), true
 				return rune(0x22a2), true
-			case "vee": 
-				// LOGICAL OR
+			case "vee":                             // LOGICAL OR
 				return rune(0x2228), true
 				return rune(0x2228), true
-			case "veeBar": 
-				// LOGICAL OR WITH DOUBLE UNDERBAR
+			case "veeBar":                          // LOGICAL OR WITH DOUBLE UNDERBAR
 				return rune(0x2a63), true
 				return rune(0x2a63), true
-			case "veebar": 
-				// XOR
+			case "veebar":                          // XOR
 				return rune(0x22bb), true
 				return rune(0x22bb), true
-			case "veeeq": 
-				// EQUIANGULAR TO
+			case "veeeq":                           // EQUIANGULAR TO
 				return rune(0x225a), true
 				return rune(0x225a), true
-			case "vellip": 
-				// VERTICAL ELLIPSIS
+			case "vellip":                          // VERTICAL ELLIPSIS
 				return rune(0x22ee), true
 				return rune(0x22ee), true
-			case "vellip4": 
-				// DOTTED FENCE
+			case "vellip4":                         // DOTTED FENCE
 				return rune(0x2999), true
 				return rune(0x2999), true
-			case "vellipv": 
-				// TRIPLE COLON OPERATOR
+			case "vellipv":                         // TRIPLE COLON OPERATOR
 				return rune(0x2af6), true
 				return rune(0x2af6), true
-			case "verbar": 
-				// VERTICAL LINE
+			case "verbar":                          // VERTICAL LINE
 				return rune(0x7c), true
 				return rune(0x7c), true
-			case "vert3": 
-				// TRIPLE VERTICAL BAR BINARY RELATION
-				return rune(0x2af4), true
-			case "vert": 
-				// VERTICAL LINE
+			case "vert":                            // VERTICAL LINE
 				return rune(0x7c), true
 				return rune(0x7c), true
-			case "vfr": 
-				// MATHEMATICAL FRAKTUR SMALL V
+			case "vert3":                           // TRIPLE VERTICAL BAR BINARY RELATION
+				return rune(0x2af4), true
+			case "vfr":                             // MATHEMATICAL FRAKTUR SMALL V
 				return rune(0x01d533), true
 				return rune(0x01d533), true
-			case "vldash": 
-				// LEFT SQUARE BRACKET LOWER CORNER
+			case "vldash":                          // LEFT SQUARE BRACKET LOWER CORNER
 				return rune(0x23a3), true
 				return rune(0x23a3), true
-			case "vltri": 
-				// NORMAL SUBGROUP OF
+			case "vltri":                           // NORMAL SUBGROUP OF
 				return rune(0x22b2), true
 				return rune(0x22b2), true
-			case "vnsub": 
-				// SUBSET OF with vertical line
+			case "vnsub":                           // SUBSET OF with vertical line
 				return rune(0x2282), true
 				return rune(0x2282), true
-			case "vnsup": 
-				// SUPERSET OF with vertical line
+			case "vnsup":                           // SUPERSET OF with vertical line
 				return rune(0x2283), true
 				return rune(0x2283), true
-			case "vopf": 
-				// MATHEMATICAL DOUBLE-STRUCK SMALL V
+			case "vopf":                            // MATHEMATICAL DOUBLE-STRUCK SMALL V
 				return rune(0x01d567), true
 				return rune(0x01d567), true
-			case "vprime": 
-				// PRIME
+			case "vprime":                          // PRIME
 				return rune(0x2032), true
 				return rune(0x2032), true
-			case "vprop": 
-				// PROPORTIONAL TO
+			case "vprop":                           // PROPORTIONAL TO
 				return rune(0x221d), true
 				return rune(0x221d), true
-			case "vrtri": 
-				// CONTAINS AS NORMAL SUBGROUP
+			case "vrtri":                           // CONTAINS AS NORMAL SUBGROUP
 				return rune(0x22b3), true
 				return rune(0x22b3), true
-			case "vscr": 
-				// MATHEMATICAL SCRIPT SMALL V
+			case "vscr":                            // MATHEMATICAL SCRIPT SMALL V
 				return rune(0x01d4cb), true
 				return rune(0x01d4cb), true
-			case "vsubnE": 
-				// SUBSET OF ABOVE NOT EQUAL TO - variant with stroke through bottom members
+			case "vsubnE":                          // SUBSET OF ABOVE NOT EQUAL TO - variant with stroke through bottom members
 				return rune(0x2acb), true
 				return rune(0x2acb), true
-			case "vsubne": 
-				// SUBSET OF WITH NOT EQUAL TO - variant with stroke through bottom members
+			case "vsubne":                          // SUBSET OF WITH NOT EQUAL TO - variant with stroke through bottom members
 				return rune(0x228a), true
 				return rune(0x228a), true
-			case "vsupnE": 
-				// SUPERSET OF ABOVE NOT EQUAL TO - variant with stroke through bottom members
+			case "vsupnE":                          // SUPERSET OF ABOVE NOT EQUAL TO - variant with stroke through bottom members
 				return rune(0x2acc), true
 				return rune(0x2acc), true
-			case "vsupne": 
-				// SUPERSET OF WITH NOT EQUAL TO - variant with stroke through bottom members
+			case "vsupne":                          // SUPERSET OF WITH NOT EQUAL TO - variant with stroke through bottom members
 				return rune(0x228b), true
 				return rune(0x228b), true
-			case "vzigzag": 
-				// VERTICAL ZIGZAG LINE
+			case "vzigzag":                         // VERTICAL ZIGZAG LINE
 				return rune(0x299a), true
 				return rune(0x299a), true
 		}
 		}
 
 
 	case 'w':
 	case 'w':
 		switch name {
 		switch name {
-			case "wcirc": 
-				// LATIN SMALL LETTER W WITH CIRCUMFLEX
+			case "wcirc":                           // LATIN SMALL LETTER W WITH CIRCUMFLEX
 				return rune(0x0175), true
 				return rune(0x0175), true
-			case "wedbar": 
-				// LOGICAL AND WITH UNDERBAR
+			case "wedbar":                          // LOGICAL AND WITH UNDERBAR
 				return rune(0x2a5f), true
 				return rune(0x2a5f), true
-			case "wedge": 
-				// LOGICAL AND
+			case "wedge":                           // LOGICAL AND
 				return rune(0x2227), true
 				return rune(0x2227), true
-			case "wedgeq": 
-				// ESTIMATES
+			case "wedgeq":                          // ESTIMATES
 				return rune(0x2259), true
 				return rune(0x2259), true
-			case "weierp": 
-				// SCRIPT CAPITAL P
+			case "weierp":                          // SCRIPT CAPITAL P
 				return rune(0x2118), true
 				return rune(0x2118), true
-			case "wfr": 
-				// MATHEMATICAL FRAKTUR SMALL W
+			case "wfr":                             // MATHEMATICAL FRAKTUR SMALL W
 				return rune(0x01d534), true
 				return rune(0x01d534), true
-			case "wopf": 
-				// MATHEMATICAL DOUBLE-STRUCK SMALL W
+			case "wopf":                            // MATHEMATICAL DOUBLE-STRUCK SMALL W
 				return rune(0x01d568), true
 				return rune(0x01d568), true
-			case "wp": 
-				// SCRIPT CAPITAL P
+			case "wp":                              // SCRIPT CAPITAL P
 				return rune(0x2118), true
 				return rune(0x2118), true
-			case "wreath": 
-				// WREATH PRODUCT
+			case "wr":                              // WREATH PRODUCT
 				return rune(0x2240), true
 				return rune(0x2240), true
-			case "wr": 
-				// WREATH PRODUCT
+			case "wreath":                          // WREATH PRODUCT
 				return rune(0x2240), true
 				return rune(0x2240), true
-			case "wscr": 
-				// MATHEMATICAL SCRIPT SMALL W
+			case "wscr":                            // MATHEMATICAL SCRIPT SMALL W
 				return rune(0x01d4cc), true
 				return rune(0x01d4cc), true
 		}
 		}
 
 
 	case 'x':
 	case 'x':
 		switch name {
 		switch name {
-			case "xandand": 
-				// TWO LOGICAL AND OPERATOR
+			case "xandand":                         // TWO LOGICAL AND OPERATOR
 				return rune(0x2a07), true
 				return rune(0x2a07), true
-			case "xbsol": 
-				// BOX DRAWINGS LIGHT DIAGONAL UPPER RIGHT TO LOWER LEFT
+			case "xbsol":                           // BOX DRAWINGS LIGHT DIAGONAL UPPER RIGHT TO LOWER LEFT
 				return rune(0x2571), true
 				return rune(0x2571), true
-			case "xcap": 
-				// N-ARY INTERSECTION
+			case "xcap":                            // N-ARY INTERSECTION
 				return rune(0x22c2), true
 				return rune(0x22c2), true
-			case "xcirc": 
-				// LARGE CIRCLE
+			case "xcirc":                           // LARGE CIRCLE
 				return rune(0x25ef), true
 				return rune(0x25ef), true
-			case "xcup": 
-				// N-ARY UNION
+			case "xcup":                            // N-ARY UNION
 				return rune(0x22c3), true
 				return rune(0x22c3), true
-			case "xcupdot": 
-				// N-ARY UNION OPERATOR WITH DOT
+			case "xcupdot":                         // N-ARY UNION OPERATOR WITH DOT
 				return rune(0x2a03), true
 				return rune(0x2a03), true
-			case "xdtri": 
-				// WHITE DOWN-POINTING TRIANGLE
+			case "xdtri":                           // WHITE DOWN-POINTING TRIANGLE
 				return rune(0x25bd), true
 				return rune(0x25bd), true
-			case "xfr": 
-				// MATHEMATICAL FRAKTUR SMALL X
+			case "xfr":                             // MATHEMATICAL FRAKTUR SMALL X
 				return rune(0x01d535), true
 				return rune(0x01d535), true
-			case "xgr": 
-				// GREEK SMALL LETTER XI
+			case "xgr":                             // GREEK SMALL LETTER XI
 				return rune(0x03be), true
 				return rune(0x03be), true
-			case "xhArr": 
-				// LONG LEFT RIGHT DOUBLE ARROW
+			case "xhArr":                           // LONG LEFT RIGHT DOUBLE ARROW
 				return rune(0x27fa), true
 				return rune(0x27fa), true
-			case "xharr": 
-				// LONG LEFT RIGHT ARROW
+			case "xharr":                           // LONG LEFT RIGHT ARROW
 				return rune(0x27f7), true
 				return rune(0x27f7), true
-			case "xi": 
-				// GREEK SMALL LETTER XI
+			case "xi":                              // GREEK SMALL LETTER XI
 				return rune(0x03be), true
 				return rune(0x03be), true
-			case "xlArr": 
-				// LONG LEFTWARDS DOUBLE ARROW
+			case "xlArr":                           // LONG LEFTWARDS DOUBLE ARROW
 				return rune(0x27f8), true
 				return rune(0x27f8), true
-			case "xlarr": 
-				// LONG LEFTWARDS ARROW
+			case "xlarr":                           // LONG LEFTWARDS ARROW
 				return rune(0x27f5), true
 				return rune(0x27f5), true
-			case "xmap": 
-				// LONG RIGHTWARDS ARROW FROM BAR
+			case "xmap":                            // LONG RIGHTWARDS ARROW FROM BAR
 				return rune(0x27fc), true
 				return rune(0x27fc), true
-			case "xnis": 
-				// CONTAINS WITH VERTICAL BAR AT END OF HORIZONTAL STROKE
+			case "xnis":                            // CONTAINS WITH VERTICAL BAR AT END OF HORIZONTAL STROKE
 				return rune(0x22fb), true
 				return rune(0x22fb), true
-			case "xodot": 
-				// N-ARY CIRCLED DOT OPERATOR
+			case "xodot":                           // N-ARY CIRCLED DOT OPERATOR
 				return rune(0x2a00), true
 				return rune(0x2a00), true
-			case "xopf": 
-				// MATHEMATICAL DOUBLE-STRUCK SMALL X
+			case "xopf":                            // MATHEMATICAL DOUBLE-STRUCK SMALL X
 				return rune(0x01d569), true
 				return rune(0x01d569), true
-			case "xoplus": 
-				// N-ARY CIRCLED PLUS OPERATOR
+			case "xoplus":                          // N-ARY CIRCLED PLUS OPERATOR
 				return rune(0x2a01), true
 				return rune(0x2a01), true
-			case "xoror": 
-				// TWO LOGICAL OR OPERATOR
+			case "xoror":                           // TWO LOGICAL OR OPERATOR
 				return rune(0x2a08), true
 				return rune(0x2a08), true
-			case "xotime": 
-				// N-ARY CIRCLED TIMES OPERATOR
+			case "xotime":                          // N-ARY CIRCLED TIMES OPERATOR
 				return rune(0x2a02), true
 				return rune(0x2a02), true
-			case "xrArr": 
-				// LONG RIGHTWARDS DOUBLE ARROW
+			case "xrArr":                           // LONG RIGHTWARDS DOUBLE ARROW
 				return rune(0x27f9), true
 				return rune(0x27f9), true
-			case "xrarr": 
-				// LONG RIGHTWARDS ARROW
+			case "xrarr":                           // LONG RIGHTWARDS ARROW
 				return rune(0x27f6), true
 				return rune(0x27f6), true
-			case "xscr": 
-				// MATHEMATICAL SCRIPT SMALL X
+			case "xscr":                            // MATHEMATICAL SCRIPT SMALL X
 				return rune(0x01d4cd), true
 				return rune(0x01d4cd), true
-			case "xsol": 
-				// BOX DRAWINGS LIGHT DIAGONAL UPPER LEFT TO LOWER RIGHT
+			case "xsol":                            // BOX DRAWINGS LIGHT DIAGONAL UPPER LEFT TO LOWER RIGHT
 				return rune(0x2572), true
 				return rune(0x2572), true
-			case "xsqcap": 
-				// N-ARY SQUARE INTERSECTION OPERATOR
+			case "xsqcap":                          // N-ARY SQUARE INTERSECTION OPERATOR
 				return rune(0x2a05), true
 				return rune(0x2a05), true
-			case "xsqcup": 
-				// N-ARY SQUARE UNION OPERATOR
+			case "xsqcup":                          // N-ARY SQUARE UNION OPERATOR
 				return rune(0x2a06), true
 				return rune(0x2a06), true
-			case "xsqu": 
-				// WHITE MEDIUM SQUARE
+			case "xsqu":                            // WHITE MEDIUM SQUARE
 				return rune(0x25fb), true
 				return rune(0x25fb), true
-			case "xsquf": 
-				// BLACK MEDIUM SQUARE
+			case "xsquf":                           // BLACK MEDIUM SQUARE
 				return rune(0x25fc), true
 				return rune(0x25fc), true
-			case "xtimes": 
-				// N-ARY TIMES OPERATOR
+			case "xtimes":                          // N-ARY TIMES OPERATOR
 				return rune(0x2a09), true
 				return rune(0x2a09), true
-			case "xuplus": 
-				// N-ARY UNION OPERATOR WITH PLUS
+			case "xuplus":                          // N-ARY UNION OPERATOR WITH PLUS
 				return rune(0x2a04), true
 				return rune(0x2a04), true
-			case "xutri": 
-				// WHITE UP-POINTING TRIANGLE
+			case "xutri":                           // WHITE UP-POINTING TRIANGLE
 				return rune(0x25b3), true
 				return rune(0x25b3), true
-			case "xvee": 
-				// N-ARY LOGICAL OR
+			case "xvee":                            // N-ARY LOGICAL OR
 				return rune(0x22c1), true
 				return rune(0x22c1), true
-			case "xwedge": 
-				// N-ARY LOGICAL AND
+			case "xwedge":                          // N-ARY LOGICAL AND
 				return rune(0x22c0), true
 				return rune(0x22c0), true
 		}
 		}
 
 
 	case 'y':
 	case 'y':
 		switch name {
 		switch name {
-			case "yacute": 
-				// LATIN SMALL LETTER Y WITH ACUTE
+			case "yacute":                          // LATIN SMALL LETTER Y WITH ACUTE
 				return rune(0xfd), true
 				return rune(0xfd), true
-			case "yacy": 
-				// CYRILLIC SMALL LETTER YA
+			case "yacy":                            // CYRILLIC SMALL LETTER YA
 				return rune(0x044f), true
 				return rune(0x044f), true
-			case "ycirc": 
-				// LATIN SMALL LETTER Y WITH CIRCUMFLEX
+			case "ycirc":                           // LATIN SMALL LETTER Y WITH CIRCUMFLEX
 				return rune(0x0177), true
 				return rune(0x0177), true
-			case "ycy": 
-				// CYRILLIC SMALL LETTER YERU
+			case "ycy":                             // CYRILLIC SMALL LETTER YERU
 				return rune(0x044b), true
 				return rune(0x044b), true
-			case "yen": 
-				// YEN SIGN
+			case "yen":                             // YEN SIGN
 				return rune(0xa5), true
 				return rune(0xa5), true
-			case "yfr": 
-				// MATHEMATICAL FRAKTUR SMALL Y
+			case "yfr":                             // MATHEMATICAL FRAKTUR SMALL Y
 				return rune(0x01d536), true
 				return rune(0x01d536), true
-			case "yicy": 
-				// CYRILLIC SMALL LETTER YI
+			case "yicy":                            // CYRILLIC SMALL LETTER YI
 				return rune(0x0457), true
 				return rune(0x0457), true
-			case "yopf": 
-				// MATHEMATICAL DOUBLE-STRUCK SMALL Y
+			case "yopf":                            // MATHEMATICAL DOUBLE-STRUCK SMALL Y
 				return rune(0x01d56a), true
 				return rune(0x01d56a), true
-			case "yscr": 
-				// MATHEMATICAL SCRIPT SMALL Y
+			case "yscr":                            // MATHEMATICAL SCRIPT SMALL Y
 				return rune(0x01d4ce), true
 				return rune(0x01d4ce), true
-			case "yucy": 
-				// CYRILLIC SMALL LETTER YU
+			case "yucy":                            // CYRILLIC SMALL LETTER YU
 				return rune(0x044e), true
 				return rune(0x044e), true
-			case "yuml": 
-				// LATIN SMALL LETTER Y WITH DIAERESIS
+			case "yuml":                            // LATIN SMALL LETTER Y WITH DIAERESIS
 				return rune(0xff), true
 				return rune(0xff), true
 		}
 		}
 
 
 	case 'z':
 	case 'z':
 		switch name {
 		switch name {
-			case "zacute": 
-				// LATIN SMALL LETTER Z WITH ACUTE
+			case "zacute":                          // LATIN SMALL LETTER Z WITH ACUTE
 				return rune(0x017a), true
 				return rune(0x017a), true
-			case "zcaron": 
-				// LATIN SMALL LETTER Z WITH CARON
+			case "zcaron":                          // LATIN SMALL LETTER Z WITH CARON
 				return rune(0x017e), true
 				return rune(0x017e), true
-			case "zcy": 
-				// CYRILLIC SMALL LETTER ZE
+			case "zcy":                             // CYRILLIC SMALL LETTER ZE
 				return rune(0x0437), true
 				return rune(0x0437), true
-			case "zdot": 
-				// LATIN SMALL LETTER Z WITH DOT ABOVE
+			case "zdot":                            // LATIN SMALL LETTER Z WITH DOT ABOVE
 				return rune(0x017c), true
 				return rune(0x017c), true
-			case "zeetrf": 
-				// BLACK-LETTER CAPITAL Z
+			case "zeetrf":                          // BLACK-LETTER CAPITAL Z
 				return rune(0x2128), true
 				return rune(0x2128), true
-			case "zeta": 
-				// GREEK SMALL LETTER ZETA
+			case "zeta":                            // GREEK SMALL LETTER ZETA
 				return rune(0x03b6), true
 				return rune(0x03b6), true
-			case "zfr": 
-				// MATHEMATICAL FRAKTUR SMALL Z
+			case "zfr":                             // MATHEMATICAL FRAKTUR SMALL Z
 				return rune(0x01d537), true
 				return rune(0x01d537), true
-			case "zgr": 
-				// GREEK SMALL LETTER ZETA
+			case "zgr":                             // GREEK SMALL LETTER ZETA
 				return rune(0x03b6), true
 				return rune(0x03b6), true
-			case "zhcy": 
-				// CYRILLIC SMALL LETTER ZHE
+			case "zhcy":                            // CYRILLIC SMALL LETTER ZHE
 				return rune(0x0436), true
 				return rune(0x0436), true
-			case "zigrarr": 
-				// RIGHTWARDS SQUIGGLE ARROW
+			case "zigrarr":                         // RIGHTWARDS SQUIGGLE ARROW
 				return rune(0x21dd), true
 				return rune(0x21dd), true
-			case "zopf": 
-				// MATHEMATICAL DOUBLE-STRUCK SMALL Z
+			case "zopf":                            // MATHEMATICAL DOUBLE-STRUCK SMALL Z
 				return rune(0x01d56b), true
 				return rune(0x01d56b), true
-			case "zscr": 
-				// MATHEMATICAL SCRIPT SMALL Z
+			case "zscr":                            // MATHEMATICAL SCRIPT SMALL Z
 				return rune(0x01d4cf), true
 				return rune(0x01d4cf), true
-			case "zwj": 
-				// ZERO WIDTH JOINER
+			case "zwj":                             // ZERO WIDTH JOINER
 				return rune(0x200d), true
 				return rune(0x200d), true
-			case "zwnj": 
-				// ZERO WIDTH NON-JOINER
+			case "zwnj":                            // ZERO WIDTH NON-JOINER
 				return rune(0x200c), true
 				return rune(0x200c), true
 		}
 		}
 	}
 	}

+ 80 - 69
core/unicode/tools/generate_entity_table.odin

@@ -2,7 +2,7 @@ package xml_example
 
 
 import "core:encoding/xml"
 import "core:encoding/xml"
 import "core:os"
 import "core:os"
-import "core:path"
+import path "core:path/filepath"
 import "core:mem"
 import "core:mem"
 import "core:strings"
 import "core:strings"
 import "core:strconv"
 import "core:strconv"
@@ -23,38 +23,38 @@ Entity :: struct {
 }
 }
 
 
 generate_encoding_entity_table :: proc() {
 generate_encoding_entity_table :: proc() {
-	using fmt
-
-	filename := path.join(ODIN_ROOT, "tests", "core", "assets", "XML", "unicode.xml")
+	filename := path.join({ODIN_ROOT, "tests", "core", "assets", "XML", "unicode.xml"})
 	defer delete(filename)
 	defer delete(filename)
 
 
-	generated_filename := path.join(ODIN_ROOT, "core", "encoding", "entity", "generated.odin")
+	generated_filename := path.join({ODIN_ROOT, "core", "encoding", "entity", "generated.odin"})
 	defer delete(generated_filename)
 	defer delete(generated_filename)
 
 
-	doc, err := xml.parse(filename, OPTIONS, Error_Handler)
+	doc, err := xml.load_from_file(filename, OPTIONS, Error_Handler)
 	defer xml.destroy(doc)
 	defer xml.destroy(doc)
 
 
 	if err != .None {
 	if err != .None {
-		printf("Load/Parse error: %v\n", err)
+		fmt.printf("Load/Parse error: %v\n", err)
 		if err == .File_Error {
 		if err == .File_Error {
-			printf("\"%v\" not found. Did you run \"tests\\download_assets.py\"?", filename)
+			fmt.printf("\"%v\" not found. Did you run \"tests\\download_assets.py\"?", filename)
 		}
 		}
 		os.exit(1)
 		os.exit(1)
 	}
 	}
 
 
-	printf("\"%v\" loaded and parsed.\n", filename)
+	fmt.printf("\"%v\" loaded and parsed.\n", filename)
 
 
 	generated_buf: strings.Builder
 	generated_buf: strings.Builder
 	defer strings.builder_destroy(&generated_buf)
 	defer strings.builder_destroy(&generated_buf)
 	w := strings.to_writer(&generated_buf)
 	w := strings.to_writer(&generated_buf)
 
 
-	charlist, charlist_ok := xml.find_child_by_ident(doc.root, "charlist")
+	charlist_id, charlist_ok := xml.find_child_by_ident(doc, 0, "charlist")
 	if !charlist_ok {
 	if !charlist_ok {
-		eprintln("Could not locate top-level `<charlist>` tag.")
+		fmt.eprintln("Could not locate top-level `<charlist>` tag.")
 		os.exit(1)
 		os.exit(1)
 	}
 	}
 
 
-	printf("Found `<charlist>` with %v children.\n", len(charlist.children))
+	charlist := doc.elements[charlist_id]
+
+	fmt.printf("Found `<charlist>` with %v children.\n", len(charlist.value))
 
 
 	entity_map: map[string]Entity
 	entity_map: map[string]Entity
 	names: [dynamic]string
 	names: [dynamic]string
@@ -65,20 +65,26 @@ generate_encoding_entity_table :: proc() {
 	longest_name:  string
 	longest_name:  string
 
 
 	count := 0
 	count := 0
-	for char in charlist.children {
+	for char_id in charlist.value {
+		id := char_id.(xml.Element_ID)
+		char := doc.elements[id]
+
 		if char.ident != "character" {
 		if char.ident != "character" {
-			eprintf("Expected `<character>`, got `<%v>`\n", char.ident)
+			fmt.eprintf("Expected `<character>`, got `<%v>`\n", char.ident)
 			os.exit(1)
 			os.exit(1)
 		}
 		}
 
 
-		if codepoint_string, ok := xml.find_attribute_val_by_key(char, "dec"); !ok {
-			eprintln("`<character id=\"...\">` attribute not found.")
+		if codepoint_string, ok := xml.find_attribute_val_by_key(doc, id, "dec"); !ok {
+			fmt.eprintln("`<character id=\"...\">` attribute not found.")
 			os.exit(1)
 			os.exit(1)
 		} else {
 		} else {
 			codepoint := strconv.atoi(codepoint_string)
 			codepoint := strconv.atoi(codepoint_string)
 
 
-			desc, desc_ok := xml.find_child_by_ident(char, "description")
-			description   := desc.value if desc_ok else ""
+			desc, desc_ok := xml.find_child_by_ident(doc, id, "description")
+			description := ""
+			if len(doc.elements[desc].value) == 1 {
+				description = doc.elements[desc].value[0].(string)
+			}
 
 
 			/*
 			/*
 				For us to be interested in this codepoint, it has to have at least one entity.
 				For us to be interested in this codepoint, it has to have at least one entity.
@@ -86,9 +92,9 @@ generate_encoding_entity_table :: proc() {
 
 
 			nth := 0
 			nth := 0
 			for {
 			for {
-				character_entity := xml.find_child_by_ident(char, "entity", nth) or_break
+				character_entity := xml.find_child_by_ident(doc, id, "entity", nth) or_break
 				nth += 1
 				nth += 1
-				name := xml.find_attribute_val_by_key(character_entity, "id") or_continue
+				name := xml.find_attribute_val_by_key(doc, character_entity, "id") or_continue
 				if len(name) == 0 {
 				if len(name) == 0 {
 					/*
 					/*
 						Invalid name. Skip.
 						Invalid name. Skip.
@@ -97,8 +103,8 @@ generate_encoding_entity_table :: proc() {
 				}
 				}
 
 
 				if name == "\"\"" {
 				if name == "\"\"" {
-					printf("%#v\n", char)
-					printf("%#v\n", character_entity)
+					fmt.printf("%#v\n", char)
+					fmt.printf("%#v\n", character_entity)
 				}
 				}
 
 
 				if len(name) > max_name_length { longest_name  = name }
 				if len(name) > max_name_length { longest_name  = name }
@@ -129,29 +135,27 @@ generate_encoding_entity_table :: proc() {
 	*/
 	*/
 	slice.sort(names[:])
 	slice.sort(names[:])
 
 
-	printf("Found %v unique `&name;` -> rune mappings.\n", count)
-	printf("Shortest name: %v (%v)\n", shortest_name, min_name_length)
-	printf("Longest name:  %v (%v)\n", longest_name,  max_name_length)
-
-	// println(rune_to_string(1234))
+	fmt.printf("Found %v unique `&name;` -> rune mappings.\n", count)
+	fmt.printf("Shortest name: %v (%v)\n", shortest_name, min_name_length)
+	fmt.printf("Longest name:  %v (%v)\n", longest_name,  max_name_length)
 
 
 	/*
 	/*
 		Generate table.
 		Generate table.
 	*/
 	*/
-	wprintln(w, "package unicode_entity")
-	wprintln(w, "")
-	wprintln(w, GENERATED)
-	wprintln(w, "")
-	wprintf (w, TABLE_FILE_PROLOG)
-	wprintln(w, "")
-
-	wprintf (w, "// `&%v;`\n", shortest_name)
-	wprintf (w, "XML_NAME_TO_RUNE_MIN_LENGTH :: %v\n", min_name_length)
-	wprintf (w, "// `&%v;`\n", longest_name)
-	wprintf (w, "XML_NAME_TO_RUNE_MAX_LENGTH :: %v\n", max_name_length)
-	wprintln(w, "")
-
-	wprintln(w,
+	fmt.wprintln(w, "package unicode_entity")
+	fmt.wprintln(w, "")
+	fmt.wprintln(w, GENERATED)
+	fmt.wprintln(w, "")
+	fmt.wprintf (w, TABLE_FILE_PROLOG)
+	fmt.wprintln(w, "")
+
+	fmt.wprintf (w, "// `&%v;`\n", shortest_name)
+	fmt.wprintf (w, "XML_NAME_TO_RUNE_MIN_LENGTH :: %v\n", min_name_length)
+	fmt.wprintf (w, "// `&%v;`\n", longest_name)
+	fmt.wprintf (w, "XML_NAME_TO_RUNE_MAX_LENGTH :: %v\n", max_name_length)
+	fmt.wprintln(w, "")
+
+	fmt.wprintln(w,
 `
 `
 /*
 /*
 	Input:
 	Input:
@@ -181,38 +185,41 @@ named_xml_entity_to_rune :: proc(name: string) -> (decoded: rune, ok: bool) {
 	for v in names {
 	for v in names {
 		if rune(v[0]) != prefix {
 		if rune(v[0]) != prefix {
 			if should_close {
 			if should_close {
-				wprintln(w, "\t\t}\n")
+				fmt.wprintln(w, "\t\t}\n")
 			}
 			}
 
 
 			prefix = rune(v[0])
 			prefix = rune(v[0])
-			wprintf (w, "\tcase '%v':\n", prefix)
-			wprintln(w, "\t\tswitch name {")
+			fmt.wprintf (w, "\tcase '%v':\n", prefix)
+			fmt.wprintln(w, "\t\tswitch name {")
 		}
 		}
 
 
 		e := entity_map[v]
 		e := entity_map[v]
 
 
-		wprintf(w, "\t\t\tcase \"%v\": \n",     e.name)
-		wprintf(w, "\t\t\t\t// %v\n",           e.description)
-		wprintf(w, "\t\t\t\treturn %v, true\n", rune_to_string(e.codepoint))
+		fmt.wprintf(w, "\t\t\tcase \"%v\":", e.name)
+		for i := len(e.name); i < max_name_length; i += 1 {
+			fmt.wprintf(w, " ")
+		}
+		fmt.wprintf(w, " // %v\n", e.description)
+		fmt.wprintf(w, "\t\t\t\treturn %v, true\n", rune_to_string(e.codepoint))
 
 
 		should_close = true
 		should_close = true
 	}
 	}
-	wprintln(w, "\t\t}")
-	wprintln(w, "\t}")
-	wprintln(w, "\treturn -1, false")
-	wprintln(w, "}\n")
-	wprintln(w, GENERATED)
+	fmt.wprintln(w, "\t\t}")
+	fmt.wprintln(w, "\t}")
+	fmt.wprintln(w, "\treturn -1, false")
+	fmt.wprintln(w, "}\n")
+	fmt.wprintln(w, GENERATED)
 
 
-	println()
-	println(strings.to_string(generated_buf))
-	println()
+	fmt.println()
+	fmt.println(strings.to_string(generated_buf))
+	fmt.println()
 
 
 	written := os.write_entire_file(generated_filename, transmute([]byte)strings.to_string(generated_buf))
 	written := os.write_entire_file(generated_filename, transmute([]byte)strings.to_string(generated_buf))
 
 
 	if written {
 	if written {
-		fmt.printf("Successfully written generated \"%v\".", generated_filename)
+		fmt.printf("Successfully written generated \"%v\".\n", generated_filename)
 	} else {
 	} else {
-		fmt.printf("Failed to write generated \"%v\".", generated_filename)
+		fmt.printf("Failed to write generated \"%v\".\n", generated_filename)
 	}
 	}
 
 
 	delete(entity_map)
 	delete(entity_map)
@@ -227,7 +234,7 @@ GENERATED :: `/*
 */`
 */`
 
 
 TABLE_FILE_PROLOG :: `/*
 TABLE_FILE_PROLOG :: `/*
-	This file is generated from "https://www.w3.org/2003/entities/2007xml/unicode.xml".
+	This file is generated from "https://github.com/w3c/xml-entities/blob/gh-pages/unicode.xml".
 	
 	
 	UPDATE:
 	UPDATE:
 		- Ensure the XML file was downloaded using "tests\core\download_assets.py".
 		- Ensure the XML file was downloaded using "tests\core\download_assets.py".
@@ -235,15 +242,21 @@ TABLE_FILE_PROLOG :: `/*
 
 
 	Odin unicode generated tables: https://github.com/odin-lang/Odin/tree/master/core/encoding/entity
 	Odin unicode generated tables: https://github.com/odin-lang/Odin/tree/master/core/encoding/entity
 
 
-		Copyright © 2021 World Wide Web Consortium, (Massachusetts Institute of Technology,
-		European Research Consortium for Informatics and Mathematics, Keio University, Beihang).
+		Copyright David Carlisle 1999-2023
+
+		Use and distribution of this code are permitted under the terms of the
+		W3C Software Notice and License.
+		http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231.html
 
 
-		All Rights Reserved.
 
 
-		This work is distributed under the W3C® Software License [1] in the hope that it will be useful,
-		but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 
 
-		[1] http://www.w3.org/Consortium/Legal/copyright-software
+		This file is a collection of information about how to map
+		Unicode entities to LaTeX, and various SGML/XML entity
+		sets (ISO and MathML/HTML). A Unicode character may be mapped
+		to several entities.
+
+		Originally designed by Sebastian Rahtz in conjunction with
+		Barbara Beeton for the STIX project
 
 
 	See also: LICENSE_table.md
 	See also: LICENSE_table.md
 */
 */
@@ -265,8 +278,6 @@ is_dotted_name :: proc(name: string) -> (dotted: bool) {
 }
 }
 
 
 main :: proc() {
 main :: proc() {
-	using fmt
-
 	track: mem.Tracking_Allocator
 	track: mem.Tracking_Allocator
 	mem.tracking_allocator_init(&track, context.allocator)
 	mem.tracking_allocator_init(&track, context.allocator)
 	context.allocator = mem.tracking_allocator(&track)
 	context.allocator = mem.tracking_allocator(&track)
@@ -274,10 +285,10 @@ main :: proc() {
 	generate_encoding_entity_table()
 	generate_encoding_entity_table()
 
 
 	if len(track.allocation_map) > 0 {
 	if len(track.allocation_map) > 0 {
-		println()
+		fmt.println()
 		for _, v in track.allocation_map {
 		for _, v in track.allocation_map {
-			printf("%v Leaked %v bytes.\n", v.location, v.size)
+			fmt.printf("%v Leaked %v bytes.\n", v.location, v.size)
 		}
 		}
 	}
 	}
-	println("Done and cleaned up!")
+	fmt.println("Done and cleaned up!")
 }
 }

+ 102 - 102
tests/core/build.bat

@@ -1,102 +1,102 @@
-@echo off
-set COMMON=-no-bounds-check -vet -strict-style
-set COLLECTION=-collection:tests=..
-set PATH_TO_ODIN==..\..\odin
-python3 download_assets.py
-echo ---
-echo Running core:image tests
-echo ---
-%PATH_TO_ODIN% run image    %COMMON% -out:test_core_image.exe || exit /b
-
-echo ---
-echo Running core:compress tests
-echo ---
-%PATH_TO_ODIN% run compress %COMMON% -out:test_core_compress.exe || exit /b
-
-echo ---
-echo Running core:strings tests
-echo ---
-%PATH_TO_ODIN% run strings %COMMON% -out:test_core_strings.exe || exit /b
-
-echo ---
-echo Running core:hash tests
-echo ---
-%PATH_TO_ODIN% run hash %COMMON% -o:size -out:test_core_hash.exe || exit /b
-
-echo ---
-echo Running core:odin tests
-echo ---
-%PATH_TO_ODIN% run odin %COMMON% -o:size -out:test_core_odin.exe || exit /b
-
-echo ---
-echo Running core:crypto hash tests
-echo ---
-%PATH_TO_ODIN% run crypto %COMMON% -out:test_crypto_hash.exe || exit /b
-
-echo ---
-echo Running core:encoding tests
-echo ---
-%PATH_TO_ODIN% run encoding/hxa    %COMMON% %COLLECTION% -out:test_hxa.exe || exit /b
-%PATH_TO_ODIN% run encoding/json   %COMMON% -out:test_json.exe || exit /b
-%PATH_TO_ODIN% run encoding/varint %COMMON% -out:test_varint.exe || exit /b
-%PATH_TO_ODIN% run encoding/xml    %COMMON% -out:test_xml.exe || exit /b
-
-echo ---
-echo Running core:math/noise tests
-echo ---
-%PATH_TO_ODIN% run math/noise %COMMON% -out:test_noise.exe || exit /b
-
-echo ---
-echo Running core:math tests
-echo ---
-%PATH_TO_ODIN% run math %COMMON% %COLLECTION% -out:test_core_math.exe || exit /b
-
-echo ---
-echo Running core:math/linalg/glsl tests
-echo ---
-%PATH_TO_ODIN% run math/linalg/glsl %COMMON% %COLLECTION% -out:test_linalg_glsl.exe || exit /b
-
-echo ---
-echo Running core:path/filepath tests
-echo ---
-%PATH_TO_ODIN% run path/filepath %COMMON% %COLLECTION% -out:test_core_filepath.exe || exit /b
-
-echo ---
-echo Running core:reflect tests
-echo ---
-%PATH_TO_ODIN% run reflect %COMMON% %COLLECTION% -out:test_core_reflect.exe || exit /b
-
-echo ---
-echo Running core:slice tests
-echo ---
-%PATH_TO_ODIN% run slice %COMMON% -out:test_core_slice.exe || exit /b
-
-echo ---
-echo Running core:text/i18n tests
-echo ---
-%PATH_TO_ODIN% run text\i18n %COMMON% -out:test_core_i18n.exe || exit /b
-
-echo ---
-echo Running core:net
-echo ---
-%PATH_TO_ODIN% run net %COMMON% -out:test_core_net.exe || exit /b
-
-echo ---
-echo Running core:slice tests
-echo ---
-%PATH_TO_ODIN% run slice %COMMON% -out:test_core_slice.exe || exit /b
-
-echo ---
-echo Running core:container tests
-echo ---
-%PATH_TO_ODIN% run container %COMMON% %COLLECTION% -out:test_core_container.exe || exit /b
-
-echo ---
-echo Running core:thread tests
-echo ---
-%PATH_TO_ODIN% run thread %COMMON% %COLLECTION% -out:test_core_thread.exe || exit /b
-
-echo ---
-echo Running core:runtime tests
-echo ---
-%PATH_TO_ODIN% run runtime %COMMON% %COLLECTION% -out:test_core_runtime.exe || exit /b
+@echo off
+set COMMON=-no-bounds-check -vet -strict-style
+set COLLECTION=-collection:tests=..
+set PATH_TO_ODIN==..\..\odin
+python3 download_assets.py
+echo ---
+echo Running core:image tests
+echo ---
+%PATH_TO_ODIN% run image    %COMMON% -out:test_core_image.exe || exit /b
+
+echo ---
+echo Running core:compress tests
+echo ---
+%PATH_TO_ODIN% run compress %COMMON% -out:test_core_compress.exe || exit /b
+
+echo ---
+echo Running core:strings tests
+echo ---
+%PATH_TO_ODIN% run strings %COMMON% -out:test_core_strings.exe || exit /b
+
+echo ---
+echo Running core:hash tests
+echo ---
+%PATH_TO_ODIN% run hash %COMMON% -o:size -out:test_core_hash.exe || exit /b
+
+echo ---
+echo Running core:odin tests
+echo ---
+%PATH_TO_ODIN% run odin %COMMON% -o:size -out:test_core_odin.exe || exit /b
+
+echo ---
+echo Running core:crypto hash tests
+echo ---
+%PATH_TO_ODIN% run crypto %COMMON% -out:test_crypto_hash.exe || exit /b
+
+echo ---
+echo Running core:encoding tests
+echo ---
+rem %PATH_TO_ODIN% run encoding/hxa    %COMMON% %COLLECTION% -out:test_hxa.exe || exit /b
+%PATH_TO_ODIN% run encoding/json   %COMMON% -out:test_json.exe || exit /b
+%PATH_TO_ODIN% run encoding/varint %COMMON% -out:test_varint.exe || exit /b
+%PATH_TO_ODIN% run encoding/xml    %COMMON% -out:test_xml.exe || exit /b
+
+echo ---
+echo Running core:math/noise tests
+echo ---
+%PATH_TO_ODIN% run math/noise %COMMON% -out:test_noise.exe || exit /b
+
+echo ---
+echo Running core:math tests
+echo ---
+%PATH_TO_ODIN% run math %COMMON% %COLLECTION% -out:test_core_math.exe || exit /b
+
+echo ---
+echo Running core:math/linalg/glsl tests
+echo ---
+%PATH_TO_ODIN% run math/linalg/glsl %COMMON% %COLLECTION% -out:test_linalg_glsl.exe || exit /b
+
+echo ---
+echo Running core:path/filepath tests
+echo ---
+%PATH_TO_ODIN% run path/filepath %COMMON% %COLLECTION% -out:test_core_filepath.exe || exit /b
+
+echo ---
+echo Running core:reflect tests
+echo ---
+%PATH_TO_ODIN% run reflect %COMMON% %COLLECTION% -out:test_core_reflect.exe || exit /b
+
+echo ---
+echo Running core:slice tests
+echo ---
+%PATH_TO_ODIN% run slice %COMMON% -out:test_core_slice.exe || exit /b
+
+echo ---
+echo Running core:text/i18n tests
+echo ---
+%PATH_TO_ODIN% run text\i18n %COMMON% -out:test_core_i18n.exe || exit /b
+
+echo ---
+echo Running core:net
+echo ---
+%PATH_TO_ODIN% run net %COMMON% -out:test_core_net.exe || exit /b
+
+echo ---
+echo Running core:slice tests
+echo ---
+%PATH_TO_ODIN% run slice %COMMON% -out:test_core_slice.exe || exit /b
+
+echo ---
+echo Running core:container tests
+echo ---
+%PATH_TO_ODIN% run container %COMMON% %COLLECTION% -out:test_core_container.exe || exit /b
+
+echo ---
+echo Running core:thread tests
+echo ---
+%PATH_TO_ODIN% run thread %COMMON% %COLLECTION% -out:test_core_thread.exe || exit /b
+
+echo ---
+echo Running core:runtime tests
+echo ---
+%PATH_TO_ODIN% run runtime %COMMON% %COLLECTION% -out:test_core_runtime.exe || exit /b

+ 2 - 2
tests/core/encoding/xml/test_core_xml.odin

@@ -159,7 +159,7 @@ TESTS :: []TEST{
 	},
 	},
 
 
 	/*
 	/*
-		Parse the 8.2 MiB unicode.xml for good measure.
+		Parse the 9.08 MiB unicode.xml for good measure.
 	*/
 	*/
 	{
 	{
 		filename  = "XML/unicode.xml",
 		filename  = "XML/unicode.xml",
@@ -170,7 +170,7 @@ TESTS :: []TEST{
 			expected_doctype = "",
 			expected_doctype = "",
 		},
 		},
 		err       = .None,
 		err       = .None,
-		crc32     = 0x420dbac5,
+		crc32     = 0x0b6100ab,
 	},
 	},
 }
 }