package unicode_entity

/*
	------ GENERATED ------ DO NOT EDIT ------ GENERATED ------ DO NOT EDIT ------ GENERATED ------
*/

/*
	This file is generated from "https://www.w3.org/2003/entities/2007xml/unicode.xml".
	
	UPDATE:
		- Ensure the XML file was downloaded using "tests\core\download_assets.py".
		- Run "core/unicode/tools/generate_entity_table.odin"

	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).

		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

	See also: LICENSE_table.md
*/

// `&lt;`
XML_NAME_TO_RUNE_MIN_LENGTH :: 2
// `&CounterClockwiseContourIntegral;`
XML_NAME_TO_RUNE_MAX_LENGTH :: 31


/*
	Input:
		entity_name - a string, like "copy" that describes a user-encoded Unicode entity as used in XML.

	Output:
		"decoded" - The decoded rune if found by name, or -1 otherwise.
		"ok"      - true if found, false if not.

	IMPORTANT: XML processors (including browsers) treat these names as case-sensitive. So do we.
*/
named_xml_entity_to_rune :: proc(name: string) -> (decoded: rune, ok: bool) {
	/*
		Early out if the name is too short or too long.
		min as a precaution in case the generated table has a bogus value.
	*/
	if len(name) < min(1, XML_NAME_TO_RUNE_MIN_LENGTH) || len(name) > XML_NAME_TO_RUNE_MAX_LENGTH {
		return -1, false
	}

	switch rune(name[0]) {

	case 'A':
		switch name {
			case "AElig": 
				// LATIN CAPITAL LETTER AE
				return rune(0xc6), true
			case "AMP": 
				// AMPERSAND
				return rune(0x26), true
			case "Aacgr": 
				// GREEK CAPITAL LETTER ALPHA WITH TONOS
				return rune(0x0386), true
			case "Aacute": 
				// LATIN CAPITAL LETTER A WITH ACUTE
				return rune(0xc1), true
			case "Abreve": 
				// LATIN CAPITAL LETTER A WITH BREVE
				return rune(0x0102), true
			case "Acirc": 
				// LATIN CAPITAL LETTER A WITH CIRCUMFLEX
				return rune(0xc2), true
			case "Acy": 
				// CYRILLIC CAPITAL LETTER A
				return rune(0x0410), true
			case "Afr": 
				// MATHEMATICAL FRAKTUR CAPITAL A
				return rune(0x01d504), true
			case "Agrave": 
				// LATIN CAPITAL LETTER A WITH GRAVE
				return rune(0xc0), true
			case "Agr": 
				// GREEK CAPITAL LETTER ALPHA
				return rune(0x0391), true
			case "Alpha": 
				// GREEK CAPITAL LETTER ALPHA
				return rune(0x0391), true
			case "Amacr": 
				// LATIN CAPITAL LETTER A WITH MACRON
				return rune(0x0100), true
			case "And": 
				// DOUBLE LOGICAL AND
				return rune(0x2a53), true
			case "Aogon": 
				// LATIN CAPITAL LETTER A WITH OGONEK
				return rune(0x0104), true
			case "Aopf": 
				// MATHEMATICAL DOUBLE-STRUCK CAPITAL A
				return rune(0x01d538), true
			case "ApplyFunction": 
				// FUNCTION APPLICATION
				return rune(0x2061), true
			case "Aring": 
				// LATIN CAPITAL LETTER A WITH RING ABOVE
				return rune(0xc5), true
			case "Ascr": 
				// MATHEMATICAL SCRIPT CAPITAL A
				return rune(0x01d49c), true
			case "Assign": 
				// COLON EQUALS
				return rune(0x2254), true
			case "Ast": 
				// TWO ASTERISKS ALIGNED VERTICALLY
				return rune(0x2051), true
			case "Atilde": 
				// LATIN CAPITAL LETTER A WITH TILDE
				return rune(0xc3), true
			case "Auml": 
				// LATIN CAPITAL LETTER A WITH DIAERESIS
				return rune(0xc4), true
		}

	case 'B':
		switch name {
			case "Backslash": 
				// SET MINUS
				return rune(0x2216), true
			case "Barint": 
				// INTEGRAL WITH DOUBLE STROKE
				return rune(0x2a0e), true
			case "Barv": 
				// SHORT DOWN TACK WITH OVERBAR
				return rune(0x2ae7), true
			case "Barwedl": 
				// LOGICAL AND WITH DOUBLE OVERBAR
				return rune(0x2a5e), true
			case "Barwed": 
				// PERSPECTIVE
				return rune(0x2306), true
			case "Bcy": 
				// CYRILLIC CAPITAL LETTER BE
				return rune(0x0411), true
			case "Because": 
				// BECAUSE
				return rune(0x2235), true
			case "Bernoullis": 
				// SCRIPT CAPITAL B
				return rune(0x212c), true
			case "Beta": 
				// GREEK CAPITAL LETTER BETA
				return rune(0x0392), true
			case "Bfr": 
				// MATHEMATICAL FRAKTUR CAPITAL B
				return rune(0x01d505), true
			case "Bgr": 
				// GREEK CAPITAL LETTER BETA
				return rune(0x0392), true
			case "Bopf": 
				// MATHEMATICAL DOUBLE-STRUCK CAPITAL B
				return rune(0x01d539), true
			case "Breve": 
				// BREVE
				return rune(0x02d8), true
			case "Bscr": 
				// SCRIPT CAPITAL B
				return rune(0x212c), true
			case "Bumpeq": 
				// GEOMETRICALLY EQUIVALENT TO
				return rune(0x224e), true
			case "Bvert": 
				// BOX DRAWINGS LIGHT TRIPLE DASH VERTICAL
				return rune(0x2506), true
		}

	case 'C':
		switch name {
			case "CHcy": 
				// CYRILLIC CAPITAL LETTER CHE
				return rune(0x0427), true
			case "COPY": 
				// COPYRIGHT SIGN
				return rune(0xa9), true
			case "Cacute": 
				// LATIN CAPITAL LETTER C WITH ACUTE
				return rune(0x0106), true
			case "CapitalDifferentialD": 
				// DOUBLE-STRUCK ITALIC CAPITAL D
				return rune(0x2145), true
			case "Cap": 
				// DOUBLE INTERSECTION
				return rune(0x22d2), true
			case "Cayleys": 
				// BLACK-LETTER CAPITAL C
				return rune(0x212d), true
			case "Ccaron": 
				// LATIN CAPITAL LETTER C WITH CARON
				return rune(0x010c), true
			case "Ccedil": 
				// LATIN CAPITAL LETTER C WITH CEDILLA
				return rune(0xc7), true
			case "Ccirc": 
				// LATIN CAPITAL LETTER C WITH CIRCUMFLEX
				return rune(0x0108), true
			case "Cconint": 
				// VOLUME INTEGRAL
				return rune(0x2230), true
			case "Cdot": 
				// LATIN CAPITAL LETTER C WITH DOT ABOVE
				return rune(0x010a), true
			case "Cedilla": 
				// CEDILLA
				return rune(0xb8), true
			case "CenterDot": 
				// MIDDLE DOT
				return rune(0xb7), true
			case "Cfr": 
				// BLACK-LETTER CAPITAL C
				return rune(0x212d), true
			case "Chi": 
				// GREEK CAPITAL LETTER CHI
				return rune(0x03a7), true
			case "CircleDot": 
				// CIRCLED DOT OPERATOR
				return rune(0x2299), true
			case "CircleMinus": 
				// CIRCLED MINUS
				return rune(0x2296), true
			case "CirclePlus": 
				// CIRCLED PLUS
				return rune(0x2295), true
			case "CircleTimes": 
				// CIRCLED TIMES
				return rune(0x2297), true
			case "ClockwiseContourIntegral": 
				// CLOCKWISE CONTOUR INTEGRAL
				return rune(0x2232), true
			case "CloseCurlyDoubleQuote": 
				// RIGHT DOUBLE QUOTATION MARK
				return rune(0x201d), true
			case "CloseCurlyQuote": 
				// RIGHT SINGLE QUOTATION MARK
				return rune(0x2019), true
			case "Colon": 
				// PROPORTION
				return rune(0x2237), true
			case "Colone": 
				// DOUBLE COLON EQUAL
				return rune(0x2a74), true
			case "Congruent": 
				// IDENTICAL TO
				return rune(0x2261), true
			case "Conint": 
				// SURFACE INTEGRAL
				return rune(0x222f), true
			case "ContourIntegral": 
				// CONTOUR INTEGRAL
				return rune(0x222e), true
			case "Copf": 
				// DOUBLE-STRUCK CAPITAL C
				return rune(0x2102), true
			case "Coproduct": 
				// N-ARY COPRODUCT
				return rune(0x2210), true
			case "CounterClockwiseContourIntegral": 
				// ANTICLOCKWISE CONTOUR INTEGRAL
				return rune(0x2233), true
			case "Cross": 
				// VECTOR OR CROSS PRODUCT
				return rune(0x2a2f), true
			case "Cscr": 
				// MATHEMATICAL SCRIPT CAPITAL C
				return rune(0x01d49e), true
			case "CupCap": 
				// EQUIVALENT TO
				return rune(0x224d), true
			case "Cup": 
				// DOUBLE UNION
				return rune(0x22d3), true
		}

	case 'D':
		switch name {
			case "DD": 
				// DOUBLE-STRUCK ITALIC CAPITAL D
				return rune(0x2145), true
			case "DDotrahd": 
				// RIGHTWARDS ARROW WITH DOTTED STEM
				return rune(0x2911), true
			case "DJcy": 
				// CYRILLIC CAPITAL LETTER DJE
				return rune(0x0402), true
			case "DScy": 
				// CYRILLIC CAPITAL LETTER DZE
				return rune(0x0405), true
			case "DZcy": 
				// CYRILLIC CAPITAL LETTER DZHE
				return rune(0x040f), true
			case "Dagger": 
				// DOUBLE DAGGER
				return rune(0x2021), true
			case "Darr": 
				// DOWNWARDS TWO HEADED ARROW
				return rune(0x21a1), true
			case "Dashv": 
				// VERTICAL BAR DOUBLE LEFT TURNSTILE
				return rune(0x2ae4), true
			case "Dcaron": 
				// LATIN CAPITAL LETTER D WITH CARON
				return rune(0x010e), true
			case "Dcy": 
				// CYRILLIC CAPITAL LETTER DE
				return rune(0x0414), true
			case "Del": 
				// NABLA
				return rune(0x2207), true
			case "Delta": 
				// GREEK CAPITAL LETTER DELTA
				return rune(0x0394), true
			case "Dfr": 
				// MATHEMATICAL FRAKTUR CAPITAL D
				return rune(0x01d507), true
			case "Dgr": 
				// GREEK CAPITAL LETTER DELTA
				return rune(0x0394), true
			case "DiacriticalAcute": 
				// ACUTE ACCENT
				return rune(0xb4), true
			case "DiacriticalDot": 
				// DOT ABOVE
				return rune(0x02d9), true
			case "DiacriticalDoubleAcute": 
				// DOUBLE ACUTE ACCENT
				return rune(0x02dd), true
			case "DiacriticalGrave": 
				// GRAVE ACCENT
				return rune(0x60), true
			case "DiacriticalTilde": 
				// SMALL TILDE
				return rune(0x02dc), true
			case "Diamond": 
				// DIAMOND OPERATOR
				return rune(0x22c4), true
			case "DifferentialD": 
				// DOUBLE-STRUCK ITALIC SMALL D
				return rune(0x2146), true
			case "Dopf": 
				// MATHEMATICAL DOUBLE-STRUCK CAPITAL D
				return rune(0x01d53b), true
			case "Dot": 
				// DIAERESIS
				return rune(0xa8), true
			case "DotDot": 
				// COMBINING FOUR DOTS ABOVE
				return rune(0x20dc), true
			case "DotEqual": 
				// APPROACHES THE LIMIT
				return rune(0x2250), true
			case "DoubleContourIntegral": 
				// SURFACE INTEGRAL
				return rune(0x222f), true
			case "DoubleDot": 
				// DIAERESIS
				return rune(0xa8), true
			case "DoubleDownArrow": 
				// DOWNWARDS DOUBLE ARROW
				return rune(0x21d3), true
			case "DoubleLeftArrow": 
				// LEFTWARDS DOUBLE ARROW
				return rune(0x21d0), true
			case "DoubleLeftRightArrow": 
				// LEFT RIGHT DOUBLE ARROW
				return rune(0x21d4), true
			case "DoubleLeftTee": 
				// VERTICAL BAR DOUBLE LEFT TURNSTILE
				return rune(0x2ae4), true
			case "DoubleLongLeftArrow": 
				// LONG LEFTWARDS DOUBLE ARROW
				return rune(0x27f8), true
			case "DoubleLongLeftRightArrow": 
				// LONG LEFT RIGHT DOUBLE ARROW
				return rune(0x27fa), true
			case "DoubleLongRightArrow": 
				// LONG RIGHTWARDS DOUBLE ARROW
				return rune(0x27f9), true
			case "DoubleRightArrow": 
				// RIGHTWARDS DOUBLE ARROW
				return rune(0x21d2), true
			case "DoubleRightTee": 
				// TRUE
				return rune(0x22a8), true
			case "DoubleUpArrow": 
				// UPWARDS DOUBLE ARROW
				return rune(0x21d1), true
			case "DoubleUpDownArrow": 
				// UP DOWN DOUBLE ARROW
				return rune(0x21d5), true
			case "DoubleVerticalBar": 
				// PARALLEL TO
				return rune(0x2225), true
			case "DownArrowUpArrow": 
				// DOWNWARDS ARROW LEFTWARDS OF UPWARDS ARROW
				return rune(0x21f5), true
			case "DownArrow": 
				// DOWNWARDS ARROW
				return rune(0x2193), true
			case "DownArrowBar": 
				// DOWNWARDS ARROW TO BAR
				return rune(0x2913), true
			case "DownBreve": 
				// COMBINING INVERTED BREVE
				return rune(0x0311), true
			case "DownLeftRightVector": 
				// LEFT BARB DOWN RIGHT BARB DOWN HARPOON
				return rune(0x2950), true
			case "DownLeftTeeVector": 
				// LEFTWARDS HARPOON WITH BARB DOWN FROM BAR
				return rune(0x295e), true
			case "DownLeftVector": 
				// LEFTWARDS HARPOON WITH BARB DOWNWARDS
				return rune(0x21bd), true
			case "DownLeftVectorBar": 
				// LEFTWARDS HARPOON WITH BARB DOWN TO BAR
				return rune(0x2956), true
			case "DownRightTeeVector": 
				// RIGHTWARDS HARPOON WITH BARB DOWN FROM BAR
				return rune(0x295f), true
			case "DownRightVector": 
				// RIGHTWARDS HARPOON WITH BARB DOWNWARDS
				return rune(0x21c1), true
			case "DownRightVectorBar": 
				// RIGHTWARDS HARPOON WITH BARB DOWN TO BAR
				return rune(0x2957), true
			case "DownTeeArrow": 
				// DOWNWARDS ARROW FROM BAR
				return rune(0x21a7), true
			case "DownTee": 
				// DOWN TACK
				return rune(0x22a4), true
			case "Downarrow": 
				// DOWNWARDS DOUBLE ARROW
				return rune(0x21d3), true
			case "Dscr": 
				// MATHEMATICAL SCRIPT CAPITAL D
				return rune(0x01d49f), true
			case "Dstrok": 
				// LATIN CAPITAL LETTER D WITH STROKE
				return rune(0x0110), true
		}

	case 'E':
		switch name {
			case "EEacgr": 
				// GREEK CAPITAL LETTER ETA WITH TONOS
				return rune(0x0389), true
			case "EEgr": 
				// GREEK CAPITAL LETTER ETA
				return rune(0x0397), true
			case "ENG": 
				// LATIN CAPITAL LETTER ENG
				return rune(0x014a), true
			case "ETH": 
				// LATIN CAPITAL LETTER ETH
				return rune(0xd0), true
			case "Eacgr": 
				// GREEK CAPITAL LETTER EPSILON WITH TONOS
				return rune(0x0388), true
			case "Eacute": 
				// LATIN CAPITAL LETTER E WITH ACUTE
				return rune(0xc9), true
			case "Ecaron": 
				// LATIN CAPITAL LETTER E WITH CARON
				return rune(0x011a), true
			case "Ecirc": 
				// LATIN CAPITAL LETTER E WITH CIRCUMFLEX
				return rune(0xca), true
			case "Ecy": 
				// CYRILLIC CAPITAL LETTER E
				return rune(0x042d), true
			case "Edot": 
				// LATIN CAPITAL LETTER E WITH DOT ABOVE
				return rune(0x0116), true
			case "Efr": 
				// MATHEMATICAL FRAKTUR CAPITAL E
				return rune(0x01d508), true
			case "Egrave": 
				// LATIN CAPITAL LETTER E WITH GRAVE
				return rune(0xc8), true
			case "Egr": 
				// GREEK CAPITAL LETTER EPSILON
				return rune(0x0395), true
			case "Element": 
				// ELEMENT OF
				return rune(0x2208), true
			case "Emacr": 
				// LATIN CAPITAL LETTER E WITH MACRON
				return rune(0x0112), true
			case "EmptySmallSquare": 
				// WHITE MEDIUM SQUARE
				return rune(0x25fb), true
			case "EmptyVerySmallSquare": 
				// WHITE SMALL SQUARE
				return rune(0x25ab), true
			case "Eogon": 
				// LATIN CAPITAL LETTER E WITH OGONEK
				return rune(0x0118), true
			case "Eopf": 
				// MATHEMATICAL DOUBLE-STRUCK CAPITAL E
				return rune(0x01d53c), true
			case "Epsilon": 
				// GREEK CAPITAL LETTER EPSILON
				return rune(0x0395), true
			case "EqualTilde": 
				// MINUS TILDE
				return rune(0x2242), true
			case "Equal": 
				// TWO CONSECUTIVE EQUALS SIGNS
				return rune(0x2a75), true
			case "Equilibrium": 
				// RIGHTWARDS HARPOON OVER LEFTWARDS HARPOON
				return rune(0x21cc), true
			case "Escr": 
				// SCRIPT CAPITAL E
				return rune(0x2130), true
			case "Esim": 
				// EQUALS SIGN ABOVE TILDE OPERATOR
				return rune(0x2a73), true
			case "Eta": 
				// GREEK CAPITAL LETTER ETA
				return rune(0x0397), true
			case "Euml": 
				// LATIN CAPITAL LETTER E WITH DIAERESIS
				return rune(0xcb), true
			case "Exists": 
				// THERE EXISTS
				return rune(0x2203), true
			case "ExponentialE": 
				// DOUBLE-STRUCK ITALIC SMALL E
				return rune(0x2147), true
		}

	case 'F':
		switch name {
			case "Fcy": 
				// CYRILLIC CAPITAL LETTER EF
				return rune(0x0424), true
			case "Ffr": 
				// MATHEMATICAL FRAKTUR CAPITAL F
				return rune(0x01d509), true
			case "FilledSmallSquare": 
				// BLACK MEDIUM SQUARE
				return rune(0x25fc), true
			case "FilledVerySmallSquare": 
				// BLACK SMALL SQUARE
				return rune(0x25aa), true
			case "Fopf": 
				// MATHEMATICAL DOUBLE-STRUCK CAPITAL F
				return rune(0x01d53d), true
			case "ForAll": 
				// FOR ALL
				return rune(0x2200), true
			case "Fouriertrf": 
				// SCRIPT CAPITAL F
				return rune(0x2131), true
			case "Fscr": 
				// SCRIPT CAPITAL F
				return rune(0x2131), true
		}

	case 'G':
		switch name {
			case "GJcy": 
				// CYRILLIC CAPITAL LETTER GJE
				return rune(0x0403), true
			case "GT": 
				// GREATER-THAN SIGN
				return rune(0x3e), true
			case "Game": 
				// TURNED SANS-SERIF CAPITAL G
				return rune(0x2141), true
			case "Gamma": 
				// GREEK CAPITAL LETTER GAMMA
				return rune(0x0393), true
			case "Gammad": 
				// GREEK LETTER DIGAMMA
				return rune(0x03dc), true
			case "Gbreve": 
				// LATIN CAPITAL LETTER G WITH BREVE
				return rune(0x011e), true
			case "Gcedil": 
				// LATIN CAPITAL LETTER G WITH CEDILLA
				return rune(0x0122), true
			case "Gcirc": 
				// LATIN CAPITAL LETTER G WITH CIRCUMFLEX
				return rune(0x011c), true
			case "Gcy": 
				// CYRILLIC CAPITAL LETTER GHE
				return rune(0x0413), true
			case "Gdot": 
				// LATIN CAPITAL LETTER G WITH DOT ABOVE
				return rune(0x0120), true
			case "Gfr": 
				// MATHEMATICAL FRAKTUR CAPITAL G
				return rune(0x01d50a), true
			case "Ggr": 
				// GREEK CAPITAL LETTER GAMMA
				return rune(0x0393), true
			case "Gg": 
				// VERY MUCH GREATER-THAN
				return rune(0x22d9), true
			case "Gopf": 
				// MATHEMATICAL DOUBLE-STRUCK CAPITAL G
				return rune(0x01d53e), true
			case "GreaterEqual": 
				// GREATER-THAN OR EQUAL TO
				return rune(0x2265), true
			case "GreaterEqualLess": 
				// GREATER-THAN EQUAL TO OR LESS-THAN
				return rune(0x22db), true
			case "GreaterFullEqual": 
				// GREATER-THAN OVER EQUAL TO
				return rune(0x2267), true
			case "GreaterGreater": 
				// DOUBLE NESTED GREATER-THAN
				return rune(0x2aa2), true
			case "GreaterLess": 
				// GREATER-THAN OR LESS-THAN
				return rune(0x2277), true
			case "GreaterSlantEqual": 
				// GREATER-THAN OR SLANTED EQUAL TO
				return rune(0x2a7e), true
			case "GreaterTilde": 
				// GREATER-THAN OR EQUIVALENT TO
				return rune(0x2273), true
			case "Gscr": 
				// MATHEMATICAL SCRIPT CAPITAL G
				return rune(0x01d4a2), true
			case "Gt": 
				// MUCH GREATER-THAN
				return rune(0x226b), true
		}

	case 'H':
		switch name {
			case "HARDcy": 
				// CYRILLIC CAPITAL LETTER HARD SIGN
				return rune(0x042a), true
			case "Hacek": 
				// CARON
				return rune(0x02c7), true
			case "Hat": 
				// CIRCUMFLEX ACCENT
				return rune(0x5e), true
			case "Hcirc": 
				// LATIN CAPITAL LETTER H WITH CIRCUMFLEX
				return rune(0x0124), true
			case "Hfr": 
				// BLACK-LETTER CAPITAL H
				return rune(0x210c), true
			case "HilbertSpace": 
				// SCRIPT CAPITAL H
				return rune(0x210b), true
			case "Hopf": 
				// DOUBLE-STRUCK CAPITAL H
				return rune(0x210d), true
			case "HorizontalLine": 
				// BOX DRAWINGS LIGHT HORIZONTAL
				return rune(0x2500), true
			case "Hscr": 
				// SCRIPT CAPITAL H
				return rune(0x210b), true
			case "Hstrok": 
				// LATIN CAPITAL LETTER H WITH STROKE
				return rune(0x0126), true
			case "HumpDownHump": 
				// GEOMETRICALLY EQUIVALENT TO
				return rune(0x224e), true
			case "HumpEqual": 
				// DIFFERENCE BETWEEN
				return rune(0x224f), true
		}

	case 'I':
		switch name {
			case "IEcy": 
				// CYRILLIC CAPITAL LETTER IE
				return rune(0x0415), true
			case "IJlig": 
				// LATIN CAPITAL LIGATURE IJ
				return rune(0x0132), true
			case "IOcy": 
				// CYRILLIC CAPITAL LETTER IO
				return rune(0x0401), true
			case "Iacgr": 
				// GREEK CAPITAL LETTER IOTA WITH TONOS
				return rune(0x038a), true
			case "Iacute": 
				// LATIN CAPITAL LETTER I WITH ACUTE
				return rune(0xcd), true
			case "Icirc": 
				// LATIN CAPITAL LETTER I WITH CIRCUMFLEX
				return rune(0xce), true
			case "Icy": 
				// CYRILLIC CAPITAL LETTER I
				return rune(0x0418), true
			case "Idigr": 
				// GREEK CAPITAL LETTER IOTA WITH DIALYTIKA
				return rune(0x03aa), true
			case "Idot": 
				// LATIN CAPITAL LETTER I WITH DOT ABOVE
				return rune(0x0130), true
			case "Ifr": 
				// BLACK-LETTER CAPITAL I
				return rune(0x2111), true
			case "Igrave": 
				// LATIN CAPITAL LETTER I WITH GRAVE
				return rune(0xcc), true
			case "Igr": 
				// GREEK CAPITAL LETTER IOTA
				return rune(0x0399), true
			case "Imacr": 
				// LATIN CAPITAL LETTER I WITH MACRON
				return rune(0x012a), true
			case "ImaginaryI": 
				// DOUBLE-STRUCK ITALIC SMALL I
				return rune(0x2148), true
			case "Implies": 
				// RIGHTWARDS DOUBLE ARROW
				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
				return rune(0x222c), true
			case "Intersection": 
				// N-ARY INTERSECTION
				return rune(0x22c2), true
			case "InvisibleComma": 
				// INVISIBLE SEPARATOR
				return rune(0x2063), true
			case "InvisibleTimes": 
				// INVISIBLE TIMES
				return rune(0x2062), true
			case "Iogon": 
				// LATIN CAPITAL LETTER I WITH OGONEK
				return rune(0x012e), true
			case "Iopf": 
				// MATHEMATICAL DOUBLE-STRUCK CAPITAL I
				return rune(0x01d540), true
			case "Iota": 
				// GREEK CAPITAL LETTER IOTA
				return rune(0x0399), true
			case "Iscr": 
				// SCRIPT CAPITAL I
				return rune(0x2110), true
			case "Itilde": 
				// LATIN CAPITAL LETTER I WITH TILDE
				return rune(0x0128), true
			case "Iukcy": 
				// CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
				return rune(0x0406), true
			case "Iuml": 
				// LATIN CAPITAL LETTER I WITH DIAERESIS
				return rune(0xcf), true
		}

	case 'J':
		switch name {
			case "Jcirc": 
				// LATIN CAPITAL LETTER J WITH CIRCUMFLEX
				return rune(0x0134), true
			case "Jcy": 
				// CYRILLIC CAPITAL LETTER SHORT I
				return rune(0x0419), true
			case "Jfr": 
				// MATHEMATICAL FRAKTUR CAPITAL J
				return rune(0x01d50d), true
			case "Jopf": 
				// MATHEMATICAL DOUBLE-STRUCK CAPITAL J
				return rune(0x01d541), true
			case "Jscr": 
				// MATHEMATICAL SCRIPT CAPITAL J
				return rune(0x01d4a5), true
			case "Jsercy": 
				// CYRILLIC CAPITAL LETTER JE
				return rune(0x0408), true
			case "Jukcy": 
				// CYRILLIC CAPITAL LETTER UKRAINIAN IE
				return rune(0x0404), true
		}

	case 'K':
		switch name {
			case "KHcy": 
				// CYRILLIC CAPITAL LETTER HA
				return rune(0x0425), true
			case "KHgr": 
				// GREEK CAPITAL LETTER CHI
				return rune(0x03a7), true
			case "KJcy": 
				// CYRILLIC CAPITAL LETTER KJE
				return rune(0x040c), true
			case "Kappa": 
				// GREEK CAPITAL LETTER KAPPA
				return rune(0x039a), true
			case "Kcedil": 
				// LATIN CAPITAL LETTER K WITH CEDILLA
				return rune(0x0136), true
			case "Kcy": 
				// CYRILLIC CAPITAL LETTER KA
				return rune(0x041a), true
			case "Kfr": 
				// MATHEMATICAL FRAKTUR CAPITAL K
				return rune(0x01d50e), true
			case "Kgr": 
				// GREEK CAPITAL LETTER KAPPA
				return rune(0x039a), true
			case "Kopf": 
				// MATHEMATICAL DOUBLE-STRUCK CAPITAL K
				return rune(0x01d542), true
			case "Kscr": 
				// MATHEMATICAL SCRIPT CAPITAL K
				return rune(0x01d4a6), true
		}

	case 'L':
		switch name {
			case "LJcy": 
				// CYRILLIC CAPITAL LETTER LJE
				return rune(0x0409), true
			case "LT": 
				// LESS-THAN SIGN
				return rune(0x3c), true
			case "Lacute": 
				// LATIN CAPITAL LETTER L WITH ACUTE
				return rune(0x0139), true
			case "Lambda": 
				// GREEK CAPITAL LETTER LAMDA
				return rune(0x039b), true
			case "Lang": 
				// MATHEMATICAL LEFT DOUBLE ANGLE BRACKET
				return rune(0x27ea), true
			case "Laplacetrf": 
				// SCRIPT CAPITAL L
				return rune(0x2112), true
			case "Larr": 
				// LEFTWARDS TWO HEADED ARROW
				return rune(0x219e), true
			case "Lcaron": 
				// LATIN CAPITAL LETTER L WITH CARON
				return rune(0x013d), true
			case "Lcedil": 
				// LATIN CAPITAL LETTER L WITH CEDILLA
				return rune(0x013b), true
			case "Lcy": 
				// CYRILLIC CAPITAL LETTER EL
				return rune(0x041b), true
			case "LeftAngleBracket": 
				// MATHEMATICAL LEFT ANGLE BRACKET
				return rune(0x27e8), true
			case "LeftArrowBar": 
				// LEFTWARDS ARROW TO BAR
				return rune(0x21e4), true
			case "LeftArrowRightArrow": 
				// LEFTWARDS ARROW OVER RIGHTWARDS ARROW
				return rune(0x21c6), true
			case "LeftArrow": 
				// LEFTWARDS ARROW
				return rune(0x2190), true
			case "LeftCeiling": 
				// LEFT CEILING
				return rune(0x2308), true
			case "LeftDoubleBracket": 
				// MATHEMATICAL LEFT WHITE SQUARE BRACKET
				return rune(0x27e6), true
			case "LeftDownTeeVector": 
				// DOWNWARDS HARPOON WITH BARB LEFT FROM BAR
				return rune(0x2961), true
			case "LeftDownVector": 
				// DOWNWARDS HARPOON WITH BARB LEFTWARDS
				return rune(0x21c3), true
			case "LeftDownVectorBar": 
				// DOWNWARDS HARPOON WITH BARB LEFT TO BAR
				return rune(0x2959), true
			case "LeftFloor": 
				// LEFT FLOOR
				return rune(0x230a), true
			case "LeftRightArrow": 
				// LEFT RIGHT ARROW
				return rune(0x2194), true
			case "LeftRightVector": 
				// LEFT BARB UP RIGHT BARB UP HARPOON
				return rune(0x294e), true
			case "LeftTeeArrow": 
				// LEFTWARDS ARROW FROM BAR
				return rune(0x21a4), true
			case "LeftTeeVector": 
				// LEFTWARDS HARPOON WITH BARB UP FROM BAR
				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
				return rune(0x22b2), true
			case "LeftTriangleEqual": 
				// NORMAL SUBGROUP OF OR EQUAL TO
				return rune(0x22b4), true
			case "LeftUpDownVector": 
				// UP BARB LEFT DOWN BARB LEFT HARPOON
				return rune(0x2951), true
			case "LeftUpTeeVector": 
				// UPWARDS HARPOON WITH BARB LEFT FROM BAR
				return rune(0x2960), true
			case "LeftUpVector": 
				// UPWARDS HARPOON WITH BARB LEFTWARDS
				return rune(0x21bf), true
			case "LeftUpVectorBar": 
				// UPWARDS HARPOON WITH BARB LEFT TO BAR
				return rune(0x2958), true
			case "LeftVector": 
				// LEFTWARDS HARPOON WITH BARB UPWARDS
				return rune(0x21bc), true
			case "LeftVectorBar": 
				// LEFTWARDS HARPOON WITH BARB UP TO BAR
				return rune(0x2952), true
			case "Leftarrow": 
				// LEFTWARDS DOUBLE ARROW
				return rune(0x21d0), true
			case "Leftrightarrow": 
				// LEFT RIGHT DOUBLE ARROW
				return rune(0x21d4), true
			case "LessEqualGreater": 
				// LESS-THAN EQUAL TO OR GREATER-THAN
				return rune(0x22da), true
			case "LessFullEqual": 
				// LESS-THAN OVER EQUAL TO
				return rune(0x2266), true
			case "LessGreater": 
				// LESS-THAN OR GREATER-THAN
				return rune(0x2276), true
			case "LessLess": 
				// DOUBLE NESTED LESS-THAN
				return rune(0x2aa1), true
			case "LessSlantEqual": 
				// LESS-THAN OR SLANTED EQUAL TO
				return rune(0x2a7d), true
			case "LessTilde": 
				// LESS-THAN OR EQUIVALENT TO
				return rune(0x2272), true
			case "Lfr": 
				// MATHEMATICAL FRAKTUR CAPITAL L
				return rune(0x01d50f), true
			case "Lgr": 
				// GREEK CAPITAL LETTER LAMDA
				return rune(0x039b), true
			case "Lleftarrow": 
				// LEFTWARDS TRIPLE ARROW
				return rune(0x21da), true
			case "Ll": 
				// VERY MUCH LESS-THAN
				return rune(0x22d8), true
			case "Lmidot": 
				// LATIN CAPITAL LETTER L WITH MIDDLE DOT
				return rune(0x013f), true
			case "LongLeftArrow": 
				// LONG LEFTWARDS ARROW
				return rune(0x27f5), true
			case "LongLeftRightArrow": 
				// LONG LEFT RIGHT ARROW
				return rune(0x27f7), true
			case "LongRightArrow": 
				// LONG RIGHTWARDS ARROW
				return rune(0x27f6), true
			case "Longleftarrow": 
				// LONG LEFTWARDS DOUBLE ARROW
				return rune(0x27f8), true
			case "Longleftrightarrow": 
				// LONG LEFT RIGHT DOUBLE ARROW
				return rune(0x27fa), true
			case "Longrightarrow": 
				// LONG RIGHTWARDS DOUBLE ARROW
				return rune(0x27f9), true
			case "Lopf": 
				// MATHEMATICAL DOUBLE-STRUCK CAPITAL L
				return rune(0x01d543), true
			case "LowerLeftArrow": 
				// SOUTH WEST ARROW
				return rune(0x2199), true
			case "LowerRightArrow": 
				// SOUTH EAST ARROW
				return rune(0x2198), true
			case "Lscr": 
				// SCRIPT CAPITAL L
				return rune(0x2112), true
			case "Lsh": 
				// UPWARDS ARROW WITH TIP LEFTWARDS
				return rune(0x21b0), true
			case "Lstrok": 
				// LATIN CAPITAL LETTER L WITH STROKE
				return rune(0x0141), true
			case "Ltbar": 
				// DOUBLE NESTED LESS-THAN WITH UNDERBAR
				return rune(0x2aa3), true
			case "Lt": 
				// MUCH LESS-THAN
				return rune(0x226a), true
		}

	case 'M':
		switch name {
			case "Mapfrom": 
				// LEFTWARDS DOUBLE ARROW FROM BAR
				return rune(0x2906), true
			case "Mapto": 
				// RIGHTWARDS DOUBLE ARROW FROM BAR
				return rune(0x2907), true
			case "Map": 
				// RIGHTWARDS TWO-HEADED ARROW FROM BAR
				return rune(0x2905), true
			case "Mcy": 
				// CYRILLIC CAPITAL LETTER EM
				return rune(0x041c), true
			case "MediumSpace": 
				// MEDIUM MATHEMATICAL SPACE
				return rune(0x205f), true
			case "Mellintrf": 
				// SCRIPT CAPITAL M
				return rune(0x2133), true
			case "Mfr": 
				// MATHEMATICAL FRAKTUR CAPITAL M
				return rune(0x01d510), true
			case "Mgr": 
				// GREEK CAPITAL LETTER MU
				return rune(0x039c), true
			case "MinusPlus": 
				// MINUS-OR-PLUS SIGN
				return rune(0x2213), true
			case "Mopf": 
				// MATHEMATICAL DOUBLE-STRUCK CAPITAL M
				return rune(0x01d544), true
			case "Mscr": 
				// SCRIPT CAPITAL M
				return rune(0x2133), true
			case "Mu": 
				// GREEK CAPITAL LETTER MU
				return rune(0x039c), true
		}

	case 'N':
		switch name {
			case "NJcy": 
				// CYRILLIC CAPITAL LETTER NJE
				return rune(0x040a), true
			case "Nacute": 
				// LATIN CAPITAL LETTER N WITH ACUTE
				return rune(0x0143), true
			case "Ncaron": 
				// LATIN CAPITAL LETTER N WITH CARON
				return rune(0x0147), true
			case "Ncedil": 
				// LATIN CAPITAL LETTER N WITH CEDILLA
				return rune(0x0145), true
			case "Ncy": 
				// CYRILLIC CAPITAL LETTER EN
				return rune(0x041d), true
			case "NegativeMediumSpace": 
				// ZERO WIDTH SPACE
				return rune(0x200b), true
			case "NegativeThickSpace": 
				// ZERO WIDTH SPACE
				return rune(0x200b), true
			case "NegativeThinSpace": 
				// ZERO WIDTH SPACE
				return rune(0x200b), true
			case "NegativeVeryThinSpace": 
				// ZERO WIDTH SPACE
				return rune(0x200b), true
			case "NestedGreaterGreater": 
				// MUCH GREATER-THAN
				return rune(0x226b), true
			case "NestedLessLess": 
				// MUCH LESS-THAN
				return rune(0x226a), true
			case "NewLine": 
				// LINE FEED (LF)
				return rune(0x0a), true
			case "Nfr": 
				// MATHEMATICAL FRAKTUR CAPITAL N
				return rune(0x01d511), true
			case "Ngr": 
				// GREEK CAPITAL LETTER NU
				return rune(0x039d), true
			case "NoBreak": 
				// WORD JOINER
				return rune(0x2060), true
			case "NonBreakingSpace": 
				// NO-BREAK SPACE
				return rune(0xa0), true
			case "Nopf": 
				// DOUBLE-STRUCK CAPITAL N
				return rune(0x2115), true
			case "NotDoubleVerticalBar": 
				// NOT PARALLEL TO
				return rune(0x2226), true
			case "NotElement": 
				// NOT AN ELEMENT OF
				return rune(0x2209), true
			case "NotEqualTilde": 
				// MINUS TILDE with slash
				return rune(0x2242), true
			case "NotEqual": 
				// NOT EQUAL TO
				return rune(0x2260), true
			case "NotExists": 
				// THERE DOES NOT EXIST
				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
				return rune(0x226f), true
			case "NotGreaterEqual": 
				// NEITHER GREATER-THAN NOR EQUAL TO
				return rune(0x2271), true
			case "NotGreaterLess": 
				// NEITHER GREATER-THAN NOR LESS-THAN
				return rune(0x2279), true
			case "NotGreaterTilde": 
				// NEITHER GREATER-THAN NOR EQUIVALENT TO
				return rune(0x2275), true
			case "NotLeftTriangleBar": 
				// LEFT TRIANGLE BESIDE VERTICAL BAR with slash
				return rune(0x29cf), true
			case "NotLeftTriangle": 
				// NOT NORMAL SUBGROUP OF
				return rune(0x22ea), true
			case "NotLeftTriangleEqual": 
				// NOT NORMAL SUBGROUP OF OR EQUAL TO
				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
				return rune(0x226e), true
			case "NotLessEqual": 
				// NEITHER LESS-THAN NOR EQUAL TO
				return rune(0x2270), true
			case "NotLessTilde": 
				// NEITHER LESS-THAN NOR EQUIVALENT TO
				return rune(0x2274), true
			case "NotNestedGreaterGreater": 
				// DOUBLE NESTED GREATER-THAN with slash
				return rune(0x2aa2), true
			case "NotNestedLessLess": 
				// DOUBLE NESTED LESS-THAN with slash
				return rune(0x2aa1), true
			case "NotPrecedesEqual": 
				// PRECEDES ABOVE SINGLE-LINE EQUALS SIGN with slash
				return rune(0x2aaf), true
			case "NotPrecedes": 
				// DOES NOT PRECEDE
				return rune(0x2280), true
			case "NotPrecedesSlantEqual": 
				// DOES NOT PRECEDE OR EQUAL
				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
				return rune(0x22eb), true
			case "NotRightTriangleEqual": 
				// DOES NOT CONTAIN AS NORMAL SUBGROUP OR EQUAL
				return rune(0x22ed), true
			case "NotSquareSubset": 
				// SQUARE IMAGE OF with slash
				return rune(0x228f), true
			case "NotSquareSubsetEqual": 
				// NOT SQUARE IMAGE OF OR EQUAL TO
				return rune(0x22e2), true
			case "NotSquareSuperset": 
				// SQUARE ORIGINAL OF with slash
				return rune(0x2290), true
			case "NotSquareSupersetEqual": 
				// NOT SQUARE ORIGINAL OF OR EQUAL TO
				return rune(0x22e3), true
			case "NotSubset": 
				// SUBSET OF with vertical line
				return rune(0x2282), true
			case "NotSubsetEqual": 
				// NEITHER A SUBSET OF NOR EQUAL TO
				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
				return rune(0x2281), true
			case "NotSucceedsSlantEqual": 
				// DOES NOT SUCCEED OR EQUAL
				return rune(0x22e1), true
			case "NotSuperset": 
				// SUPERSET OF with vertical line
				return rune(0x2283), true
			case "NotSupersetEqual": 
				// NEITHER A SUPERSET OF NOR EQUAL TO
				return rune(0x2289), true
			case "Nscr": 
				// MATHEMATICAL SCRIPT CAPITAL N
				return rune(0x01d4a9), true
			case "Ntilde": 
				// LATIN CAPITAL LETTER N WITH TILDE
				return rune(0xd1), true
			case "Nu": 
				// GREEK CAPITAL LETTER NU
				return rune(0x039d), true
		}

	case 'O':
		switch name {
			case "OElig": 
				// LATIN CAPITAL LIGATURE OE
				return rune(0x0152), true
			case "OHacgr": 
				// GREEK CAPITAL LETTER OMEGA WITH TONOS
				return rune(0x038f), true
			case "OHgr": 
				// GREEK CAPITAL LETTER OMEGA
				return rune(0x03a9), true
			case "Oacgr": 
				// GREEK CAPITAL LETTER OMICRON WITH TONOS
				return rune(0x038c), true
			case "Oacute": 
				// LATIN CAPITAL LETTER O WITH ACUTE
				return rune(0xd3), true
			case "Ocirc": 
				// LATIN CAPITAL LETTER O WITH CIRCUMFLEX
				return rune(0xd4), true
			case "Ocy": 
				// CYRILLIC CAPITAL LETTER O
				return rune(0x041e), true
			case "Odblac": 
				// LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
				return rune(0x0150), true
			case "Ofr": 
				// MATHEMATICAL FRAKTUR CAPITAL O
				return rune(0x01d512), true
			case "Ograve": 
				// LATIN CAPITAL LETTER O WITH GRAVE
				return rune(0xd2), true
			case "Ogr": 
				// GREEK CAPITAL LETTER OMICRON
				return rune(0x039f), true
			case "Omacr": 
				// LATIN CAPITAL LETTER O WITH MACRON
				return rune(0x014c), true
			case "Omega": 
				// GREEK CAPITAL LETTER OMEGA
				return rune(0x03a9), true
			case "Omicron": 
				// GREEK CAPITAL LETTER OMICRON
				return rune(0x039f), true
			case "Oopf": 
				// MATHEMATICAL DOUBLE-STRUCK CAPITAL O
				return rune(0x01d546), true
			case "OpenCurlyDoubleQuote": 
				// LEFT DOUBLE QUOTATION MARK
				return rune(0x201c), true
			case "OpenCurlyQuote": 
				// LEFT SINGLE QUOTATION MARK
				return rune(0x2018), true
			case "Or": 
				// DOUBLE LOGICAL OR
				return rune(0x2a54), true
			case "Oscr": 
				// MATHEMATICAL SCRIPT CAPITAL O
				return rune(0x01d4aa), true
			case "Oslash": 
				// LATIN CAPITAL LETTER O WITH STROKE
				return rune(0xd8), true
			case "Otilde": 
				// LATIN CAPITAL LETTER O WITH TILDE
				return rune(0xd5), true
			case "Otimes": 
				// MULTIPLICATION SIGN IN DOUBLE CIRCLE
				return rune(0x2a37), true
			case "Ouml": 
				// LATIN CAPITAL LETTER O WITH DIAERESIS
				return rune(0xd6), true
			case "OverBar": 
				// OVERLINE
				return rune(0x203e), true
			case "OverBrace": 
				// TOP CURLY BRACKET
				return rune(0x23de), true
			case "OverBracket": 
				// TOP SQUARE BRACKET
				return rune(0x23b4), true
			case "OverParenthesis": 
				// TOP PARENTHESIS
				return rune(0x23dc), true
		}

	case 'P':
		switch name {
			case "PHgr": 
				// GREEK CAPITAL LETTER PHI
				return rune(0x03a6), true
			case "PSgr": 
				// GREEK CAPITAL LETTER PSI
				return rune(0x03a8), true
			case "PartialD": 
				// PARTIAL DIFFERENTIAL
				return rune(0x2202), true
			case "Pcy": 
				// CYRILLIC CAPITAL LETTER PE
				return rune(0x041f), true
			case "Pfr": 
				// MATHEMATICAL FRAKTUR CAPITAL P
				return rune(0x01d513), true
			case "Pgr": 
				// GREEK CAPITAL LETTER PI
				return rune(0x03a0), true
			case "Phi": 
				// GREEK CAPITAL LETTER PHI
				return rune(0x03a6), true
			case "Pi": 
				// GREEK CAPITAL LETTER PI
				return rune(0x03a0), true
			case "PlusMinus": 
				// PLUS-MINUS SIGN
				return rune(0xb1), true
			case "Poincareplane": 
				// BLACK-LETTER CAPITAL H
				return rune(0x210c), true
			case "Popf": 
				// DOUBLE-STRUCK CAPITAL P
				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
				return rune(0x2abb), true
			case "PrecedesEqual": 
				// PRECEDES ABOVE SINGLE-LINE EQUALS SIGN
				return rune(0x2aaf), true
			case "Precedes": 
				// PRECEDES
				return rune(0x227a), true
			case "PrecedesSlantEqual": 
				// PRECEDES OR EQUAL TO
				return rune(0x227c), true
			case "PrecedesTilde": 
				// PRECEDES OR EQUIVALENT TO
				return rune(0x227e), true
			case "Prime": 
				// DOUBLE PRIME
				return rune(0x2033), true
			case "Pscr": 
				// MATHEMATICAL SCRIPT CAPITAL P
				return rune(0x01d4ab), true
			case "Psi": 
				// GREEK CAPITAL LETTER PSI
				return rune(0x03a8), true
		}

	case 'Q':
		switch name {
			case "QUOT": 
				// QUOTATION MARK
				return rune(0x22), true
			case "Qfr": 
				// MATHEMATICAL FRAKTUR CAPITAL Q
				return rune(0x01d514), true
			case "Qopf": 
				// DOUBLE-STRUCK CAPITAL Q
				return rune(0x211a), true
			case "Qscr": 
				// MATHEMATICAL SCRIPT CAPITAL Q
				return rune(0x01d4ac), true
		}

	case 'R':
		switch name {
			case "RBarr": 
				// RIGHTWARDS TWO-HEADED TRIPLE DASH ARROW
				return rune(0x2910), true
			case "REG": 
				// REGISTERED SIGN
				return rune(0xae), true
			case "Racute": 
				// LATIN CAPITAL LETTER R WITH ACUTE
				return rune(0x0154), true
			case "Rang": 
				// MATHEMATICAL RIGHT DOUBLE ANGLE BRACKET
				return rune(0x27eb), true
			case "Rarr": 
				// RIGHTWARDS TWO HEADED ARROW
				return rune(0x21a0), true
			case "Rarrtl": 
				// RIGHTWARDS TWO-HEADED ARROW WITH TAIL
				return rune(0x2916), true
			case "Rcaron": 
				// LATIN CAPITAL LETTER R WITH CARON
				return rune(0x0158), true
			case "Rcedil": 
				// LATIN CAPITAL LETTER R WITH CEDILLA
				return rune(0x0156), true
			case "Rcy": 
				// CYRILLIC CAPITAL LETTER ER
				return rune(0x0420), true
			case "ReverseElement": 
				// CONTAINS AS MEMBER
				return rune(0x220b), true
			case "ReverseEquilibrium": 
				// LEFTWARDS HARPOON OVER RIGHTWARDS HARPOON
				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
				return rune(0x296f), true
			case "Rfr": 
				// BLACK-LETTER CAPITAL R
				return rune(0x211c), true
			case "Rgr": 
				// GREEK CAPITAL LETTER RHO
				return rune(0x03a1), true
			case "Rho": 
				// GREEK CAPITAL LETTER RHO
				return rune(0x03a1), true
			case "RightAngleBracket": 
				// MATHEMATICAL RIGHT ANGLE BRACKET
				return rune(0x27e9), true
			case "RightArrowBar": 
				// RIGHTWARDS ARROW TO BAR
				return rune(0x21e5), true
			case "RightArrow": 
				// RIGHTWARDS ARROW
				return rune(0x2192), true
			case "RightArrowLeftArrow": 
				// RIGHTWARDS ARROW OVER LEFTWARDS ARROW
				return rune(0x21c4), true
			case "RightCeiling": 
				// RIGHT CEILING
				return rune(0x2309), true
			case "RightDoubleBracket": 
				// MATHEMATICAL RIGHT WHITE SQUARE BRACKET
				return rune(0x27e7), true
			case "RightDownTeeVector": 
				// DOWNWARDS HARPOON WITH BARB RIGHT FROM BAR
				return rune(0x295d), true
			case "RightDownVector": 
				// DOWNWARDS HARPOON WITH BARB RIGHTWARDS
				return rune(0x21c2), true
			case "RightDownVectorBar": 
				// DOWNWARDS HARPOON WITH BARB RIGHT TO BAR
				return rune(0x2955), true
			case "RightFloor": 
				// RIGHT FLOOR
				return rune(0x230b), true
			case "RightTeeArrow": 
				// RIGHTWARDS ARROW FROM BAR
				return rune(0x21a6), true
			case "RightTeeVector": 
				// RIGHTWARDS HARPOON WITH BARB UP FROM BAR
				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
				return rune(0x22b3), true
			case "RightTriangleEqual": 
				// CONTAINS AS NORMAL SUBGROUP OR EQUAL TO
				return rune(0x22b5), true
			case "RightUpDownVector": 
				// UP BARB RIGHT DOWN BARB RIGHT HARPOON
				return rune(0x294f), true
			case "RightUpTeeVector": 
				// UPWARDS HARPOON WITH BARB RIGHT FROM BAR
				return rune(0x295c), true
			case "RightUpVector": 
				// UPWARDS HARPOON WITH BARB RIGHTWARDS
				return rune(0x21be), true
			case "RightUpVectorBar": 
				// UPWARDS HARPOON WITH BARB RIGHT TO BAR
				return rune(0x2954), true
			case "RightVector": 
				// RIGHTWARDS HARPOON WITH BARB UPWARDS
				return rune(0x21c0), true
			case "RightVectorBar": 
				// RIGHTWARDS HARPOON WITH BARB UP TO BAR
				return rune(0x2953), true
			case "Rightarrow": 
				// RIGHTWARDS DOUBLE ARROW
				return rune(0x21d2), true
			case "Ropf": 
				// DOUBLE-STRUCK CAPITAL R
				return rune(0x211d), true
			case "RoundImplies": 
				// RIGHT DOUBLE ARROW WITH ROUNDED HEAD
				return rune(0x2970), true
			case "Rrightarrow": 
				// RIGHTWARDS TRIPLE ARROW
				return rune(0x21db), true
			case "Rscr": 
				// SCRIPT CAPITAL R
				return rune(0x211b), true
			case "Rsh": 
				// UPWARDS ARROW WITH TIP RIGHTWARDS
				return rune(0x21b1), true
			case "RuleDelayed": 
				// RULE-DELAYED
				return rune(0x29f4), true
		}

	case 'S':
		switch name {
			case "SHCHcy": 
				// CYRILLIC CAPITAL LETTER SHCHA
				return rune(0x0429), true
			case "SHcy": 
				// CYRILLIC CAPITAL LETTER SHA
				return rune(0x0428), true
			case "SOFTcy": 
				// CYRILLIC CAPITAL LETTER SOFT SIGN
				return rune(0x042c), true
			case "Sacute": 
				// LATIN CAPITAL LETTER S WITH ACUTE
				return rune(0x015a), true
			case "Sc": 
				// DOUBLE SUCCEEDS
				return rune(0x2abc), true
			case "Scaron": 
				// LATIN CAPITAL LETTER S WITH CARON
				return rune(0x0160), true
			case "Scedil": 
				// LATIN CAPITAL LETTER S WITH CEDILLA
				return rune(0x015e), true
			case "Scirc": 
				// LATIN CAPITAL LETTER S WITH CIRCUMFLEX
				return rune(0x015c), true
			case "Scy": 
				// CYRILLIC CAPITAL LETTER ES
				return rune(0x0421), true
			case "Sfr": 
				// MATHEMATICAL FRAKTUR CAPITAL S
				return rune(0x01d516), true
			case "Sgr": 
				// GREEK CAPITAL LETTER SIGMA
				return rune(0x03a3), true
			case "ShortDownArrow": 
				// DOWNWARDS ARROW
				return rune(0x2193), true
			case "ShortLeftArrow": 
				// LEFTWARDS ARROW
				return rune(0x2190), true
			case "ShortRightArrow": 
				// RIGHTWARDS ARROW
				return rune(0x2192), true
			case "ShortUpArrow": 
				// UPWARDS ARROW
				return rune(0x2191), true
			case "Sigma": 
				// GREEK CAPITAL LETTER SIGMA
				return rune(0x03a3), true
			case "SmallCircle": 
				// RING OPERATOR
				return rune(0x2218), true
			case "Sopf": 
				// MATHEMATICAL DOUBLE-STRUCK CAPITAL S
				return rune(0x01d54a), true
			case "Sqrt": 
				// SQUARE ROOT
				return rune(0x221a), true
			case "SquareIntersection": 
				// SQUARE CAP
				return rune(0x2293), true
			case "SquareSubset": 
				// SQUARE IMAGE OF
				return rune(0x228f), true
			case "SquareSubsetEqual": 
				// SQUARE IMAGE OF OR EQUAL TO
				return rune(0x2291), true
			case "Square": 
				// WHITE SQUARE
				return rune(0x25a1), true
			case "SquareSuperset": 
				// SQUARE ORIGINAL OF
				return rune(0x2290), true
			case "SquareSupersetEqual": 
				// SQUARE ORIGINAL OF OR EQUAL TO
				return rune(0x2292), true
			case "SquareUnion": 
				// SQUARE CUP
				return rune(0x2294), true
			case "Sscr": 
				// MATHEMATICAL SCRIPT CAPITAL S
				return rune(0x01d4ae), true
			case "Star": 
				// STAR OPERATOR
				return rune(0x22c6), true
			case "Sub": 
				// DOUBLE SUBSET
				return rune(0x22d0), true
			case "Subset": 
				// DOUBLE SUBSET
				return rune(0x22d0), true
			case "SubsetEqual": 
				// SUBSET OF OR EQUAL TO
				return rune(0x2286), true
			case "Succeeds": 
				// SUCCEEDS
				return rune(0x227b), true
			case "SucceedsEqual": 
				// SUCCEEDS ABOVE SINGLE-LINE EQUALS SIGN
				return rune(0x2ab0), true
			case "SucceedsSlantEqual": 
				// SUCCEEDS OR EQUAL TO
				return rune(0x227d), true
			case "SucceedsTilde": 
				// SUCCEEDS OR EQUIVALENT TO
				return rune(0x227f), true
			case "SuchThat": 
				// CONTAINS AS MEMBER
				return rune(0x220b), true
			case "Sum": 
				// N-ARY SUMMATION
				return rune(0x2211), true
			case "SupersetEqual": 
				// SUPERSET OF OR EQUAL TO
				return rune(0x2287), true
			case "Sup": 
				// DOUBLE SUPERSET
				return rune(0x22d1), true
			case "Superset": 
				// SUPERSET OF
				return rune(0x2283), true
			case "Supset": 
				// DOUBLE SUPERSET
				return rune(0x22d1), true
		}

	case 'T':
		switch name {
			case "THORN": 
				// LATIN CAPITAL LETTER THORN
				return rune(0xde), true
			case "THgr": 
				// GREEK CAPITAL LETTER THETA
				return rune(0x0398), true
			case "TRADE": 
				// TRADE MARK SIGN
				return rune(0x2122), true
			case "TSHcy": 
				// CYRILLIC CAPITAL LETTER TSHE
				return rune(0x040b), true
			case "TScy": 
				// CYRILLIC CAPITAL LETTER TSE
				return rune(0x0426), true
			case "Tab": 
				// CHARACTER TABULATION
				return rune(0x09), true
			case "Tau": 
				// GREEK CAPITAL LETTER TAU
				return rune(0x03a4), true
			case "Tcaron": 
				// LATIN CAPITAL LETTER T WITH CARON
				return rune(0x0164), true
			case "Tcedil": 
				// LATIN CAPITAL LETTER T WITH CEDILLA
				return rune(0x0162), true
			case "Tcy": 
				// CYRILLIC CAPITAL LETTER TE
				return rune(0x0422), true
			case "Tfr": 
				// MATHEMATICAL FRAKTUR CAPITAL T
				return rune(0x01d517), true
			case "Tgr": 
				// GREEK CAPITAL LETTER TAU
				return rune(0x03a4), true
			case "Therefore": 
				// THEREFORE
				return rune(0x2234), true
			case "Theta": 
				// GREEK CAPITAL LETTER THETA
				return rune(0x0398), true
			case "Thetav": 
				// GREEK CAPITAL THETA SYMBOL
				return rune(0x03f4), true
			case "ThickSpace": 
				// space of width 5/18 em
				return rune(0x205f), true
			case "ThinSpace": 
				// THIN SPACE
				return rune(0x2009), true
			case "Tilde": 
				// TILDE OPERATOR
				return rune(0x223c), true
			case "TildeEqual": 
				// ASYMPTOTICALLY EQUAL TO
				return rune(0x2243), true
			case "TildeFullEqual": 
				// APPROXIMATELY EQUAL TO
				return rune(0x2245), true
			case "TildeTilde": 
				// ALMOST EQUAL TO
				return rune(0x2248), true
			case "Topf": 
				// MATHEMATICAL DOUBLE-STRUCK CAPITAL T
				return rune(0x01d54b), true
			case "TripleDot": 
				// COMBINING THREE DOTS ABOVE
				return rune(0x20db), true
			case "Tscr": 
				// MATHEMATICAL SCRIPT CAPITAL T
				return rune(0x01d4af), true
			case "Tstrok": 
				// LATIN CAPITAL LETTER T WITH STROKE
				return rune(0x0166), true
		}

	case 'U':
		switch name {
			case "Uacgr": 
				// GREEK CAPITAL LETTER UPSILON WITH TONOS
				return rune(0x038e), true
			case "Uacute": 
				// LATIN CAPITAL LETTER U WITH ACUTE
				return rune(0xda), true
			case "Uarrocir": 
				// UPWARDS TWO-HEADED ARROW FROM SMALL CIRCLE
				return rune(0x2949), true
			case "Uarr": 
				// UPWARDS TWO HEADED ARROW
				return rune(0x219f), true
			case "Ubrcy": 
				// CYRILLIC CAPITAL LETTER SHORT U
				return rune(0x040e), true
			case "Ubreve": 
				// LATIN CAPITAL LETTER U WITH BREVE
				return rune(0x016c), true
			case "Ucirc": 
				// LATIN CAPITAL LETTER U WITH CIRCUMFLEX
				return rune(0xdb), true
			case "Ucy": 
				// CYRILLIC CAPITAL LETTER U
				return rune(0x0423), true
			case "Udblac": 
				// LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
				return rune(0x0170), true
			case "Udigr": 
				// GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA
				return rune(0x03ab), true
			case "Ufr": 
				// MATHEMATICAL FRAKTUR CAPITAL U
				return rune(0x01d518), true
			case "Ugrave": 
				// LATIN CAPITAL LETTER U WITH GRAVE
				return rune(0xd9), true
			case "Ugr": 
				// GREEK CAPITAL LETTER UPSILON
				return rune(0x03a5), true
			case "Umacr": 
				// LATIN CAPITAL LETTER U WITH MACRON
				return rune(0x016a), true
			case "UnderBar": 
				// LOW LINE
				return rune(0x5f), true
			case "UnderBrace": 
				// BOTTOM CURLY BRACKET
				return rune(0x23df), true
			case "UnderBracket": 
				// BOTTOM SQUARE BRACKET
				return rune(0x23b5), true
			case "UnderParenthesis": 
				// BOTTOM PARENTHESIS
				return rune(0x23dd), true
			case "Union": 
				// N-ARY UNION
				return rune(0x22c3), true
			case "UnionPlus": 
				// MULTISET UNION
				return rune(0x228e), true
			case "Uogon": 
				// LATIN CAPITAL LETTER U WITH OGONEK
				return rune(0x0172), true
			case "Uopf": 
				// MATHEMATICAL DOUBLE-STRUCK CAPITAL U
				return rune(0x01d54c), true
			case "UpArrow": 
				// UPWARDS ARROW
				return rune(0x2191), true
			case "UpArrowBar": 
				// UPWARDS ARROW TO BAR
				return rune(0x2912), true
			case "UpArrowDownArrow": 
				// UPWARDS ARROW LEFTWARDS OF DOWNWARDS ARROW
				return rune(0x21c5), true
			case "UpDownArrow": 
				// UP DOWN ARROW
				return rune(0x2195), true
			case "UpEquilibrium": 
				// UPWARDS HARPOON WITH BARB LEFT BESIDE DOWNWARDS HARPOON WITH BARB RIGHT
				return rune(0x296e), true
			case "UpTee": 
				// UP TACK
				return rune(0x22a5), true
			case "UpTeeArrow": 
				// UPWARDS ARROW FROM BAR
				return rune(0x21a5), true
			case "Uparrow": 
				// UPWARDS DOUBLE ARROW
				return rune(0x21d1), true
			case "Updownarrow": 
				// UP DOWN DOUBLE ARROW
				return rune(0x21d5), true
			case "UpperLeftArrow": 
				// NORTH WEST ARROW
				return rune(0x2196), true
			case "UpperRightArrow": 
				// NORTH EAST ARROW
				return rune(0x2197), true
			case "Upsilon": 
				// GREEK CAPITAL LETTER UPSILON
				return rune(0x03a5), true
			case "Upsi": 
				// GREEK UPSILON WITH HOOK SYMBOL
				return rune(0x03d2), true
			case "Uring": 
				// LATIN CAPITAL LETTER U WITH RING ABOVE
				return rune(0x016e), true
			case "Uscr": 
				// MATHEMATICAL SCRIPT CAPITAL U
				return rune(0x01d4b0), true
			case "Utilde": 
				// LATIN CAPITAL LETTER U WITH TILDE
				return rune(0x0168), true
			case "Uuml": 
				// LATIN CAPITAL LETTER U WITH DIAERESIS
				return rune(0xdc), true
		}

	case 'V':
		switch name {
			case "VDash": 
				// DOUBLE VERTICAL BAR DOUBLE RIGHT TURNSTILE
				return rune(0x22ab), true
			case "Vbar": 
				// DOUBLE UP TACK
				return rune(0x2aeb), true
			case "Vcy": 
				// CYRILLIC CAPITAL LETTER VE
				return rune(0x0412), true
			case "Vdashl": 
				// LONG DASH FROM LEFT MEMBER OF DOUBLE VERTICAL
				return rune(0x2ae6), true
			case "Vdash": 
				// FORCES
				return rune(0x22a9), true
			case "Vee": 
				// N-ARY LOGICAL OR
				return rune(0x22c1), true
			case "Verbar": 
				// DOUBLE VERTICAL LINE
				return rune(0x2016), true
			case "Vert": 
				// DOUBLE VERTICAL LINE
				return rune(0x2016), true
			case "VerticalBar": 
				// DIVIDES
				return rune(0x2223), true
			case "VerticalLine": 
				// VERTICAL LINE
				return rune(0x7c), true
			case "VerticalSeparator": 
				// LIGHT VERTICAL BAR
				return rune(0x2758), true
			case "VerticalTilde": 
				// WREATH PRODUCT
				return rune(0x2240), true
			case "VeryThinSpace": 
				// HAIR SPACE
				return rune(0x200a), true
			case "Vfr": 
				// MATHEMATICAL FRAKTUR CAPITAL V
				return rune(0x01d519), true
			case "Vopf": 
				// MATHEMATICAL DOUBLE-STRUCK CAPITAL V
				return rune(0x01d54d), true
			case "Vscr": 
				// MATHEMATICAL SCRIPT CAPITAL V
				return rune(0x01d4b1), true
			case "Vvdash": 
				// TRIPLE VERTICAL BAR RIGHT TURNSTILE
				return rune(0x22aa), true
		}

	case 'W':
		switch name {
			case "Wcirc": 
				// LATIN CAPITAL LETTER W WITH CIRCUMFLEX
				return rune(0x0174), true
			case "Wedge": 
				// N-ARY LOGICAL AND
				return rune(0x22c0), true
			case "Wfr": 
				// MATHEMATICAL FRAKTUR CAPITAL W
				return rune(0x01d51a), true
			case "Wopf": 
				// MATHEMATICAL DOUBLE-STRUCK CAPITAL W
				return rune(0x01d54e), true
			case "Wscr": 
				// MATHEMATICAL SCRIPT CAPITAL W
				return rune(0x01d4b2), true
		}

	case 'X':
		switch name {
			case "Xfr": 
				// MATHEMATICAL FRAKTUR CAPITAL X
				return rune(0x01d51b), true
			case "Xgr": 
				// GREEK CAPITAL LETTER XI
				return rune(0x039e), true
			case "Xi": 
				// GREEK CAPITAL LETTER XI
				return rune(0x039e), true
			case "Xopf": 
				// MATHEMATICAL DOUBLE-STRUCK CAPITAL X
				return rune(0x01d54f), true
			case "Xscr": 
				// MATHEMATICAL SCRIPT CAPITAL X
				return rune(0x01d4b3), true
		}

	case 'Y':
		switch name {
			case "YAcy": 
				// CYRILLIC CAPITAL LETTER YA
				return rune(0x042f), true
			case "YIcy": 
				// CYRILLIC CAPITAL LETTER YI
				return rune(0x0407), true
			case "YUcy": 
				// CYRILLIC CAPITAL LETTER YU
				return rune(0x042e), true
			case "Yacute": 
				// LATIN CAPITAL LETTER Y WITH ACUTE
				return rune(0xdd), true
			case "Ycirc": 
				// LATIN CAPITAL LETTER Y WITH CIRCUMFLEX
				return rune(0x0176), true
			case "Ycy": 
				// CYRILLIC CAPITAL LETTER YERU
				return rune(0x042b), true
			case "Yfr": 
				// MATHEMATICAL FRAKTUR CAPITAL Y
				return rune(0x01d51c), true
			case "Yopf": 
				// MATHEMATICAL DOUBLE-STRUCK CAPITAL Y
				return rune(0x01d550), true
			case "Yscr": 
				// MATHEMATICAL SCRIPT CAPITAL Y
				return rune(0x01d4b4), true
			case "Yuml": 
				// LATIN CAPITAL LETTER Y WITH DIAERESIS
				return rune(0x0178), true
		}

	case 'Z':
		switch name {
			case "ZHcy": 
				// CYRILLIC CAPITAL LETTER ZHE
				return rune(0x0416), true
			case "Zacute": 
				// LATIN CAPITAL LETTER Z WITH ACUTE
				return rune(0x0179), true
			case "Zcaron": 
				// LATIN CAPITAL LETTER Z WITH CARON
				return rune(0x017d), true
			case "Zcy": 
				// CYRILLIC CAPITAL LETTER ZE
				return rune(0x0417), true
			case "Zdot": 
				// LATIN CAPITAL LETTER Z WITH DOT ABOVE
				return rune(0x017b), true
			case "ZeroWidthSpace": 
				// ZERO WIDTH SPACE
				return rune(0x200b), true
			case "Zeta": 
				// GREEK CAPITAL LETTER ZETA
				return rune(0x0396), true
			case "Zfr": 
				// BLACK-LETTER CAPITAL Z
				return rune(0x2128), true
			case "Zgr": 
				// GREEK CAPITAL LETTER ZETA
				return rune(0x0396), true
			case "Zopf": 
				// DOUBLE-STRUCK CAPITAL Z
				return rune(0x2124), true
			case "Zscr": 
				// MATHEMATICAL SCRIPT CAPITAL Z
				return rune(0x01d4b5), true
		}

	case 'a':
		switch name {
			case "aacgr": 
				// GREEK SMALL LETTER ALPHA WITH TONOS
				return rune(0x03ac), true
			case "aacute": 
				// LATIN SMALL LETTER A WITH ACUTE
				return rune(0xe1), true
			case "abreve": 
				// LATIN SMALL LETTER A WITH BREVE
				return rune(0x0103), true
			case "acE": 
				// INVERTED LAZY S with double underline
				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
				return rune(0x223e), true
			case "acirc": 
				// LATIN SMALL LETTER A WITH CIRCUMFLEX
				return rune(0xe2), true
			case "actuary": 
				// COMBINING ANNUITY SYMBOL
				return rune(0x20e7), true
			case "acy": 
				// CYRILLIC SMALL LETTER A
				return rune(0x0430), true
			case "aelig": 
				// LATIN SMALL LETTER AE
				return rune(0xe6), true
			case "af": 
				// FUNCTION APPLICATION
				return rune(0x2061), true
			case "afr": 
				// MATHEMATICAL FRAKTUR SMALL A
				return rune(0x01d51e), true
			case "agr": 
				// GREEK SMALL LETTER ALPHA
				return rune(0x03b1), true
			case "agrave": 
				// LATIN SMALL LETTER A WITH GRAVE
				return rune(0xe0), true
			case "alefsym": 
				// ALEF SYMBOL
				return rune(0x2135), true
			case "aleph": 
				// ALEF SYMBOL
				return rune(0x2135), true
			case "alpha": 
				// GREEK SMALL LETTER ALPHA
				return rune(0x03b1), true
			case "amacr": 
				// LATIN SMALL LETTER A WITH MACRON
				return rune(0x0101), true
			case "amalg": 
				// AMALGAMATION OR COPRODUCT
				return rune(0x2a3f), true
			case "amp": 
				// AMPERSAND
				return rune(0x26), true
			case "andand": 
				// TWO INTERSECTING LOGICAL AND
				return rune(0x2a55), true
			case "andd": 
				// LOGICAL AND WITH HORIZONTAL DASH
				return rune(0x2a5c), true
			case "andslope": 
				// SLOPING LARGE AND
				return rune(0x2a58), true
			case "andv": 
				// LOGICAL AND WITH MIDDLE STEM
				return rune(0x2a5a), true
			case "and": 
				// LOGICAL AND
				return rune(0x2227), true
			case "angdnl": 
				// TURNED ANGLE
				return rune(0x29a2), true
			case "angdnr": 
				// ACUTE ANGLE
				return rune(0x299f), true
			case "ange": 
				// ANGLE WITH UNDERBAR
				return rune(0x29a4), true
			case "angles": 
				// ANGLE WITH S INSIDE
				return rune(0x299e), true
			case "angle": 
				// ANGLE
				return rune(0x2220), true
			case "angmsdaa": 
				// MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING UP AND RIGHT
				return rune(0x29a8), true
			case "angmsdab": 
				// MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING UP AND LEFT
				return rune(0x29a9), true
			case "angmsdac": 
				// MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING DOWN AND RIGHT
				return rune(0x29aa), true
			case "angmsdad": 
				// MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING DOWN AND LEFT
				return rune(0x29ab), true
			case "angmsdae": 
				// MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING RIGHT AND UP
				return rune(0x29ac), true
			case "angmsdaf": 
				// MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING LEFT AND UP
				return rune(0x29ad), true
			case "angmsdag": 
				// MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING RIGHT AND DOWN
				return rune(0x29ae), true
			case "angmsdah": 
				// MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING LEFT AND DOWN
				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
				return rune(0x22be), true
			case "angsph": 
				// SPHERICAL ANGLE
				return rune(0x2222), true
			case "angst": 
				// LATIN CAPITAL LETTER A WITH RING ABOVE
				return rune(0xc5), true
			case "angupl": 
				// REVERSED ANGLE
				return rune(0x29a3), true
			case "angzarr": 
				// RIGHT ANGLE WITH DOWNWARDS ZIGZAG ARROW
				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
				return rune(0x0105), true
			case "aopf": 
				// MATHEMATICAL DOUBLE-STRUCK SMALL A
				return rune(0x01d552), true
			case "apE": 
				// APPROXIMATELY EQUAL OR EQUAL TO
				return rune(0x2a70), true
			case "apacir": 
				// ALMOST EQUAL TO WITH CIRCUMFLEX ACCENT
				return rune(0x2a6f), true
			case "ape": 
				// ALMOST EQUAL OR EQUAL TO
				return rune(0x224a), true
			case "apid": 
				// TRIPLE TILDE
				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
				return rune(0x27), true
			case "aring": 
				// LATIN SMALL LETTER A WITH RING ABOVE
				return rune(0xe5), true
			case "arrllsr": 
				// LEFTWARDS ARROW ABOVE SHORT RIGHTWARDS ARROW
				return rune(0x2943), true
			case "arrlrsl": 
				// RIGHTWARDS ARROW ABOVE SHORT LEFTWARDS ARROW
				return rune(0x2942), true
			case "arrsrll": 
				// SHORT RIGHTWARDS ARROW ABOVE LEFTWARDS ARROW
				return rune(0x2944), true
			case "ascr": 
				// MATHEMATICAL SCRIPT SMALL A
				return rune(0x01d4b6), true
			case "astb": 
				// SQUARED ASTERISK
				return rune(0x29c6), true
			case "ast": 
				// ASTERISK
				return rune(0x2a), true
			case "asympeq": 
				// EQUIVALENT TO
				return rune(0x224d), true
			case "asymp": 
				// ALMOST EQUAL TO
				return rune(0x2248), true
			case "atilde": 
				// LATIN SMALL LETTER A WITH TILDE
				return rune(0xe3), true
			case "auml": 
				// LATIN SMALL LETTER A WITH DIAERESIS
				return rune(0xe4), true
			case "awconint": 
				// ANTICLOCKWISE CONTOUR INTEGRAL
				return rune(0x2233), true
			case "awint": 
				// ANTICLOCKWISE INTEGRATION
				return rune(0x2a11), true
		}

	case 'b':
		switch name {
			case "b.Delta": 
				// MATHEMATICAL BOLD CAPITAL DELTA
				return rune(0x01d6ab), true
			case "b.Gamma": 
				// MATHEMATICAL BOLD CAPITAL GAMMA
				return rune(0x01d6aa), true
			case "b.Gammad": 
				// MATHEMATICAL BOLD CAPITAL DIGAMMA
				return rune(0x01d7ca), true
			case "b.Lambda": 
				// MATHEMATICAL BOLD CAPITAL LAMDA
				return rune(0x01d6b2), true
			case "b.Omega": 
				// MATHEMATICAL BOLD CAPITAL OMEGA
				return rune(0x01d6c0), true
			case "b.Phi": 
				// MATHEMATICAL BOLD CAPITAL PHI
				return rune(0x01d6bd), true
			case "b.Pi": 
				// MATHEMATICAL BOLD CAPITAL PI
				return rune(0x01d6b7), true
			case "b.Psi": 
				// MATHEMATICAL BOLD CAPITAL PSI
				return rune(0x01d6bf), true
			case "b.Sigma": 
				// MATHEMATICAL BOLD CAPITAL SIGMA
				return rune(0x01d6ba), true
			case "b.Theta": 
				// MATHEMATICAL BOLD CAPITAL THETA
				return rune(0x01d6af), true
			case "b.Upsi": 
				// MATHEMATICAL BOLD CAPITAL UPSILON
				return rune(0x01d6bc), true
			case "b.Xi": 
				// MATHEMATICAL BOLD CAPITAL XI
				return rune(0x01d6b5), true
			case "b.alpha": 
				// MATHEMATICAL BOLD SMALL ALPHA
				return rune(0x01d6c2), true
			case "b.beta": 
				// MATHEMATICAL BOLD SMALL BETA
				return rune(0x01d6c3), true
			case "b.chi": 
				// MATHEMATICAL BOLD SMALL CHI
				return rune(0x01d6d8), true
			case "b.delta": 
				// MATHEMATICAL BOLD SMALL DELTA
				return rune(0x01d6c5), true
			case "b.epsi": 
				// MATHEMATICAL BOLD SMALL EPSILON
				return rune(0x01d6c6), true
			case "b.epsiv": 
				// MATHEMATICAL BOLD EPSILON SYMBOL
				return rune(0x01d6dc), true
			case "b.eta": 
				// MATHEMATICAL BOLD SMALL ETA
				return rune(0x01d6c8), true
			case "b.gammad": 
				// MATHEMATICAL BOLD SMALL DIGAMMA
				return rune(0x01d7cb), true
			case "b.gamma": 
				// MATHEMATICAL BOLD SMALL GAMMA
				return rune(0x01d6c4), true
			case "b.iota": 
				// MATHEMATICAL BOLD SMALL IOTA
				return rune(0x01d6ca), true
			case "b.kappa": 
				// MATHEMATICAL BOLD SMALL KAPPA
				return rune(0x01d6cb), true
			case "b.kappav": 
				// MATHEMATICAL BOLD KAPPA SYMBOL
				return rune(0x01d6de), true
			case "b.lambda": 
				// MATHEMATICAL BOLD SMALL LAMDA
				return rune(0x01d6cc), true
			case "b.mu": 
				// MATHEMATICAL BOLD SMALL MU
				return rune(0x01d6cd), true
			case "b.nu": 
				// MATHEMATICAL BOLD SMALL NU
				return rune(0x01d6ce), true
			case "b.omega": 
				// MATHEMATICAL BOLD SMALL OMEGA
				return rune(0x01d6da), true
			case "b.phi": 
				// MATHEMATICAL BOLD SMALL PHI
				return rune(0x01d6d7), true
			case "b.phiv": 
				// MATHEMATICAL BOLD PHI SYMBOL
				return rune(0x01d6df), true
			case "b.pi": 
				// MATHEMATICAL BOLD SMALL PI
				return rune(0x01d6d1), true
			case "b.piv": 
				// MATHEMATICAL BOLD PI SYMBOL
				return rune(0x01d6e1), true
			case "b.psi": 
				// MATHEMATICAL BOLD SMALL PSI
				return rune(0x01d6d9), true
			case "b.rho": 
				// MATHEMATICAL BOLD SMALL RHO
				return rune(0x01d6d2), true
			case "b.rhov": 
				// MATHEMATICAL BOLD RHO SYMBOL
				return rune(0x01d6e0), true
			case "b.sigmav": 
				// MATHEMATICAL BOLD SMALL FINAL SIGMA
				return rune(0x01d6d3), true
			case "b.sigma": 
				// MATHEMATICAL BOLD SMALL SIGMA
				return rune(0x01d6d4), true
			case "b.tau": 
				// MATHEMATICAL BOLD SMALL TAU
				return rune(0x01d6d5), true
			case "b.thetas": 
				// MATHEMATICAL BOLD SMALL THETA
				return rune(0x01d6c9), true
			case "b.thetav": 
				// MATHEMATICAL BOLD THETA SYMBOL
				return rune(0x01d6dd), true
			case "b.upsi": 
				// MATHEMATICAL BOLD SMALL UPSILON
				return rune(0x01d6d6), true
			case "b.xi": 
				// MATHEMATICAL BOLD SMALL XI
				return rune(0x01d6cf), true
			case "b.zeta": 
				// MATHEMATICAL BOLD SMALL ZETA
				return rune(0x01d6c7), true
			case "bNot": 
				// REVERSED DOUBLE STROKE NOT SIGN
				return rune(0x2aed), true
			case "backcong": 
				// ALL EQUAL TO
				return rune(0x224c), true
			case "backepsilon": 
				// GREEK REVERSED LUNATE EPSILON SYMBOL
				return rune(0x03f6), true
			case "backprime": 
				// REVERSED PRIME
				return rune(0x2035), true
			case "backsimeq": 
				// REVERSED TILDE EQUALS
				return rune(0x22cd), true
			case "backsim": 
				// REVERSED TILDE
				return rune(0x223d), true
			case "barV": 
				// DOUBLE DOWN TACK
				return rune(0x2aea), true
			case "barvee": 
				// NOR
				return rune(0x22bd), true
			case "barwed": 
				// PROJECTIVE
				return rune(0x2305), true
			case "barwedge": 
				// PROJECTIVE
				return rune(0x2305), true
			case "bbrk": 
				// BOTTOM SQUARE BRACKET
				return rune(0x23b5), true
			case "bbrktbrk": 
				// BOTTOM SQUARE BRACKET OVER TOP SQUARE BRACKET
				return rune(0x23b6), true
			case "bcong": 
				// ALL EQUAL TO
				return rune(0x224c), true
			case "bcy": 
				// CYRILLIC SMALL LETTER BE
				return rune(0x0431), true
			case "bdlhar": 
				// DOWNWARDS HARPOON WITH BARB LEFT FROM BAR
				return rune(0x2961), true
			case "bdquo": 
				// DOUBLE LOW-9 QUOTATION MARK
				return rune(0x201e), true
			case "bdrhar": 
				// DOWNWARDS HARPOON WITH BARB RIGHT FROM BAR
				return rune(0x295d), true
			case "because": 
				// BECAUSE
				return rune(0x2235), true
			case "becaus": 
				// BECAUSE
				return rune(0x2235), true
			case "bemptyv": 
				// REVERSED EMPTY SET
				return rune(0x29b0), true
			case "bepsi": 
				// GREEK REVERSED LUNATE EPSILON SYMBOL
				return rune(0x03f6), true
			case "bernou": 
				// SCRIPT CAPITAL B
				return rune(0x212c), true
			case "beta": 
				// GREEK SMALL LETTER BETA
				return rune(0x03b2), true
			case "beth": 
				// BET SYMBOL
				return rune(0x2136), true
			case "between": 
				// BETWEEN
				return rune(0x226c), true
			case "bfr": 
				// MATHEMATICAL FRAKTUR SMALL B
				return rune(0x01d51f), true
			case "bgr": 
				// GREEK SMALL LETTER BETA
				return rune(0x03b2), true
			case "bigcap": 
				// N-ARY INTERSECTION
				return rune(0x22c2), true
			case "bigcirc": 
				// LARGE CIRCLE
				return rune(0x25ef), true
			case "bigcup": 
				// N-ARY UNION
				return rune(0x22c3), true
			case "bigodot": 
				// N-ARY CIRCLED DOT OPERATOR
				return rune(0x2a00), true
			case "bigoplus": 
				// N-ARY CIRCLED PLUS OPERATOR
				return rune(0x2a01), true
			case "bigotimes": 
				// N-ARY CIRCLED TIMES OPERATOR
				return rune(0x2a02), true
			case "bigsqcup": 
				// N-ARY SQUARE UNION OPERATOR
				return rune(0x2a06), true
			case "bigstar": 
				// BLACK STAR
				return rune(0x2605), true
			case "bigtriangledown": 
				// WHITE DOWN-POINTING TRIANGLE
				return rune(0x25bd), true
			case "bigtriangleup": 
				// WHITE UP-POINTING TRIANGLE
				return rune(0x25b3), true
			case "biguplus": 
				// N-ARY UNION OPERATOR WITH PLUS
				return rune(0x2a04), true
			case "bigvee": 
				// N-ARY LOGICAL OR
				return rune(0x22c1), true
			case "bigwedge": 
				// N-ARY LOGICAL AND
				return rune(0x22c0), true
			case "bkarow": 
				// RIGHTWARDS DOUBLE DASH ARROW
				return rune(0x290d), true
			case "blacklozenge": 
				// BLACK LOZENGE
				return rune(0x29eb), true
			case "blacksquare": 
				// BLACK SMALL SQUARE
				return rune(0x25aa), true
			case "blacktriangledown": 
				// BLACK DOWN-POINTING SMALL TRIANGLE
				return rune(0x25be), true
			case "blacktriangleleft": 
				// BLACK LEFT-POINTING SMALL TRIANGLE
				return rune(0x25c2), true
			case "blacktriangleright": 
				// BLACK RIGHT-POINTING SMALL TRIANGLE
				return rune(0x25b8), true
			case "blacktriangle": 
				// BLACK UP-POINTING SMALL TRIANGLE
				return rune(0x25b4), true
			case "blank": 
				// BLANK SYMBOL
				return rune(0x2422), true
			case "bldhar": 
				// LEFTWARDS HARPOON WITH BARB DOWN FROM BAR
				return rune(0x295e), true
			case "blk12": 
				// MEDIUM SHADE
				return rune(0x2592), true
			case "blk14": 
				// LIGHT SHADE
				return rune(0x2591), true
			case "blk34": 
				// DARK SHADE
				return rune(0x2593), true
			case "block": 
				// FULL BLOCK
				return rune(0x2588), true
			case "bluhar": 
				// LEFTWARDS HARPOON WITH BARB UP FROM BAR
				return rune(0x295a), true
			case "bnequiv": 
				// IDENTICAL TO with reverse slash
				return rune(0x2261), true
			case "bne": 
				// EQUALS SIGN with reverse slash
				return rune(0x3d), true
			case "bnot": 
				// REVERSED NOT SIGN
				return rune(0x2310), true
			case "bopf": 
				// MATHEMATICAL DOUBLE-STRUCK SMALL B
				return rune(0x01d553), true
			case "bot": 
				// UP TACK
				return rune(0x22a5), true
			case "bottom": 
				// UP TACK
				return rune(0x22a5), true
			case "bowtie": 
				// BOWTIE
				return rune(0x22c8), true
			case "boxDL": 
				// BOX DRAWINGS DOUBLE DOWN AND LEFT
				return rune(0x2557), true
			case "boxDR": 
				// BOX DRAWINGS DOUBLE DOWN AND RIGHT
				return rune(0x2554), true
			case "boxDl": 
				// BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
				return rune(0x2556), true
			case "boxDr": 
				// BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
				return rune(0x2553), true
			case "boxHD": 
				// BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
				return rune(0x2566), true
			case "boxHU": 
				// BOX DRAWINGS DOUBLE UP AND HORIZONTAL
				return rune(0x2569), true
			case "boxHd": 
				// BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
				return rune(0x2564), true
			case "boxHu": 
				// BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
				return rune(0x2567), true
			case "boxH": 
				// BOX DRAWINGS DOUBLE HORIZONTAL
				return rune(0x2550), true
			case "boxUL": 
				// BOX DRAWINGS DOUBLE UP AND LEFT
				return rune(0x255d), true
			case "boxUR": 
				// BOX DRAWINGS DOUBLE UP AND RIGHT
				return rune(0x255a), true
			case "boxUl": 
				// BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
				return rune(0x255c), true
			case "boxUr": 
				// BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
				return rune(0x2559), true
			case "boxVH": 
				// BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
				return rune(0x256c), true
			case "boxVL": 
				// BOX DRAWINGS DOUBLE VERTICAL AND LEFT
				return rune(0x2563), true
			case "boxVR": 
				// BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
				return rune(0x2560), true
			case "boxVh": 
				// BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
				return rune(0x256b), true
			case "boxVl": 
				// BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
				return rune(0x2562), true
			case "boxVr": 
				// BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
				return rune(0x255f), true
			case "boxV": 
				// BOX DRAWINGS DOUBLE VERTICAL
				return rune(0x2551), true
			case "boxbox": 
				// TWO JOINED SQUARES
				return rune(0x29c9), true
			case "boxdL": 
				// BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
				return rune(0x2555), true
			case "boxdR": 
				// BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
				return rune(0x2552), true
			case "boxdl": 
				// BOX DRAWINGS LIGHT DOWN AND LEFT
				return rune(0x2510), true
			case "boxdr": 
				// BOX DRAWINGS LIGHT DOWN AND RIGHT
				return rune(0x250c), true
			case "boxhU": 
				// BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
				return rune(0x2568), true
			case "boxh": 
				// BOX DRAWINGS LIGHT HORIZONTAL
				return rune(0x2500), true
			case "boxhD": 
				// BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
				return rune(0x2565), true
			case "boxhd": 
				// BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
				return rune(0x252c), true
			case "boxhu": 
				// BOX DRAWINGS LIGHT UP AND HORIZONTAL
				return rune(0x2534), true
			case "boxminus": 
				// SQUARED MINUS
				return rune(0x229f), true
			case "boxplus": 
				// SQUARED PLUS
				return rune(0x229e), true
			case "boxtimes": 
				// SQUARED TIMES
				return rune(0x22a0), true
			case "boxuL": 
				// BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
				return rune(0x255b), true
			case "boxuR": 
				// BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
				return rune(0x2558), true
			case "boxul": 
				// BOX DRAWINGS LIGHT UP AND LEFT
				return rune(0x2518), true
			case "boxur": 
				// BOX DRAWINGS LIGHT UP AND RIGHT
				return rune(0x2514), true
			case "boxvL": 
				// BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
				return rune(0x2561), true
			case "boxvR": 
				// BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
				return rune(0x255e), true
			case "boxvl": 
				// BOX DRAWINGS LIGHT VERTICAL AND LEFT
				return rune(0x2524), true
			case "boxvr": 
				// BOX DRAWINGS LIGHT VERTICAL AND RIGHT
				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
				return rune(0x2035), true
			case "brdhar": 
				// RIGHTWARDS HARPOON WITH BARB DOWN FROM BAR
				return rune(0x295f), true
			case "breve": 
				// BREVE
				return rune(0x02d8), true
			case "bruhar": 
				// RIGHTWARDS HARPOON WITH BARB UP FROM BAR
				return rune(0x295b), true
			case "brvbar": 
				// BROKEN BAR
				return rune(0xa6), true
			case "bscr": 
				// MATHEMATICAL SCRIPT SMALL B
				return rune(0x01d4b7), true
			case "bsemi": 
				// REVERSED SEMICOLON
				return rune(0x204f), true
			case "bsim": 
				// REVERSED TILDE
				return rune(0x223d), true
			case "bsime": 
				// REVERSED TILDE EQUALS
				return rune(0x22cd), true
			case "bsolb": 
				// SQUARED FALLING DIAGONAL SLASH
				return rune(0x29c5), true
			case "bsolhsub": 
				// REVERSE SOLIDUS PRECEDING SUBSET
				return rune(0x27c8), true
			case "bsol": 
				// REVERSE SOLIDUS
				return rune(0x5c), true
			case "btimes": 
				// SEMIDIRECT PRODUCT WITH BOTTOM CLOSED
				return rune(0x2a32), true
			case "bulhar": 
				// UPWARDS HARPOON WITH BARB LEFT FROM BAR
				return rune(0x2960), true
			case "bullet": 
				// BULLET
				return rune(0x2022), true
			case "bull": 
				// BULLET
				return rune(0x2022), true
			case "bump": 
				// GEOMETRICALLY EQUIVALENT TO
				return rune(0x224e), true
			case "bumpE": 
				// EQUALS SIGN WITH BUMPY ABOVE
				return rune(0x2aae), true
			case "bumpe": 
				// DIFFERENCE BETWEEN
				return rune(0x224f), true
			case "bumpeq": 
				// DIFFERENCE BETWEEN
				return rune(0x224f), true
			case "burhar": 
				// UPWARDS HARPOON WITH BARB RIGHT FROM BAR
				return rune(0x295c), true
		}

	case 'c':
		switch name {
			case "cacute": 
				// LATIN SMALL LETTER C WITH ACUTE
				return rune(0x0107), true
			case "cap": 
				// INTERSECTION
				return rune(0x2229), true
			case "capand": 
				// INTERSECTION WITH LOGICAL AND
				return rune(0x2a44), true
			case "capbrcup": 
				// INTERSECTION ABOVE BAR ABOVE UNION
				return rune(0x2a49), true
			case "capcap": 
				// INTERSECTION BESIDE AND JOINED WITH INTERSECTION
				return rune(0x2a4b), true
			case "capcup": 
				// INTERSECTION ABOVE UNION
				return rune(0x2a47), true
			case "capdot": 
				// INTERSECTION WITH DOT
				return rune(0x2a40), true
			case "capint": 
				// INTEGRAL WITH INTERSECTION
				return rune(0x2a19), true
			case "caps": 
				// INTERSECTION with serifs
				return rune(0x2229), true
			case "caret": 
				// CARET INSERTION POINT
				return rune(0x2041), true
			case "caron": 
				// CARON
				return rune(0x02c7), true
			case "ccaps": 
				// CLOSED INTERSECTION WITH SERIFS
				return rune(0x2a4d), true
			case "ccaron": 
				// LATIN SMALL LETTER C WITH CARON
				return rune(0x010d), true
			case "ccedil": 
				// LATIN SMALL LETTER C WITH CEDILLA
				return rune(0xe7), true
			case "ccirc": 
				// LATIN SMALL LETTER C WITH CIRCUMFLEX
				return rune(0x0109), true
			case "ccups": 
				// CLOSED UNION WITH SERIFS
				return rune(0x2a4c), true
			case "ccupssm": 
				// CLOSED UNION WITH SERIFS AND SMASH PRODUCT
				return rune(0x2a50), true
			case "cdot": 
				// LATIN SMALL LETTER C WITH DOT ABOVE
				return rune(0x010b), true
			case "cedil": 
				// CEDILLA
				return rune(0xb8), true
			case "cemptyv": 
				// EMPTY SET WITH SMALL CIRCLE ABOVE
				return rune(0x29b2), true
			case "centerdot": 
				// MIDDLE DOT
				return rune(0xb7), true
			case "cent": 
				// CENT SIGN
				return rune(0xa2), true
			case "cfr": 
				// MATHEMATICAL FRAKTUR SMALL C
				return rune(0x01d520), true
			case "chcy": 
				// CYRILLIC SMALL LETTER CHE
				return rune(0x0447), true
			case "check": 
				// CHECK MARK
				return rune(0x2713), true
			case "checkmark": 
				// CHECK MARK
				return rune(0x2713), true
			case "chi": 
				// GREEK SMALL LETTER CHI
				return rune(0x03c7), true
			case "circeq": 
				// RING EQUAL TO
				return rune(0x2257), true
			case "circlearrowleft": 
				// ANTICLOCKWISE OPEN CIRCLE ARROW
				return rune(0x21ba), true
			case "circlearrowright": 
				// CLOCKWISE OPEN CIRCLE ARROW
				return rune(0x21bb), true
			case "circledS": 
				// CIRCLED LATIN CAPITAL LETTER S
				return rune(0x24c8), true
			case "circledast": 
				// CIRCLED ASTERISK OPERATOR
				return rune(0x229b), true
			case "circledcirc": 
				// CIRCLED RING OPERATOR
				return rune(0x229a), true
			case "circleddash": 
				// CIRCLED DASH
				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
				return rune(0x29ec), true
			case "cirerr": 
				// ERROR-BARRED WHITE CIRCLE
				return rune(0x29f2), true
			case "cirfdarr": 
				// BLACK CIRCLE WITH DOWN ARROW
				return rune(0x29ed), true
			case "cirferr": 
				// ERROR-BARRED BLACK CIRCLE
				return rune(0x29f3), true
			case "cirfnint": 
				// CIRCULATION FUNCTION
				return rune(0x2a10), true
			case "cirmid": 
				// VERTICAL LINE WITH CIRCLE ABOVE
				return rune(0x2aef), true
			case "cirscir": 
				// CIRCLE WITH SMALL CIRCLE TO THE RIGHT
				return rune(0x29c2), true
			case "closur": 
				// CLOSE UP
				return rune(0x2050), true
			case "clubs": 
				// BLACK CLUB SUIT
				return rune(0x2663), true
			case "clubsuit": 
				// BLACK CLUB SUIT
				return rune(0x2663), true
			case "colone": 
				// COLON EQUALS
				return rune(0x2254), true
			case "coloneq": 
				// COLON EQUALS
				return rune(0x2254), true
			case "colon": 
				// COLON
				return rune(0x3a), true
			case "commat": 
				// COMMERCIAL AT
				return rune(0x40), true
			case "comma": 
				// COMMA
				return rune(0x2c), true
			case "comp": 
				// COMPLEMENT
				return rune(0x2201), true
			case "compfn": 
				// RING OPERATOR
				return rune(0x2218), true
			case "complement": 
				// COMPLEMENT
				return rune(0x2201), true
			case "complexes": 
				// DOUBLE-STRUCK CAPITAL C
				return rune(0x2102), true
			case "cong": 
				// APPROXIMATELY EQUAL TO
				return rune(0x2245), true
			case "congdot": 
				// CONGRUENT WITH DOT ABOVE
				return rune(0x2a6d), true
			case "conint": 
				// CONTOUR INTEGRAL
				return rune(0x222e), true
			case "copf": 
				// MATHEMATICAL DOUBLE-STRUCK SMALL C
				return rune(0x01d554), true
			case "coprod": 
				// N-ARY COPRODUCT
				return rune(0x2210), true
			case "copysr": 
				// SOUND RECORDING COPYRIGHT
				return rune(0x2117), true
			case "copy": 
				// COPYRIGHT SIGN
				return rune(0xa9), true
			case "crarr": 
				// DOWNWARDS ARROW WITH CORNER LEFTWARDS
				return rune(0x21b5), true
			case "cross": 
				// BALLOT X
				return rune(0x2717), true
			case "cscr": 
				// MATHEMATICAL SCRIPT SMALL C
				return rune(0x01d4b8), true
			case "csub": 
				// CLOSED SUBSET
				return rune(0x2acf), true
			case "csube": 
				// CLOSED SUBSET OR EQUAL TO
				return rune(0x2ad1), true
			case "csup": 
				// CLOSED SUPERSET
				return rune(0x2ad0), true
			case "csupe": 
				// CLOSED SUPERSET OR EQUAL TO
				return rune(0x2ad2), true
			case "ctdot": 
				// MIDLINE HORIZONTAL ELLIPSIS
				return rune(0x22ef), true
			case "cudarrl": 
				// RIGHT-SIDE ARC CLOCKWISE ARROW
				return rune(0x2938), true
			case "cudarrr": 
				// ARROW POINTING RIGHTWARDS THEN CURVING DOWNWARDS
				return rune(0x2935), true
			case "cuepr": 
				// EQUAL TO OR PRECEDES
				return rune(0x22de), true
			case "cuesc": 
				// EQUAL TO OR SUCCEEDS
				return rune(0x22df), true
			case "cularr": 
				// ANTICLOCKWISE TOP SEMICIRCLE ARROW
				return rune(0x21b6), true
			case "cularrp": 
				// TOP ARC ANTICLOCKWISE ARROW WITH PLUS
				return rune(0x293d), true
			case "cup": 
				// UNION
				return rune(0x222a), true
			case "cupbrcap": 
				// UNION ABOVE BAR ABOVE INTERSECTION
				return rune(0x2a48), true
			case "cupcap": 
				// UNION ABOVE INTERSECTION
				return rune(0x2a46), true
			case "cupcup": 
				// UNION BESIDE AND JOINED WITH UNION
				return rune(0x2a4a), true
			case "cupdot": 
				// MULTISET MULTIPLICATION
				return rune(0x228d), true
			case "cupint": 
				// INTEGRAL WITH UNION
				return rune(0x2a1a), true
			case "cupor": 
				// UNION WITH LOGICAL OR
				return rune(0x2a45), true
			case "cupre": 
				// PRECEDES OR EQUAL TO
				return rune(0x227c), true
			case "cups": 
				// UNION with serifs
				return rune(0x222a), true
			case "curarr": 
				// CLOCKWISE TOP SEMICIRCLE ARROW
				return rune(0x21b7), true
			case "curarrm": 
				// TOP ARC CLOCKWISE ARROW WITH MINUS
				return rune(0x293c), true
			case "curlyeqprec": 
				// EQUAL TO OR PRECEDES
				return rune(0x22de), true
			case "curlyeqsucc": 
				// EQUAL TO OR SUCCEEDS
				return rune(0x22df), true
			case "curlyvee": 
				// CURLY LOGICAL OR
				return rune(0x22ce), true
			case "curlywedge": 
				// CURLY LOGICAL AND
				return rune(0x22cf), true
			case "curren": 
				// CURRENCY SIGN
				return rune(0xa4), true
			case "curvearrowleft": 
				// ANTICLOCKWISE TOP SEMICIRCLE ARROW
				return rune(0x21b6), true
			case "curvearrowright": 
				// CLOCKWISE TOP SEMICIRCLE ARROW
				return rune(0x21b7), true
			case "cuvee": 
				// CURLY LOGICAL OR
				return rune(0x22ce), true
			case "cuwed": 
				// CURLY LOGICAL AND
				return rune(0x22cf), true
			case "cwconint": 
				// CLOCKWISE CONTOUR INTEGRAL
				return rune(0x2232), true
			case "cwint": 
				// CLOCKWISE INTEGRAL
				return rune(0x2231), true
			case "cylcty": 
				// CYLINDRICITY
				return rune(0x232d), true
		}

	case 'd':
		switch name {
			case "dAarr": 
				// DOWNWARDS TRIPLE ARROW
				return rune(0x290b), true
			case "dArr": 
				// DOWNWARDS DOUBLE ARROW
				return rune(0x21d3), true
			case "dHar": 
				// DOWNWARDS HARPOON WITH BARB LEFT BESIDE DOWNWARDS HARPOON WITH BARB RIGHT
				return rune(0x2965), true
			case "dagger": 
				// DAGGER
				return rune(0x2020), true
			case "dalembrt": 
				// SQUARE WITH CONTOURED OUTLINE
				return rune(0x29e0), true
			case "daleth": 
				// DALET SYMBOL
				return rune(0x2138), true
			case "darr2": 
				// DOWNWARDS PAIRED ARROWS
				return rune(0x21ca), true
			case "darr": 
				// DOWNWARDS ARROW
				return rune(0x2193), true
			case "darrb": 
				// DOWNWARDS ARROW TO BAR
				return rune(0x2913), true
			case "darrln": 
				// DOWNWARDS ARROW WITH HORIZONTAL STROKE
				return rune(0x2908), true
			case "dashv": 
				// LEFT TACK
				return rune(0x22a3), true
			case "dash": 
				// HYPHEN
				return rune(0x2010), true
			case "dashV": 
				// DOUBLE VERTICAL BAR LEFT TURNSTILE
				return rune(0x2ae3), true
			case "dbkarow": 
				// RIGHTWARDS TRIPLE DASH ARROW
				return rune(0x290f), true
			case "dblac": 
				// DOUBLE ACUTE ACCENT
				return rune(0x02dd), true
			case "dcaron": 
				// LATIN SMALL LETTER D WITH CARON
				return rune(0x010f), true
			case "dcy": 
				// CYRILLIC SMALL LETTER DE
				return rune(0x0434), true
			case "ddarr": 
				// DOWNWARDS PAIRED ARROWS
				return rune(0x21ca), true
			case "dd": 
				// DOUBLE-STRUCK ITALIC SMALL D
				return rune(0x2146), true
			case "ddagger": 
				// DOUBLE DAGGER
				return rune(0x2021), true
			case "ddotseq": 
				// EQUALS SIGN WITH TWO DOTS ABOVE AND TWO DOTS BELOW
				return rune(0x2a77), true
			case "deg": 
				// DEGREE SIGN
				return rune(0xb0), true
			case "delta": 
				// GREEK SMALL LETTER DELTA
				return rune(0x03b4), true
			case "demptyv": 
				// EMPTY SET WITH OVERBAR
				return rune(0x29b1), true
			case "dfisht": 
				// DOWN FISH TAIL
				return rune(0x297f), true
			case "dfr": 
				// MATHEMATICAL FRAKTUR SMALL D
				return rune(0x01d521), true
			case "dgr": 
				// GREEK SMALL LETTER DELTA
				return rune(0x03b4), true
			case "dharl": 
				// DOWNWARDS HARPOON WITH BARB LEFTWARDS
				return rune(0x21c3), true
			case "dharr": 
				// DOWNWARDS HARPOON WITH BARB RIGHTWARDS
				return rune(0x21c2), true
			case "diam": 
				// DIAMOND OPERATOR
				return rune(0x22c4), true
			case "diamdarr": 
				// BLACK DIAMOND WITH DOWN ARROW
				return rune(0x29ea), true
			case "diamerr": 
				// ERROR-BARRED WHITE DIAMOND
				return rune(0x29f0), true
			case "diamerrf": 
				// ERROR-BARRED BLACK DIAMOND
				return rune(0x29f1), true
			case "diamond": 
				// DIAMOND OPERATOR
				return rune(0x22c4), true
			case "diamondsuit": 
				// BLACK DIAMOND SUIT
				return rune(0x2666), true
			case "diams": 
				// BLACK DIAMOND SUIT
				return rune(0x2666), true
			case "die": 
				// DIAERESIS
				return rune(0xa8), true
			case "digamma": 
				// GREEK SMALL LETTER DIGAMMA
				return rune(0x03dd), true
			case "disin": 
				// ELEMENT OF WITH LONG HORIZONTAL STROKE
				return rune(0x22f2), true
			case "divideontimes": 
				// DIVISION TIMES
				return rune(0x22c7), true
			case "divonx": 
				// DIVISION TIMES
				return rune(0x22c7), true
			case "div": 
				// DIVISION SIGN
				return rune(0xf7), true
			case "divide": 
				// DIVISION SIGN
				return rune(0xf7), true
			case "djcy": 
				// CYRILLIC SMALL LETTER DJE
				return rune(0x0452), true
			case "dlarr": 
				// SOUTH WEST ARROW
				return rune(0x2199), true
			case "dlcorn": 
				// BOTTOM LEFT CORNER
				return rune(0x231e), true
			case "dlcrop": 
				// BOTTOM LEFT CROP
				return rune(0x230d), true
			case "dlharb": 
				// DOWNWARDS HARPOON WITH BARB LEFT TO BAR
				return rune(0x2959), true
			case "dollar": 
				// DOLLAR SIGN
				return rune(0x24), true
			case "dopf": 
				// MATHEMATICAL DOUBLE-STRUCK SMALL D
				return rune(0x01d555), true
			case "doteq": 
				// APPROACHES THE LIMIT
				return rune(0x2250), true
			case "doteqdot": 
				// GEOMETRICALLY EQUAL TO
				return rune(0x2251), true
			case "dotminus": 
				// DOT MINUS
				return rune(0x2238), true
			case "dotplus": 
				// DOT PLUS
				return rune(0x2214), true
			case "dotsquare": 
				// SQUARED DOT OPERATOR
				return rune(0x22a1), true
			case "dot": 
				// DOT ABOVE
				return rune(0x02d9), true
			case "doublebarwedge": 
				// PERSPECTIVE
				return rune(0x2306), true
			case "downarrow": 
				// DOWNWARDS ARROW
				return rune(0x2193), true
			case "downdownarrows": 
				// DOWNWARDS PAIRED ARROWS
				return rune(0x21ca), true
			case "downharpoonleft": 
				// DOWNWARDS HARPOON WITH BARB LEFTWARDS
				return rune(0x21c3), true
			case "downharpoonright": 
				// DOWNWARDS HARPOON WITH BARB RIGHTWARDS
				return rune(0x21c2), true
			case "drarr": 
				// SOUTH EAST ARROW
				return rune(0x2198), true
			case "drbkarow": 
				// RIGHTWARDS TWO-HEADED TRIPLE DASH ARROW
				return rune(0x2910), true
			case "drcorn": 
				// BOTTOM RIGHT CORNER
				return rune(0x231f), true
			case "drcrop": 
				// BOTTOM RIGHT CROP
				return rune(0x230c), true
			case "drharb": 
				// DOWNWARDS HARPOON WITH BARB RIGHT TO BAR
				return rune(0x2955), true
			case "dscr": 
				// MATHEMATICAL SCRIPT SMALL D
				return rune(0x01d4b9), true
			case "dscy": 
				// CYRILLIC SMALL LETTER DZE
				return rune(0x0455), true
			case "dsol": 
				// SOLIDUS WITH OVERBAR
				return rune(0x29f6), true
			case "dstrok": 
				// LATIN SMALL LETTER D WITH STROKE
				return rune(0x0111), true
			case "dtdot": 
				// DOWN RIGHT DIAGONAL ELLIPSIS
				return rune(0x22f1), true
			case "dtrif": 
				// BLACK DOWN-POINTING SMALL TRIANGLE
				return rune(0x25be), true
			case "dtri": 
				// WHITE DOWN-POINTING SMALL TRIANGLE
				return rune(0x25bf), true
			case "dtrilf": 
				// DOWN-POINTING TRIANGLE WITH LEFT HALF BLACK
				return rune(0x29e8), true
			case "dtrirf": 
				// DOWN-POINTING TRIANGLE WITH RIGHT HALF BLACK
				return rune(0x29e9), true
			case "duarr": 
				// DOWNWARDS ARROW LEFTWARDS OF UPWARDS ARROW
				return rune(0x21f5), true
			case "duhar": 
				// DOWNWARDS HARPOON WITH BARB LEFT BESIDE UPWARDS HARPOON WITH BARB RIGHT
				return rune(0x296f), true
			case "dumap": 
				// DOUBLE-ENDED MULTIMAP
				return rune(0x29df), true
			case "dwangle": 
				// OBLIQUE ANGLE OPENING UP
				return rune(0x29a6), true
			case "dzcy": 
				// CYRILLIC SMALL LETTER DZHE
				return rune(0x045f), true
			case "dzigrarr": 
				// LONG RIGHTWARDS SQUIGGLE ARROW
				return rune(0x27ff), true
		}

	case 'e':
		switch name {
			case "eDDot": 
				// EQUALS SIGN WITH TWO DOTS ABOVE AND TWO DOTS BELOW
				return rune(0x2a77), true
			case "eDot": 
				// GEOMETRICALLY EQUAL TO
				return rune(0x2251), true
			case "eacgr": 
				// GREEK SMALL LETTER EPSILON WITH TONOS
				return rune(0x03ad), true
			case "eacute": 
				// LATIN SMALL LETTER E WITH ACUTE
				return rune(0xe9), true
			case "easter": 
				// EQUALS WITH ASTERISK
				return rune(0x2a6e), true
			case "ecaron": 
				// LATIN SMALL LETTER E WITH CARON
				return rune(0x011b), true
			case "ecir": 
				// RING IN EQUAL TO
				return rune(0x2256), true
			case "ecirc": 
				// LATIN SMALL LETTER E WITH CIRCUMFLEX
				return rune(0xea), true
			case "ecolon": 
				// EQUALS COLON
				return rune(0x2255), true
			case "ecy": 
				// CYRILLIC SMALL LETTER E
				return rune(0x044d), true
			case "edot": 
				// LATIN SMALL LETTER E WITH DOT ABOVE
				return rune(0x0117), true
			case "ee": 
				// DOUBLE-STRUCK ITALIC SMALL E
				return rune(0x2147), true
			case "eeacgr": 
				// GREEK SMALL LETTER ETA WITH TONOS
				return rune(0x03ae), true
			case "eegr": 
				// GREEK SMALL LETTER ETA
				return rune(0x03b7), true
			case "efDot": 
				// APPROXIMATELY EQUAL TO OR THE IMAGE OF
				return rune(0x2252), true
			case "efr": 
				// MATHEMATICAL FRAKTUR SMALL E
				return rune(0x01d522), true
			case "egr": 
				// GREEK SMALL LETTER EPSILON
				return rune(0x03b5), true
			case "egs": 
				// SLANTED EQUAL TO OR GREATER-THAN
				return rune(0x2a96), true
			case "egsdot": 
				// SLANTED EQUAL TO OR GREATER-THAN WITH DOT INSIDE
				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
				return rune(0x23e7), true
			case "ell": 
				// SCRIPT SMALL L
				return rune(0x2113), true
			case "els": 
				// SLANTED EQUAL TO OR LESS-THAN
				return rune(0x2a95), true
			case "elsdot": 
				// SLANTED EQUAL TO OR LESS-THAN WITH DOT INSIDE
				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
				return rune(0x0113), true
			case "empty": 
				// EMPTY SET
				return rune(0x2205), true
			case "emptyset": 
				// EMPTY SET
				return rune(0x2205), true
			case "emptyv": 
				// EMPTY SET
				return rune(0x2205), true
			case "emsp13": 
				// THREE-PER-EM SPACE
				return rune(0x2004), true
			case "emsp14": 
				// FOUR-PER-EM SPACE
				return rune(0x2005), true
			case "emsp": 
				// EM SPACE
				return rune(0x2003), true
			case "eng": 
				// LATIN SMALL LETTER ENG
				return rune(0x014b), true
			case "ensp": 
				// EN SPACE
				return rune(0x2002), true
			case "eogon": 
				// LATIN SMALL LETTER E WITH OGONEK
				return rune(0x0119), true
			case "eopf": 
				// MATHEMATICAL DOUBLE-STRUCK SMALL E
				return rune(0x01d556), true
			case "epar": 
				// EQUAL AND PARALLEL TO
				return rune(0x22d5), true
			case "eparsl": 
				// EQUALS SIGN AND SLANTED PARALLEL
				return rune(0x29e3), true
			case "eplus": 
				// EQUALS SIGN ABOVE PLUS SIGN
				return rune(0x2a71), true
			case "epsilon": 
				// GREEK SMALL LETTER EPSILON
				return rune(0x03b5), true
			case "epsis": 
				// GREEK LUNATE EPSILON SYMBOL
				return rune(0x03f5), true
			case "epsiv": 
				// GREEK LUNATE EPSILON SYMBOL
				return rune(0x03f5), true
			case "epsi": 
				// GREEK SMALL LETTER EPSILON
				return rune(0x03b5), true
			case "eqcirc": 
				// RING IN EQUAL TO
				return rune(0x2256), true
			case "eqcolon": 
				// EQUALS COLON
				return rune(0x2255), true
			case "eqeq": 
				// TWO CONSECUTIVE EQUALS SIGNS
				return rune(0x2a75), true
			case "eqsim": 
				// MINUS TILDE
				return rune(0x2242), true
			case "eqslantgtr": 
				// SLANTED EQUAL TO OR GREATER-THAN
				return rune(0x2a96), true
			case "eqslantless": 
				// SLANTED EQUAL TO OR LESS-THAN
				return rune(0x2a95), true
			case "equals": 
				// EQUALS SIGN
				return rune(0x3d), true
			case "equest": 
				// QUESTIONED EQUAL TO
				return rune(0x225f), true
			case "equiv": 
				// IDENTICAL TO
				return rune(0x2261), true
			case "equivDD": 
				// EQUIVALENT WITH FOUR DOTS ABOVE
				return rune(0x2a78), true
			case "eqvparsl": 
				// IDENTICAL TO AND SLANTED PARALLEL
				return rune(0x29e5), true
			case "erDot": 
				// IMAGE OF OR APPROXIMATELY EQUAL TO
				return rune(0x2253), true
			case "erarr": 
				// EQUALS SIGN ABOVE RIGHTWARDS ARROW
				return rune(0x2971), true
			case "escr": 
				// SCRIPT SMALL E
				return rune(0x212f), true
			case "esdot": 
				// APPROACHES THE LIMIT
				return rune(0x2250), true
			case "esim": 
				// MINUS TILDE
				return rune(0x2242), true
			case "eta": 
				// GREEK SMALL LETTER ETA
				return rune(0x03b7), true
			case "eth": 
				// LATIN SMALL LETTER ETH
				return rune(0xf0), true
			case "euml": 
				// LATIN SMALL LETTER E WITH DIAERESIS
				return rune(0xeb), true
			case "euro": 
				// EURO SIGN
				return rune(0x20ac), true
			case "excl": 
				// EXCLAMATION MARK
				return rune(0x21), true
			case "exist": 
				// THERE EXISTS
				return rune(0x2203), true
			case "expectation": 
				// SCRIPT CAPITAL E
				return rune(0x2130), true
			case "exponentiale": 
				// DOUBLE-STRUCK ITALIC SMALL E
				return rune(0x2147), true
		}

	case 'f':
		switch name {
			case "fallingdotseq": 
				// APPROXIMATELY EQUAL TO OR THE IMAGE OF
				return rune(0x2252), true
			case "fbowtie": 
				// BLACK BOWTIE
				return rune(0x29d3), true
			case "fcy": 
				// CYRILLIC SMALL LETTER EF
				return rune(0x0444), true
			case "fdiag": 
				// BOX DRAWINGS LIGHT DIAGONAL UPPER LEFT TO LOWER RIGHT
				return rune(0x2572), true
			case "fdiordi": 
				// FALLING DIAGONAL CROSSING RISING DIAGONAL
				return rune(0x292c), true
			case "fdonearr": 
				// FALLING DIAGONAL CROSSING NORTH EAST ARROW
				return rune(0x292f), true
			case "female": 
				// FEMALE SIGN
				return rune(0x2640), true
			case "ffilig": 
				// LATIN SMALL LIGATURE FFI
				return rune(0xfb03), true
			case "fflig": 
				// LATIN SMALL LIGATURE FF
				return rune(0xfb00), true
			case "ffllig": 
				// LATIN SMALL LIGATURE FFL
				return rune(0xfb04), true
			case "ffr": 
				// MATHEMATICAL FRAKTUR SMALL F
				return rune(0x01d523), true
			case "fhrglass": 
				// BLACK HOURGLASS
				return rune(0x29d7), true
			case "filig": 
				// LATIN SMALL LIGATURE FI
				return rune(0xfb01), true
			case "fjlig": 
				// fj ligature
				return rune(0x66), true
			case "flat": 
				// MUSIC FLAT SIGN
				return rune(0x266d), true
			case "fllig": 
				// LATIN SMALL LIGATURE FL
				return rune(0xfb02), true
			case "fltns": 
				// WHITE PARALLELOGRAM
				return rune(0x25b1), true
			case "fnof": 
				// LATIN SMALL LETTER F WITH HOOK
				return rune(0x0192), true
			case "fopf": 
				// MATHEMATICAL DOUBLE-STRUCK SMALL F
				return rune(0x01d557), true
			case "forall": 
				// FOR ALL
				return rune(0x2200), true
			case "fork": 
				// PITCHFORK
				return rune(0x22d4), true
			case "forkv": 
				// ELEMENT OF OPENING DOWNWARDS
				return rune(0x2ad9), true
			case "fpartint": 
				// FINITE PART INTEGRAL
				return rune(0x2a0d), true
			case "frac12": 
				// VULGAR FRACTION ONE HALF
				return rune(0xbd), true
			case "frac13": 
				// VULGAR FRACTION ONE THIRD
				return rune(0x2153), true
			case "frac14": 
				// VULGAR FRACTION ONE QUARTER
				return rune(0xbc), true
			case "frac15": 
				// VULGAR FRACTION ONE FIFTH
				return rune(0x2155), true
			case "frac16": 
				// VULGAR FRACTION ONE SIXTH
				return rune(0x2159), true
			case "frac18": 
				// VULGAR FRACTION ONE EIGHTH
				return rune(0x215b), true
			case "frac23": 
				// VULGAR FRACTION TWO THIRDS
				return rune(0x2154), true
			case "frac25": 
				// VULGAR FRACTION TWO FIFTHS
				return rune(0x2156), true
			case "frac34": 
				// VULGAR FRACTION THREE QUARTERS
				return rune(0xbe), true
			case "frac35": 
				// VULGAR FRACTION THREE FIFTHS
				return rune(0x2157), true
			case "frac38": 
				// VULGAR FRACTION THREE EIGHTHS
				return rune(0x215c), true
			case "frac45": 
				// VULGAR FRACTION FOUR FIFTHS
				return rune(0x2158), true
			case "frac56": 
				// VULGAR FRACTION FIVE SIXTHS
				return rune(0x215a), true
			case "frac58": 
				// VULGAR FRACTION FIVE EIGHTHS
				return rune(0x215d), true
			case "frac78": 
				// VULGAR FRACTION SEVEN EIGHTHS
				return rune(0x215e), true
			case "frasl": 
				// FRACTION SLASH
				return rune(0x2044), true
			case "frown": 
				// FROWN
				return rune(0x2322), true
			case "fscr": 
				// MATHEMATICAL SCRIPT SMALL F
				return rune(0x01d4bb), true
		}

	case 'g':
		switch name {
			case "gE": 
				// GREATER-THAN OVER EQUAL TO
				return rune(0x2267), true
			case "gEl": 
				// GREATER-THAN ABOVE DOUBLE-LINE EQUAL ABOVE LESS-THAN
				return rune(0x2a8c), true
			case "gacute": 
				// LATIN SMALL LETTER G WITH ACUTE
				return rune(0x01f5), true
			case "gammad": 
				// GREEK SMALL LETTER DIGAMMA
				return rune(0x03dd), true
			case "gamma": 
				// GREEK SMALL LETTER GAMMA
				return rune(0x03b3), true
			case "gap": 
				// GREATER-THAN OR APPROXIMATE
				return rune(0x2a86), true
			case "gbreve": 
				// LATIN SMALL LETTER G WITH BREVE
				return rune(0x011f), true
			case "gcedil": 
				// LATIN SMALL LETTER G WITH CEDILLA
				return rune(0x0123), true
			case "gcirc": 
				// LATIN SMALL LETTER G WITH CIRCUMFLEX
				return rune(0x011d), true
			case "gcy": 
				// CYRILLIC SMALL LETTER GHE
				return rune(0x0433), true
			case "gdot": 
				// LATIN SMALL LETTER G WITH DOT ABOVE
				return rune(0x0121), true
			case "ge": 
				// GREATER-THAN OR EQUAL TO
				return rune(0x2265), true
			case "gel": 
				// GREATER-THAN EQUAL TO OR LESS-THAN
				return rune(0x22db), true
			case "geq": 
				// GREATER-THAN OR EQUAL TO
				return rune(0x2265), true
			case "geqq": 
				// GREATER-THAN OVER EQUAL TO
				return rune(0x2267), true
			case "geqslant": 
				// GREATER-THAN OR SLANTED EQUAL TO
				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
				return rune(0x2a7e), true
			case "gescc": 
				// GREATER-THAN CLOSED BY CURVE ABOVE SLANTED EQUAL
				return rune(0x2aa9), true
			case "gesdot": 
				// GREATER-THAN OR SLANTED EQUAL TO WITH DOT INSIDE
				return rune(0x2a80), true
			case "gesdoto": 
				// GREATER-THAN OR SLANTED EQUAL TO WITH DOT ABOVE
				return rune(0x2a82), true
			case "gesdotol": 
				// GREATER-THAN OR SLANTED EQUAL TO WITH DOT ABOVE LEFT
				return rune(0x2a84), true
			case "gesles": 
				// GREATER-THAN ABOVE SLANTED EQUAL ABOVE LESS-THAN ABOVE SLANTED EQUAL
				return rune(0x2a94), true
			case "gfr": 
				// MATHEMATICAL FRAKTUR SMALL G
				return rune(0x01d524), true
			case "gg": 
				// MUCH GREATER-THAN
				return rune(0x226b), true
			case "ggg": 
				// VERY MUCH GREATER-THAN
				return rune(0x22d9), true
			case "ggr": 
				// GREEK SMALL LETTER GAMMA
				return rune(0x03b3), true
			case "gimel": 
				// GIMEL SYMBOL
				return rune(0x2137), true
			case "gjcy": 
				// CYRILLIC SMALL LETTER GJE
				return rune(0x0453), true
			case "gl": 
				// GREATER-THAN OR LESS-THAN
				return rune(0x2277), true
			case "glE": 
				// GREATER-THAN ABOVE LESS-THAN ABOVE DOUBLE-LINE EQUAL
				return rune(0x2a92), true
			case "gla": 
				// GREATER-THAN BESIDE LESS-THAN
				return rune(0x2aa5), true
			case "glj": 
				// GREATER-THAN OVERLAPPING LESS-THAN
				return rune(0x2aa4), true
			case "gnE": 
				// GREATER-THAN BUT NOT EQUAL TO
				return rune(0x2269), true
			case "gnap": 
				// GREATER-THAN AND NOT APPROXIMATE
				return rune(0x2a8a), true
			case "gnapprox": 
				// GREATER-THAN AND NOT APPROXIMATE
				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
				return rune(0x2a88), true
			case "gneq": 
				// GREATER-THAN AND SINGLE-LINE NOT EQUAL TO
				return rune(0x2a88), true
			case "gnsim": 
				// GREATER-THAN BUT NOT EQUIVALENT TO
				return rune(0x22e7), true
			case "gopf": 
				// MATHEMATICAL DOUBLE-STRUCK SMALL G
				return rune(0x01d558), true
			case "grave": 
				// GRAVE ACCENT
				return rune(0x60), true
			case "gscr": 
				// SCRIPT SMALL G
				return rune(0x210a), true
			case "gsdot": 
				// GREATER-THAN WITH DOT
				return rune(0x22d7), true
			case "gsim": 
				// GREATER-THAN OR EQUIVALENT TO
				return rune(0x2273), true
			case "gsime": 
				// GREATER-THAN ABOVE SIMILAR OR EQUAL
				return rune(0x2a8e), true
			case "gsiml": 
				// GREATER-THAN ABOVE SIMILAR ABOVE LESS-THAN
				return rune(0x2a90), true
			case "gtcc": 
				// GREATER-THAN CLOSED BY CURVE
				return rune(0x2aa7), true
			case "gtcir": 
				// GREATER-THAN WITH CIRCLE INSIDE
				return rune(0x2a7a), true
			case "gtdot": 
				// GREATER-THAN WITH DOT
				return rune(0x22d7), true
			case "gtlPar": 
				// DOUBLE LEFT ARC GREATER-THAN BRACKET
				return rune(0x2995), true
			case "gtquest": 
				// GREATER-THAN WITH QUESTION MARK ABOVE
				return rune(0x2a7c), true
			case "gtrapprox": 
				// GREATER-THAN OR APPROXIMATE
				return rune(0x2a86), true
			case "gtrarr": 
				// GREATER-THAN ABOVE RIGHTWARDS ARROW
				return rune(0x2978), true
			case "gtrdot": 
				// GREATER-THAN WITH DOT
				return rune(0x22d7), true
			case "gtreqless": 
				// GREATER-THAN EQUAL TO OR LESS-THAN
				return rune(0x22db), true
			case "gtreqqless": 
				// GREATER-THAN ABOVE DOUBLE-LINE EQUAL ABOVE LESS-THAN
				return rune(0x2a8c), true
			case "gtrless": 
				// GREATER-THAN OR LESS-THAN
				return rune(0x2277), true
			case "gtrpar": 
				// SPHERICAL ANGLE OPENING LEFT
				return rune(0x29a0), true
			case "gtrsim": 
				// GREATER-THAN OR EQUIVALENT TO
				return rune(0x2273), true
			case "gt": 
				// GREATER-THAN SIGN
				return rune(0x3e), true
			case "gvertneqq": 
				// GREATER-THAN BUT NOT EQUAL TO - with vertical stroke
				return rune(0x2269), true
			case "gvnE": 
				// GREATER-THAN BUT NOT EQUAL TO - with vertical stroke
				return rune(0x2269), true
		}

	case 'h':
		switch name {
			case "hArr": 
				// LEFT RIGHT DOUBLE ARROW
				return rune(0x21d4), true
			case "hairsp": 
				// HAIR SPACE
				return rune(0x200a), true
			case "half": 
				// VULGAR FRACTION ONE HALF
				return rune(0xbd), true
			case "hamilt": 
				// SCRIPT CAPITAL H
				return rune(0x210b), true
			case "hardcy": 
				// CYRILLIC SMALL LETTER HARD SIGN
				return rune(0x044a), true
			case "harrw": 
				// LEFT RIGHT WAVE ARROW
				return rune(0x21ad), true
			case "harr": 
				// LEFT RIGHT ARROW
				return rune(0x2194), true
			case "harrcir": 
				// LEFT RIGHT ARROW THROUGH SMALL CIRCLE
				return rune(0x2948), true
			case "hbar": 
				// PLANCK CONSTANT OVER TWO PI
				return rune(0x210f), true
			case "hcirc": 
				// LATIN SMALL LETTER H WITH CIRCUMFLEX
				return rune(0x0125), true
			case "hearts": 
				// BLACK HEART SUIT
				return rune(0x2665), true
			case "heartsuit": 
				// BLACK HEART SUIT
				return rune(0x2665), true
			case "hellip": 
				// HORIZONTAL ELLIPSIS
				return rune(0x2026), true
			case "hercon": 
				// HERMITIAN CONJUGATE MATRIX
				return rune(0x22b9), true
			case "hfr": 
				// MATHEMATICAL FRAKTUR SMALL H
				return rune(0x01d525), true
			case "hksearow": 
				// SOUTH EAST ARROW WITH HOOK
				return rune(0x2925), true
			case "hkswarow": 
				// SOUTH WEST ARROW WITH HOOK
				return rune(0x2926), true
			case "hoarr": 
				// LEFT RIGHT OPEN-HEADED ARROW
				return rune(0x21ff), true
			case "homtht": 
				// HOMOTHETIC
				return rune(0x223b), true
			case "hookleftarrow": 
				// LEFTWARDS ARROW WITH HOOK
				return rune(0x21a9), true
			case "hookrightarrow": 
				// RIGHTWARDS ARROW WITH HOOK
				return rune(0x21aa), true
			case "hopf": 
				// MATHEMATICAL DOUBLE-STRUCK SMALL H
				return rune(0x01d559), true
			case "horbar": 
				// HORIZONTAL BAR
				return rune(0x2015), true
			case "hrglass": 
				// WHITE HOURGLASS
				return rune(0x29d6), true
			case "hscr": 
				// MATHEMATICAL SCRIPT SMALL H
				return rune(0x01d4bd), true
			case "hslash": 
				// PLANCK CONSTANT OVER TWO PI
				return rune(0x210f), true
			case "hstrok": 
				// LATIN SMALL LETTER H WITH STROKE
				return rune(0x0127), true
			case "htimes": 
				// VECTOR OR CROSS PRODUCT
				return rune(0x2a2f), true
			case "hybull": 
				// HYPHEN BULLET
				return rune(0x2043), true
			case "hyphen": 
				// HYPHEN
				return rune(0x2010), true
		}

	case 'i':
		switch name {
			case "iacgr": 
				// GREEK SMALL LETTER IOTA WITH TONOS
				return rune(0x03af), true
			case "iacute": 
				// LATIN SMALL LETTER I WITH ACUTE
				return rune(0xed), true
			case "ic": 
				// INVISIBLE SEPARATOR
				return rune(0x2063), true
			case "icirc": 
				// LATIN SMALL LETTER I WITH CIRCUMFLEX
				return rune(0xee), true
			case "icy": 
				// CYRILLIC SMALL LETTER I
				return rune(0x0438), true
			case "idiagr": 
				// GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS
				return rune(0x0390), true
			case "idigr": 
				// GREEK SMALL LETTER IOTA WITH DIALYTIKA
				return rune(0x03ca), true
			case "iecy": 
				// CYRILLIC SMALL LETTER IE
				return rune(0x0435), true
			case "iexcl": 
				// INVERTED EXCLAMATION MARK
				return rune(0xa1), true
			case "iff": 
				// LEFT RIGHT DOUBLE ARROW
				return rune(0x21d4), true
			case "ifr": 
				// MATHEMATICAL FRAKTUR SMALL I
				return rune(0x01d526), true
			case "igr": 
				// GREEK SMALL LETTER IOTA
				return rune(0x03b9), true
			case "igrave": 
				// LATIN SMALL LETTER I WITH GRAVE
				return rune(0xec), true
			case "iiint": 
				// TRIPLE INTEGRAL
				return rune(0x222d), true
			case "ii": 
				// DOUBLE-STRUCK ITALIC SMALL I
				return rune(0x2148), true
			case "iiiint": 
				// QUADRUPLE INTEGRAL OPERATOR
				return rune(0x2a0c), true
			case "iinfin": 
				// INCOMPLETE INFINITY
				return rune(0x29dc), true
			case "iiota": 
				// TURNED GREEK SMALL LETTER IOTA
				return rune(0x2129), true
			case "ijlig": 
				// LATIN SMALL LIGATURE IJ
				return rune(0x0133), true
			case "imacr": 
				// LATIN SMALL LETTER I WITH MACRON
				return rune(0x012b), true
			case "image": 
				// BLACK-LETTER CAPITAL I
				return rune(0x2111), true
			case "imagline": 
				// SCRIPT CAPITAL I
				return rune(0x2110), true
			case "imagpart": 
				// BLACK-LETTER CAPITAL I
				return rune(0x2111), true
			case "imath": 
				// LATIN SMALL LETTER DOTLESS I
				return rune(0x0131), true
			case "imof": 
				// IMAGE OF
				return rune(0x22b7), true
			case "imped": 
				// LATIN CAPITAL LETTER Z WITH STROKE
				return rune(0x01b5), true
			case "in": 
				// ELEMENT OF
				return rune(0x2208), true
			case "incare": 
				// CARE OF
				return rune(0x2105), true
			case "infin": 
				// INFINITY
				return rune(0x221e), true
			case "infintie": 
				// TIE OVER INFINITY
				return rune(0x29dd), true
			case "inodot": 
				// LATIN SMALL LETTER DOTLESS I
				return rune(0x0131), true
			case "int": 
				// INTEGRAL
				return rune(0x222b), true
			case "intcal": 
				// INTERCALATE
				return rune(0x22ba), true
			case "integers": 
				// DOUBLE-STRUCK CAPITAL Z
				return rune(0x2124), true
			case "intercal": 
				// INTERCALATE
				return rune(0x22ba), true
			case "intlarhk": 
				// INTEGRAL WITH LEFTWARDS ARROW WITH HOOK
				return rune(0x2a17), true
			case "intprod": 
				// INTERIOR PRODUCT
				return rune(0x2a3c), true
			case "iocy": 
				// CYRILLIC SMALL LETTER IO
				return rune(0x0451), true
			case "iogon": 
				// LATIN SMALL LETTER I WITH OGONEK
				return rune(0x012f), true
			case "iopf": 
				// MATHEMATICAL DOUBLE-STRUCK SMALL I
				return rune(0x01d55a), true
			case "iota": 
				// GREEK SMALL LETTER IOTA
				return rune(0x03b9), true
			case "iprod": 
				// INTERIOR PRODUCT
				return rune(0x2a3c), true
			case "iprodr": 
				// RIGHTHAND INTERIOR PRODUCT
				return rune(0x2a3d), true
			case "iquest": 
				// INVERTED QUESTION MARK
				return rune(0xbf), true
			case "iscr": 
				// MATHEMATICAL SCRIPT SMALL I
				return rune(0x01d4be), true
			case "isin": 
				// ELEMENT OF
				return rune(0x2208), true
			case "isinE": 
				// ELEMENT OF WITH TWO HORIZONTAL STROKES
				return rune(0x22f9), true
			case "isindot": 
				// ELEMENT OF WITH DOT ABOVE
				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
				return rune(0x22f4), true
			case "isinv": 
				// ELEMENT OF
				return rune(0x2208), true
			case "isinvb": 
				// ELEMENT OF WITH UNDERBAR
				return rune(0x22f8), true
			case "it": 
				// INVISIBLE TIMES
				return rune(0x2062), true
			case "itilde": 
				// LATIN SMALL LETTER I WITH TILDE
				return rune(0x0129), true
			case "iukcy": 
				// CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
				return rune(0x0456), true
			case "iuml": 
				// LATIN SMALL LETTER I WITH DIAERESIS
				return rune(0xef), true
		}

	case 'j':
		switch name {
			case "jcirc": 
				// LATIN SMALL LETTER J WITH CIRCUMFLEX
				return rune(0x0135), true
			case "jcy": 
				// CYRILLIC SMALL LETTER SHORT I
				return rune(0x0439), true
			case "jfr": 
				// MATHEMATICAL FRAKTUR SMALL J
				return rune(0x01d527), true
			case "jmath": 
				// LATIN SMALL LETTER DOTLESS J
				return rune(0x0237), true
			case "jnodot": 
				// LATIN SMALL LETTER DOTLESS J
				return rune(0x0237), true
			case "jopf": 
				// MATHEMATICAL DOUBLE-STRUCK SMALL J
				return rune(0x01d55b), true
			case "jscr": 
				// MATHEMATICAL SCRIPT SMALL J
				return rune(0x01d4bf), true
			case "jsercy": 
				// CYRILLIC SMALL LETTER JE
				return rune(0x0458), true
			case "jukcy": 
				// CYRILLIC SMALL LETTER UKRAINIAN IE
				return rune(0x0454), true
		}

	case 'k':
		switch name {
			case "kappav": 
				// GREEK KAPPA SYMBOL
				return rune(0x03f0), true
			case "kappa": 
				// GREEK SMALL LETTER KAPPA
				return rune(0x03ba), true
			case "kcedil": 
				// LATIN SMALL LETTER K WITH CEDILLA
				return rune(0x0137), true
			case "kcy": 
				// CYRILLIC SMALL LETTER KA
				return rune(0x043a), true
			case "kfr": 
				// MATHEMATICAL FRAKTUR SMALL K
				return rune(0x01d528), true
			case "kgr": 
				// GREEK SMALL LETTER KAPPA
				return rune(0x03ba), true
			case "kgreen": 
				// LATIN SMALL LETTER KRA
				return rune(0x0138), true
			case "khcy": 
				// CYRILLIC SMALL LETTER HA
				return rune(0x0445), true
			case "khgr": 
				// GREEK SMALL LETTER CHI
				return rune(0x03c7), true
			case "kjcy": 
				// CYRILLIC SMALL LETTER KJE
				return rune(0x045c), true
			case "kopf": 
				// MATHEMATICAL DOUBLE-STRUCK SMALL K
				return rune(0x01d55c), true
			case "koppa": 
				// GREEK LETTER KOPPA
				return rune(0x03de), true
			case "kscr": 
				// MATHEMATICAL SCRIPT SMALL K
				return rune(0x01d4c0), true
		}

	case 'l':
		switch name {
			case "lAarr": 
				// LEFTWARDS TRIPLE ARROW
				return rune(0x21da), true
			case "lArr": 
				// LEFTWARDS DOUBLE ARROW
				return rune(0x21d0), true
			case "lAtail": 
				// LEFTWARDS DOUBLE ARROW-TAIL
				return rune(0x291b), true
			case "lBarr": 
				// LEFTWARDS TRIPLE DASH ARROW
				return rune(0x290e), true
			case "lE": 
				// LESS-THAN OVER EQUAL TO
				return rune(0x2266), true
			case "lEg": 
				// LESS-THAN ABOVE DOUBLE-LINE EQUAL ABOVE GREATER-THAN
				return rune(0x2a8b), true
			case "lHar": 
				// LEFTWARDS HARPOON WITH BARB UP ABOVE LEFTWARDS HARPOON WITH BARB DOWN
				return rune(0x2962), true
			case "lacute": 
				// LATIN SMALL LETTER L WITH ACUTE
				return rune(0x013a), true
			case "laemptyv": 
				// EMPTY SET WITH LEFT ARROW ABOVE
				return rune(0x29b4), true
			case "lagran": 
				// SCRIPT CAPITAL L
				return rune(0x2112), true
			case "lambda": 
				// GREEK SMALL LETTER LAMDA
				return rune(0x03bb), true
			case "lang": 
				// MATHEMATICAL LEFT ANGLE BRACKET
				return rune(0x27e8), true
			case "langd": 
				// LEFT ANGLE BRACKET WITH DOT
				return rune(0x2991), true
			case "langle": 
				// MATHEMATICAL LEFT ANGLE BRACKET
				return rune(0x27e8), true
			case "lap": 
				// LESS-THAN OR APPROXIMATE
				return rune(0x2a85), true
			case "laquo": 
				// LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
				return rune(0xab), true
			case "larr2": 
				// LEFTWARDS PAIRED ARROWS
				return rune(0x21c7), true
			case "larrb": 
				// LEFTWARDS ARROW TO BAR
				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
				return rune(0x291f), true
			case "larrfs": 
				// LEFTWARDS ARROW TO BLACK DIAMOND
				return rune(0x291d), true
			case "larrpl": 
				// LEFT-SIDE ARC ANTICLOCKWISE ARROW
				return rune(0x2939), true
			case "larrsim": 
				// LEFTWARDS ARROW ABOVE TILDE OPERATOR
				return rune(0x2973), true
			case "latail": 
				// LEFTWARDS ARROW-TAIL
				return rune(0x2919), true
			case "lat": 
				// LARGER THAN
				return rune(0x2aab), true
			case "late": 
				// LARGER THAN OR EQUAL TO
				return rune(0x2aad), true
			case "lates": 
				// LARGER THAN OR slanted EQUAL
				return rune(0x2aad), true
			case "lbarr": 
				// LEFTWARDS DOUBLE DASH ARROW
				return rune(0x290c), true
			case "lbbrk": 
				// LIGHT LEFT TORTOISE SHELL BRACKET ORNAMENT
				return rune(0x2772), true
			case "lbrace": 
				// LEFT CURLY BRACKET
				return rune(0x7b), true
			case "lbrack": 
				// LEFT SQUARE BRACKET
				return rune(0x5b), true
			case "lbrke": 
				// LEFT SQUARE BRACKET WITH UNDERBAR
				return rune(0x298b), true
			case "lbrksld": 
				// LEFT SQUARE BRACKET WITH TICK IN BOTTOM CORNER
				return rune(0x298f), true
			case "lbrkslu": 
				// LEFT SQUARE BRACKET WITH TICK IN TOP CORNER
				return rune(0x298d), true
			case "lcaron": 
				// LATIN SMALL LETTER L WITH CARON
				return rune(0x013e), true
			case "lcedil": 
				// LATIN SMALL LETTER L WITH CEDILLA
				return rune(0x013c), true
			case "lceil": 
				// LEFT CEILING
				return rune(0x2308), true
			case "lcub": 
				// LEFT CURLY BRACKET
				return rune(0x7b), true
			case "lcy": 
				// CYRILLIC SMALL LETTER EL
				return rune(0x043b), true
			case "ldca": 
				// ARROW POINTING DOWNWARDS THEN CURVING LEFTWARDS
				return rune(0x2936), true
			case "ldharb": 
				// LEFTWARDS HARPOON WITH BARB DOWN TO BAR
				return rune(0x2956), true
			case "ldot": 
				// LESS-THAN WITH DOT
				return rune(0x22d6), true
			case "ldquor": 
				// DOUBLE LOW-9 QUOTATION MARK
				return rune(0x201e), true
			case "ldquo": 
				// LEFT DOUBLE QUOTATION MARK
				return rune(0x201c), true
			case "ldrdhar": 
				// LEFTWARDS HARPOON WITH BARB DOWN ABOVE RIGHTWARDS HARPOON WITH BARB DOWN
				return rune(0x2967), true
			case "ldrdshar": 
				// LEFT BARB DOWN RIGHT BARB DOWN HARPOON
				return rune(0x2950), true
			case "ldrushar": 
				// LEFT BARB DOWN RIGHT BARB UP HARPOON
				return rune(0x294b), true
			case "ldsh": 
				// DOWNWARDS ARROW WITH TIP LEFTWARDS
				return rune(0x21b2), true
			case "leftarrowtail": 
				// LEFTWARDS ARROW WITH TAIL
				return rune(0x21a2), true
			case "leftarrow": 
				// LEFTWARDS ARROW
				return rune(0x2190), true
			case "leftharpoondown": 
				// LEFTWARDS HARPOON WITH BARB DOWNWARDS
				return rune(0x21bd), true
			case "leftharpoonup": 
				// LEFTWARDS HARPOON WITH BARB UPWARDS
				return rune(0x21bc), true
			case "leftleftarrows": 
				// LEFTWARDS PAIRED ARROWS
				return rune(0x21c7), true
			case "leftrightarrows": 
				// LEFTWARDS ARROW OVER RIGHTWARDS ARROW
				return rune(0x21c6), true
			case "leftrightarrow": 
				// LEFT RIGHT ARROW
				return rune(0x2194), true
			case "leftrightharpoons": 
				// LEFTWARDS HARPOON OVER RIGHTWARDS HARPOON
				return rune(0x21cb), true
			case "leftrightsquigarrow": 
				// LEFT RIGHT WAVE ARROW
				return rune(0x21ad), true
			case "le": 
				// LESS-THAN OR EQUAL TO
				return rune(0x2264), true
			case "leftthreetimes": 
				// LEFT SEMIDIRECT PRODUCT
				return rune(0x22cb), true
			case "leg": 
				// LESS-THAN EQUAL TO OR GREATER-THAN
				return rune(0x22da), true
			case "leq": 
				// LESS-THAN OR EQUAL TO
				return rune(0x2264), true
			case "leqq": 
				// LESS-THAN OVER EQUAL TO
				return rune(0x2266), true
			case "leqslant": 
				// LESS-THAN OR SLANTED EQUAL TO
				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
				return rune(0x2a7d), true
			case "lescc": 
				// LESS-THAN CLOSED BY CURVE ABOVE SLANTED EQUAL
				return rune(0x2aa8), true
			case "lesdot": 
				// LESS-THAN OR SLANTED EQUAL TO WITH DOT INSIDE
				return rune(0x2a7f), true
			case "lesdoto": 
				// LESS-THAN OR SLANTED EQUAL TO WITH DOT ABOVE
				return rune(0x2a81), true
			case "lesdotor": 
				// LESS-THAN OR SLANTED EQUAL TO WITH DOT ABOVE RIGHT
				return rune(0x2a83), true
			case "lesges": 
				// LESS-THAN ABOVE SLANTED EQUAL ABOVE GREATER-THAN ABOVE SLANTED EQUAL
				return rune(0x2a93), true
			case "lessapprox": 
				// LESS-THAN OR APPROXIMATE
				return rune(0x2a85), true
			case "lesseqqgtr": 
				// LESS-THAN ABOVE DOUBLE-LINE EQUAL ABOVE GREATER-THAN
				return rune(0x2a8b), true
			case "lfbowtie": 
				// BOWTIE WITH LEFT HALF BLACK
				return rune(0x29d1), true
			case "lfisht": 
				// LEFT FISH TAIL
				return rune(0x297c), true
			case "lfloor": 
				// LEFT FLOOR
				return rune(0x230a), true
			case "lfr": 
				// MATHEMATICAL FRAKTUR SMALL L
				return rune(0x01d529), true
			case "lftimes": 
				// TIMES WITH LEFT HALF BLACK
				return rune(0x29d4), true
			case "lg": 
				// LESS-THAN OR GREATER-THAN
				return rune(0x2276), true
			case "lgE": 
				// LESS-THAN ABOVE GREATER-THAN ABOVE DOUBLE-LINE EQUAL
				return rune(0x2a91), true
			case "lgr": 
				// GREEK SMALL LETTER LAMDA
				return rune(0x03bb), true
			case "lhard": 
				// LEFTWARDS HARPOON WITH BARB DOWNWARDS
				return rune(0x21bd), true
			case "lharu": 
				// LEFTWARDS HARPOON WITH BARB UPWARDS
				return rune(0x21bc), true
			case "lharul": 
				// LEFTWARDS HARPOON WITH BARB UP ABOVE LONG DASH
				return rune(0x296a), true
			case "lhblk": 
				// LOWER HALF BLOCK
				return rune(0x2584), true
			case "ljcy": 
				// CYRILLIC SMALL LETTER LJE
				return rune(0x0459), true
			case "llarr": 
				// LEFTWARDS PAIRED ARROWS
				return rune(0x21c7), true
			case "ll": 
				// MUCH LESS-THAN
				return rune(0x226a), true
			case "llcorner": 
				// BOTTOM LEFT CORNER
				return rune(0x231e), true
			case "llhard": 
				// LEFTWARDS HARPOON WITH BARB DOWN BELOW LONG DASH
				return rune(0x296b), true
			case "lltrif": 
				// BLACK LOWER LEFT TRIANGLE
				return rune(0x25e3), true
			case "lltri": 
				// LOWER LEFT TRIANGLE
				return rune(0x25fa), true
			case "lmidot": 
				// LATIN SMALL LETTER L WITH MIDDLE DOT
				return rune(0x0140), true
			case "lmoust": 
				// UPPER LEFT OR LOWER RIGHT CURLY BRACKET SECTION
				return rune(0x23b0), true
			case "lmoustache": 
				// UPPER LEFT OR LOWER RIGHT CURLY BRACKET SECTION
				return rune(0x23b0), true
			case "lnE": 
				// LESS-THAN BUT NOT EQUAL TO
				return rune(0x2268), true
			case "lnap": 
				// LESS-THAN AND NOT APPROXIMATE
				return rune(0x2a89), true
			case "lnapprox": 
				// LESS-THAN AND NOT APPROXIMATE
				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
				return rune(0x2a87), true
			case "lneq": 
				// LESS-THAN AND SINGLE-LINE NOT EQUAL TO
				return rune(0x2a87), true
			case "lnsim": 
				// LESS-THAN BUT NOT EQUIVALENT TO
				return rune(0x22e6), true
			case "loang": 
				// MATHEMATICAL LEFT WHITE TORTOISE SHELL BRACKET
				return rune(0x27ec), true
			case "loarr": 
				// LEFTWARDS OPEN-HEADED ARROW
				return rune(0x21fd), true
			case "lobrk": 
				// MATHEMATICAL LEFT WHITE SQUARE BRACKET
				return rune(0x27e6), true
			case "locub": 
				// LEFT WHITE CURLY BRACKET
				return rune(0x2983), true
			case "longleftarrow": 
				// LONG LEFTWARDS ARROW
				return rune(0x27f5), true
			case "longleftrightarrow": 
				// LONG LEFT RIGHT ARROW
				return rune(0x27f7), true
			case "longmapsto": 
				// LONG RIGHTWARDS ARROW FROM BAR
				return rune(0x27fc), true
			case "longrightarrow": 
				// LONG RIGHTWARDS ARROW
				return rune(0x27f6), true
			case "looparrowleft": 
				// LEFTWARDS ARROW WITH LOOP
				return rune(0x21ab), true
			case "looparrowright": 
				// RIGHTWARDS ARROW WITH LOOP
				return rune(0x21ac), true
			case "lopar": 
				// LEFT WHITE PARENTHESIS
				return rune(0x2985), true
			case "lopf": 
				// MATHEMATICAL DOUBLE-STRUCK SMALL L
				return rune(0x01d55d), true
			case "loplus": 
				// PLUS SIGN IN LEFT HALF CIRCLE
				return rune(0x2a2d), true
			case "lotimes": 
				// MULTIPLICATION SIGN IN LEFT HALF CIRCLE
				return rune(0x2a34), true
			case "lowast": 
				// LOW ASTERISK
				return rune(0x204e), true
			case "lowbar": 
				// LOW LINE
				return rune(0x5f), true
			case "lowint": 
				// INTEGRAL WITH UNDERBAR
				return rune(0x2a1c), true
			case "loz": 
				// LOZENGE
				return rune(0x25ca), true
			case "lozenge": 
				// LOZENGE
				return rune(0x25ca), true
			case "lozf": 
				// BLACK LOZENGE
				return rune(0x29eb), true
			case "lpargt": 
				// SPHERICAL ANGLE OPENING LEFT
				return rune(0x29a0), true
			case "lparlt": 
				// LEFT ARC LESS-THAN BRACKET
				return rune(0x2993), true
			case "lpar": 
				// LEFT PARENTHESIS
				return rune(0x28), true
			case "lrarr2": 
				// LEFTWARDS ARROW OVER RIGHTWARDS ARROW
				return rune(0x21c6), true
			case "lrarr": 
				// LEFTWARDS ARROW OVER RIGHTWARDS ARROW
				return rune(0x21c6), true
			case "lrcorner": 
				// BOTTOM RIGHT CORNER
				return rune(0x231f), true
			case "lrhar": 
				// LEFTWARDS HARPOON OVER RIGHTWARDS HARPOON
				return rune(0x21cb), true
			case "lrhar2": 
				// LEFTWARDS HARPOON OVER RIGHTWARDS HARPOON
				return rune(0x21cb), true
			case "lrhard": 
				// RIGHTWARDS HARPOON WITH BARB DOWN BELOW LONG DASH
				return rune(0x296d), true
			case "lrm": 
				// LEFT-TO-RIGHT MARK
				return rune(0x200e), true
			case "lrtri": 
				// RIGHT TRIANGLE
				return rune(0x22bf), true
			case "lsaquo": 
				// SINGLE LEFT-POINTING ANGLE QUOTATION MARK
				return rune(0x2039), true
			case "lscr": 
				// MATHEMATICAL SCRIPT SMALL L
				return rune(0x01d4c1), true
			case "lsh": 
				// UPWARDS ARROW WITH TIP LEFTWARDS
				return rune(0x21b0), true
			case "lsim": 
				// LESS-THAN OR EQUIVALENT TO
				return rune(0x2272), true
			case "lsime": 
				// LESS-THAN ABOVE SIMILAR OR EQUAL
				return rune(0x2a8d), true
			case "lsimg": 
				// LESS-THAN ABOVE SIMILAR ABOVE GREATER-THAN
				return rune(0x2a8f), true
			case "lsqb": 
				// LEFT SQUARE BRACKET
				return rune(0x5b), true
			case "lsquor": 
				// SINGLE LOW-9 QUOTATION MARK
				return rune(0x201a), true
			case "lsquo": 
				// LEFT SINGLE QUOTATION MARK
				return rune(0x2018), true
			case "lstrok": 
				// LATIN SMALL LETTER L WITH STROKE
				return rune(0x0142), true
			case "ltcc": 
				// LESS-THAN CLOSED BY CURVE
				return rune(0x2aa6), true
			case "ltcir": 
				// LESS-THAN WITH CIRCLE INSIDE
				return rune(0x2a79), true
			case "ltdot": 
				// LESS-THAN WITH DOT
				return rune(0x22d6), true
			case "lthree": 
				// LEFT SEMIDIRECT PRODUCT
				return rune(0x22cb), true
			case "ltimes": 
				// LEFT NORMAL FACTOR SEMIDIRECT PRODUCT
				return rune(0x22c9), true
			case "ltlarr": 
				// LESS-THAN ABOVE LEFTWARDS ARROW
				return rune(0x2976), true
			case "ltquest": 
				// LESS-THAN WITH QUESTION MARK ABOVE
				return rune(0x2a7b), true
			case "ltrPar": 
				// DOUBLE RIGHT ARC LESS-THAN BRACKET
				return rune(0x2996), true
			case "ltrie": 
				// NORMAL SUBGROUP OF OR EQUAL TO
				return rune(0x22b4), true
			case "ltrif": 
				// BLACK LEFT-POINTING SMALL TRIANGLE
				return rune(0x25c2), true
			case "ltri": 
				// WHITE LEFT-POINTING SMALL TRIANGLE
				return rune(0x25c3), true
			case "ltrivb": 
				// LEFT TRIANGLE BESIDE VERTICAL BAR
				return rune(0x29cf), true
			case "lt": 
				// LESS-THAN SIGN
				return rune(0x3c), true
			case "luharb": 
				// LEFTWARDS HARPOON WITH BARB UP TO BAR
				return rune(0x2952), true
			case "lurdshar": 
				// LEFT BARB UP RIGHT BARB DOWN HARPOON
				return rune(0x294a), true
			case "luruhar": 
				// LEFTWARDS HARPOON WITH BARB UP ABOVE RIGHTWARDS HARPOON WITH BARB UP
				return rune(0x2966), true
			case "lurushar": 
				// LEFT BARB UP RIGHT BARB UP HARPOON
				return rune(0x294e), true
			case "lvertneqq": 
				// LESS-THAN BUT NOT EQUAL TO - with vertical stroke
				return rune(0x2268), true
			case "lvnE": 
				// LESS-THAN BUT NOT EQUAL TO - with vertical stroke
				return rune(0x2268), true
		}

	case 'm':
		switch name {
			case "mDDot": 
				// GEOMETRIC PROPORTION
				return rune(0x223a), true
			case "macr": 
				// MACRON
				return rune(0xaf), true
			case "male": 
				// MALE SIGN
				return rune(0x2642), true
			case "malt": 
				// MALTESE CROSS
				return rune(0x2720), true
			case "maltese": 
				// MALTESE CROSS
				return rune(0x2720), true
			case "mapstodown": 
				// DOWNWARDS ARROW FROM BAR
				return rune(0x21a7), true
			case "mapsto": 
				// RIGHTWARDS ARROW FROM BAR
				return rune(0x21a6), true
			case "map": 
				// RIGHTWARDS ARROW FROM BAR
				return rune(0x21a6), true
			case "mapstoleft": 
				// LEFTWARDS ARROW FROM BAR
				return rune(0x21a4), true
			case "mapstoup": 
				// UPWARDS ARROW FROM BAR
				return rune(0x21a5), true
			case "marker": 
				// BLACK VERTICAL RECTANGLE
				return rune(0x25ae), true
			case "mcomma": 
				// MINUS SIGN WITH COMMA ABOVE
				return rune(0x2a29), true
			case "mcy": 
				// CYRILLIC SMALL LETTER EM
				return rune(0x043c), true
			case "mdash": 
				// EM DASH
				return rune(0x2014), true
			case "measuredangle": 
				// MEASURED ANGLE
				return rune(0x2221), true
			case "mfr": 
				// MATHEMATICAL FRAKTUR SMALL M
				return rune(0x01d52a), true
			case "mgr": 
				// GREEK SMALL LETTER MU
				return rune(0x03bc), true
			case "mho": 
				// INVERTED OHM SIGN
				return rune(0x2127), true
			case "micro": 
				// MICRO SIGN
				return rune(0xb5), true
			case "mid": 
				// DIVIDES
				return rune(0x2223), true
			case "midast": 
				// ASTERISK
				return rune(0x2a), true
			case "midcir": 
				// VERTICAL LINE WITH CIRCLE BELOW
				return rune(0x2af0), true
			case "middot": 
				// MIDDLE DOT
				return rune(0xb7), true
			case "minus": 
				// MINUS SIGN
				return rune(0x2212), true
			case "minusb": 
				// SQUARED MINUS
				return rune(0x229f), true
			case "minusd": 
				// DOT MINUS
				return rune(0x2238), true
			case "minusdu": 
				// MINUS SIGN WITH DOT BELOW
				return rune(0x2a2a), true
			case "mlcp": 
				// TRANSVERSAL INTERSECTION
				return rune(0x2adb), true
			case "mldr": 
				// HORIZONTAL ELLIPSIS
				return rune(0x2026), true
			case "mnplus": 
				// MINUS-OR-PLUS SIGN
				return rune(0x2213), true
			case "models": 
				// MODELS
				return rune(0x22a7), true
			case "mopf": 
				// MATHEMATICAL DOUBLE-STRUCK SMALL M
				return rune(0x01d55e), true
			case "mp": 
				// MINUS-OR-PLUS SIGN
				return rune(0x2213), true
			case "mscr": 
				// MATHEMATICAL SCRIPT SMALL M
				return rune(0x01d4c2), true
			case "mstpos": 
				// INVERTED LAZY S
				return rune(0x223e), true
			case "multimap": 
				// MULTIMAP
				return rune(0x22b8), true
			case "mumap": 
				// MULTIMAP
				return rune(0x22b8), true
			case "mu": 
				// GREEK SMALL LETTER MU
				return rune(0x03bc), true
		}

	case 'n':
		switch name {
			case "nGg": 
				// VERY MUCH GREATER-THAN with slash
				return rune(0x22d9), true
			case "nGtv": 
				// MUCH GREATER THAN with slash
				return rune(0x226b), true
			case "nGt": 
				// MUCH GREATER THAN with vertical line
				return rune(0x226b), true
			case "nLeftarrow": 
				// LEFTWARDS DOUBLE ARROW WITH STROKE
				return rune(0x21cd), true
			case "nLeftrightarrow": 
				// LEFT RIGHT DOUBLE ARROW WITH STROKE
				return rune(0x21ce), true
			case "nLl": 
				// VERY MUCH LESS-THAN with slash
				return rune(0x22d8), true
			case "nLtv": 
				// MUCH LESS THAN with slash
				return rune(0x226a), true
			case "nLt": 
				// MUCH LESS THAN with vertical line
				return rune(0x226a), true
			case "nRightarrow": 
				// RIGHTWARDS DOUBLE ARROW WITH STROKE
				return rune(0x21cf), true
			case "nVDash": 
				// NEGATED DOUBLE VERTICAL BAR DOUBLE RIGHT TURNSTILE
				return rune(0x22af), true
			case "nVdash": 
				// DOES NOT FORCE
				return rune(0x22ae), true
			case "nabla": 
				// NABLA
				return rune(0x2207), true
			case "nacute": 
				// LATIN SMALL LETTER N WITH ACUTE
				return rune(0x0144), true
			case "nang": 
				// ANGLE with vertical line
				return rune(0x2220), true
			case "nap": 
				// NOT ALMOST EQUAL TO
				return rune(0x2249), true
			case "napE": 
				// APPROXIMATELY EQUAL OR EQUAL TO with slash
				return rune(0x2a70), true
			case "napid": 
				// TRIPLE TILDE with slash
				return rune(0x224b), true
			case "napos": 
				// LATIN SMALL LETTER N PRECEDED BY APOSTROPHE
				return rune(0x0149), true
			case "napprox": 
				// NOT ALMOST EQUAL TO
				return rune(0x2249), true
			case "naturals": 
				// DOUBLE-STRUCK CAPITAL N
				return rune(0x2115), true
			case "natur": 
				// MUSIC NATURAL SIGN
				return rune(0x266e), true
			case "natural": 
				// MUSIC NATURAL SIGN
				return rune(0x266e), true
			case "nbsp": 
				// NO-BREAK SPACE
				return rune(0xa0), true
			case "nbump": 
				// GEOMETRICALLY EQUIVALENT TO with slash
				return rune(0x224e), true
			case "nbumpe": 
				// DIFFERENCE BETWEEN with slash
				return rune(0x224f), true
			case "ncap": 
				// INTERSECTION WITH OVERBAR
				return rune(0x2a43), true
			case "ncaron": 
				// LATIN SMALL LETTER N WITH CARON
				return rune(0x0148), true
			case "ncedil": 
				// LATIN SMALL LETTER N WITH CEDILLA
				return rune(0x0146), true
			case "ncong": 
				// NEITHER APPROXIMATELY NOR ACTUALLY EQUAL TO
				return rune(0x2247), true
			case "ncongdot": 
				// CONGRUENT WITH DOT ABOVE with slash
				return rune(0x2a6d), true
			case "ncup": 
				// UNION WITH OVERBAR
				return rune(0x2a42), true
			case "ncy": 
				// CYRILLIC SMALL LETTER EN
				return rune(0x043d), true
			case "ndash": 
				// EN DASH
				return rune(0x2013), true
			case "neArr": 
				// NORTH EAST DOUBLE ARROW
				return rune(0x21d7), true
			case "nearrow": 
				// NORTH EAST ARROW
				return rune(0x2197), true
			case "nearr": 
				// NORTH EAST ARROW
				return rune(0x2197), true
			case "nedot": 
				// APPROACHES THE LIMIT with slash
				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
				return rune(0x2931), true
			case "neosearr": 
				// NORTH EAST ARROW CROSSING SOUTH EAST ARROW
				return rune(0x292e), true
			case "nequiv": 
				// NOT IDENTICAL TO
				return rune(0x2262), true
			case "nesear": 
				// NORTH EAST ARROW AND SOUTH EAST ARROW
				return rune(0x2928), true
			case "neswsarr": 
				// NORTH EAST AND SOUTH WEST ARROW
				return rune(0x2922), true
			case "nfr": 
				// MATHEMATICAL FRAKTUR SMALL N
				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
				return rune(0x2267), true
			case "nge": 
				// NEITHER GREATER-THAN NOR EQUAL TO
				return rune(0x2271), true
			case "ngeq": 
				// NEITHER GREATER-THAN NOR EQUAL TO
				return rune(0x2271), true
			case "ngeqslant": 
				// GREATER-THAN OR SLANTED EQUAL TO with slash
				return rune(0x2a7e), true
			case "nges": 
				// GREATER-THAN OR SLANTED EQUAL TO with slash
				return rune(0x2a7e), true
			case "ngr": 
				// GREEK SMALL LETTER NU
				return rune(0x03bd), true
			case "ngsim": 
				// NEITHER GREATER-THAN NOR EQUIVALENT TO
				return rune(0x2275), true
			case "ngt": 
				// NOT GREATER-THAN
				return rune(0x226f), true
			case "ngtr": 
				// NOT GREATER-THAN
				return rune(0x226f), true
			case "nhArr": 
				// LEFT RIGHT DOUBLE ARROW WITH STROKE
				return rune(0x21ce), true
			case "nharr": 
				// LEFT RIGHT ARROW WITH STROKE
				return rune(0x21ae), true
			case "nhpar": 
				// PARALLEL WITH HORIZONTAL STROKE
				return rune(0x2af2), true
			case "niv": 
				// CONTAINS AS MEMBER
				return rune(0x220b), true
			case "ni": 
				// CONTAINS AS MEMBER
				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
				return rune(0x22fc), true
			case "njcy": 
				// CYRILLIC SMALL LETTER NJE
				return rune(0x045a), true
			case "nlArr": 
				// LEFTWARDS DOUBLE ARROW WITH STROKE
				return rune(0x21cd), true
			case "nlE": 
				// LESS-THAN OVER EQUAL TO with slash
				return rune(0x2266), true
			case "nlarr": 
				// LEFTWARDS ARROW WITH STROKE
				return rune(0x219a), true
			case "nldr": 
				// TWO DOT LEADER
				return rune(0x2025), true
			case "nleftarrow": 
				// LEFTWARDS ARROW WITH STROKE
				return rune(0x219a), true
			case "nleftrightarrow": 
				// LEFT RIGHT ARROW WITH STROKE
				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
				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
				return rune(0x2a7d), true
			case "nles": 
				// LESS-THAN OR SLANTED EQUAL TO with slash
				return rune(0x2a7d), true
			case "nlsim": 
				// NEITHER LESS-THAN NOR EQUIVALENT TO
				return rune(0x2274), true
			case "nlt": 
				// NOT LESS-THAN
				return rune(0x226e), true
			case "nltri": 
				// NOT NORMAL SUBGROUP OF
				return rune(0x22ea), true
			case "nltrie": 
				// NOT NORMAL SUBGROUP OF OR EQUAL TO
				return rune(0x22ec), true
			case "nltrivb": 
				// LEFT TRIANGLE BESIDE VERTICAL BAR with slash
				return rune(0x29cf), true
			case "nmid": 
				// DOES NOT DIVIDE
				return rune(0x2224), true
			case "nopf": 
				// MATHEMATICAL DOUBLE-STRUCK SMALL N
				return rune(0x01d55f), true
			case "notin": 
				// NOT AN ELEMENT OF
				return rune(0x2209), true
			case "notinE": 
				// ELEMENT OF WITH TWO HORIZONTAL STROKES with slash
				return rune(0x22f9), true
			case "notindot": 
				// ELEMENT OF WITH DOT ABOVE with slash
				return rune(0x22f5), true
			case "notinva": 
				// NOT AN ELEMENT OF
				return rune(0x2209), true
			case "notinvb": 
				// SMALL ELEMENT OF WITH OVERBAR
				return rune(0x22f7), true
			case "notinvc": 
				// ELEMENT OF WITH OVERBAR
				return rune(0x22f6), true
			case "notni": 
				// DOES NOT CONTAIN AS MEMBER
				return rune(0x220c), true
			case "notniva": 
				// DOES NOT CONTAIN AS MEMBER
				return rune(0x220c), true
			case "notnivb": 
				// SMALL CONTAINS WITH OVERBAR
				return rune(0x22fe), true
			case "notnivc": 
				// CONTAINS WITH OVERBAR
				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
				return rune(0x2226), true
			case "nparallel": 
				// NOT PARALLEL TO
				return rune(0x2226), true
			case "nparsl": 
				// DOUBLE SOLIDUS OPERATOR with reverse slash
				return rune(0x2afd), true
			case "npolint": 
				// LINE INTEGRATION NOT INCLUDING THE POLE
				return rune(0x2a14), true
			case "nprsim": 
				// PRECEDES OR EQUIVALENT TO with slash
				return rune(0x227e), true
			case "npr": 
				// DOES NOT PRECEDE
				return rune(0x2280), true
			case "nprcue": 
				// DOES NOT PRECEDE OR EQUAL
				return rune(0x22e0), true
			case "nprec": 
				// DOES NOT PRECEDE
				return rune(0x2280), true
			case "npre": 
				// PRECEDES ABOVE SINGLE-LINE EQUALS SIGN with slash
				return rune(0x2aaf), true
			case "npreceq": 
				// PRECEDES ABOVE SINGLE-LINE EQUALS SIGN with slash
				return rune(0x2aaf), true
			case "nrArr": 
				// RIGHTWARDS DOUBLE ARROW WITH STROKE
				return rune(0x21cf), true
			case "nrarrw": 
				// RIGHTWARDS WAVE ARROW with slash
				return rune(0x219d), true
			case "nrarr": 
				// RIGHTWARDS ARROW WITH STROKE
				return rune(0x219b), true
			case "nrarrc": 
				// WAVE ARROW POINTING DIRECTLY RIGHT with slash
				return rune(0x2933), true
			case "nrightarrow": 
				// RIGHTWARDS ARROW WITH STROKE
				return rune(0x219b), true
			case "nrtri": 
				// DOES NOT CONTAIN AS NORMAL SUBGROUP
				return rune(0x22eb), true
			case "nrtrie": 
				// DOES NOT CONTAIN AS NORMAL SUBGROUP OR EQUAL
				return rune(0x22ed), true
			case "nsGt": 
				// DOUBLE NESTED GREATER-THAN with slash
				return rune(0x2aa2), true
			case "nsLt": 
				// DOUBLE NESTED LESS-THAN with slash
				return rune(0x2aa1), true
			case "nscsim": 
				// SUCCEEDS OR EQUIVALENT TO with slash
				return rune(0x227f), true
			case "nsc": 
				// DOES NOT SUCCEED
				return rune(0x2281), true
			case "nsccue": 
				// DOES NOT SUCCEED OR EQUAL
				return rune(0x22e1), true
			case "nsce": 
				// SUCCEEDS ABOVE SINGLE-LINE EQUALS SIGN with slash
				return rune(0x2ab0), true
			case "nscr": 
				// MATHEMATICAL SCRIPT SMALL N
				return rune(0x01d4c3), true
			case "nshortmid": 
				// DOES NOT DIVIDE
				return rune(0x2224), true
			case "nshortparallel": 
				// NOT PARALLEL TO
				return rune(0x2226), true
			case "nsim": 
				// NOT TILDE
				return rune(0x2241), true
			case "nsime": 
				// NOT ASYMPTOTICALLY EQUAL TO
				return rune(0x2244), true
			case "nsimeq": 
				// NOT ASYMPTOTICALLY EQUAL TO
				return rune(0x2244), true
			case "nsmid": 
				// DOES NOT DIVIDE
				return rune(0x2224), true
			case "nspar": 
				// NOT PARALLEL TO
				return rune(0x2226), true
			case "nsqsub": 
				// SQUARE IMAGE OF with slash
				return rune(0x228f), true
			case "nsqsube": 
				// NOT SQUARE IMAGE OF OR EQUAL TO
				return rune(0x22e2), true
			case "nsqsup": 
				// SQUARE ORIGINAL OF with slash
				return rune(0x2290), true
			case "nsqsupe": 
				// NOT SQUARE ORIGINAL OF OR EQUAL TO
				return rune(0x22e3), true
			case "nsubset": 
				// SUBSET OF with vertical line
				return rune(0x2282), true
			case "nsub": 
				// NOT A SUBSET OF
				return rune(0x2284), true
			case "nsubE": 
				// SUBSET OF ABOVE EQUALS SIGN with slash
				return rune(0x2ac5), true
			case "nsube": 
				// NEITHER A SUBSET OF NOR EQUAL TO
				return rune(0x2288), true
			case "nsubseteq": 
				// NEITHER A SUBSET OF NOR EQUAL TO
				return rune(0x2288), true
			case "nsubseteqq": 
				// SUBSET OF ABOVE EQUALS SIGN with slash
				return rune(0x2ac5), true
			case "nsucc": 
				// DOES NOT SUCCEED
				return rune(0x2281), true
			case "nsucceq": 
				// SUCCEEDS ABOVE SINGLE-LINE EQUALS SIGN with slash
				return rune(0x2ab0), true
			case "nsupset": 
				// SUPERSET OF with vertical line
				return rune(0x2283), true
			case "nsup": 
				// NOT A SUPERSET OF
				return rune(0x2285), true
			case "nsupE": 
				// SUPERSET OF ABOVE EQUALS SIGN with slash
				return rune(0x2ac6), true
			case "nsupe": 
				// NEITHER A SUPERSET OF NOR EQUAL TO
				return rune(0x2289), true
			case "nsupseteq": 
				// NEITHER A SUPERSET OF NOR EQUAL TO
				return rune(0x2289), true
			case "nsupseteqq": 
				// SUPERSET OF ABOVE EQUALS SIGN with slash
				return rune(0x2ac6), true
			case "ntgl": 
				// NEITHER GREATER-THAN NOR LESS-THAN
				return rune(0x2279), true
			case "ntilde": 
				// LATIN SMALL LETTER N WITH TILDE
				return rune(0xf1), true
			case "ntlg": 
				// NEITHER LESS-THAN NOR GREATER-THAN
				return rune(0x2278), true
			case "ntriangleleft": 
				// NOT NORMAL SUBGROUP OF
				return rune(0x22ea), true
			case "ntrianglelefteq": 
				// NOT NORMAL SUBGROUP OF OR EQUAL TO
				return rune(0x22ec), true
			case "ntriangleright": 
				// DOES NOT CONTAIN AS NORMAL SUBGROUP
				return rune(0x22eb), true
			case "ntrianglerighteq": 
				// DOES NOT CONTAIN AS NORMAL SUBGROUP OR EQUAL
				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
				return rune(0x03bd), true
			case "num": 
				// NUMBER SIGN
				return rune(0x23), true
			case "nvDash": 
				// NOT TRUE
				return rune(0x22ad), true
			case "nvHarr": 
				// LEFT RIGHT DOUBLE ARROW WITH VERTICAL STROKE
				return rune(0x2904), true
			case "nvap": 
				// EQUIVALENT TO with vertical line
				return rune(0x224d), true
			case "nvbrtri": 
				// VERTICAL BAR BESIDE RIGHT TRIANGLE with slash
				return rune(0x29d0), true
			case "nvdash": 
				// DOES NOT PROVE
				return rune(0x22ac), true
			case "nvge": 
				// GREATER-THAN OR EQUAL TO with vertical line
				return rune(0x2265), true
			case "nvgt": 
				// GREATER-THAN SIGN with vertical line
				return rune(0x3e), true
			case "nvinfin": 
				// INFINITY NEGATED WITH VERTICAL BAR
				return rune(0x29de), true
			case "nvlArr": 
				// LEFTWARDS DOUBLE ARROW WITH VERTICAL STROKE
				return rune(0x2902), true
			case "nvle": 
				// LESS-THAN OR EQUAL TO with vertical line
				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
				return rune(0x3c), true
			case "nvrArr": 
				// RIGHTWARDS DOUBLE ARROW WITH VERTICAL STROKE
				return rune(0x2903), true
			case "nvrtrie": 
				// CONTAINS AS NORMAL SUBGROUP OR EQUAL TO with vertical line
				return rune(0x22b5), true
			case "nvsim": 
				// TILDE OPERATOR with vertical line
				return rune(0x223c), true
			case "nwArr": 
				// NORTH WEST DOUBLE ARROW
				return rune(0x21d6), true
			case "nwarhk": 
				// NORTH WEST ARROW WITH HOOK
				return rune(0x2923), true
			case "nwarrow": 
				// NORTH WEST ARROW
				return rune(0x2196), true
			case "nwarr": 
				// NORTH WEST ARROW
				return rune(0x2196), true
			case "nwnear": 
				// NORTH WEST ARROW AND NORTH EAST ARROW
				return rune(0x2927), true
			case "nwonearr": 
				// NORTH WEST ARROW CROSSING NORTH EAST ARROW
				return rune(0x2932), true
			case "nwsesarr": 
				// NORTH WEST AND SOUTH EAST ARROW
				return rune(0x2921), true
		}

	case 'o':
		switch name {
			case "oS": 
				// CIRCLED LATIN CAPITAL LETTER S
				return rune(0x24c8), true
			case "oacgr": 
				// GREEK SMALL LETTER OMICRON WITH TONOS
				return rune(0x03cc), true
			case "oacute": 
				// LATIN SMALL LETTER O WITH ACUTE
				return rune(0xf3), true
			case "oast": 
				// CIRCLED ASTERISK OPERATOR
				return rune(0x229b), true
			case "obsol": 
				// CIRCLED REVERSE SOLIDUS
				return rune(0x29b8), true
			case "ocir": 
				// CIRCLED RING OPERATOR
				return rune(0x229a), true
			case "ocirc": 
				// LATIN SMALL LETTER O WITH CIRCUMFLEX
				return rune(0xf4), true
			case "ocy": 
				// CYRILLIC SMALL LETTER O
				return rune(0x043e), true
			case "odash": 
				// CIRCLED DASH
				return rune(0x229d), true
			case "odblac": 
				// LATIN SMALL LETTER O WITH DOUBLE ACUTE
				return rune(0x0151), true
			case "odiv": 
				// CIRCLED DIVISION SIGN
				return rune(0x2a38), true
			case "odot": 
				// CIRCLED DOT OPERATOR
				return rune(0x2299), true
			case "odsold": 
				// CIRCLED ANTICLOCKWISE-ROTATED DIVISION SIGN
				return rune(0x29bc), true
			case "oelig": 
				// LATIN SMALL LIGATURE OE
				return rune(0x0153), true
			case "ofcir": 
				// CIRCLED BULLET
				return rune(0x29bf), true
			case "ofr": 
				// MATHEMATICAL FRAKTUR SMALL O
				return rune(0x01d52c), true
			case "ogon": 
				// OGONEK
				return rune(0x02db), true
			case "ogr": 
				// GREEK SMALL LETTER OMICRON
				return rune(0x03bf), true
			case "ograve": 
				// LATIN SMALL LETTER O WITH GRAVE
				return rune(0xf2), true
			case "ogt": 
				// CIRCLED GREATER-THAN
				return rune(0x29c1), true
			case "ohacgr": 
				// GREEK SMALL LETTER OMEGA WITH TONOS
				return rune(0x03ce), true
			case "ohbar": 
				// CIRCLE WITH HORIZONTAL BAR
				return rune(0x29b5), true
			case "ohgr": 
				// GREEK SMALL LETTER OMEGA
				return rune(0x03c9), true
			case "ohm": 
				// GREEK CAPITAL LETTER OMEGA
				return rune(0x03a9), true
			case "oint": 
				// CONTOUR INTEGRAL
				return rune(0x222e), true
			case "olarr": 
				// ANTICLOCKWISE OPEN CIRCLE ARROW
				return rune(0x21ba), true
			case "olcir": 
				// CIRCLED WHITE BULLET
				return rune(0x29be), true
			case "olcross": 
				// CIRCLE WITH SUPERIMPOSED X
				return rune(0x29bb), true
			case "oline": 
				// OVERLINE
				return rune(0x203e), true
			case "olt": 
				// CIRCLED LESS-THAN
				return rune(0x29c0), true
			case "omacr": 
				// LATIN SMALL LETTER O WITH MACRON
				return rune(0x014d), true
			case "omega": 
				// GREEK SMALL LETTER OMEGA
				return rune(0x03c9), true
			case "omicron": 
				// GREEK SMALL LETTER OMICRON
				return rune(0x03bf), true
			case "omid": 
				// CIRCLED VERTICAL BAR
				return rune(0x29b6), true
			case "ominus": 
				// CIRCLED MINUS
				return rune(0x2296), true
			case "oopf": 
				// MATHEMATICAL DOUBLE-STRUCK SMALL O
				return rune(0x01d560), true
			case "opar": 
				// CIRCLED PARALLEL
				return rune(0x29b7), true
			case "operp": 
				// CIRCLED PERPENDICULAR
				return rune(0x29b9), true
			case "opfgamma": 
				// DOUBLE-STRUCK SMALL GAMMA
				return rune(0x213d), true
			case "opfpi": 
				// DOUBLE-STRUCK CAPITAL PI
				return rune(0x213f), true
			case "opfsum": 
				// DOUBLE-STRUCK N-ARY SUMMATION
				return rune(0x2140), true
			case "oplus": 
				// CIRCLED PLUS
				return rune(0x2295), true
			case "orarr": 
				// CLOCKWISE OPEN CIRCLE ARROW
				return rune(0x21bb), true
			case "or": 
				// LOGICAL OR
				return rune(0x2228), true
			case "orderof": 
				// SCRIPT SMALL O
				return rune(0x2134), true
			case "order": 
				// SCRIPT SMALL O
				return rune(0x2134), true
			case "ord": 
				// LOGICAL OR WITH HORIZONTAL DASH
				return rune(0x2a5d), true
			case "ordf": 
				// FEMININE ORDINAL INDICATOR
				return rune(0xaa), true
			case "ordm": 
				// MASCULINE ORDINAL INDICATOR
				return rune(0xba), true
			case "origof": 
				// ORIGINAL OF
				return rune(0x22b6), true
			case "oror": 
				// TWO INTERSECTING LOGICAL OR
				return rune(0x2a56), true
			case "orslope": 
				// SLOPING LARGE OR
				return rune(0x2a57), true
			case "orv": 
				// LOGICAL OR WITH MIDDLE STEM
				return rune(0x2a5b), true
			case "oscr": 
				// SCRIPT SMALL O
				return rune(0x2134), true
			case "oslash": 
				// LATIN SMALL LETTER O WITH STROKE
				return rune(0xf8), true
			case "osol": 
				// CIRCLED DIVISION SLASH
				return rune(0x2298), true
			case "otilde": 
				// LATIN SMALL LETTER O WITH TILDE
				return rune(0xf5), true
			case "otimes": 
				// CIRCLED TIMES
				return rune(0x2297), true
			case "otimesas": 
				// CIRCLED MULTIPLICATION SIGN WITH CIRCUMFLEX ACCENT
				return rune(0x2a36), true
			case "ouml": 
				// LATIN SMALL LETTER O WITH DIAERESIS
				return rune(0xf6), true
			case "ovbar": 
				// APL FUNCTIONAL SYMBOL CIRCLE STILE
				return rune(0x233d), true
			case "ovrbrk": 
				// TOP SQUARE BRACKET
				return rune(0x23b4), true
			case "ovrcub": 
				// TOP CURLY BRACKET
				return rune(0x23de), true
			case "ovrpar": 
				// TOP PARENTHESIS
				return rune(0x23dc), true
			case "oxuarr": 
				// UP ARROW THROUGH CIRCLE
				return rune(0x29bd), true
		}

	case 'p':
		switch name {
			case "part": 
				// PARTIAL DIFFERENTIAL
				return rune(0x2202), true
			case "par": 
				// PARALLEL TO
				return rune(0x2225), true
			case "parallel": 
				// PARALLEL TO
				return rune(0x2225), true
			case "para": 
				// PILCROW SIGN
				return rune(0xb6), true
			case "parsim": 
				// PARALLEL WITH TILDE OPERATOR
				return rune(0x2af3), true
			case "parsl": 
				// DOUBLE SOLIDUS OPERATOR
				return rune(0x2afd), true
			case "pcy": 
				// CYRILLIC SMALL LETTER PE
				return rune(0x043f), true
			case "percnt": 
				// PERCENT SIGN
				return rune(0x25), true
			case "period": 
				// FULL STOP
				return rune(0x2e), true
			case "permil": 
				// PER MILLE SIGN
				return rune(0x2030), true
			case "perp": 
				// UP TACK
				return rune(0x22a5), true
			case "pertenk": 
				// PER TEN THOUSAND SIGN
				return rune(0x2031), true
			case "pfr": 
				// MATHEMATICAL FRAKTUR SMALL P
				return rune(0x01d52d), true
			case "pgr": 
				// GREEK SMALL LETTER PI
				return rune(0x03c0), true
			case "phgr": 
				// GREEK SMALL LETTER PHI
				return rune(0x03c6), true
			case "phis": 
				// GREEK PHI SYMBOL
				return rune(0x03d5), true
			case "phiv": 
				// GREEK PHI SYMBOL
				return rune(0x03d5), true
			case "phi": 
				// GREEK SMALL LETTER PHI
				return rune(0x03c6), true
			case "phmmat": 
				// SCRIPT CAPITAL M
				return rune(0x2133), true
			case "phone": 
				// BLACK TELEPHONE
				return rune(0x260e), true
			case "pitchfork": 
				// PITCHFORK
				return rune(0x22d4), true
			case "piv": 
				// GREEK PI SYMBOL
				return rune(0x03d6), true
			case "pi": 
				// GREEK SMALL LETTER PI
				return rune(0x03c0), true
			case "planck": 
				// PLANCK CONSTANT OVER TWO PI
				return rune(0x210f), true
			case "planckh": 
				// PLANCK CONSTANT
				return rune(0x210e), true
			case "plankv": 
				// PLANCK CONSTANT OVER TWO PI
				return rune(0x210f), true
			case "plusacir": 
				// PLUS SIGN WITH CIRCUMFLEX ACCENT ABOVE
				return rune(0x2a23), true
			case "plusb": 
				// SQUARED PLUS
				return rune(0x229e), true
			case "pluscir": 
				// PLUS SIGN WITH SMALL CIRCLE ABOVE
				return rune(0x2a22), true
			case "plusdo": 
				// DOT PLUS
				return rune(0x2214), true
			case "plusdu": 
				// PLUS SIGN WITH DOT BELOW
				return rune(0x2a25), true
			case "pluse": 
				// PLUS SIGN ABOVE EQUALS SIGN
				return rune(0x2a72), true
			case "plusmn": 
				// PLUS-MINUS SIGN
				return rune(0xb1), true
			case "plussim": 
				// PLUS SIGN WITH TILDE BELOW
				return rune(0x2a26), true
			case "plustrif": 
				// PLUS SIGN WITH BLACK TRIANGLE
				return rune(0x2a28), true
			case "plustwo": 
				// PLUS SIGN WITH SUBSCRIPT TWO
				return rune(0x2a27), true
			case "plus": 
				// PLUS SIGN
				return rune(0x2b), true
			case "pm": 
				// PLUS-MINUS SIGN
				return rune(0xb1), true
			case "pointint": 
				// INTEGRAL AROUND A POINT OPERATOR
				return rune(0x2a15), true
			case "popf": 
				// MATHEMATICAL DOUBLE-STRUCK SMALL P
				return rune(0x01d561), true
			case "pound": 
				// POUND SIGN
				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
				return rune(0x227a), true
			case "prE": 
				// PRECEDES ABOVE EQUALS SIGN
				return rune(0x2ab3), true
			case "prap": 
				// PRECEDES ABOVE ALMOST EQUAL TO
				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
				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
				return rune(0x2aaf), true
			case "precapprox": 
				// PRECEDES ABOVE ALMOST EQUAL TO
				return rune(0x2ab7), true
			case "preceq": 
				// PRECEDES ABOVE SINGLE-LINE EQUALS SIGN
				return rune(0x2aaf), true
			case "precnapprox": 
				// PRECEDES ABOVE NOT ALMOST EQUAL TO
				return rune(0x2ab9), true
			case "precneqq": 
				// PRECEDES ABOVE NOT EQUAL TO
				return rune(0x2ab5), true
			case "primes": 
				// DOUBLE-STRUCK CAPITAL P
				return rune(0x2119), true
			case "prime": 
				// PRIME
				return rune(0x2032), true
			case "prnE": 
				// PRECEDES ABOVE NOT EQUAL TO
				return rune(0x2ab5), true
			case "prnap": 
				// PRECEDES ABOVE NOT ALMOST EQUAL TO
				return rune(0x2ab9), true
			case "prnsim": 
				// PRECEDES BUT NOT EQUIVALENT TO
				return rune(0x22e8), true
			case "profalar": 
				// ALL AROUND-PROFILE
				return rune(0x232e), true
			case "profline": 
				// ARC
				return rune(0x2312), true
			case "profsurf": 
				// SEGMENT
				return rune(0x2313), true
			case "prsim": 
				// PRECEDES OR EQUIVALENT TO
				return rune(0x227e), true
			case "prurel": 
				// PRECEDES UNDER RELATION
				return rune(0x22b0), true
			case "pscr": 
				// MATHEMATICAL SCRIPT SMALL P
				return rune(0x01d4c5), true
			case "psgr": 
				// GREEK SMALL LETTER PSI
				return rune(0x03c8), true
			case "psi": 
				// GREEK SMALL LETTER PSI
				return rune(0x03c8), true
			case "puncsp": 
				// PUNCTUATION SPACE
				return rune(0x2008), true
		}

	case 'q':
		switch name {
			case "qfr": 
				// MATHEMATICAL FRAKTUR SMALL Q
				return rune(0x01d52e), true
			case "qint": 
				// QUADRUPLE INTEGRAL OPERATOR
				return rune(0x2a0c), true
			case "qopf": 
				// MATHEMATICAL DOUBLE-STRUCK SMALL Q
				return rune(0x01d562), true
			case "qprime": 
				// QUADRUPLE PRIME
				return rune(0x2057), true
			case "qscr": 
				// MATHEMATICAL SCRIPT SMALL Q
				return rune(0x01d4c6), true
			case "quaternions": 
				// DOUBLE-STRUCK CAPITAL H
				return rune(0x210d), true
			case "quatint": 
				// QUATERNION INTEGRAL OPERATOR
				return rune(0x2a16), true
			case "questeq": 
				// QUESTIONED EQUAL TO
				return rune(0x225f), true
			case "quest": 
				// QUESTION MARK
				return rune(0x3f), true
			case "quot": 
				// QUOTATION MARK
				return rune(0x22), true
		}

	case 'r':
		switch name {
			case "rAarr": 
				// RIGHTWARDS TRIPLE ARROW
				return rune(0x21db), true
			case "rArr": 
				// RIGHTWARDS DOUBLE ARROW
				return rune(0x21d2), true
			case "rAtail": 
				// RIGHTWARDS DOUBLE ARROW-TAIL
				return rune(0x291c), true
			case "rBarr": 
				// RIGHTWARDS TRIPLE DASH ARROW
				return rune(0x290f), true
			case "rHar": 
				// RIGHTWARDS HARPOON WITH BARB UP ABOVE RIGHTWARDS HARPOON WITH BARB DOWN
				return rune(0x2964), true
			case "race": 
				// REVERSED TILDE with underline
				return rune(0x223d), true
			case "racute": 
				// LATIN SMALL LETTER R WITH ACUTE
				return rune(0x0155), true
			case "radic": 
				// SQUARE ROOT
				return rune(0x221a), true
			case "raemptyv": 
				// EMPTY SET WITH RIGHT ARROW ABOVE
				return rune(0x29b3), true
			case "rang": 
				// MATHEMATICAL RIGHT ANGLE BRACKET
				return rune(0x27e9), true
			case "rangd": 
				// RIGHT ANGLE BRACKET WITH DOT
				return rune(0x2992), true
			case "range": 
				// REVERSED ANGLE WITH UNDERBAR
				return rune(0x29a5), true
			case "rangle": 
				// MATHEMATICAL RIGHT ANGLE BRACKET
				return rune(0x27e9), true
			case "raquo": 
				// RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
				return rune(0xbb), true
			case "rarr2": 
				// RIGHTWARDS PAIRED ARROWS
				return rune(0x21c9), true
			case "rarr3": 
				// THREE RIGHTWARDS ARROWS
				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
				return rune(0x2975), true
			case "rarrbfs": 
				// RIGHTWARDS ARROW FROM BAR TO BLACK DIAMOND
				return rune(0x2920), true
			case "rarrc": 
				// WAVE ARROW POINTING DIRECTLY RIGHT
				return rune(0x2933), true
			case "rarrfs": 
				// RIGHTWARDS ARROW TO BLACK DIAMOND
				return rune(0x291e), true
			case "rarrpl": 
				// RIGHTWARDS ARROW WITH PLUS BELOW
				return rune(0x2945), true
			case "rarrsim": 
				// RIGHTWARDS ARROW ABOVE TILDE OPERATOR
				return rune(0x2974), true
			case "rarrx": 
				// RIGHTWARDS ARROW THROUGH X
				return rune(0x2947), true
			case "ratail": 
				// RIGHTWARDS ARROW-TAIL
				return rune(0x291a), true
			case "ratio": 
				// RATIO
				return rune(0x2236), true
			case "rationals": 
				// DOUBLE-STRUCK CAPITAL Q
				return rune(0x211a), true
			case "rbarr": 
				// RIGHTWARDS DOUBLE DASH ARROW
				return rune(0x290d), true
			case "rbbrk": 
				// LIGHT RIGHT TORTOISE SHELL BRACKET ORNAMENT
				return rune(0x2773), true
			case "rbrace": 
				// RIGHT CURLY BRACKET
				return rune(0x7d), true
			case "rbrack": 
				// RIGHT SQUARE BRACKET
				return rune(0x5d), true
			case "rbrke": 
				// RIGHT SQUARE BRACKET WITH UNDERBAR
				return rune(0x298c), true
			case "rbrksld": 
				// RIGHT SQUARE BRACKET WITH TICK IN BOTTOM CORNER
				return rune(0x298e), true
			case "rbrkslu": 
				// RIGHT SQUARE BRACKET WITH TICK IN TOP CORNER
				return rune(0x2990), true
			case "rcaron": 
				// LATIN SMALL LETTER R WITH CARON
				return rune(0x0159), true
			case "rcedil": 
				// LATIN SMALL LETTER R WITH CEDILLA
				return rune(0x0157), true
			case "rceil": 
				// RIGHT CEILING
				return rune(0x2309), true
			case "rcub": 
				// RIGHT CURLY BRACKET
				return rune(0x7d), true
			case "rcy": 
				// CYRILLIC SMALL LETTER ER
				return rune(0x0440), true
			case "rdca": 
				// ARROW POINTING DOWNWARDS THEN CURVING RIGHTWARDS
				return rune(0x2937), true
			case "rdharb": 
				// RIGHTWARDS HARPOON WITH BARB DOWN TO BAR
				return rune(0x2957), true
			case "rdiag": 
				// BOX DRAWINGS LIGHT DIAGONAL UPPER RIGHT TO LOWER LEFT
				return rune(0x2571), true
			case "rdiofdi": 
				// RISING DIAGONAL CROSSING FALLING DIAGONAL
				return rune(0x292b), true
			case "rdldhar": 
				// RIGHTWARDS HARPOON WITH BARB DOWN ABOVE LEFTWARDS HARPOON WITH BARB DOWN
				return rune(0x2969), true
			case "rdosearr": 
				// RISING DIAGONAL CROSSING SOUTH EAST ARROW
				return rune(0x2930), true
			case "rdquor": 
				// RIGHT DOUBLE QUOTATION MARK
				return rune(0x201d), true
			case "rdquo": 
				// RIGHT DOUBLE QUOTATION MARK
				return rune(0x201d), true
			case "rdsh": 
				// DOWNWARDS ARROW WITH TIP RIGHTWARDS
				return rune(0x21b3), true
			case "realpart": 
				// BLACK-LETTER CAPITAL R
				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
				return rune(0x211b), true
			case "rect": 
				// WHITE RECTANGLE
				return rune(0x25ad), true
			case "reg": 
				// REGISTERED SIGN
				return rune(0xae), true
			case "rfbowtie": 
				// BOWTIE WITH RIGHT HALF BLACK
				return rune(0x29d2), true
			case "rfisht": 
				// RIGHT FISH TAIL
				return rune(0x297d), true
			case "rfloor": 
				// RIGHT FLOOR
				return rune(0x230b), true
			case "rfr": 
				// MATHEMATICAL FRAKTUR SMALL R
				return rune(0x01d52f), true
			case "rftimes": 
				// TIMES WITH RIGHT HALF BLACK
				return rune(0x29d5), true
			case "rgr": 
				// GREEK SMALL LETTER RHO
				return rune(0x03c1), true
			case "rhard": 
				// RIGHTWARDS HARPOON WITH BARB DOWNWARDS
				return rune(0x21c1), true
			case "rharu": 
				// RIGHTWARDS HARPOON WITH BARB UPWARDS
				return rune(0x21c0), true
			case "rharul": 
				// RIGHTWARDS HARPOON WITH BARB UP ABOVE LONG DASH
				return rune(0x296c), true
			case "rhov": 
				// GREEK RHO SYMBOL
				return rune(0x03f1), true
			case "rho": 
				// GREEK SMALL LETTER RHO
				return rune(0x03c1), true
			case "rightarrowtail": 
				// RIGHTWARDS ARROW WITH TAIL
				return rune(0x21a3), true
			case "rightarrow": 
				// RIGHTWARDS ARROW
				return rune(0x2192), true
			case "rightharpoondown": 
				// RIGHTWARDS HARPOON WITH BARB DOWNWARDS
				return rune(0x21c1), true
			case "rightharpoonup": 
				// RIGHTWARDS HARPOON WITH BARB UPWARDS
				return rune(0x21c0), true
			case "rightleftarrows": 
				// RIGHTWARDS ARROW OVER LEFTWARDS ARROW
				return rune(0x21c4), true
			case "rightleftharpoons": 
				// RIGHTWARDS HARPOON OVER LEFTWARDS HARPOON
				return rune(0x21cc), true
			case "rightrightarrows": 
				// RIGHTWARDS PAIRED ARROWS
				return rune(0x21c9), true
			case "rightsquigarrow": 
				// RIGHTWARDS WAVE ARROW
				return rune(0x219d), true
			case "rightthreetimes": 
				// RIGHT SEMIDIRECT PRODUCT
				return rune(0x22cc), true
			case "rimply": 
				// RIGHT DOUBLE ARROW WITH ROUNDED HEAD
				return rune(0x2970), true
			case "ring": 
				// RING ABOVE
				return rune(0x02da), true
			case "risingdotseq": 
				// IMAGE OF OR APPROXIMATELY EQUAL TO
				return rune(0x2253), true
			case "rlarr2": 
				// RIGHTWARDS ARROW OVER LEFTWARDS ARROW
				return rune(0x21c4), true
			case "rlarr": 
				// RIGHTWARDS ARROW OVER LEFTWARDS ARROW
				return rune(0x21c4), true
			case "rlhar": 
				// RIGHTWARDS HARPOON OVER LEFTWARDS HARPOON
				return rune(0x21cc), true
			case "rlhar2": 
				// RIGHTWARDS HARPOON OVER LEFTWARDS HARPOON
				return rune(0x21cc), true
			case "rlm": 
				// RIGHT-TO-LEFT MARK
				return rune(0x200f), true
			case "rmoust": 
				// UPPER RIGHT OR LOWER LEFT CURLY BRACKET SECTION
				return rune(0x23b1), true
			case "rmoustache": 
				// UPPER RIGHT OR LOWER LEFT CURLY BRACKET SECTION
				return rune(0x23b1), true
			case "rnmid": 
				// DOES NOT DIVIDE WITH REVERSED NEGATION SLASH
				return rune(0x2aee), true
			case "roang": 
				// MATHEMATICAL RIGHT WHITE TORTOISE SHELL BRACKET
				return rune(0x27ed), true
			case "roarr": 
				// RIGHTWARDS OPEN-HEADED ARROW
				return rune(0x21fe), true
			case "robrk": 
				// MATHEMATICAL RIGHT WHITE SQUARE BRACKET
				return rune(0x27e7), true
			case "rocub": 
				// RIGHT WHITE CURLY BRACKET
				return rune(0x2984), true
			case "ropar": 
				// RIGHT WHITE PARENTHESIS
				return rune(0x2986), true
			case "ropf": 
				// MATHEMATICAL DOUBLE-STRUCK SMALL R
				return rune(0x01d563), true
			case "roplus": 
				// PLUS SIGN IN RIGHT HALF CIRCLE
				return rune(0x2a2e), true
			case "rotimes": 
				// MULTIPLICATION SIGN IN RIGHT HALF CIRCLE
				return rune(0x2a35), true
			case "rpargt": 
				// RIGHT ARC GREATER-THAN BRACKET
				return rune(0x2994), true
			case "rpar": 
				// RIGHT PARENTHESIS
				return rune(0x29), true
			case "rppolint": 
				// LINE INTEGRATION WITH RECTANGULAR PATH AROUND POLE
				return rune(0x2a12), true
			case "rrarr": 
				// RIGHTWARDS PAIRED ARROWS
				return rune(0x21c9), true
			case "rsaquo": 
				// SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
				return rune(0x203a), true
			case "rscr": 
				// MATHEMATICAL SCRIPT SMALL R
				return rune(0x01d4c7), true
			case "rsh": 
				// UPWARDS ARROW WITH TIP RIGHTWARDS
				return rune(0x21b1), true
			case "rsolbar": 
				// REVERSE SOLIDUS WITH HORIZONTAL STROKE
				return rune(0x29f7), true
			case "rsqb": 
				// RIGHT SQUARE BRACKET
				return rune(0x5d), true
			case "rsquor": 
				// RIGHT SINGLE QUOTATION MARK
				return rune(0x2019), true
			case "rsquo": 
				// RIGHT SINGLE QUOTATION MARK
				return rune(0x2019), true
			case "rthree": 
				// RIGHT SEMIDIRECT PRODUCT
				return rune(0x22cc), true
			case "rtimes": 
				// RIGHT NORMAL FACTOR SEMIDIRECT PRODUCT
				return rune(0x22ca), true
			case "rtrie": 
				// CONTAINS AS NORMAL SUBGROUP OR EQUAL TO
				return rune(0x22b5), true
			case "rtrif": 
				// BLACK RIGHT-POINTING SMALL TRIANGLE
				return rune(0x25b8), true
			case "rtri": 
				// WHITE RIGHT-POINTING SMALL TRIANGLE
				return rune(0x25b9), true
			case "rtriltri": 
				// RIGHT TRIANGLE ABOVE LEFT TRIANGLE
				return rune(0x29ce), true
			case "ruharb": 
				// RIGHTWARDS HARPOON WITH BARB UP TO BAR
				return rune(0x2953), true
			case "ruluhar": 
				// RIGHTWARDS HARPOON WITH BARB UP ABOVE LEFTWARDS HARPOON WITH BARB UP
				return rune(0x2968), true
			case "rx": 
				// PRESCRIPTION TAKE
				return rune(0x211e), true
		}

	case 's':
		switch name {
			case "sacute": 
				// LATIN SMALL LETTER S WITH ACUTE
				return rune(0x015b), true
			case "samalg": 
				// N-ARY COPRODUCT
				return rune(0x2210), true
			case "sampi": 
				// GREEK LETTER SAMPI
				return rune(0x03e0), true
			case "sbquo": 
				// SINGLE LOW-9 QUOTATION MARK
				return rune(0x201a), true
			case "sbsol": 
				// SMALL REVERSE SOLIDUS
				return rune(0xfe68), true
			case "sc": 
				// SUCCEEDS
				return rune(0x227b), true
			case "scE": 
				// SUCCEEDS ABOVE EQUALS SIGN
				return rune(0x2ab4), true
			case "scap": 
				// SUCCEEDS ABOVE ALMOST EQUAL TO
				return rune(0x2ab8), true
			case "scaron": 
				// LATIN SMALL LETTER S WITH CARON
				return rune(0x0161), true
			case "sccue": 
				// SUCCEEDS OR EQUAL TO
				return rune(0x227d), true
			case "scedil": 
				// LATIN SMALL LETTER S WITH CEDILLA
				return rune(0x015f), true
			case "sce": 
				// SUCCEEDS ABOVE SINGLE-LINE EQUALS SIGN
				return rune(0x2ab0), true
			case "scirc": 
				// LATIN SMALL LETTER S WITH CIRCUMFLEX
				return rune(0x015d), true
			case "scnE": 
				// SUCCEEDS ABOVE NOT EQUAL TO
				return rune(0x2ab6), true
			case "scnap": 
				// SUCCEEDS ABOVE NOT ALMOST EQUAL TO
				return rune(0x2aba), true
			case "scnsim": 
				// SUCCEEDS BUT NOT EQUIVALENT TO
				return rune(0x22e9), true
			case "scpolint": 
				// LINE INTEGRATION WITH SEMICIRCULAR PATH AROUND POLE
				return rune(0x2a13), true
			case "scsim": 
				// SUCCEEDS OR EQUIVALENT TO
				return rune(0x227f), true
			case "scy": 
				// CYRILLIC SMALL LETTER ES
				return rune(0x0441), true
			case "sdotb": 
				// SQUARED DOT OPERATOR
				return rune(0x22a1), true
			case "sdot": 
				// DOT OPERATOR
				return rune(0x22c5), true
			case "sdote": 
				// EQUALS SIGN WITH DOT BELOW
				return rune(0x2a66), true
			case "seArr": 
				// SOUTH EAST DOUBLE ARROW
				return rune(0x21d8), true
			case "searhk": 
				// SOUTH EAST ARROW WITH HOOK
				return rune(0x2925), true
			case "searrow": 
				// SOUTH EAST ARROW
				return rune(0x2198), true
			case "searr": 
				// SOUTH EAST ARROW
				return rune(0x2198), true
			case "sect": 
				// SECTION SIGN
				return rune(0xa7), true
			case "semi": 
				// SEMICOLON
				return rune(0x3b), true
			case "seonearr": 
				// SOUTH EAST ARROW CROSSING NORTH EAST ARROW
				return rune(0x292d), true
			case "seswar": 
				// SOUTH EAST ARROW AND SOUTH WEST ARROW
				return rune(0x2929), true
			case "setminus": 
				// SET MINUS
				return rune(0x2216), true
			case "setmn": 
				// SET MINUS
				return rune(0x2216), true
			case "sext": 
				// SIX POINTED BLACK STAR
				return rune(0x2736), true
			case "sfgr": 
				// GREEK SMALL LETTER FINAL SIGMA
				return rune(0x03c2), true
			case "sfrown": 
				// FROWN
				return rune(0x2322), true
			case "sfr": 
				// MATHEMATICAL FRAKTUR SMALL S
				return rune(0x01d530), true
			case "sgr": 
				// GREEK SMALL LETTER SIGMA
				return rune(0x03c3), true
			case "sharp": 
				// MUSIC SHARP SIGN
				return rune(0x266f), true
			case "shchcy": 
				// CYRILLIC SMALL LETTER SHCHA
				return rune(0x0449), true
			case "shcy": 
				// CYRILLIC SMALL LETTER SHA
				return rune(0x0448), true
			case "shortmid": 
				// DIVIDES
				return rune(0x2223), true
			case "shortparallel": 
				// PARALLEL TO
				return rune(0x2225), true
			case "shuffle": 
				// SHUFFLE PRODUCT
				return rune(0x29e2), true
			case "shy": 
				// SOFT HYPHEN
				return rune(0xad), true
			case "sigma": 
				// GREEK SMALL LETTER SIGMA
				return rune(0x03c3), true
			case "sigmaf": 
				// GREEK SMALL LETTER FINAL SIGMA
				return rune(0x03c2), true
			case "sigmav": 
				// GREEK SMALL LETTER FINAL SIGMA
				return rune(0x03c2), true
			case "sim": 
				// TILDE OPERATOR
				return rune(0x223c), true
			case "simdot": 
				// TILDE OPERATOR WITH DOT ABOVE
				return rune(0x2a6a), true
			case "sime": 
				// ASYMPTOTICALLY EQUAL TO
				return rune(0x2243), true
			case "simeq": 
				// ASYMPTOTICALLY EQUAL TO
				return rune(0x2243), true
			case "simg": 
				// SIMILAR OR GREATER-THAN
				return rune(0x2a9e), true
			case "simgE": 
				// SIMILAR ABOVE GREATER-THAN ABOVE EQUALS SIGN
				return rune(0x2aa0), true
			case "siml": 
				// SIMILAR OR LESS-THAN
				return rune(0x2a9d), true
			case "simlE": 
				// SIMILAR ABOVE LESS-THAN ABOVE EQUALS SIGN
				return rune(0x2a9f), true
			case "simne": 
				// APPROXIMATELY BUT NOT ACTUALLY EQUAL TO
				return rune(0x2246), true
			case "simplus": 
				// PLUS SIGN WITH TILDE ABOVE
				return rune(0x2a24), true
			case "simrarr": 
				// TILDE OPERATOR ABOVE RIGHTWARDS ARROW
				return rune(0x2972), true
			case "slarr": 
				// LEFTWARDS ARROW
				return rune(0x2190), true
			case "slint": 
				// INTEGRAL AVERAGE WITH SLASH
				return rune(0x2a0f), true
			case "smallsetminus": 
				// SET MINUS
				return rune(0x2216), true
			case "smashp": 
				// SMASH PRODUCT
				return rune(0x2a33), true
			case "smeparsl": 
				// EQUALS SIGN AND SLANTED PARALLEL WITH TILDE ABOVE
				return rune(0x29e4), true
			case "smid": 
				// DIVIDES
				return rune(0x2223), true
			case "smile": 
				// SMILE
				return rune(0x2323), true
			case "smt": 
				// SMALLER THAN
				return rune(0x2aaa), true
			case "smte": 
				// SMALLER THAN OR EQUAL TO
				return rune(0x2aac), true
			case "smtes": 
				// SMALLER THAN OR slanted EQUAL
				return rune(0x2aac), true
			case "softcy": 
				// CYRILLIC SMALL LETTER SOFT SIGN
				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
				return rune(0x2f), true
			case "sopf": 
				// MATHEMATICAL DOUBLE-STRUCK SMALL S
				return rune(0x01d564), true
			case "spades": 
				// BLACK SPADE SUIT
				return rune(0x2660), true
			case "spadesuit": 
				// BLACK SPADE SUIT
				return rune(0x2660), true
			case "spar": 
				// PARALLEL TO
				return rune(0x2225), true
			case "sqcap": 
				// SQUARE CAP
				return rune(0x2293), true
			case "sqcaps": 
				// SQUARE CAP with serifs
				return rune(0x2293), true
			case "sqcup": 
				// SQUARE CUP
				return rune(0x2294), true
			case "sqcups": 
				// SQUARE CUP with serifs
				return rune(0x2294), true
			case "sqsub": 
				// SQUARE IMAGE OF
				return rune(0x228f), true
			case "sqsube": 
				// SQUARE IMAGE OF OR EQUAL TO
				return rune(0x2291), true
			case "sqsubset": 
				// SQUARE IMAGE OF
				return rune(0x228f), true
			case "sqsubseteq": 
				// SQUARE IMAGE OF OR EQUAL TO
				return rune(0x2291), true
			case "sqsup": 
				// SQUARE ORIGINAL OF
				return rune(0x2290), true
			case "sqsupe": 
				// SQUARE ORIGINAL OF OR EQUAL TO
				return rune(0x2292), true
			case "sqsupset": 
				// SQUARE ORIGINAL OF
				return rune(0x2290), true
			case "sqsupseteq": 
				// SQUARE ORIGINAL OF OR EQUAL TO
				return rune(0x2292), true
			case "squ": 
				// WHITE SQUARE
				return rune(0x25a1), true
			case "square": 
				// WHITE SQUARE
				return rune(0x25a1), true
			case "squarf": 
				// BLACK SMALL SQUARE
				return rune(0x25aa), true
			case "squb": 
				// SQUARED SQUARE
				return rune(0x29c8), true
			case "squerr": 
				// ERROR-BARRED WHITE SQUARE
				return rune(0x29ee), true
			case "squf": 
				// BLACK SMALL SQUARE
				return rune(0x25aa), true
			case "squferr": 
				// ERROR-BARRED BLACK SQUARE
				return rune(0x29ef), true
			case "srarr": 
				// RIGHTWARDS ARROW
				return rune(0x2192), true
			case "sscr": 
				// MATHEMATICAL SCRIPT SMALL S
				return rune(0x01d4c8), true
			case "ssetmn": 
				// SET MINUS
				return rune(0x2216), true
			case "ssmile": 
				// SMILE
				return rune(0x2323), true
			case "sstarf": 
				// STAR OPERATOR
				return rune(0x22c6), true
			case "starf": 
				// BLACK STAR
				return rune(0x2605), true
			case "star": 
				// WHITE STAR
				return rune(0x2606), true
			case "stigma": 
				// GREEK LETTER STIGMA
				return rune(0x03da), true
			case "straightepsilon": 
				// GREEK LUNATE EPSILON SYMBOL
				return rune(0x03f5), true
			case "straightphi": 
				// GREEK PHI SYMBOL
				return rune(0x03d5), true
			case "strns": 
				// MACRON
				return rune(0xaf), true
			case "sub": 
				// SUBSET OF
				return rune(0x2282), true
			case "subE": 
				// SUBSET OF ABOVE EQUALS SIGN
				return rune(0x2ac5), true
			case "subdot": 
				// SUBSET WITH DOT
				return rune(0x2abd), true
			case "sube": 
				// SUBSET OF OR EQUAL TO
				return rune(0x2286), true
			case "subedot": 
				// SUBSET OF OR EQUAL TO WITH DOT ABOVE
				return rune(0x2ac3), true
			case "submult": 
				// SUBSET WITH MULTIPLICATION SIGN BELOW
				return rune(0x2ac1), true
			case "subnE": 
				// SUBSET OF ABOVE NOT EQUAL TO
				return rune(0x2acb), true
			case "subne": 
				// SUBSET OF WITH NOT EQUAL TO
				return rune(0x228a), true
			case "subplus": 
				// SUBSET WITH PLUS SIGN BELOW
				return rune(0x2abf), true
			case "subrarr": 
				// SUBSET ABOVE RIGHTWARDS ARROW
				return rune(0x2979), true
			case "subset": 
				// SUBSET OF
				return rune(0x2282), true
			case "subseteq": 
				// SUBSET OF OR EQUAL TO
				return rune(0x2286), true
			case "subseteqq": 
				// SUBSET OF ABOVE EQUALS SIGN
				return rune(0x2ac5), true
			case "subsetneq": 
				// SUBSET OF WITH NOT EQUAL TO
				return rune(0x228a), true
			case "subsetneqq": 
				// SUBSET OF ABOVE NOT EQUAL TO
				return rune(0x2acb), true
			case "subsim": 
				// SUBSET OF ABOVE TILDE OPERATOR
				return rune(0x2ac7), true
			case "subsub": 
				// SUBSET ABOVE SUBSET
				return rune(0x2ad5), true
			case "subsup": 
				// SUBSET ABOVE SUPERSET
				return rune(0x2ad3), true
			case "succ": 
				// SUCCEEDS
				return rune(0x227b), true
			case "succapprox": 
				// SUCCEEDS ABOVE ALMOST EQUAL TO
				return rune(0x2ab8), true
			case "succcurlyeq": 
				// SUCCEEDS OR EQUAL TO
				return rune(0x227d), true
			case "succeq": 
				// SUCCEEDS ABOVE SINGLE-LINE EQUALS SIGN
				return rune(0x2ab0), true
			case "succnapprox": 
				// SUCCEEDS ABOVE NOT ALMOST EQUAL TO
				return rune(0x2aba), true
			case "succneqq": 
				// SUCCEEDS ABOVE NOT EQUAL TO
				return rune(0x2ab6), true
			case "succnsim": 
				// SUCCEEDS BUT NOT EQUIVALENT TO
				return rune(0x22e9), true
			case "succsim": 
				// SUCCEEDS OR EQUIVALENT TO
				return rune(0x227f), true
			case "sum": 
				// N-ARY SUMMATION
				return rune(0x2211), true
			case "sumint": 
				// SUMMATION WITH INTEGRAL
				return rune(0x2a0b), true
			case "sung": 
				// EIGHTH NOTE
				return rune(0x266a), true
			case "sup": 
				// SUPERSET OF
				return rune(0x2283), true
			case "sup1": 
				// SUPERSCRIPT ONE
				return rune(0xb9), true
			case "sup2": 
				// SUPERSCRIPT TWO
				return rune(0xb2), true
			case "sup3": 
				// SUPERSCRIPT THREE
				return rune(0xb3), true
			case "supE": 
				// SUPERSET OF ABOVE EQUALS SIGN
				return rune(0x2ac6), true
			case "supdot": 
				// SUPERSET WITH DOT
				return rune(0x2abe), true
			case "supdsub": 
				// SUPERSET BESIDE AND JOINED BY DASH WITH SUBSET
				return rune(0x2ad8), true
			case "supe": 
				// SUPERSET OF OR EQUAL TO
				return rune(0x2287), true
			case "supedot": 
				// SUPERSET OF OR EQUAL TO WITH DOT ABOVE
				return rune(0x2ac4), true
			case "suphsol": 
				// SUPERSET PRECEDING SOLIDUS
				return rune(0x27c9), true
			case "suphsub": 
				// SUPERSET BESIDE SUBSET
				return rune(0x2ad7), true
			case "suplarr": 
				// SUPERSET ABOVE LEFTWARDS ARROW
				return rune(0x297b), true
			case "supmult": 
				// SUPERSET WITH MULTIPLICATION SIGN BELOW
				return rune(0x2ac2), true
			case "supnE": 
				// SUPERSET OF ABOVE NOT EQUAL TO
				return rune(0x2acc), true
			case "supne": 
				// SUPERSET OF WITH NOT EQUAL TO
				return rune(0x228b), true
			case "supplus": 
				// SUPERSET WITH PLUS SIGN BELOW
				return rune(0x2ac0), true
			case "supset": 
				// SUPERSET OF
				return rune(0x2283), true
			case "supseteq": 
				// SUPERSET OF OR EQUAL TO
				return rune(0x2287), true
			case "supseteqq": 
				// SUPERSET OF ABOVE EQUALS SIGN
				return rune(0x2ac6), true
			case "supsetneq": 
				// SUPERSET OF WITH NOT EQUAL TO
				return rune(0x228b), true
			case "supsetneqq": 
				// SUPERSET OF ABOVE NOT EQUAL TO
				return rune(0x2acc), true
			case "supsim": 
				// SUPERSET OF ABOVE TILDE OPERATOR
				return rune(0x2ac8), true
			case "supsub": 
				// SUPERSET ABOVE SUBSET
				return rune(0x2ad4), true
			case "supsup": 
				// SUPERSET ABOVE SUPERSET
				return rune(0x2ad6), true
			case "swArr": 
				// SOUTH WEST DOUBLE ARROW
				return rune(0x21d9), true
			case "swarhk": 
				// SOUTH WEST ARROW WITH HOOK
				return rune(0x2926), true
			case "swarrow": 
				// SOUTH WEST ARROW
				return rune(0x2199), true
			case "swarr": 
				// SOUTH WEST ARROW
				return rune(0x2199), true
			case "swnwar": 
				// SOUTH WEST ARROW AND NORTH WEST ARROW
				return rune(0x292a), true
			case "szlig": 
				// LATIN SMALL LETTER SHARP S
				return rune(0xdf), true
		}

	case 't':
		switch name {
			case "target": 
				// POSITION INDICATOR
				return rune(0x2316), true
			case "tau": 
				// GREEK SMALL LETTER TAU
				return rune(0x03c4), true
			case "tbrk": 
				// TOP SQUARE BRACKET
				return rune(0x23b4), true
			case "tcaron": 
				// LATIN SMALL LETTER T WITH CARON
				return rune(0x0165), true
			case "tcedil": 
				// LATIN SMALL LETTER T WITH CEDILLA
				return rune(0x0163), true
			case "tcy": 
				// CYRILLIC SMALL LETTER TE
				return rune(0x0442), true
			case "tdot": 
				// COMBINING THREE DOTS ABOVE
				return rune(0x20db), true
			case "telrec": 
				// TELEPHONE RECORDER
				return rune(0x2315), true
			case "tfr": 
				// MATHEMATICAL FRAKTUR SMALL T
				return rune(0x01d531), true
			case "tgr": 
				// GREEK SMALL LETTER TAU
				return rune(0x03c4), true
			case "there4": 
				// THEREFORE
				return rune(0x2234), true
			case "therefore": 
				// THEREFORE
				return rune(0x2234), true
			case "thermod": 
				// THERMODYNAMIC
				return rune(0x29e7), true
			case "thetasym": 
				// GREEK THETA SYMBOL
				return rune(0x03d1), true
			case "thetas": 
				// GREEK SMALL LETTER THETA
				return rune(0x03b8), true
			case "thetav": 
				// GREEK THETA SYMBOL
				return rune(0x03d1), true
			case "theta": 
				// GREEK SMALL LETTER THETA
				return rune(0x03b8), true
			case "thgr": 
				// GREEK SMALL LETTER THETA
				return rune(0x03b8), true
			case "thickapprox": 
				// ALMOST EQUAL TO
				return rune(0x2248), true
			case "thicksim": 
				// TILDE OPERATOR
				return rune(0x223c), true
			case "thinsp": 
				// THIN SPACE
				return rune(0x2009), true
			case "thkap": 
				// ALMOST EQUAL TO
				return rune(0x2248), true
			case "thksim": 
				// TILDE OPERATOR
				return rune(0x223c), true
			case "thorn": 
				// LATIN SMALL LETTER THORN
				return rune(0xfe), true
			case "tilde": 
				// SMALL TILDE
				return rune(0x02dc), true
			case "timeint": 
				// INTEGRAL WITH TIMES SIGN
				return rune(0x2a18), true
			case "timesb": 
				// SQUARED TIMES
				return rune(0x22a0), true
			case "timesbar": 
				// MULTIPLICATION SIGN WITH UNDERBAR
				return rune(0x2a31), true
			case "timesd": 
				// MULTIPLICATION SIGN WITH DOT ABOVE
				return rune(0x2a30), true
			case "times": 
				// MULTIPLICATION SIGN
				return rune(0xd7), true
			case "tint": 
				// TRIPLE INTEGRAL
				return rune(0x222d), true
			case "toea": 
				// NORTH EAST ARROW AND SOUTH EAST ARROW
				return rune(0x2928), true
			case "top": 
				// DOWN TACK
				return rune(0x22a4), true
			case "topbot": 
				// APL FUNCTIONAL SYMBOL I-BEAM
				return rune(0x2336), true
			case "topcir": 
				// DOWN TACK WITH CIRCLE BELOW
				return rune(0x2af1), true
			case "topfork": 
				// PITCHFORK WITH TEE TOP
				return rune(0x2ada), true
			case "topf": 
				// MATHEMATICAL DOUBLE-STRUCK SMALL T
				return rune(0x01d565), true
			case "tosa": 
				// SOUTH EAST ARROW AND SOUTH WEST ARROW
				return rune(0x2929), true
			case "tprime": 
				// TRIPLE PRIME
				return rune(0x2034), true
			case "trade": 
				// TRADE MARK SIGN
				return rune(0x2122), true
			case "triS": 
				// S IN TRIANGLE
				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
				return rune(0x25b5), true
			case "triangledown": 
				// WHITE DOWN-POINTING SMALL TRIANGLE
				return rune(0x25bf), true
			case "triangleleft": 
				// WHITE LEFT-POINTING SMALL TRIANGLE
				return rune(0x25c3), true
			case "triangleright": 
				// WHITE RIGHT-POINTING SMALL TRIANGLE
				return rune(0x25b9), true
			case "tribar": 
				// TRIANGLE WITH UNDERBAR
				return rune(0x29cb), true
			case "tridot": 
				// WHITE UP-POINTING TRIANGLE WITH DOT
				return rune(0x25ec), true
			case "tridoto": 
				// TRIANGLE WITH DOT ABOVE
				return rune(0x29ca), true
			case "trie": 
				// DELTA EQUAL TO
				return rune(0x225c), true
			case "triminus": 
				// MINUS SIGN IN TRIANGLE
				return rune(0x2a3a), true
			case "triplus": 
				// PLUS SIGN IN TRIANGLE
				return rune(0x2a39), true
			case "trisb": 
				// TRIANGLE WITH SERIFS AT BOTTOM
				return rune(0x29cd), true
			case "tritime": 
				// MULTIPLICATION SIGN IN TRIANGLE
				return rune(0x2a3b), true
			case "trpezium": 
				// WHITE TRAPEZIUM
				return rune(0x23e2), true
			case "tscr": 
				// MATHEMATICAL SCRIPT SMALL T
				return rune(0x01d4c9), true
			case "tscy": 
				// CYRILLIC SMALL LETTER TSE
				return rune(0x0446), true
			case "tshcy": 
				// CYRILLIC SMALL LETTER TSHE
				return rune(0x045b), true
			case "tstrok": 
				// LATIN SMALL LETTER T WITH STROKE
				return rune(0x0167), true
			case "tverbar": 
				// TRIPLE VERTICAL BAR DELIMITER
				return rune(0x2980), true
			case "twixt": 
				// BETWEEN
				return rune(0x226c), true
			case "twoheadleftarrow": 
				// LEFTWARDS TWO HEADED ARROW
				return rune(0x219e), true
			case "twoheadrightarrow": 
				// RIGHTWARDS TWO HEADED ARROW
				return rune(0x21a0), true
		}

	case 'u':
		switch name {
			case "uAarr": 
				// UPWARDS TRIPLE ARROW
				return rune(0x290a), true
			case "uArr": 
				// UPWARDS DOUBLE ARROW
				return rune(0x21d1), true
			case "uHar": 
				// UPWARDS HARPOON WITH BARB LEFT BESIDE UPWARDS HARPOON WITH BARB RIGHT
				return rune(0x2963), true
			case "uacgr": 
				// GREEK SMALL LETTER UPSILON WITH TONOS
				return rune(0x03cd), true
			case "uacute": 
				// LATIN SMALL LETTER U WITH ACUTE
				return rune(0xfa), true
			case "uarr2": 
				// UPWARDS PAIRED ARROWS
				return rune(0x21c8), true
			case "uarr": 
				// UPWARDS ARROW
				return rune(0x2191), true
			case "uarrb": 
				// UPWARDS ARROW TO BAR
				return rune(0x2912), true
			case "uarrln": 
				// UPWARDS ARROW WITH HORIZONTAL STROKE
				return rune(0x2909), true
			case "ubrcy": 
				// CYRILLIC SMALL LETTER SHORT U
				return rune(0x045e), true
			case "ubreve": 
				// LATIN SMALL LETTER U WITH BREVE
				return rune(0x016d), true
			case "ucirc": 
				// LATIN SMALL LETTER U WITH CIRCUMFLEX
				return rune(0xfb), true
			case "ucy": 
				// CYRILLIC SMALL LETTER U
				return rune(0x0443), true
			case "udarr": 
				// UPWARDS ARROW LEFTWARDS OF DOWNWARDS ARROW
				return rune(0x21c5), true
			case "udblac": 
				// LATIN SMALL LETTER U WITH DOUBLE ACUTE
				return rune(0x0171), true
			case "udhar": 
				// UPWARDS HARPOON WITH BARB LEFT BESIDE DOWNWARDS HARPOON WITH BARB RIGHT
				return rune(0x296e), true
			case "udiagr": 
				// GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS
				return rune(0x03b0), true
			case "udigr": 
				// GREEK SMALL LETTER UPSILON WITH DIALYTIKA
				return rune(0x03cb), true
			case "udrbrk": 
				// BOTTOM SQUARE BRACKET
				return rune(0x23b5), true
			case "udrcub": 
				// BOTTOM CURLY BRACKET
				return rune(0x23df), true
			case "udrpar": 
				// BOTTOM PARENTHESIS
				return rune(0x23dd), true
			case "ufisht": 
				// UP FISH TAIL
				return rune(0x297e), true
			case "ufr": 
				// MATHEMATICAL FRAKTUR SMALL U
				return rune(0x01d532), true
			case "ugr": 
				// GREEK SMALL LETTER UPSILON
				return rune(0x03c5), true
			case "ugrave": 
				// LATIN SMALL LETTER U WITH GRAVE
				return rune(0xf9), true
			case "uharl": 
				// UPWARDS HARPOON WITH BARB LEFTWARDS
				return rune(0x21bf), true
			case "uharr": 
				// UPWARDS HARPOON WITH BARB RIGHTWARDS
				return rune(0x21be), true
			case "uhblk": 
				// UPPER HALF BLOCK
				return rune(0x2580), true
			case "ulcorn": 
				// TOP LEFT CORNER
				return rune(0x231c), true
			case "ulcorner": 
				// TOP LEFT CORNER
				return rune(0x231c), true
			case "ulcrop": 
				// TOP LEFT CROP
				return rune(0x230f), true
			case "uldlshar": 
				// UP BARB LEFT DOWN BARB LEFT HARPOON
				return rune(0x2951), true
			case "ulharb": 
				// UPWARDS HARPOON WITH BARB LEFT TO BAR
				return rune(0x2958), true
			case "ultri": 
				// UPPER LEFT TRIANGLE
				return rune(0x25f8), true
			case "umacr": 
				// LATIN SMALL LETTER U WITH MACRON
				return rune(0x016b), true
			case "uml": 
				// DIAERESIS
				return rune(0xa8), true
			case "uogon": 
				// LATIN SMALL LETTER U WITH OGONEK
				return rune(0x0173), true
			case "uopf": 
				// MATHEMATICAL DOUBLE-STRUCK SMALL U
				return rune(0x01d566), true
			case "uparrow": 
				// UPWARDS ARROW
				return rune(0x2191), true
			case "updownarrow": 
				// UP DOWN ARROW
				return rune(0x2195), true
			case "upharpoonleft": 
				// UPWARDS HARPOON WITH BARB LEFTWARDS
				return rune(0x21bf), true
			case "upharpoonright": 
				// UPWARDS HARPOON WITH BARB RIGHTWARDS
				return rune(0x21be), true
			case "upint": 
				// INTEGRAL WITH OVERBAR
				return rune(0x2a1b), true
			case "uplus": 
				// MULTISET UNION
				return rune(0x228e), true
			case "upsih": 
				// GREEK UPSILON WITH HOOK SYMBOL
				return rune(0x03d2), true
			case "upsilon": 
				// GREEK SMALL LETTER UPSILON
				return rune(0x03c5), true
			case "upsi": 
				// GREEK SMALL LETTER UPSILON
				return rune(0x03c5), true
			case "upuparrows": 
				// UPWARDS PAIRED ARROWS
				return rune(0x21c8), true
			case "urcorn": 
				// TOP RIGHT CORNER
				return rune(0x231d), true
			case "urcorner": 
				// TOP RIGHT CORNER
				return rune(0x231d), true
			case "urcrop": 
				// TOP RIGHT CROP
				return rune(0x230e), true
			case "urdrshar": 
				// UP BARB RIGHT DOWN BARB RIGHT HARPOON
				return rune(0x294f), true
			case "urharb": 
				// UPWARDS HARPOON WITH BARB RIGHT TO BAR
				return rune(0x2954), true
			case "uring": 
				// LATIN SMALL LETTER U WITH RING ABOVE
				return rune(0x016f), true
			case "urtrif": 
				// BLACK UPPER RIGHT TRIANGLE
				return rune(0x25e5), true
			case "urtri": 
				// UPPER RIGHT TRIANGLE
				return rune(0x25f9), true
			case "uscr": 
				// MATHEMATICAL SCRIPT SMALL U
				return rune(0x01d4ca), true
			case "utdot": 
				// UP RIGHT DIAGONAL ELLIPSIS
				return rune(0x22f0), true
			case "utilde": 
				// LATIN SMALL LETTER U WITH TILDE
				return rune(0x0169), true
			case "utrif": 
				// BLACK UP-POINTING SMALL TRIANGLE
				return rune(0x25b4), true
			case "utri": 
				// WHITE UP-POINTING SMALL TRIANGLE
				return rune(0x25b5), true
			case "uuarr": 
				// UPWARDS PAIRED ARROWS
				return rune(0x21c8), true
			case "uuml": 
				// LATIN SMALL LETTER U WITH DIAERESIS
				return rune(0xfc), true
			case "uwangle": 
				// OBLIQUE ANGLE OPENING DOWN
				return rune(0x29a7), true
		}

	case 'v':
		switch name {
			case "vArr": 
				// UP DOWN DOUBLE ARROW
				return rune(0x21d5), true
			case "vBar": 
				// SHORT UP TACK WITH UNDERBAR
				return rune(0x2ae8), true
			case "vBarv": 
				// SHORT UP TACK ABOVE SHORT DOWN TACK
				return rune(0x2ae9), true
			case "vDash": 
				// TRUE
				return rune(0x22a8), true
			case "vDdash": 
				// VERTICAL BAR TRIPLE RIGHT TURNSTILE
				return rune(0x2ae2), true
			case "vangrt": 
				// RIGHT ANGLE VARIANT WITH SQUARE
				return rune(0x299c), true
			case "varepsilon": 
				// GREEK LUNATE EPSILON SYMBOL
				return rune(0x03f5), true
			case "varkappa": 
				// GREEK KAPPA SYMBOL
				return rune(0x03f0), true
			case "varnothing": 
				// EMPTY SET
				return rune(0x2205), true
			case "varphi": 
				// GREEK PHI SYMBOL
				return rune(0x03d5), true
			case "varpi": 
				// GREEK PI SYMBOL
				return rune(0x03d6), true
			case "varpropto": 
				// PROPORTIONAL TO
				return rune(0x221d), true
			case "varr": 
				// UP DOWN ARROW
				return rune(0x2195), true
			case "varrho": 
				// GREEK RHO SYMBOL
				return rune(0x03f1), true
			case "varsigma": 
				// GREEK SMALL LETTER FINAL SIGMA
				return rune(0x03c2), true
			case "varsubsetneq": 
				// SUBSET OF WITH NOT EQUAL TO - variant with stroke through bottom members
				return rune(0x228a), true
			case "varsubsetneqq": 
				// SUBSET OF ABOVE NOT EQUAL TO - variant with stroke through bottom members
				return rune(0x2acb), true
			case "varsupsetneq": 
				// SUPERSET OF WITH NOT EQUAL TO - variant with stroke through bottom members
				return rune(0x228b), true
			case "varsupsetneqq": 
				// SUPERSET OF ABOVE NOT EQUAL TO - variant with stroke through bottom members
				return rune(0x2acc), true
			case "vartheta": 
				// GREEK THETA SYMBOL
				return rune(0x03d1), true
			case "vartriangleleft": 
				// NORMAL SUBGROUP OF
				return rune(0x22b2), true
			case "vartriangleright": 
				// CONTAINS AS NORMAL SUBGROUP
				return rune(0x22b3), true
			case "vbrtri": 
				// VERTICAL BAR BESIDE RIGHT TRIANGLE
				return rune(0x29d0), true
			case "vcy": 
				// CYRILLIC SMALL LETTER VE
				return rune(0x0432), true
			case "vdash": 
				// RIGHT TACK
				return rune(0x22a2), true
			case "vee": 
				// LOGICAL OR
				return rune(0x2228), true
			case "veeBar": 
				// LOGICAL OR WITH DOUBLE UNDERBAR
				return rune(0x2a63), true
			case "veebar": 
				// XOR
				return rune(0x22bb), true
			case "veeeq": 
				// EQUIANGULAR TO
				return rune(0x225a), true
			case "vellip": 
				// VERTICAL ELLIPSIS
				return rune(0x22ee), true
			case "vellip4": 
				// DOTTED FENCE
				return rune(0x2999), true
			case "vellipv": 
				// TRIPLE COLON OPERATOR
				return rune(0x2af6), true
			case "verbar": 
				// VERTICAL LINE
				return rune(0x7c), true
			case "vert3": 
				// TRIPLE VERTICAL BAR BINARY RELATION
				return rune(0x2af4), true
			case "vert": 
				// VERTICAL LINE
				return rune(0x7c), true
			case "vfr": 
				// MATHEMATICAL FRAKTUR SMALL V
				return rune(0x01d533), true
			case "vldash": 
				// LEFT SQUARE BRACKET LOWER CORNER
				return rune(0x23a3), true
			case "vltri": 
				// NORMAL SUBGROUP OF
				return rune(0x22b2), true
			case "vnsub": 
				// SUBSET OF with vertical line
				return rune(0x2282), true
			case "vnsup": 
				// SUPERSET OF with vertical line
				return rune(0x2283), true
			case "vopf": 
				// MATHEMATICAL DOUBLE-STRUCK SMALL V
				return rune(0x01d567), true
			case "vprime": 
				// PRIME
				return rune(0x2032), true
			case "vprop": 
				// PROPORTIONAL TO
				return rune(0x221d), true
			case "vrtri": 
				// CONTAINS AS NORMAL SUBGROUP
				return rune(0x22b3), true
			case "vscr": 
				// MATHEMATICAL SCRIPT SMALL V
				return rune(0x01d4cb), true
			case "vsubnE": 
				// SUBSET OF ABOVE NOT EQUAL TO - variant with stroke through bottom members
				return rune(0x2acb), true
			case "vsubne": 
				// SUBSET OF WITH NOT EQUAL TO - variant with stroke through bottom members
				return rune(0x228a), true
			case "vsupnE": 
				// SUPERSET OF ABOVE NOT EQUAL TO - variant with stroke through bottom members
				return rune(0x2acc), true
			case "vsupne": 
				// SUPERSET OF WITH NOT EQUAL TO - variant with stroke through bottom members
				return rune(0x228b), true
			case "vzigzag": 
				// VERTICAL ZIGZAG LINE
				return rune(0x299a), true
		}

	case 'w':
		switch name {
			case "wcirc": 
				// LATIN SMALL LETTER W WITH CIRCUMFLEX
				return rune(0x0175), true
			case "wedbar": 
				// LOGICAL AND WITH UNDERBAR
				return rune(0x2a5f), true
			case "wedge": 
				// LOGICAL AND
				return rune(0x2227), true
			case "wedgeq": 
				// ESTIMATES
				return rune(0x2259), true
			case "weierp": 
				// SCRIPT CAPITAL P
				return rune(0x2118), true
			case "wfr": 
				// MATHEMATICAL FRAKTUR SMALL W
				return rune(0x01d534), true
			case "wopf": 
				// MATHEMATICAL DOUBLE-STRUCK SMALL W
				return rune(0x01d568), true
			case "wp": 
				// SCRIPT CAPITAL P
				return rune(0x2118), true
			case "wreath": 
				// WREATH PRODUCT
				return rune(0x2240), true
			case "wr": 
				// WREATH PRODUCT
				return rune(0x2240), true
			case "wscr": 
				// MATHEMATICAL SCRIPT SMALL W
				return rune(0x01d4cc), true
		}

	case 'x':
		switch name {
			case "xandand": 
				// TWO LOGICAL AND OPERATOR
				return rune(0x2a07), true
			case "xbsol": 
				// BOX DRAWINGS LIGHT DIAGONAL UPPER RIGHT TO LOWER LEFT
				return rune(0x2571), true
			case "xcap": 
				// N-ARY INTERSECTION
				return rune(0x22c2), true
			case "xcirc": 
				// LARGE CIRCLE
				return rune(0x25ef), true
			case "xcup": 
				// N-ARY UNION
				return rune(0x22c3), true
			case "xcupdot": 
				// N-ARY UNION OPERATOR WITH DOT
				return rune(0x2a03), true
			case "xdtri": 
				// WHITE DOWN-POINTING TRIANGLE
				return rune(0x25bd), true
			case "xfr": 
				// MATHEMATICAL FRAKTUR SMALL X
				return rune(0x01d535), true
			case "xgr": 
				// GREEK SMALL LETTER XI
				return rune(0x03be), true
			case "xhArr": 
				// LONG LEFT RIGHT DOUBLE ARROW
				return rune(0x27fa), true
			case "xharr": 
				// LONG LEFT RIGHT ARROW
				return rune(0x27f7), true
			case "xi": 
				// GREEK SMALL LETTER XI
				return rune(0x03be), true
			case "xlArr": 
				// LONG LEFTWARDS DOUBLE ARROW
				return rune(0x27f8), true
			case "xlarr": 
				// LONG LEFTWARDS ARROW
				return rune(0x27f5), true
			case "xmap": 
				// LONG RIGHTWARDS ARROW FROM BAR
				return rune(0x27fc), true
			case "xnis": 
				// CONTAINS WITH VERTICAL BAR AT END OF HORIZONTAL STROKE
				return rune(0x22fb), true
			case "xodot": 
				// N-ARY CIRCLED DOT OPERATOR
				return rune(0x2a00), true
			case "xopf": 
				// MATHEMATICAL DOUBLE-STRUCK SMALL X
				return rune(0x01d569), true
			case "xoplus": 
				// N-ARY CIRCLED PLUS OPERATOR
				return rune(0x2a01), true
			case "xoror": 
				// TWO LOGICAL OR OPERATOR
				return rune(0x2a08), true
			case "xotime": 
				// N-ARY CIRCLED TIMES OPERATOR
				return rune(0x2a02), true
			case "xrArr": 
				// LONG RIGHTWARDS DOUBLE ARROW
				return rune(0x27f9), true
			case "xrarr": 
				// LONG RIGHTWARDS ARROW
				return rune(0x27f6), true
			case "xscr": 
				// MATHEMATICAL SCRIPT SMALL X
				return rune(0x01d4cd), true
			case "xsol": 
				// BOX DRAWINGS LIGHT DIAGONAL UPPER LEFT TO LOWER RIGHT
				return rune(0x2572), true
			case "xsqcap": 
				// N-ARY SQUARE INTERSECTION OPERATOR
				return rune(0x2a05), true
			case "xsqcup": 
				// N-ARY SQUARE UNION OPERATOR
				return rune(0x2a06), true
			case "xsqu": 
				// WHITE MEDIUM SQUARE
				return rune(0x25fb), true
			case "xsquf": 
				// BLACK MEDIUM SQUARE
				return rune(0x25fc), true
			case "xtimes": 
				// N-ARY TIMES OPERATOR
				return rune(0x2a09), true
			case "xuplus": 
				// N-ARY UNION OPERATOR WITH PLUS
				return rune(0x2a04), true
			case "xutri": 
				// WHITE UP-POINTING TRIANGLE
				return rune(0x25b3), true
			case "xvee": 
				// N-ARY LOGICAL OR
				return rune(0x22c1), true
			case "xwedge": 
				// N-ARY LOGICAL AND
				return rune(0x22c0), true
		}

	case 'y':
		switch name {
			case "yacute": 
				// LATIN SMALL LETTER Y WITH ACUTE
				return rune(0xfd), true
			case "yacy": 
				// CYRILLIC SMALL LETTER YA
				return rune(0x044f), true
			case "ycirc": 
				// LATIN SMALL LETTER Y WITH CIRCUMFLEX
				return rune(0x0177), true
			case "ycy": 
				// CYRILLIC SMALL LETTER YERU
				return rune(0x044b), true
			case "yen": 
				// YEN SIGN
				return rune(0xa5), true
			case "yfr": 
				// MATHEMATICAL FRAKTUR SMALL Y
				return rune(0x01d536), true
			case "yicy": 
				// CYRILLIC SMALL LETTER YI
				return rune(0x0457), true
			case "yopf": 
				// MATHEMATICAL DOUBLE-STRUCK SMALL Y
				return rune(0x01d56a), true
			case "yscr": 
				// MATHEMATICAL SCRIPT SMALL Y
				return rune(0x01d4ce), true
			case "yucy": 
				// CYRILLIC SMALL LETTER YU
				return rune(0x044e), true
			case "yuml": 
				// LATIN SMALL LETTER Y WITH DIAERESIS
				return rune(0xff), true
		}

	case 'z':
		switch name {
			case "zacute": 
				// LATIN SMALL LETTER Z WITH ACUTE
				return rune(0x017a), true
			case "zcaron": 
				// LATIN SMALL LETTER Z WITH CARON
				return rune(0x017e), true
			case "zcy": 
				// CYRILLIC SMALL LETTER ZE
				return rune(0x0437), true
			case "zdot": 
				// LATIN SMALL LETTER Z WITH DOT ABOVE
				return rune(0x017c), true
			case "zeetrf": 
				// BLACK-LETTER CAPITAL Z
				return rune(0x2128), true
			case "zeta": 
				// GREEK SMALL LETTER ZETA
				return rune(0x03b6), true
			case "zfr": 
				// MATHEMATICAL FRAKTUR SMALL Z
				return rune(0x01d537), true
			case "zgr": 
				// GREEK SMALL LETTER ZETA
				return rune(0x03b6), true
			case "zhcy": 
				// CYRILLIC SMALL LETTER ZHE
				return rune(0x0436), true
			case "zigrarr": 
				// RIGHTWARDS SQUIGGLE ARROW
				return rune(0x21dd), true
			case "zopf": 
				// MATHEMATICAL DOUBLE-STRUCK SMALL Z
				return rune(0x01d56b), true
			case "zscr": 
				// MATHEMATICAL SCRIPT SMALL Z
				return rune(0x01d4cf), true
			case "zwj": 
				// ZERO WIDTH JOINER
				return rune(0x200d), true
			case "zwnj": 
				// ZERO WIDTH NON-JOINER
				return rune(0x200c), true
		}
	}
	return -1, false
}

/*
	------ GENERATED ------ DO NOT EDIT ------ GENERATED ------ DO NOT EDIT ------ GENERATED ------
*/
