Files
ldc/dmd/entity.c
David Nadlinger 3cf9988681 Merged DMD commit b46fe402cff4618f5d49f99d71b8fefb764e16e5:
Support HTML5 entities

Patch by ibuclaw and aziz.koeksal
2011-04-23 18:28:03 +02:00

2392 lines
152 KiB
C

// Copyright (c) 1999-2009 by Digital Mars
// All Rights Reserved
// written by Walter Bright
// http://www.digitalmars.com
// License for redistribution is by either the Artistic License
// in artistic.txt, or the GNU General Public License in gnu.txt.
// See the included readme.txt for details.
#include <string.h>
#include <ctype.h>
/*********************************************
* Convert from named entity to its encoding.
* For reference:
* http://www.htmlhelp.com/reference/html40/entities/
* http://www.w3.org/2003/entities/2007/w3centities-f.ent
*/
struct NameId
{
const char *name;
unsigned value;
};
static NameId namesA[]={
"Aacgr", 0x00386, // GREEK CAPITAL LETTER ALPHA WITH TONOS
"aacgr", 0x003AC, // GREEK SMALL LETTER ALPHA WITH TONOS
"Aacute", 0x000C1, // LATIN CAPITAL LETTER A WITH ACUTE
"aacute", 0x000E1, // LATIN SMALL LETTER A WITH ACUTE
"Abreve", 0x00102, // LATIN CAPITAL LETTER A WITH BREVE
"abreve", 0x00103, // LATIN SMALL LETTER A WITH BREVE
"ac", 0x0223E, // INVERTED LAZY S
"acd", 0x0223F, // SINE WAVE
// "acE", 0x0223E;0x00333, // INVERTED LAZY S with double underline
"Acirc", 0x000C2, // LATIN CAPITAL LETTER A WITH CIRCUMFLEX
"acirc", 0x000E2, // LATIN SMALL LETTER A WITH CIRCUMFLEX
"acute", 0x000B4, // ACUTE ACCENT
"Acy", 0x00410, // CYRILLIC CAPITAL LETTER A
"acy", 0x00430, // CYRILLIC SMALL LETTER A
"AElig", 0x000C6, // LATIN CAPITAL LETTER AE
"aelig", 0x000E6, // LATIN SMALL LETTER AE
"af", 0x02061, // FUNCTION APPLICATION
"Afr", 0x1D504, // MATHEMATICAL FRAKTUR CAPITAL A
"afr", 0x1D51E, // MATHEMATICAL FRAKTUR SMALL A
"Agr", 0x00391, // GREEK CAPITAL LETTER ALPHA
"agr", 0x003B1, // GREEK SMALL LETTER ALPHA
"Agrave", 0x000C0, // LATIN CAPITAL LETTER A WITH GRAVE
"agrave", 0x000E0, // LATIN SMALL LETTER A WITH GRAVE
"alefsym", 0x02135, // ALEF SYMBOL
"aleph", 0x02135, // ALEF SYMBOL
"Alpha", 0x00391, // GREEK CAPITAL LETTER ALPHA
"alpha", 0x003B1, // GREEK SMALL LETTER ALPHA
"Amacr", 0x00100, // LATIN CAPITAL LETTER A WITH MACRON
"amacr", 0x00101, // LATIN SMALL LETTER A WITH MACRON
"amalg", 0x02A3F, // AMALGAMATION OR COPRODUCT
"amp", 0x00026, // AMPERSAND
"AMP", 0x00026, // AMPERSAND
"and", 0x02227, // LOGICAL AND
"And", 0x02A53, // DOUBLE LOGICAL AND
"andand", 0x02A55, // TWO INTERSECTING LOGICAL AND
"andd", 0x02A5C, // LOGICAL AND WITH HORIZONTAL DASH
"andslope", 0x02A58, // SLOPING LARGE AND
"andv", 0x02A5A, // LOGICAL AND WITH MIDDLE STEM
"ang", 0x02220, // ANGLE
"ange", 0x029A4, // ANGLE WITH UNDERBAR
"angle", 0x02220, // ANGLE
"angmsd", 0x02221, // MEASURED ANGLE
"angmsdaa", 0x029A8, // MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING UP AND RIGHT
"angmsdab", 0x029A9, // MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING UP AND LEFT
"angmsdac", 0x029AA, // MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING DOWN AND RIGHT
"angmsdad", 0x029AB, // MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING DOWN AND LEFT
"angmsdae", 0x029AC, // MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING RIGHT AND UP
"angmsdaf", 0x029AD, // MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING LEFT AND UP
"angmsdag", 0x029AE, // MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING RIGHT AND DOWN
"angmsdah", 0x029AF, // MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING LEFT AND DOWN
"angrt", 0x0221F, // RIGHT ANGLE
"angrtvb", 0x022BE, // RIGHT ANGLE WITH ARC
"angrtvbd", 0x0299D, // MEASURED RIGHT ANGLE WITH DOT
"angsph", 0x02222, // SPHERICAL ANGLE
"angst", 0x000C5, // LATIN CAPITAL LETTER A WITH RING ABOVE
"angzarr", 0x0237C, // RIGHT ANGLE WITH DOWNWARDS ZIGZAG ARROW
"Aogon", 0x00104, // LATIN CAPITAL LETTER A WITH OGONEK
"aogon", 0x00105, // LATIN SMALL LETTER A WITH OGONEK
"Aopf", 0x1D538, // MATHEMATICAL DOUBLE-STRUCK CAPITAL A
"aopf", 0x1D552, // MATHEMATICAL DOUBLE-STRUCK SMALL A
"ap", 0x02248, // ALMOST EQUAL TO
"apacir", 0x02A6F, // ALMOST EQUAL TO WITH CIRCUMFLEX ACCENT
"ape", 0x0224A, // ALMOST EQUAL OR EQUAL TO
"apE", 0x02A70, // APPROXIMATELY EQUAL OR EQUAL TO
"apid", 0x0224B, // TRIPLE TILDE
"apos", 0x00027, // APOSTROPHE
"ApplyFunction", 0x02061, // FUNCTION APPLICATION
"approx", 0x02248, // ALMOST EQUAL TO
"approxeq", 0x0224A, // ALMOST EQUAL OR EQUAL TO
"Aring", 0x000C5, // LATIN CAPITAL LETTER A WITH RING ABOVE
"aring", 0x000E5, // LATIN SMALL LETTER A WITH RING ABOVE
"Ascr", 0x1D49C, // MATHEMATICAL SCRIPT CAPITAL A
"ascr", 0x1D4B6, // MATHEMATICAL SCRIPT SMALL A
"Assign", 0x02254, // COLON EQUALS
"ast", 0x0002A, // ASTERISK
"asymp", 0x02248, // ALMOST EQUAL TO
"asympeq", 0x0224D, // EQUIVALENT TO
"Atilde", 0x000C3, // LATIN CAPITAL LETTER A WITH TILDE
"atilde", 0x000E3, // LATIN SMALL LETTER A WITH TILDE
"Auml", 0x000C4, // LATIN CAPITAL LETTER A WITH DIAERESIS
"auml", 0x000E4, // LATIN SMALL LETTER A WITH DIAERESIS
"awconint", 0x02233, // ANTICLOCKWISE CONTOUR INTEGRAL
"awint", 0x02A11, // ANTICLOCKWISE INTEGRATION
NULL, 0
};
static NameId namesB[]={
"backcong", 0x0224C, // ALL EQUAL TO
"backepsilon", 0x003F6, // GREEK REVERSED LUNATE EPSILON SYMBOL
"backprime", 0x02035, // REVERSED PRIME
"backsim", 0x0223D, // REVERSED TILDE
"backsimeq", 0x022CD, // REVERSED TILDE EQUALS
"Backslash", 0x02216, // SET MINUS
// "b.alpha", 0x1D6C2, // MATHEMATICAL BOLD SMALL ALPHA
"Barv", 0x02AE7, // SHORT DOWN TACK WITH OVERBAR
"barvee", 0x022BD, // NOR
"barwed", 0x02305, // PROJECTIVE
"Barwed", 0x02306, // PERSPECTIVE
"barwedge", 0x02305, // PROJECTIVE
// "b.beta", 0x1D6C3, // MATHEMATICAL BOLD SMALL BETA
"bbrk", 0x023B5, // BOTTOM SQUARE BRACKET
"bbrktbrk", 0x023B6, // BOTTOM SQUARE BRACKET OVER TOP SQUARE BRACKET
// "b.chi", 0x1D6D8, // MATHEMATICAL BOLD SMALL CHI
"bcong", 0x0224C, // ALL EQUAL TO
"Bcy", 0x00411, // CYRILLIC CAPITAL LETTER BE
"bcy", 0x00431, // CYRILLIC SMALL LETTER BE
// "b.Delta", 0x1D6AB, // MATHEMATICAL BOLD CAPITAL DELTA
// "b.delta", 0x1D6C5, // MATHEMATICAL BOLD SMALL DELTA
"bdquo", 0x0201E, // DOUBLE LOW-9 QUOTATION MARK
"becaus", 0x02235, // BECAUSE
"because", 0x02235, // BECAUSE
"Because", 0x02235, // BECAUSE
"bemptyv", 0x029B0, // REVERSED EMPTY SET
"bepsi", 0x003F6, // GREEK REVERSED LUNATE EPSILON SYMBOL
// "b.epsi", 0x1D6C6, // MATHEMATICAL BOLD SMALL EPSILON
// "b.epsiv", 0x1D6DC, // MATHEMATICAL BOLD EPSILON SYMBOL
"bernou", 0x0212C, // SCRIPT CAPITAL B
"Bernoullis", 0x0212C, // SCRIPT CAPITAL B
"Beta", 0x00392, // GREEK CAPITAL LETTER BETA
"beta", 0x003B2, // GREEK SMALL LETTER BETA
// "b.eta", 0x1D6C8, // MATHEMATICAL BOLD SMALL ETA
"beth", 0x02136, // BET SYMBOL
"between", 0x0226C, // BETWEEN
"Bfr", 0x1D505, // MATHEMATICAL FRAKTUR CAPITAL B
"bfr", 0x1D51F, // MATHEMATICAL FRAKTUR SMALL B
// "b.Gamma", 0x1D6AA, // MATHEMATICAL BOLD CAPITAL GAMMA
// "b.gamma", 0x1D6C4, // MATHEMATICAL BOLD SMALL GAMMA
// "b.Gammad", 0x1D7CA, // MATHEMATICAL BOLD CAPITAL DIGAMMA
// "b.gammad", 0x1D7CB, // MATHEMATICAL BOLD SMALL DIGAMMA
"Bgr", 0x00392, // GREEK CAPITAL LETTER BETA
"bgr", 0x003B2, // GREEK SMALL LETTER BETA
"bigcap", 0x022C2, // N-ARY INTERSECTION
"bigcirc", 0x025EF, // LARGE CIRCLE
"bigcup", 0x022C3, // N-ARY UNION
"bigodot", 0x02A00, // N-ARY CIRCLED DOT OPERATOR
"bigoplus", 0x02A01, // N-ARY CIRCLED PLUS OPERATOR
"bigotimes", 0x02A02, // N-ARY CIRCLED TIMES OPERATOR
"bigsqcup", 0x02A06, // N-ARY SQUARE UNION OPERATOR
"bigstar", 0x02605, // BLACK STAR
"bigtriangledown", 0x025BD, // WHITE DOWN-POINTING TRIANGLE
"bigtriangleup", 0x025B3, // WHITE UP-POINTING TRIANGLE
"biguplus", 0x02A04, // N-ARY UNION OPERATOR WITH PLUS
"bigvee", 0x022C1, // N-ARY LOGICAL OR
"bigwedge", 0x022C0, // N-ARY LOGICAL AND
// "b.iota", 0x1D6CA, // MATHEMATICAL BOLD SMALL IOTA
// "b.kappa", 0x1D6CB, // MATHEMATICAL BOLD SMALL KAPPA
// "b.kappav", 0x1D6DE, // MATHEMATICAL BOLD KAPPA SYMBOL
"bkarow", 0x0290D, // RIGHTWARDS DOUBLE DASH ARROW
"blacklozenge", 0x029EB, // BLACK LOZENGE
"blacksquare", 0x025AA, // BLACK SMALL SQUARE
"blacktriangle", 0x025B4, // BLACK UP-POINTING SMALL TRIANGLE
"blacktriangledown", 0x025BE, // BLACK DOWN-POINTING SMALL TRIANGLE
"blacktriangleleft", 0x025C2, // BLACK LEFT-POINTING SMALL TRIANGLE
"blacktriangleright", 0x025B8, // BLACK RIGHT-POINTING SMALL TRIANGLE
// "b.Lambda", 0x1D6B2, // MATHEMATICAL BOLD CAPITAL LAMDA
// "b.lambda", 0x1D6CC, // MATHEMATICAL BOLD SMALL LAMDA
"blank", 0x02423, // OPEN BOX
"blk12", 0x02592, // MEDIUM SHADE
"blk14", 0x02591, // LIGHT SHADE
"blk34", 0x02593, // DARK SHADE
"block", 0x02588, // FULL BLOCK
// "b.mu", 0x1D6CD, // MATHEMATICAL BOLD SMALL MU
// "bne", 0x0003D;0x020E5, // EQUALS SIGN with reverse slash
// "bnequiv", 0x02261;0x020E5, // IDENTICAL TO with reverse slash
"bnot", 0x02310, // REVERSED NOT SIGN
"bNot", 0x02AED, // REVERSED DOUBLE STROKE NOT SIGN
// "b.nu", 0x1D6CE, // MATHEMATICAL BOLD SMALL NU
// "b.Omega", 0x1D6C0, // MATHEMATICAL BOLD CAPITAL OMEGA
// "b.omega", 0x1D6DA, // MATHEMATICAL BOLD SMALL OMEGA
"Bopf", 0x1D539, // MATHEMATICAL DOUBLE-STRUCK CAPITAL B
"bopf", 0x1D553, // MATHEMATICAL DOUBLE-STRUCK SMALL B
"bot", 0x022A5, // UP TACK
"bottom", 0x022A5, // UP TACK
"bowtie", 0x022C8, // BOWTIE
"boxbox", 0x029C9, // TWO JOINED SQUARES
"boxdl", 0x02510, // BOX DRAWINGS LIGHT DOWN AND LEFT
"boxdL", 0x02555, // BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
"boxDl", 0x02556, // BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
"boxDL", 0x02557, // BOX DRAWINGS DOUBLE DOWN AND LEFT
"boxdr", 0x0250C, // BOX DRAWINGS LIGHT DOWN AND RIGHT
"boxdR", 0x02552, // BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
"boxDr", 0x02553, // BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
"boxDR", 0x02554, // BOX DRAWINGS DOUBLE DOWN AND RIGHT
"boxh", 0x02500, // BOX DRAWINGS LIGHT HORIZONTAL
"boxH", 0x02550, // BOX DRAWINGS DOUBLE HORIZONTAL
"boxhd", 0x0252C, // BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
"boxHd", 0x02564, // BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
"boxhD", 0x02565, // BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
"boxHD", 0x02566, // BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
"boxhu", 0x02534, // BOX DRAWINGS LIGHT UP AND HORIZONTAL
"boxHu", 0x02567, // BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
"boxhU", 0x02568, // BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
"boxHU", 0x02569, // BOX DRAWINGS DOUBLE UP AND HORIZONTAL
"boxminus", 0x0229F, // SQUARED MINUS
"boxplus", 0x0229E, // SQUARED PLUS
"boxtimes", 0x022A0, // SQUARED TIMES
"boxul", 0x02518, // BOX DRAWINGS LIGHT UP AND LEFT
"boxuL", 0x0255B, // BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
"boxUl", 0x0255C, // BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
"boxUL", 0x0255D, // BOX DRAWINGS DOUBLE UP AND LEFT
"boxur", 0x02514, // BOX DRAWINGS LIGHT UP AND RIGHT
"boxuR", 0x02558, // BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
"boxUr", 0x02559, // BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
"boxUR", 0x0255A, // BOX DRAWINGS DOUBLE UP AND RIGHT
"boxv", 0x02502, // BOX DRAWINGS LIGHT VERTICAL
"boxV", 0x02551, // BOX DRAWINGS DOUBLE VERTICAL
"boxvh", 0x0253C, // BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
"boxvH", 0x0256A, // BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
"boxVh", 0x0256B, // BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
"boxVH", 0x0256C, // BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
"boxvl", 0x02524, // BOX DRAWINGS LIGHT VERTICAL AND LEFT
"boxvL", 0x02561, // BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
"boxVl", 0x02562, // BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
"boxVL", 0x02563, // BOX DRAWINGS DOUBLE VERTICAL AND LEFT
"boxvr", 0x0251C, // BOX DRAWINGS LIGHT VERTICAL AND RIGHT
"boxvR", 0x0255E, // BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
"boxVr", 0x0255F, // BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
"boxVR", 0x02560, // BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
// "b.Phi", 0x1D6BD, // MATHEMATICAL BOLD CAPITAL PHI
// "b.phi", 0x1D6D7, // MATHEMATICAL BOLD SMALL PHI
// "b.phiv", 0x1D6DF, // MATHEMATICAL BOLD PHI SYMBOL
// "b.Pi", 0x1D6B7, // MATHEMATICAL BOLD CAPITAL PI
// "b.pi", 0x1D6D1, // MATHEMATICAL BOLD SMALL PI
// "b.piv", 0x1D6E1, // MATHEMATICAL BOLD PI SYMBOL
"bprime", 0x02035, // REVERSED PRIME
// "b.Psi", 0x1D6BF, // MATHEMATICAL BOLD CAPITAL PSI
// "b.psi", 0x1D6D9, // MATHEMATICAL BOLD SMALL PSI
"breve", 0x002D8, // BREVE
"Breve", 0x002D8, // BREVE
// "b.rho", 0x1D6D2, // MATHEMATICAL BOLD SMALL RHO
// "b.rhov", 0x1D6E0, // MATHEMATICAL BOLD RHO SYMBOL
"brvbar", 0x000A6, // BROKEN BAR
"Bscr", 0x0212C, // SCRIPT CAPITAL B
"bscr", 0x1D4B7, // MATHEMATICAL SCRIPT SMALL B
"bsemi", 0x0204F, // REVERSED SEMICOLON
// "b.Sigma", 0x1D6BA, // MATHEMATICAL BOLD CAPITAL SIGMA
// "b.sigma", 0x1D6D4, // MATHEMATICAL BOLD SMALL SIGMA
// "b.sigmav", 0x1D6D3, // MATHEMATICAL BOLD SMALL FINAL SIGMA
"bsim", 0x0223D, // REVERSED TILDE
"bsime", 0x022CD, // REVERSED TILDE EQUALS
"bsol", 0x0005C, // REVERSE SOLIDUS
"bsolb", 0x029C5, // SQUARED FALLING DIAGONAL SLASH
"bsolhsub", 0x027C8, // REVERSE SOLIDUS PRECEDING SUBSET
// "b.tau", 0x1D6D5, // MATHEMATICAL BOLD SMALL TAU
// "b.Theta", 0x1D6AF, // MATHEMATICAL BOLD CAPITAL THETA
// "b.thetas", 0x1D6C9, // MATHEMATICAL BOLD SMALL THETA
// "b.thetav", 0x1D6DD, // MATHEMATICAL BOLD THETA SYMBOL
"bull", 0x02022, // BULLET
"bullet", 0x02022, // BULLET
"bump", 0x0224E, // GEOMETRICALLY EQUIVALENT TO
"bumpe", 0x0224F, // DIFFERENCE BETWEEN
"bumpE", 0x02AAE, // EQUALS SIGN WITH BUMPY ABOVE
"Bumpeq", 0x0224E, // GEOMETRICALLY EQUIVALENT TO
"bumpeq", 0x0224F, // DIFFERENCE BETWEEN
// "b.Upsi", 0x1D6BC, // MATHEMATICAL BOLD CAPITAL UPSILON
// "b.upsi", 0x1D6D6, // MATHEMATICAL BOLD SMALL UPSILON
// "b.Xi", 0x1D6B5, // MATHEMATICAL BOLD CAPITAL XI
// "b.xi", 0x1D6CF, // MATHEMATICAL BOLD SMALL XI
// "b.zeta", 0x1D6C7, // MATHEMATICAL BOLD SMALL ZETA
NULL, 0
};
static NameId namesC[]={
"Cacute", 0x00106, // LATIN CAPITAL LETTER C WITH ACUTE
"cacute", 0x00107, // LATIN SMALL LETTER C WITH ACUTE
"cap", 0x02229, // INTERSECTION
"Cap", 0x022D2, // DOUBLE INTERSECTION
"capand", 0x02A44, // INTERSECTION WITH LOGICAL AND
"capbrcup", 0x02A49, // INTERSECTION ABOVE BAR ABOVE UNION
"capcap", 0x02A4B, // INTERSECTION BESIDE AND JOINED WITH INTERSECTION
"capcup", 0x02A47, // INTERSECTION ABOVE UNION
"capdot", 0x02A40, // INTERSECTION WITH DOT
"CapitalDifferentialD", 0x02145, // DOUBLE-STRUCK ITALIC CAPITAL D
// "caps", 0x02229;0x0FE00, // INTERSECTION with serifs
"caret", 0x02041, // CARET INSERTION POINT
"caron", 0x002C7, // CARON
"Cayleys", 0x0212D, // BLACK-LETTER CAPITAL C
"ccaps", 0x02A4D, // CLOSED INTERSECTION WITH SERIFS
"Ccaron", 0x0010C, // LATIN CAPITAL LETTER C WITH CARON
"ccaron", 0x0010D, // LATIN SMALL LETTER C WITH CARON
"Ccedil", 0x000C7, // LATIN CAPITAL LETTER C WITH CEDILLA
"ccedil", 0x000E7, // LATIN SMALL LETTER C WITH CEDILLA
"Ccirc", 0x00108, // LATIN CAPITAL LETTER C WITH CIRCUMFLEX
"ccirc", 0x00109, // LATIN SMALL LETTER C WITH CIRCUMFLEX
"Cconint", 0x02230, // VOLUME INTEGRAL
"ccups", 0x02A4C, // CLOSED UNION WITH SERIFS
"ccupssm", 0x02A50, // CLOSED UNION WITH SERIFS AND SMASH PRODUCT
"Cdot", 0x0010A, // LATIN CAPITAL LETTER C WITH DOT ABOVE
"cdot", 0x0010B, // LATIN SMALL LETTER C WITH DOT ABOVE
"cedil", 0x000B8, // CEDILLA
"Cedilla", 0x000B8, // CEDILLA
"cemptyv", 0x029B2, // EMPTY SET WITH SMALL CIRCLE ABOVE
"cent", 0x000A2, // CENT SIGN
"centerdot", 0x000B7, // MIDDLE DOT
"CenterDot", 0x000B7, // MIDDLE DOT
"Cfr", 0x0212D, // BLACK-LETTER CAPITAL C
"cfr", 0x1D520, // MATHEMATICAL FRAKTUR SMALL C
"CHcy", 0x00427, // CYRILLIC CAPITAL LETTER CHE
"chcy", 0x00447, // CYRILLIC SMALL LETTER CHE
"check", 0x02713, // CHECK MARK
"checkmark", 0x02713, // CHECK MARK
"Chi", 0x003A7, // GREEK CAPITAL LETTER CHI
"chi", 0x003C7, // GREEK SMALL LETTER CHI
"cir", 0x025CB, // WHITE CIRCLE
"circ", 0x002C6, // MODIFIER LETTER CIRCUMFLEX ACCENT
"circeq", 0x02257, // RING EQUAL TO
"circlearrowleft", 0x021BA, // ANTICLOCKWISE OPEN CIRCLE ARROW
"circlearrowright", 0x021BB, // CLOCKWISE OPEN CIRCLE ARROW
"circledast", 0x0229B, // CIRCLED ASTERISK OPERATOR
"circledcirc", 0x0229A, // CIRCLED RING OPERATOR
"circleddash", 0x0229D, // CIRCLED DASH
"CircleDot", 0x02299, // CIRCLED DOT OPERATOR
"circledR", 0x000AE, // REGISTERED SIGN
"circledS", 0x024C8, // CIRCLED LATIN CAPITAL LETTER S
"CircleMinus", 0x02296, // CIRCLED MINUS
"CirclePlus", 0x02295, // CIRCLED PLUS
"CircleTimes", 0x02297, // CIRCLED TIMES
"cire", 0x02257, // RING EQUAL TO
"cirE", 0x029C3, // CIRCLE WITH TWO HORIZONTAL STROKES TO THE RIGHT
"cirfnint", 0x02A10, // CIRCULATION FUNCTION
"cirmid", 0x02AEF, // VERTICAL LINE WITH CIRCLE ABOVE
"cirscir", 0x029C2, // CIRCLE WITH SMALL CIRCLE TO THE RIGHT
"ClockwiseContourIntegral", 0x02232, // CLOCKWISE CONTOUR INTEGRAL
"CloseCurlyDoubleQuote", 0x0201D, // RIGHT DOUBLE QUOTATION MARK
"CloseCurlyQuote", 0x02019, // RIGHT SINGLE QUOTATION MARK
"clubs", 0x02663, // BLACK CLUB SUIT
"clubsuit", 0x02663, // BLACK CLUB SUIT
"colon", 0x0003A, // COLON
"Colon", 0x02237, // PROPORTION
"colone", 0x02254, // COLON EQUALS
"Colone", 0x02A74, // DOUBLE COLON EQUAL
"coloneq", 0x02254, // COLON EQUALS
"comma", 0x0002C, // COMMA
"commat", 0x00040, // COMMERCIAL AT
"comp", 0x02201, // COMPLEMENT
"compfn", 0x02218, // RING OPERATOR
"complement", 0x02201, // COMPLEMENT
"complexes", 0x02102, // DOUBLE-STRUCK CAPITAL C
"cong", 0x02245, // APPROXIMATELY EQUAL TO
"congdot", 0x02A6D, // CONGRUENT WITH DOT ABOVE
"Congruent", 0x02261, // IDENTICAL TO
"conint", 0x0222E, // CONTOUR INTEGRAL
"Conint", 0x0222F, // SURFACE INTEGRAL
"ContourIntegral", 0x0222E, // CONTOUR INTEGRAL
"Copf", 0x02102, // DOUBLE-STRUCK CAPITAL C
"copf", 0x1D554, // MATHEMATICAL DOUBLE-STRUCK SMALL C
"coprod", 0x02210, // N-ARY COPRODUCT
"Coproduct", 0x02210, // N-ARY COPRODUCT
"copy", 0x000A9, // COPYRIGHT SIGN
"COPY", 0x000A9, // COPYRIGHT SIGN
"copysr", 0x02117, // SOUND RECORDING COPYRIGHT
"CounterClockwiseContourIntegral", 0x02233, // ANTICLOCKWISE CONTOUR INTEGRAL
"crarr", 0x021B5, // DOWNWARDS ARROW WITH CORNER LEFTWARDS
"cross", 0x02717, // BALLOT X
"Cross", 0x02A2F, // VECTOR OR CROSS PRODUCT
"Cscr", 0x1D49E, // MATHEMATICAL SCRIPT CAPITAL C
"cscr", 0x1D4B8, // MATHEMATICAL SCRIPT SMALL C
"csub", 0x02ACF, // CLOSED SUBSET
"csube", 0x02AD1, // CLOSED SUBSET OR EQUAL TO
"csup", 0x02AD0, // CLOSED SUPERSET
"csupe", 0x02AD2, // CLOSED SUPERSET OR EQUAL TO
"ctdot", 0x022EF, // MIDLINE HORIZONTAL ELLIPSIS
"cudarrl", 0x02938, // RIGHT-SIDE ARC CLOCKWISE ARROW
"cudarrr", 0x02935, // ARROW POINTING RIGHTWARDS THEN CURVING DOWNWARDS
"cuepr", 0x022DE, // EQUAL TO OR PRECEDES
"cuesc", 0x022DF, // EQUAL TO OR SUCCEEDS
"cularr", 0x021B6, // ANTICLOCKWISE TOP SEMICIRCLE ARROW
"cularrp", 0x0293D, // TOP ARC ANTICLOCKWISE ARROW WITH PLUS
"cup", 0x0222A, // UNION
"Cup", 0x022D3, // DOUBLE UNION
"cupbrcap", 0x02A48, // UNION ABOVE BAR ABOVE INTERSECTION
"CupCap", 0x0224D, // EQUIVALENT TO
"cupcap", 0x02A46, // UNION ABOVE INTERSECTION
"cupcup", 0x02A4A, // UNION BESIDE AND JOINED WITH UNION
"cupdot", 0x0228D, // MULTISET MULTIPLICATION
"cupor", 0x02A45, // UNION WITH LOGICAL OR
// "cups", 0x0222A;0x0FE00, // UNION with serifs
"curarr", 0x021B7, // CLOCKWISE TOP SEMICIRCLE ARROW
"curarrm", 0x0293C, // TOP ARC CLOCKWISE ARROW WITH MINUS
"curlyeqprec", 0x022DE, // EQUAL TO OR PRECEDES
"curlyeqsucc", 0x022DF, // EQUAL TO OR SUCCEEDS
"curlyvee", 0x022CE, // CURLY LOGICAL OR
"curlywedge", 0x022CF, // CURLY LOGICAL AND
"curren", 0x000A4, // CURRENCY SIGN
"curvearrowleft", 0x021B6, // ANTICLOCKWISE TOP SEMICIRCLE ARROW
"curvearrowright", 0x021B7, // CLOCKWISE TOP SEMICIRCLE ARROW
"cuvee", 0x022CE, // CURLY LOGICAL OR
"cuwed", 0x022CF, // CURLY LOGICAL AND
"cwconint", 0x02232, // CLOCKWISE CONTOUR INTEGRAL
"cwint", 0x02231, // CLOCKWISE INTEGRAL
"cylcty", 0x0232D, // CYLINDRICITY
NULL, 0
};
static NameId namesD[]={
"dagger", 0x02020, // DAGGER
"Dagger", 0x02021, // DOUBLE DAGGER
"daleth", 0x02138, // DALET SYMBOL
"darr", 0x02193, // DOWNWARDS ARROW
"Darr", 0x021A1, // DOWNWARDS TWO HEADED ARROW
"dArr", 0x021D3, // DOWNWARDS DOUBLE ARROW
"dash", 0x02010, // HYPHEN
"dashv", 0x022A3, // LEFT TACK
"Dashv", 0x02AE4, // VERTICAL BAR DOUBLE LEFT TURNSTILE
"dbkarow", 0x0290F, // RIGHTWARDS TRIPLE DASH ARROW
"dblac", 0x002DD, // DOUBLE ACUTE ACCENT
"Dcaron", 0x0010E, // LATIN CAPITAL LETTER D WITH CARON
"dcaron", 0x0010F, // LATIN SMALL LETTER D WITH CARON
"Dcy", 0x00414, // CYRILLIC CAPITAL LETTER DE
"dcy", 0x00434, // CYRILLIC SMALL LETTER DE
"DD", 0x02145, // DOUBLE-STRUCK ITALIC CAPITAL D
"dd", 0x02146, // DOUBLE-STRUCK ITALIC SMALL D
"ddagger", 0x02021, // DOUBLE DAGGER
"ddarr", 0x021CA, // DOWNWARDS PAIRED ARROWS
"DDotrahd", 0x02911, // RIGHTWARDS ARROW WITH DOTTED STEM
"ddotseq", 0x02A77, // EQUALS SIGN WITH TWO DOTS ABOVE AND TWO DOTS BELOW
"deg", 0x000B0, // DEGREE SIGN
"Del", 0x02207, // NABLA
"Delta", 0x00394, // GREEK CAPITAL LETTER DELTA
"delta", 0x003B4, // GREEK SMALL LETTER DELTA
"demptyv", 0x029B1, // EMPTY SET WITH OVERBAR
"dfisht", 0x0297F, // DOWN FISH TAIL
"Dfr", 0x1D507, // MATHEMATICAL FRAKTUR CAPITAL D
"dfr", 0x1D521, // MATHEMATICAL FRAKTUR SMALL D
"Dgr", 0x00394, // GREEK CAPITAL LETTER DELTA
"dgr", 0x003B4, // GREEK SMALL LETTER DELTA
"dHar", 0x02965, // DOWNWARDS HARPOON WITH BARB LEFT BESIDE DOWNWARDS HARPOON WITH BARB RIGHT
"dharl", 0x021C3, // DOWNWARDS HARPOON WITH BARB LEFTWARDS
"dharr", 0x021C2, // DOWNWARDS HARPOON WITH BARB RIGHTWARDS
"DiacriticalAcute", 0x000B4, // ACUTE ACCENT
"DiacriticalDot", 0x002D9, // DOT ABOVE
"DiacriticalDoubleAcute", 0x002DD, // DOUBLE ACUTE ACCENT
"DiacriticalGrave", 0x00060, // GRAVE ACCENT
"DiacriticalTilde", 0x002DC, // SMALL TILDE
"diam", 0x022C4, // DIAMOND OPERATOR
"diamond", 0x022C4, // DIAMOND OPERATOR
"Diamond", 0x022C4, // DIAMOND OPERATOR
"diamondsuit", 0x02666, // BLACK DIAMOND SUIT
"diams", 0x02666, // BLACK DIAMOND SUIT
"die", 0x000A8, // DIAERESIS
"DifferentialD", 0x02146, // DOUBLE-STRUCK ITALIC SMALL D
"digamma", 0x003DD, // GREEK SMALL LETTER DIGAMMA
"disin", 0x022F2, // ELEMENT OF WITH LONG HORIZONTAL STROKE
"div", 0x000F7, // DIVISION SIGN
"divide", 0x000F7, // DIVISION SIGN
"divideontimes", 0x022C7, // DIVISION TIMES
"divonx", 0x022C7, // DIVISION TIMES
"DJcy", 0x00402, // CYRILLIC CAPITAL LETTER DJE
"djcy", 0x00452, // CYRILLIC SMALL LETTER DJE
"dlcorn", 0x0231E, // BOTTOM LEFT CORNER
"dlcrop", 0x0230D, // BOTTOM LEFT CROP
"dollar", 0x00024, // DOLLAR SIGN
"Dopf", 0x1D53B, // MATHEMATICAL DOUBLE-STRUCK CAPITAL D
"dopf", 0x1D555, // MATHEMATICAL DOUBLE-STRUCK SMALL D
"Dot", 0x000A8, // DIAERESIS
"dot", 0x002D9, // DOT ABOVE
"DotDot", 0x020DC, // COMBINING FOUR DOTS ABOVE
"doteq", 0x02250, // APPROACHES THE LIMIT
"doteqdot", 0x02251, // GEOMETRICALLY EQUAL TO
"DotEqual", 0x02250, // APPROACHES THE LIMIT
"dotminus", 0x02238, // DOT MINUS
"dotplus", 0x02214, // DOT PLUS
"dotsquare", 0x022A1, // SQUARED DOT OPERATOR
"doublebarwedge", 0x02306, // PERSPECTIVE
"DoubleContourIntegral", 0x0222F, // SURFACE INTEGRAL
"DoubleDot", 0x000A8, // DIAERESIS
"DoubleDownArrow", 0x021D3, // DOWNWARDS DOUBLE ARROW
"DoubleLeftArrow", 0x021D0, // LEFTWARDS DOUBLE ARROW
"DoubleLeftRightArrow", 0x021D4, // LEFT RIGHT DOUBLE ARROW
"DoubleLeftTee", 0x02AE4, // VERTICAL BAR DOUBLE LEFT TURNSTILE
"DoubleLongLeftArrow", 0x027F8, // LONG LEFTWARDS DOUBLE ARROW
"DoubleLongLeftRightArrow", 0x027FA, // LONG LEFT RIGHT DOUBLE ARROW
"DoubleLongRightArrow", 0x027F9, // LONG RIGHTWARDS DOUBLE ARROW
"DoubleRightArrow", 0x021D2, // RIGHTWARDS DOUBLE ARROW
"DoubleRightTee", 0x022A8, // TRUE
"DoubleUpArrow", 0x021D1, // UPWARDS DOUBLE ARROW
"DoubleUpDownArrow", 0x021D5, // UP DOWN DOUBLE ARROW
"DoubleVerticalBar", 0x02225, // PARALLEL TO
"downarrow", 0x02193, // DOWNWARDS ARROW
"DownArrow", 0x02193, // DOWNWARDS ARROW
"Downarrow", 0x021D3, // DOWNWARDS DOUBLE ARROW
"DownArrowBar", 0x02913, // DOWNWARDS ARROW TO BAR
"DownArrowUpArrow", 0x021F5, // DOWNWARDS ARROW LEFTWARDS OF UPWARDS ARROW
"DownBreve", 0x00311, // COMBINING INVERTED BREVE
"downdownarrows", 0x021CA, // DOWNWARDS PAIRED ARROWS
"downharpoonleft", 0x021C3, // DOWNWARDS HARPOON WITH BARB LEFTWARDS
"downharpoonright", 0x021C2, // DOWNWARDS HARPOON WITH BARB RIGHTWARDS
"DownLeftRightVector", 0x02950, // LEFT BARB DOWN RIGHT BARB DOWN HARPOON
"DownLeftTeeVector", 0x0295E, // LEFTWARDS HARPOON WITH BARB DOWN FROM BAR
"DownLeftVector", 0x021BD, // LEFTWARDS HARPOON WITH BARB DOWNWARDS
"DownLeftVectorBar", 0x02956, // LEFTWARDS HARPOON WITH BARB DOWN TO BAR
"DownRightTeeVector", 0x0295F, // RIGHTWARDS HARPOON WITH BARB DOWN FROM BAR
"DownRightVector", 0x021C1, // RIGHTWARDS HARPOON WITH BARB DOWNWARDS
"DownRightVectorBar", 0x02957, // RIGHTWARDS HARPOON WITH BARB DOWN TO BAR
"DownTee", 0x022A4, // DOWN TACK
"DownTeeArrow", 0x021A7, // DOWNWARDS ARROW FROM BAR
"drbkarow", 0x02910, // RIGHTWARDS TWO-HEADED TRIPLE DASH ARROW
"drcorn", 0x0231F, // BOTTOM RIGHT CORNER
"drcrop", 0x0230C, // BOTTOM RIGHT CROP
"Dscr", 0x1D49F, // MATHEMATICAL SCRIPT CAPITAL D
"dscr", 0x1D4B9, // MATHEMATICAL SCRIPT SMALL D
"DScy", 0x00405, // CYRILLIC CAPITAL LETTER DZE
"dscy", 0x00455, // CYRILLIC SMALL LETTER DZE
"dsol", 0x029F6, // SOLIDUS WITH OVERBAR
"Dstrok", 0x00110, // LATIN CAPITAL LETTER D WITH STROKE
"dstrok", 0x00111, // LATIN SMALL LETTER D WITH STROKE
"dtdot", 0x022F1, // DOWN RIGHT DIAGONAL ELLIPSIS
"dtri", 0x025BF, // WHITE DOWN-POINTING SMALL TRIANGLE
"dtrif", 0x025BE, // BLACK DOWN-POINTING SMALL TRIANGLE
"duarr", 0x021F5, // DOWNWARDS ARROW LEFTWARDS OF UPWARDS ARROW
"duhar", 0x0296F, // DOWNWARDS HARPOON WITH BARB LEFT BESIDE UPWARDS HARPOON WITH BARB RIGHT
"dwangle", 0x029A6, // OBLIQUE ANGLE OPENING UP
"DZcy", 0x0040F, // CYRILLIC CAPITAL LETTER DZHE
"dzcy", 0x0045F, // CYRILLIC SMALL LETTER DZHE
"dzigrarr", 0x027FF, // LONG RIGHTWARDS SQUIGGLE ARROW
NULL, 0
};
static NameId namesE[]={
"Eacgr", 0x00388, // GREEK CAPITAL LETTER EPSILON WITH TONOS
"eacgr", 0x003AD, // GREEK SMALL LETTER EPSILON WITH TONOS
"Eacute", 0x000C9, // LATIN CAPITAL LETTER E WITH ACUTE
"eacute", 0x000E9, // LATIN SMALL LETTER E WITH ACUTE
"easter", 0x02A6E, // EQUALS WITH ASTERISK
"Ecaron", 0x0011A, // LATIN CAPITAL LETTER E WITH CARON
"ecaron", 0x0011B, // LATIN SMALL LETTER E WITH CARON
"ecir", 0x02256, // RING IN EQUAL TO
"Ecirc", 0x000CA, // LATIN CAPITAL LETTER E WITH CIRCUMFLEX
"ecirc", 0x000EA, // LATIN SMALL LETTER E WITH CIRCUMFLEX
"ecolon", 0x02255, // EQUALS COLON
"Ecy", 0x0042D, // CYRILLIC CAPITAL LETTER E
"ecy", 0x0044D, // CYRILLIC SMALL LETTER E
"eDDot", 0x02A77, // EQUALS SIGN WITH TWO DOTS ABOVE AND TWO DOTS BELOW
"Edot", 0x00116, // LATIN CAPITAL LETTER E WITH DOT ABOVE
"edot", 0x00117, // LATIN SMALL LETTER E WITH DOT ABOVE
"eDot", 0x02251, // GEOMETRICALLY EQUAL TO
"ee", 0x02147, // DOUBLE-STRUCK ITALIC SMALL E
"EEacgr", 0x00389, // GREEK CAPITAL LETTER ETA WITH TONOS
"eeacgr", 0x003AE, // GREEK SMALL LETTER ETA WITH TONOS
"EEgr", 0x00397, // GREEK CAPITAL LETTER ETA
"eegr", 0x003B7, // GREEK SMALL LETTER ETA
"efDot", 0x02252, // APPROXIMATELY EQUAL TO OR THE IMAGE OF
"Efr", 0x1D508, // MATHEMATICAL FRAKTUR CAPITAL E
"efr", 0x1D522, // MATHEMATICAL FRAKTUR SMALL E
"eg", 0x02A9A, // DOUBLE-LINE EQUAL TO OR GREATER-THAN
"Egr", 0x00395, // GREEK CAPITAL LETTER EPSILON
"egr", 0x003B5, // GREEK SMALL LETTER EPSILON
"Egrave", 0x000C8, // LATIN CAPITAL LETTER E WITH GRAVE
"egrave", 0x000E8, // LATIN SMALL LETTER E WITH GRAVE
"egs", 0x02A96, // SLANTED EQUAL TO OR GREATER-THAN
"egsdot", 0x02A98, // SLANTED EQUAL TO OR GREATER-THAN WITH DOT INSIDE
"el", 0x02A99, // DOUBLE-LINE EQUAL TO OR LESS-THAN
"Element", 0x02208, // ELEMENT OF
"elinters", 0x023E7, // ELECTRICAL INTERSECTION
"ell", 0x02113, // SCRIPT SMALL L
"els", 0x02A95, // SLANTED EQUAL TO OR LESS-THAN
"elsdot", 0x02A97, // SLANTED EQUAL TO OR LESS-THAN WITH DOT INSIDE
"Emacr", 0x00112, // LATIN CAPITAL LETTER E WITH MACRON
"emacr", 0x00113, // LATIN SMALL LETTER E WITH MACRON
"empty", 0x02205, // EMPTY SET
"emptyset", 0x02205, // EMPTY SET
"EmptySmallSquare", 0x025FB, // WHITE MEDIUM SQUARE
"emptyv", 0x02205, // EMPTY SET
"EmptyVerySmallSquare", 0x025AB, // WHITE SMALL SQUARE
"emsp", 0x02003, // EM SPACE
"emsp13", 0x02004, // THREE-PER-EM SPACE
"emsp14", 0x02005, // FOUR-PER-EM SPACE
"ENG", 0x0014A, // LATIN CAPITAL LETTER ENG
"eng", 0x0014B, // LATIN SMALL LETTER ENG
"ensp", 0x02002, // EN SPACE
"Eogon", 0x00118, // LATIN CAPITAL LETTER E WITH OGONEK
"eogon", 0x00119, // LATIN SMALL LETTER E WITH OGONEK
"Eopf", 0x1D53C, // MATHEMATICAL DOUBLE-STRUCK CAPITAL E
"eopf", 0x1D556, // MATHEMATICAL DOUBLE-STRUCK SMALL E
"epar", 0x022D5, // EQUAL AND PARALLEL TO
"eparsl", 0x029E3, // EQUALS SIGN AND SLANTED PARALLEL
"eplus", 0x02A71, // EQUALS SIGN ABOVE PLUS SIGN
"epsi", 0x003B5, // GREEK SMALL LETTER EPSILON
"Epsilon", 0x00395, // GREEK CAPITAL LETTER EPSILON
"epsilon", 0x003B5, // GREEK SMALL LETTER EPSILON
"epsiv", 0x003F5, // GREEK LUNATE EPSILON SYMBOL
"eqcirc", 0x02256, // RING IN EQUAL TO
"eqcolon", 0x02255, // EQUALS COLON
"eqsim", 0x02242, // MINUS TILDE
"eqslantgtr", 0x02A96, // SLANTED EQUAL TO OR GREATER-THAN
"eqslantless", 0x02A95, // SLANTED EQUAL TO OR LESS-THAN
"Equal", 0x02A75, // TWO CONSECUTIVE EQUALS SIGNS
"equals", 0x0003D, // EQUALS SIGN
"EqualTilde", 0x02242, // MINUS TILDE
"equest", 0x0225F, // QUESTIONED EQUAL TO
"Equilibrium", 0x021CC, // RIGHTWARDS HARPOON OVER LEFTWARDS HARPOON
"equiv", 0x02261, // IDENTICAL TO
"equivDD", 0x02A78, // EQUIVALENT WITH FOUR DOTS ABOVE
"eqvparsl", 0x029E5, // IDENTICAL TO AND SLANTED PARALLEL
"erarr", 0x02971, // EQUALS SIGN ABOVE RIGHTWARDS ARROW
"erDot", 0x02253, // IMAGE OF OR APPROXIMATELY EQUAL TO
"escr", 0x0212F, // SCRIPT SMALL E
"Escr", 0x02130, // SCRIPT CAPITAL E
"esdot", 0x02250, // APPROACHES THE LIMIT
"esim", 0x02242, // MINUS TILDE
"Esim", 0x02A73, // EQUALS SIGN ABOVE TILDE OPERATOR
"Eta", 0x00397, // GREEK CAPITAL LETTER ETA
"eta", 0x003B7, // GREEK SMALL LETTER ETA
"ETH", 0x000D0, // LATIN CAPITAL LETTER ETH
"eth", 0x000F0, // LATIN SMALL LETTER ETH
"Euml", 0x000CB, // LATIN CAPITAL LETTER E WITH DIAERESIS
"euml", 0x000EB, // LATIN SMALL LETTER E WITH DIAERESIS
"euro", 0x020AC, // EURO SIGN
"excl", 0x00021, // EXCLAMATION MARK
"exist", 0x02203, // THERE EXISTS
"Exists", 0x02203, // THERE EXISTS
"expectation", 0x02130, // SCRIPT CAPITAL E
"exponentiale", 0x02147, // DOUBLE-STRUCK ITALIC SMALL E
"ExponentialE", 0x02147, // DOUBLE-STRUCK ITALIC SMALL E
NULL, 0
};
static NameId namesF[]={
"fallingdotseq", 0x02252, // APPROXIMATELY EQUAL TO OR THE IMAGE OF
"Fcy", 0x00424, // CYRILLIC CAPITAL LETTER EF
"fcy", 0x00444, // CYRILLIC SMALL LETTER EF
"female", 0x02640, // FEMALE SIGN
"ffilig", 0x0FB03, // LATIN SMALL LIGATURE FFI
"fflig", 0x0FB00, // LATIN SMALL LIGATURE FF
"ffllig", 0x0FB04, // LATIN SMALL LIGATURE FFL
"Ffr", 0x1D509, // MATHEMATICAL FRAKTUR CAPITAL F
"ffr", 0x1D523, // MATHEMATICAL FRAKTUR SMALL F
"filig", 0x0FB01, // LATIN SMALL LIGATURE FI
"FilledSmallSquare", 0x025FC, // BLACK MEDIUM SQUARE
"FilledVerySmallSquare", 0x025AA, // BLACK SMALL SQUARE
// "fjlig", 0x00066;0x0006A, // fj ligature
"flat", 0x0266D, // MUSIC FLAT SIGN
"fllig", 0x0FB02, // LATIN SMALL LIGATURE FL
"fltns", 0x025B1, // WHITE PARALLELOGRAM
"fnof", 0x00192, // LATIN SMALL LETTER F WITH HOOK
"Fopf", 0x1D53D, // MATHEMATICAL DOUBLE-STRUCK CAPITAL F
"fopf", 0x1D557, // MATHEMATICAL DOUBLE-STRUCK SMALL F
"forall", 0x02200, // FOR ALL
"ForAll", 0x02200, // FOR ALL
"fork", 0x022D4, // PITCHFORK
"forkv", 0x02AD9, // ELEMENT OF OPENING DOWNWARDS
"Fouriertrf", 0x02131, // SCRIPT CAPITAL F
"fpartint", 0x02A0D, // FINITE PART INTEGRAL
"frac12", 0x000BD, // VULGAR FRACTION ONE HALF
"frac13", 0x02153, // VULGAR FRACTION ONE THIRD
"frac14", 0x000BC, // VULGAR FRACTION ONE QUARTER
"frac15", 0x02155, // VULGAR FRACTION ONE FIFTH
"frac16", 0x02159, // VULGAR FRACTION ONE SIXTH
"frac18", 0x0215B, // VULGAR FRACTION ONE EIGHTH
"frac23", 0x02154, // VULGAR FRACTION TWO THIRDS
"frac25", 0x02156, // VULGAR FRACTION TWO FIFTHS
"frac34", 0x000BE, // VULGAR FRACTION THREE QUARTERS
"frac35", 0x02157, // VULGAR FRACTION THREE FIFTHS
"frac38", 0x0215C, // VULGAR FRACTION THREE EIGHTHS
"frac45", 0x02158, // VULGAR FRACTION FOUR FIFTHS
"frac56", 0x0215A, // VULGAR FRACTION FIVE SIXTHS
"frac58", 0x0215D, // VULGAR FRACTION FIVE EIGHTHS
"frac78", 0x0215E, // VULGAR FRACTION SEVEN EIGHTHS
"frasl", 0x02044, // FRACTION SLASH
"frown", 0x02322, // FROWN
"Fscr", 0x02131, // SCRIPT CAPITAL F
"fscr", 0x1D4BB, // MATHEMATICAL SCRIPT SMALL F
NULL, 0
};
static NameId namesG[]={
"gacute", 0x001F5, // LATIN SMALL LETTER G WITH ACUTE
"Gamma", 0x00393, // GREEK CAPITAL LETTER GAMMA
"gamma", 0x003B3, // GREEK SMALL LETTER GAMMA
"Gammad", 0x003DC, // GREEK LETTER DIGAMMA
"gammad", 0x003DD, // GREEK SMALL LETTER DIGAMMA
"gap", 0x02A86, // GREATER-THAN OR APPROXIMATE
"Gbreve", 0x0011E, // LATIN CAPITAL LETTER G WITH BREVE
"gbreve", 0x0011F, // LATIN SMALL LETTER G WITH BREVE
"Gcedil", 0x00122, // LATIN CAPITAL LETTER G WITH CEDILLA
"Gcirc", 0x0011C, // LATIN CAPITAL LETTER G WITH CIRCUMFLEX
"gcirc", 0x0011D, // LATIN SMALL LETTER G WITH CIRCUMFLEX
"Gcy", 0x00413, // CYRILLIC CAPITAL LETTER GHE
"gcy", 0x00433, // CYRILLIC SMALL LETTER GHE
"Gdot", 0x00120, // LATIN CAPITAL LETTER G WITH DOT ABOVE
"gdot", 0x00121, // LATIN SMALL LETTER G WITH DOT ABOVE
"ge", 0x02265, // GREATER-THAN OR EQUAL TO
"gE", 0x02267, // GREATER-THAN OVER EQUAL TO
"gel", 0x022DB, // GREATER-THAN EQUAL TO OR LESS-THAN
"gEl", 0x02A8C, // GREATER-THAN ABOVE DOUBLE-LINE EQUAL ABOVE LESS-THAN
"geq", 0x02265, // GREATER-THAN OR EQUAL TO
"geqq", 0x02267, // GREATER-THAN OVER EQUAL TO
"geqslant", 0x02A7E, // GREATER-THAN OR SLANTED EQUAL TO
"ges", 0x02A7E, // GREATER-THAN OR SLANTED EQUAL TO
"gescc", 0x02AA9, // GREATER-THAN CLOSED BY CURVE ABOVE SLANTED EQUAL
"gesdot", 0x02A80, // GREATER-THAN OR SLANTED EQUAL TO WITH DOT INSIDE
"gesdoto", 0x02A82, // GREATER-THAN OR SLANTED EQUAL TO WITH DOT ABOVE
"gesdotol", 0x02A84, // GREATER-THAN OR SLANTED EQUAL TO WITH DOT ABOVE LEFT
// "gesl", 0x022DB;0x0FE00, // GREATER-THAN slanted EQUAL TO OR LESS-THAN
"gesles", 0x02A94, // GREATER-THAN ABOVE SLANTED EQUAL ABOVE LESS-THAN ABOVE SLANTED EQUAL
"Gfr", 0x1D50A, // MATHEMATICAL FRAKTUR CAPITAL G
"gfr", 0x1D524, // MATHEMATICAL FRAKTUR SMALL G
"gg", 0x0226B, // MUCH GREATER-THAN
"Gg", 0x022D9, // VERY MUCH GREATER-THAN
"ggg", 0x022D9, // VERY MUCH GREATER-THAN
"Ggr", 0x00393, // GREEK CAPITAL LETTER GAMMA
"ggr", 0x003B3, // GREEK SMALL LETTER GAMMA
"gimel", 0x02137, // GIMEL SYMBOL
"GJcy", 0x00403, // CYRILLIC CAPITAL LETTER GJE
"gjcy", 0x00453, // CYRILLIC SMALL LETTER GJE
"gl", 0x02277, // GREATER-THAN OR LESS-THAN
"gla", 0x02AA5, // GREATER-THAN BESIDE LESS-THAN
"glE", 0x02A92, // GREATER-THAN ABOVE LESS-THAN ABOVE DOUBLE-LINE EQUAL
"glj", 0x02AA4, // GREATER-THAN OVERLAPPING LESS-THAN
"gnap", 0x02A8A, // GREATER-THAN AND NOT APPROXIMATE
"gnapprox", 0x02A8A, // GREATER-THAN AND NOT APPROXIMATE
"gnE", 0x02269, // GREATER-THAN BUT NOT EQUAL TO
"gne", 0x02A88, // GREATER-THAN AND SINGLE-LINE NOT EQUAL TO
"gneq", 0x02A88, // GREATER-THAN AND SINGLE-LINE NOT EQUAL TO
"gneqq", 0x02269, // GREATER-THAN BUT NOT EQUAL TO
"gnsim", 0x022E7, // GREATER-THAN BUT NOT EQUIVALENT TO
"Gopf", 0x1D53E, // MATHEMATICAL DOUBLE-STRUCK CAPITAL G
"gopf", 0x1D558, // MATHEMATICAL DOUBLE-STRUCK SMALL G
"grave", 0x00060, // GRAVE ACCENT
"GreaterEqual", 0x02265, // GREATER-THAN OR EQUAL TO
"GreaterEqualLess", 0x022DB, // GREATER-THAN EQUAL TO OR LESS-THAN
"GreaterFullEqual", 0x02267, // GREATER-THAN OVER EQUAL TO
"GreaterGreater", 0x02AA2, // DOUBLE NESTED GREATER-THAN
"GreaterLess", 0x02277, // GREATER-THAN OR LESS-THAN
"GreaterSlantEqual", 0x02A7E, // GREATER-THAN OR SLANTED EQUAL TO
"GreaterTilde", 0x02273, // GREATER-THAN OR EQUIVALENT TO
"gscr", 0x0210A, // SCRIPT SMALL G
"Gscr", 0x1D4A2, // MATHEMATICAL SCRIPT CAPITAL G
"gsim", 0x02273, // GREATER-THAN OR EQUIVALENT TO
"gsime", 0x02A8E, // GREATER-THAN ABOVE SIMILAR OR EQUAL
"gsiml", 0x02A90, // GREATER-THAN ABOVE SIMILAR ABOVE LESS-THAN
"gt", 0x0003E, // GREATER-THAN SIGN
"GT", 0x0003E, // GREATER-THAN SIGN
"Gt", 0x0226B, // MUCH GREATER-THAN
"gtcc", 0x02AA7, // GREATER-THAN CLOSED BY CURVE
"gtcir", 0x02A7A, // GREATER-THAN WITH CIRCLE INSIDE
"gtdot", 0x022D7, // GREATER-THAN WITH DOT
"gtlPar", 0x02995, // DOUBLE LEFT ARC GREATER-THAN BRACKET
"gtquest", 0x02A7C, // GREATER-THAN WITH QUESTION MARK ABOVE
"gtrapprox", 0x02A86, // GREATER-THAN OR APPROXIMATE
"gtrarr", 0x02978, // GREATER-THAN ABOVE RIGHTWARDS ARROW
"gtrdot", 0x022D7, // GREATER-THAN WITH DOT
"gtreqless", 0x022DB, // GREATER-THAN EQUAL TO OR LESS-THAN
"gtreqqless", 0x02A8C, // GREATER-THAN ABOVE DOUBLE-LINE EQUAL ABOVE LESS-THAN
"gtrless", 0x02277, // GREATER-THAN OR LESS-THAN
"gtrsim", 0x02273, // GREATER-THAN OR EQUIVALENT TO
// "gvertneqq", 0x02269;0x0FE00, // GREATER-THAN BUT NOT EQUAL TO - with vertical stroke
// "gvnE", 0x02269;0x0FE00, // GREATER-THAN BUT NOT EQUAL TO - with vertical stroke
NULL, 0
};
static NameId namesH[]={
"Hacek", 0x002C7, // CARON
"hairsp", 0x0200A, // HAIR SPACE
"half", 0x000BD, // VULGAR FRACTION ONE HALF
"hamilt", 0x0210B, // SCRIPT CAPITAL H
"HARDcy", 0x0042A, // CYRILLIC CAPITAL LETTER HARD SIGN
"hardcy", 0x0044A, // CYRILLIC SMALL LETTER HARD SIGN
"harr", 0x02194, // LEFT RIGHT ARROW
"hArr", 0x021D4, // LEFT RIGHT DOUBLE ARROW
"harrcir", 0x02948, // LEFT RIGHT ARROW THROUGH SMALL CIRCLE
"harrw", 0x021AD, // LEFT RIGHT WAVE ARROW
"Hat", 0x0005E, // CIRCUMFLEX ACCENT
"hbar", 0x0210F, // PLANCK CONSTANT OVER TWO PI
"Hcirc", 0x00124, // LATIN CAPITAL LETTER H WITH CIRCUMFLEX
"hcirc", 0x00125, // LATIN SMALL LETTER H WITH CIRCUMFLEX
"hearts", 0x02665, // BLACK HEART SUIT
"heartsuit", 0x02665, // BLACK HEART SUIT
"hellip", 0x02026, // HORIZONTAL ELLIPSIS
"hercon", 0x022B9, // HERMITIAN CONJUGATE MATRIX
"Hfr", 0x0210C, // BLACK-LETTER CAPITAL H
"hfr", 0x1D525, // MATHEMATICAL FRAKTUR SMALL H
"HilbertSpace", 0x0210B, // SCRIPT CAPITAL H
"hksearow", 0x02925, // SOUTH EAST ARROW WITH HOOK
"hkswarow", 0x02926, // SOUTH WEST ARROW WITH HOOK
"hoarr", 0x021FF, // LEFT RIGHT OPEN-HEADED ARROW
"homtht", 0x0223B, // HOMOTHETIC
"hookleftarrow", 0x021A9, // LEFTWARDS ARROW WITH HOOK
"hookrightarrow", 0x021AA, // RIGHTWARDS ARROW WITH HOOK
"Hopf", 0x0210D, // DOUBLE-STRUCK CAPITAL H
"hopf", 0x1D559, // MATHEMATICAL DOUBLE-STRUCK SMALL H
"horbar", 0x02015, // HORIZONTAL BAR
"HorizontalLine", 0x02500, // BOX DRAWINGS LIGHT HORIZONTAL
"Hscr", 0x0210B, // SCRIPT CAPITAL H
"hscr", 0x1D4BD, // MATHEMATICAL SCRIPT SMALL H
"hslash", 0x0210F, // PLANCK CONSTANT OVER TWO PI
"Hstrok", 0x00126, // LATIN CAPITAL LETTER H WITH STROKE
"hstrok", 0x00127, // LATIN SMALL LETTER H WITH STROKE
"HumpDownHump", 0x0224E, // GEOMETRICALLY EQUIVALENT TO
"HumpEqual", 0x0224F, // DIFFERENCE BETWEEN
"hybull", 0x02043, // HYPHEN BULLET
"hyphen", 0x02010, // HYPHEN
NULL, 0
};
static NameId namesI[]={
"Iacgr", 0x0038A, // GREEK CAPITAL LETTER IOTA WITH TONOS
"iacgr", 0x003AF, // GREEK SMALL LETTER IOTA WITH TONOS
"Iacute", 0x000CD, // LATIN CAPITAL LETTER I WITH ACUTE
"iacute", 0x000ED, // LATIN SMALL LETTER I WITH ACUTE
"ic", 0x02063, // INVISIBLE SEPARATOR
"Icirc", 0x000CE, // LATIN CAPITAL LETTER I WITH CIRCUMFLEX
"icirc", 0x000EE, // LATIN SMALL LETTER I WITH CIRCUMFLEX
"Icy", 0x00418, // CYRILLIC CAPITAL LETTER I
"icy", 0x00438, // CYRILLIC SMALL LETTER I
"idiagr", 0x00390, // GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS
"Idigr", 0x003AA, // GREEK CAPITAL LETTER IOTA WITH DIALYTIKA
"idigr", 0x003CA, // GREEK SMALL LETTER IOTA WITH DIALYTIKA
"Idot", 0x00130, // LATIN CAPITAL LETTER I WITH DOT ABOVE
"IEcy", 0x00415, // CYRILLIC CAPITAL LETTER IE
"iecy", 0x00435, // CYRILLIC SMALL LETTER IE
"iexcl", 0x000A1, // INVERTED EXCLAMATION MARK
"iff", 0x021D4, // LEFT RIGHT DOUBLE ARROW
"Ifr", 0x02111, // BLACK-LETTER CAPITAL I
"ifr", 0x1D526, // MATHEMATICAL FRAKTUR SMALL I
"Igr", 0x00399, // GREEK CAPITAL LETTER IOTA
"igr", 0x003B9, // GREEK SMALL LETTER IOTA
"Igrave", 0x000CC, // LATIN CAPITAL LETTER I WITH GRAVE
"igrave", 0x000EC, // LATIN SMALL LETTER I WITH GRAVE
"ii", 0x02148, // DOUBLE-STRUCK ITALIC SMALL I
"iiiint", 0x02A0C, // QUADRUPLE INTEGRAL OPERATOR
"iiint", 0x0222D, // TRIPLE INTEGRAL
"iinfin", 0x029DC, // INCOMPLETE INFINITY
"iiota", 0x02129, // TURNED GREEK SMALL LETTER IOTA
"IJlig", 0x00132, // LATIN CAPITAL LIGATURE IJ
"ijlig", 0x00133, // LATIN SMALL LIGATURE IJ
"Im", 0x02111, // BLACK-LETTER CAPITAL I
"Imacr", 0x0012A, // LATIN CAPITAL LETTER I WITH MACRON
"imacr", 0x0012B, // LATIN SMALL LETTER I WITH MACRON
"image", 0x02111, // BLACK-LETTER CAPITAL I
"ImaginaryI", 0x02148, // DOUBLE-STRUCK ITALIC SMALL I
"imagline", 0x02110, // SCRIPT CAPITAL I
"imagpart", 0x02111, // BLACK-LETTER CAPITAL I
"imath", 0x00131, // LATIN SMALL LETTER DOTLESS I
"imof", 0x022B7, // IMAGE OF
"imped", 0x001B5, // LATIN CAPITAL LETTER Z WITH STROKE
"Implies", 0x021D2, // RIGHTWARDS DOUBLE ARROW
"in", 0x02208, // ELEMENT OF
"incare", 0x02105, // CARE OF
"infin", 0x0221E, // INFINITY
"infintie", 0x029DD, // TIE OVER INFINITY
"inodot", 0x00131, // LATIN SMALL LETTER DOTLESS I
"int", 0x0222B, // INTEGRAL
"Int", 0x0222C, // DOUBLE INTEGRAL
"intcal", 0x022BA, // INTERCALATE
"integers", 0x02124, // DOUBLE-STRUCK CAPITAL Z
"Integral", 0x0222B, // INTEGRAL
"intercal", 0x022BA, // INTERCALATE
"Intersection", 0x022C2, // N-ARY INTERSECTION
"intlarhk", 0x02A17, // INTEGRAL WITH LEFTWARDS ARROW WITH HOOK
"intprod", 0x02A3C, // INTERIOR PRODUCT
"InvisibleComma", 0x02063, // INVISIBLE SEPARATOR
"InvisibleTimes", 0x02062, // INVISIBLE TIMES
"IOcy", 0x00401, // CYRILLIC CAPITAL LETTER IO
"iocy", 0x00451, // CYRILLIC SMALL LETTER IO
"Iogon", 0x0012E, // LATIN CAPITAL LETTER I WITH OGONEK
"iogon", 0x0012F, // LATIN SMALL LETTER I WITH OGONEK
"Iopf", 0x1D540, // MATHEMATICAL DOUBLE-STRUCK CAPITAL I
"iopf", 0x1D55A, // MATHEMATICAL DOUBLE-STRUCK SMALL I
"Iota", 0x00399, // GREEK CAPITAL LETTER IOTA
"iota", 0x003B9, // GREEK SMALL LETTER IOTA
"iprod", 0x02A3C, // INTERIOR PRODUCT
"iquest", 0x000BF, // INVERTED QUESTION MARK
"Iscr", 0x02110, // SCRIPT CAPITAL I
"iscr", 0x1D4BE, // MATHEMATICAL SCRIPT SMALL I
"isin", 0x02208, // ELEMENT OF
"isindot", 0x022F5, // ELEMENT OF WITH DOT ABOVE
"isinE", 0x022F9, // ELEMENT OF WITH TWO HORIZONTAL STROKES
"isins", 0x022F4, // SMALL ELEMENT OF WITH VERTICAL BAR AT END OF HORIZONTAL STROKE
"isinsv", 0x022F3, // ELEMENT OF WITH VERTICAL BAR AT END OF HORIZONTAL STROKE
"isinv", 0x02208, // ELEMENT OF
"it", 0x02062, // INVISIBLE TIMES
"Itilde", 0x00128, // LATIN CAPITAL LETTER I WITH TILDE
"itilde", 0x00129, // LATIN SMALL LETTER I WITH TILDE
"Iukcy", 0x00406, // CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
"iukcy", 0x00456, // CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
"Iuml", 0x000CF, // LATIN CAPITAL LETTER I WITH DIAERESIS
"iuml", 0x000EF, // LATIN SMALL LETTER I WITH DIAERESIS
NULL, 0
};
static NameId namesJ[]={
"Jcirc", 0x00134, // LATIN CAPITAL LETTER J WITH CIRCUMFLEX
"jcirc", 0x00135, // LATIN SMALL LETTER J WITH CIRCUMFLEX
"Jcy", 0x00419, // CYRILLIC CAPITAL LETTER SHORT I
"jcy", 0x00439, // CYRILLIC SMALL LETTER SHORT I
"Jfr", 0x1D50D, // MATHEMATICAL FRAKTUR CAPITAL J
"jfr", 0x1D527, // MATHEMATICAL FRAKTUR SMALL J
"jmath", 0x00237, // LATIN SMALL LETTER DOTLESS J
"Jopf", 0x1D541, // MATHEMATICAL DOUBLE-STRUCK CAPITAL J
"jopf", 0x1D55B, // MATHEMATICAL DOUBLE-STRUCK SMALL J
"Jscr", 0x1D4A5, // MATHEMATICAL SCRIPT CAPITAL J
"jscr", 0x1D4BF, // MATHEMATICAL SCRIPT SMALL J
"Jsercy", 0x00408, // CYRILLIC CAPITAL LETTER JE
"jsercy", 0x00458, // CYRILLIC SMALL LETTER JE
"Jukcy", 0x00404, // CYRILLIC CAPITAL LETTER UKRAINIAN IE
"jukcy", 0x00454, // CYRILLIC SMALL LETTER UKRAINIAN IE
NULL, 0
};
static NameId namesK[]={
"Kappa", 0x0039A, // GREEK CAPITAL LETTER KAPPA
"kappa", 0x003BA, // GREEK SMALL LETTER KAPPA
"kappav", 0x003F0, // GREEK KAPPA SYMBOL
"Kcedil", 0x00136, // LATIN CAPITAL LETTER K WITH CEDILLA
"kcedil", 0x00137, // LATIN SMALL LETTER K WITH CEDILLA
"Kcy", 0x0041A, // CYRILLIC CAPITAL LETTER KA
"kcy", 0x0043A, // CYRILLIC SMALL LETTER KA
"Kfr", 0x1D50E, // MATHEMATICAL FRAKTUR CAPITAL K
"kfr", 0x1D528, // MATHEMATICAL FRAKTUR SMALL K
"Kgr", 0x0039A, // GREEK CAPITAL LETTER KAPPA
"kgr", 0x003BA, // GREEK SMALL LETTER KAPPA
"kgreen", 0x00138, // LATIN SMALL LETTER KRA
"KHcy", 0x00425, // CYRILLIC CAPITAL LETTER HA
"khcy", 0x00445, // CYRILLIC SMALL LETTER HA
"KHgr", 0x003A7, // GREEK CAPITAL LETTER CHI
"khgr", 0x003C7, // GREEK SMALL LETTER CHI
"KJcy", 0x0040C, // CYRILLIC CAPITAL LETTER KJE
"kjcy", 0x0045C, // CYRILLIC SMALL LETTER KJE
"Kopf", 0x1D542, // MATHEMATICAL DOUBLE-STRUCK CAPITAL K
"kopf", 0x1D55C, // MATHEMATICAL DOUBLE-STRUCK SMALL K
"Kscr", 0x1D4A6, // MATHEMATICAL SCRIPT CAPITAL K
"kscr", 0x1D4C0, // MATHEMATICAL SCRIPT SMALL K
NULL, 0
};
static NameId namesL[]={
"lAarr", 0x021DA, // LEFTWARDS TRIPLE ARROW
"Lacute", 0x00139, // LATIN CAPITAL LETTER L WITH ACUTE
"lacute", 0x0013A, // LATIN SMALL LETTER L WITH ACUTE
"laemptyv", 0x029B4, // EMPTY SET WITH LEFT ARROW ABOVE
"lagran", 0x02112, // SCRIPT CAPITAL L
"Lambda", 0x0039B, // GREEK CAPITAL LETTER LAMDA
"lambda", 0x003BB, // GREEK SMALL LETTER LAMDA
"lang", 0x027E8, // MATHEMATICAL LEFT ANGLE BRACKET
"Lang", 0x027EA, // MATHEMATICAL LEFT DOUBLE ANGLE BRACKET
"langd", 0x02991, // LEFT ANGLE BRACKET WITH DOT
"langle", 0x027E8, // MATHEMATICAL LEFT ANGLE BRACKET
"lap", 0x02A85, // LESS-THAN OR APPROXIMATE
"Laplacetrf", 0x02112, // SCRIPT CAPITAL L
"laquo", 0x000AB, // LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
"larr", 0x02190, // LEFTWARDS ARROW
"Larr", 0x0219E, // LEFTWARDS TWO HEADED ARROW
"lArr", 0x021D0, // LEFTWARDS DOUBLE ARROW
"larrb", 0x021E4, // LEFTWARDS ARROW TO BAR
"larrbfs", 0x0291F, // LEFTWARDS ARROW FROM BAR TO BLACK DIAMOND
"larrfs", 0x0291D, // LEFTWARDS ARROW TO BLACK DIAMOND
"larrhk", 0x021A9, // LEFTWARDS ARROW WITH HOOK
"larrlp", 0x021AB, // LEFTWARDS ARROW WITH LOOP
"larrpl", 0x02939, // LEFT-SIDE ARC ANTICLOCKWISE ARROW
"larrsim", 0x02973, // LEFTWARDS ARROW ABOVE TILDE OPERATOR
"larrtl", 0x021A2, // LEFTWARDS ARROW WITH TAIL
"lat", 0x02AAB, // LARGER THAN
"latail", 0x02919, // LEFTWARDS ARROW-TAIL
"lAtail", 0x0291B, // LEFTWARDS DOUBLE ARROW-TAIL
"late", 0x02AAD, // LARGER THAN OR EQUAL TO
// "lates", 0x02AAD;0x0FE00, // LARGER THAN OR slanted EQUAL
"lbarr", 0x0290C, // LEFTWARDS DOUBLE DASH ARROW
"lBarr", 0x0290E, // LEFTWARDS TRIPLE DASH ARROW
"lbbrk", 0x02772, // LIGHT LEFT TORTOISE SHELL BRACKET ORNAMENT
"lbrace", 0x0007B, // LEFT CURLY BRACKET
"lbrack", 0x0005B, // LEFT SQUARE BRACKET
"lbrke", 0x0298B, // LEFT SQUARE BRACKET WITH UNDERBAR
"lbrksld", 0x0298F, // LEFT SQUARE BRACKET WITH TICK IN BOTTOM CORNER
"lbrkslu", 0x0298D, // LEFT SQUARE BRACKET WITH TICK IN TOP CORNER
"Lcaron", 0x0013D, // LATIN CAPITAL LETTER L WITH CARON
"lcaron", 0x0013E, // LATIN SMALL LETTER L WITH CARON
"Lcedil", 0x0013B, // LATIN CAPITAL LETTER L WITH CEDILLA
"lcedil", 0x0013C, // LATIN SMALL LETTER L WITH CEDILLA
"lceil", 0x02308, // LEFT CEILING
"lcub", 0x0007B, // LEFT CURLY BRACKET
"Lcy", 0x0041B, // CYRILLIC CAPITAL LETTER EL
"lcy", 0x0043B, // CYRILLIC SMALL LETTER EL
"ldca", 0x02936, // ARROW POINTING DOWNWARDS THEN CURVING LEFTWARDS
"ldquo", 0x0201C, // LEFT DOUBLE QUOTATION MARK
"ldquor", 0x0201E, // DOUBLE LOW-9 QUOTATION MARK
"ldrdhar", 0x02967, // LEFTWARDS HARPOON WITH BARB DOWN ABOVE RIGHTWARDS HARPOON WITH BARB DOWN
"ldrushar", 0x0294B, // LEFT BARB DOWN RIGHT BARB UP HARPOON
"ldsh", 0x021B2, // DOWNWARDS ARROW WITH TIP LEFTWARDS
"le", 0x02264, // LESS-THAN OR EQUAL TO
"lE", 0x02266, // LESS-THAN OVER EQUAL TO
"LeftAngleBracket", 0x027E8, // MATHEMATICAL LEFT ANGLE BRACKET
"leftarrow", 0x02190, // LEFTWARDS ARROW
"LeftArrow", 0x02190, // LEFTWARDS ARROW
"Leftarrow", 0x021D0, // LEFTWARDS DOUBLE ARROW
"LeftArrowBar", 0x021E4, // LEFTWARDS ARROW TO BAR
"LeftArrowRightArrow", 0x021C6, // LEFTWARDS ARROW OVER RIGHTWARDS ARROW
"leftarrowtail", 0x021A2, // LEFTWARDS ARROW WITH TAIL
"LeftCeiling", 0x02308, // LEFT CEILING
"LeftDoubleBracket", 0x027E6, // MATHEMATICAL LEFT WHITE SQUARE BRACKET
"LeftDownTeeVector", 0x02961, // DOWNWARDS HARPOON WITH BARB LEFT FROM BAR
"LeftDownVector", 0x021C3, // DOWNWARDS HARPOON WITH BARB LEFTWARDS
"LeftDownVectorBar", 0x02959, // DOWNWARDS HARPOON WITH BARB LEFT TO BAR
"LeftFloor", 0x0230A, // LEFT FLOOR
"leftharpoondown", 0x021BD, // LEFTWARDS HARPOON WITH BARB DOWNWARDS
"leftharpoonup", 0x021BC, // LEFTWARDS HARPOON WITH BARB UPWARDS
"leftleftarrows", 0x021C7, // LEFTWARDS PAIRED ARROWS
"leftrightarrow", 0x02194, // LEFT RIGHT ARROW
"LeftRightArrow", 0x02194, // LEFT RIGHT ARROW
"Leftrightarrow", 0x021D4, // LEFT RIGHT DOUBLE ARROW
"leftrightarrows", 0x021C6, // LEFTWARDS ARROW OVER RIGHTWARDS ARROW
"leftrightharpoons", 0x021CB, // LEFTWARDS HARPOON OVER RIGHTWARDS HARPOON
"leftrightsquigarrow", 0x021AD, // LEFT RIGHT WAVE ARROW
"LeftRightVector", 0x0294E, // LEFT BARB UP RIGHT BARB UP HARPOON
"LeftTee", 0x022A3, // LEFT TACK
"LeftTeeArrow", 0x021A4, // LEFTWARDS ARROW FROM BAR
"LeftTeeVector", 0x0295A, // LEFTWARDS HARPOON WITH BARB UP FROM BAR
"leftthreetimes", 0x022CB, // LEFT SEMIDIRECT PRODUCT
"LeftTriangle", 0x022B2, // NORMAL SUBGROUP OF
"LeftTriangleBar", 0x029CF, // LEFT TRIANGLE BESIDE VERTICAL BAR
"LeftTriangleEqual", 0x022B4, // NORMAL SUBGROUP OF OR EQUAL TO
"LeftUpDownVector", 0x02951, // UP BARB LEFT DOWN BARB LEFT HARPOON
"LeftUpTeeVector", 0x02960, // UPWARDS HARPOON WITH BARB LEFT FROM BAR
"LeftUpVector", 0x021BF, // UPWARDS HARPOON WITH BARB LEFTWARDS
"LeftUpVectorBar", 0x02958, // UPWARDS HARPOON WITH BARB LEFT TO BAR
"LeftVector", 0x021BC, // LEFTWARDS HARPOON WITH BARB UPWARDS
"LeftVectorBar", 0x02952, // LEFTWARDS HARPOON WITH BARB UP TO BAR
"leg", 0x022DA, // LESS-THAN EQUAL TO OR GREATER-THAN
"lEg", 0x02A8B, // LESS-THAN ABOVE DOUBLE-LINE EQUAL ABOVE GREATER-THAN
"leq", 0x02264, // LESS-THAN OR EQUAL TO
"leqq", 0x02266, // LESS-THAN OVER EQUAL TO
"leqslant", 0x02A7D, // LESS-THAN OR SLANTED EQUAL TO
"les", 0x02A7D, // LESS-THAN OR SLANTED EQUAL TO
"lescc", 0x02AA8, // LESS-THAN CLOSED BY CURVE ABOVE SLANTED EQUAL
"lesdot", 0x02A7F, // LESS-THAN OR SLANTED EQUAL TO WITH DOT INSIDE
"lesdoto", 0x02A81, // LESS-THAN OR SLANTED EQUAL TO WITH DOT ABOVE
"lesdotor", 0x02A83, // LESS-THAN OR SLANTED EQUAL TO WITH DOT ABOVE RIGHT
// "lesg", 0x022DA;0x0FE00, // LESS-THAN slanted EQUAL TO OR GREATER-THAN
"lesges", 0x02A93, // LESS-THAN ABOVE SLANTED EQUAL ABOVE GREATER-THAN ABOVE SLANTED EQUAL
"lessapprox", 0x02A85, // LESS-THAN OR APPROXIMATE
"lessdot", 0x022D6, // LESS-THAN WITH DOT
"lesseqgtr", 0x022DA, // LESS-THAN EQUAL TO OR GREATER-THAN
"lesseqqgtr", 0x02A8B, // LESS-THAN ABOVE DOUBLE-LINE EQUAL ABOVE GREATER-THAN
"LessEqualGreater", 0x022DA, // LESS-THAN EQUAL TO OR GREATER-THAN
"LessFullEqual", 0x02266, // LESS-THAN OVER EQUAL TO
"LessGreater", 0x02276, // LESS-THAN OR GREATER-THAN
"lessgtr", 0x02276, // LESS-THAN OR GREATER-THAN
"LessLess", 0x02AA1, // DOUBLE NESTED LESS-THAN
"lesssim", 0x02272, // LESS-THAN OR EQUIVALENT TO
"LessSlantEqual", 0x02A7D, // LESS-THAN OR SLANTED EQUAL TO
"LessTilde", 0x02272, // LESS-THAN OR EQUIVALENT TO
"lfisht", 0x0297C, // LEFT FISH TAIL
"lfloor", 0x0230A, // LEFT FLOOR
"Lfr", 0x1D50F, // MATHEMATICAL FRAKTUR CAPITAL L
"lfr", 0x1D529, // MATHEMATICAL FRAKTUR SMALL L
"lg", 0x02276, // LESS-THAN OR GREATER-THAN
"lgE", 0x02A91, // LESS-THAN ABOVE GREATER-THAN ABOVE DOUBLE-LINE EQUAL
"Lgr", 0x0039B, // GREEK CAPITAL LETTER LAMDA
"lgr", 0x003BB, // GREEK SMALL LETTER LAMDA
"lHar", 0x02962, // LEFTWARDS HARPOON WITH BARB UP ABOVE LEFTWARDS HARPOON WITH BARB DOWN
"lhard", 0x021BD, // LEFTWARDS HARPOON WITH BARB DOWNWARDS
"lharu", 0x021BC, // LEFTWARDS HARPOON WITH BARB UPWARDS
"lharul", 0x0296A, // LEFTWARDS HARPOON WITH BARB UP ABOVE LONG DASH
"lhblk", 0x02584, // LOWER HALF BLOCK
"LJcy", 0x00409, // CYRILLIC CAPITAL LETTER LJE
"ljcy", 0x00459, // CYRILLIC SMALL LETTER LJE
"ll", 0x0226A, // MUCH LESS-THAN
"Ll", 0x022D8, // VERY MUCH LESS-THAN
"llarr", 0x021C7, // LEFTWARDS PAIRED ARROWS
"llcorner", 0x0231E, // BOTTOM LEFT CORNER
"Lleftarrow", 0x021DA, // LEFTWARDS TRIPLE ARROW
"llhard", 0x0296B, // LEFTWARDS HARPOON WITH BARB DOWN BELOW LONG DASH
"lltri", 0x025FA, // LOWER LEFT TRIANGLE
"Lmidot", 0x0013F, // LATIN CAPITAL LETTER L WITH MIDDLE DOT
"lmidot", 0x00140, // LATIN SMALL LETTER L WITH MIDDLE DOT
"lmoust", 0x023B0, // UPPER LEFT OR LOWER RIGHT CURLY BRACKET SECTION
"lmoustache", 0x023B0, // UPPER LEFT OR LOWER RIGHT CURLY BRACKET SECTION
"lnap", 0x02A89, // LESS-THAN AND NOT APPROXIMATE
"lnapprox", 0x02A89, // LESS-THAN AND NOT APPROXIMATE
"lnE", 0x02268, // LESS-THAN BUT NOT EQUAL TO
"lne", 0x02A87, // LESS-THAN AND SINGLE-LINE NOT EQUAL TO
"lneq", 0x02A87, // LESS-THAN AND SINGLE-LINE NOT EQUAL TO
"lneqq", 0x02268, // LESS-THAN BUT NOT EQUAL TO
"lnsim", 0x022E6, // LESS-THAN BUT NOT EQUIVALENT TO
"loang", 0x027EC, // MATHEMATICAL LEFT WHITE TORTOISE SHELL BRACKET
"loarr", 0x021FD, // LEFTWARDS OPEN-HEADED ARROW
"lobrk", 0x027E6, // MATHEMATICAL LEFT WHITE SQUARE BRACKET
"longleftarrow", 0x027F5, // LONG LEFTWARDS ARROW
"LongLeftArrow", 0x027F5, // LONG LEFTWARDS ARROW
"Longleftarrow", 0x027F8, // LONG LEFTWARDS DOUBLE ARROW
"longleftrightarrow", 0x027F7, // LONG LEFT RIGHT ARROW
"LongLeftRightArrow", 0x027F7, // LONG LEFT RIGHT ARROW
"Longleftrightarrow", 0x027FA, // LONG LEFT RIGHT DOUBLE ARROW
"longmapsto", 0x027FC, // LONG RIGHTWARDS ARROW FROM BAR
"longrightarrow", 0x027F6, // LONG RIGHTWARDS ARROW
"LongRightArrow", 0x027F6, // LONG RIGHTWARDS ARROW
"Longrightarrow", 0x027F9, // LONG RIGHTWARDS DOUBLE ARROW
"looparrowleft", 0x021AB, // LEFTWARDS ARROW WITH LOOP
"looparrowright", 0x021AC, // RIGHTWARDS ARROW WITH LOOP
"lopar", 0x02985, // LEFT WHITE PARENTHESIS
"Lopf", 0x1D543, // MATHEMATICAL DOUBLE-STRUCK CAPITAL L
"lopf", 0x1D55D, // MATHEMATICAL DOUBLE-STRUCK SMALL L
"loplus", 0x02A2D, // PLUS SIGN IN LEFT HALF CIRCLE
"lotimes", 0x02A34, // MULTIPLICATION SIGN IN LEFT HALF CIRCLE
"lowast", 0x02217, // ASTERISK OPERATOR
"lowbar", 0x0005F, // LOW LINE
"LowerLeftArrow", 0x02199, // SOUTH WEST ARROW
"LowerRightArrow", 0x02198, // SOUTH EAST ARROW
"loz", 0x025CA, // LOZENGE
"lozenge", 0x025CA, // LOZENGE
"lozf", 0x029EB, // BLACK LOZENGE
"lpar", 0x00028, // LEFT PARENTHESIS
"lparlt", 0x02993, // LEFT ARC LESS-THAN BRACKET
"lrarr", 0x021C6, // LEFTWARDS ARROW OVER RIGHTWARDS ARROW
"lrcorner", 0x0231F, // BOTTOM RIGHT CORNER
"lrhar", 0x021CB, // LEFTWARDS HARPOON OVER RIGHTWARDS HARPOON
"lrhard", 0x0296D, // RIGHTWARDS HARPOON WITH BARB DOWN BELOW LONG DASH
"lrm", 0x0200E, // LEFT-TO-RIGHT MARK
"lrtri", 0x022BF, // RIGHT TRIANGLE
"lsaquo", 0x02039, // SINGLE LEFT-POINTING ANGLE QUOTATION MARK
"Lscr", 0x02112, // SCRIPT CAPITAL L
"lscr", 0x1D4C1, // MATHEMATICAL SCRIPT SMALL L
"lsh", 0x021B0, // UPWARDS ARROW WITH TIP LEFTWARDS
"Lsh", 0x021B0, // UPWARDS ARROW WITH TIP LEFTWARDS
"lsim", 0x02272, // LESS-THAN OR EQUIVALENT TO
"lsime", 0x02A8D, // LESS-THAN ABOVE SIMILAR OR EQUAL
"lsimg", 0x02A8F, // LESS-THAN ABOVE SIMILAR ABOVE GREATER-THAN
"lsqb", 0x0005B, // LEFT SQUARE BRACKET
"lsquo", 0x02018, // LEFT SINGLE QUOTATION MARK
"lsquor", 0x0201A, // SINGLE LOW-9 QUOTATION MARK
"Lstrok", 0x00141, // LATIN CAPITAL LETTER L WITH STROKE
"lstrok", 0x00142, // LATIN SMALL LETTER L WITH STROKE
"lt", 0x0003C, // LESS-THAN SIGN
"LT", 0x0003C, // LESS-THAN SIGN
"Lt", 0x0226A, // MUCH LESS-THAN
"ltcc", 0x02AA6, // LESS-THAN CLOSED BY CURVE
"ltcir", 0x02A79, // LESS-THAN WITH CIRCLE INSIDE
"ltdot", 0x022D6, // LESS-THAN WITH DOT
"lthree", 0x022CB, // LEFT SEMIDIRECT PRODUCT
"ltimes", 0x022C9, // LEFT NORMAL FACTOR SEMIDIRECT PRODUCT
"ltlarr", 0x02976, // LESS-THAN ABOVE LEFTWARDS ARROW
"ltquest", 0x02A7B, // LESS-THAN WITH QUESTION MARK ABOVE
"ltri", 0x025C3, // WHITE LEFT-POINTING SMALL TRIANGLE
"ltrie", 0x022B4, // NORMAL SUBGROUP OF OR EQUAL TO
"ltrif", 0x025C2, // BLACK LEFT-POINTING SMALL TRIANGLE
"ltrPar", 0x02996, // DOUBLE RIGHT ARC LESS-THAN BRACKET
"lurdshar", 0x0294A, // LEFT BARB UP RIGHT BARB DOWN HARPOON
"luruhar", 0x02966, // LEFTWARDS HARPOON WITH BARB UP ABOVE RIGHTWARDS HARPOON WITH BARB UP
// "lvertneqq", 0x02268;0x0FE00, // LESS-THAN BUT NOT EQUAL TO - with vertical stroke
// "lvnE", 0x02268;0x0FE00, // LESS-THAN BUT NOT EQUAL TO - with vertical stroke
NULL, 0
};
static NameId namesM[]={
"macr", 0x000AF, // MACRON
"male", 0x02642, // MALE SIGN
"malt", 0x02720, // MALTESE CROSS
"maltese", 0x02720, // MALTESE CROSS
"map", 0x021A6, // RIGHTWARDS ARROW FROM BAR
"Map", 0x02905, // RIGHTWARDS TWO-HEADED ARROW FROM BAR
"mapsto", 0x021A6, // RIGHTWARDS ARROW FROM BAR
"mapstodown", 0x021A7, // DOWNWARDS ARROW FROM BAR
"mapstoleft", 0x021A4, // LEFTWARDS ARROW FROM BAR
"mapstoup", 0x021A5, // UPWARDS ARROW FROM BAR
"marker", 0x025AE, // BLACK VERTICAL RECTANGLE
"mcomma", 0x02A29, // MINUS SIGN WITH COMMA ABOVE
"Mcy", 0x0041C, // CYRILLIC CAPITAL LETTER EM
"mcy", 0x0043C, // CYRILLIC SMALL LETTER EM
"mdash", 0x02014, // EM DASH
"mDDot", 0x0223A, // GEOMETRIC PROPORTION
"measuredangle", 0x02221, // MEASURED ANGLE
"MediumSpace", 0x0205F, // MEDIUM MATHEMATICAL SPACE
"Mellintrf", 0x02133, // SCRIPT CAPITAL M
"Mfr", 0x1D510, // MATHEMATICAL FRAKTUR CAPITAL M
"mfr", 0x1D52A, // MATHEMATICAL FRAKTUR SMALL M
"Mgr", 0x0039C, // GREEK CAPITAL LETTER MU
"mgr", 0x003BC, // GREEK SMALL LETTER MU
"mho", 0x02127, // INVERTED OHM SIGN
"micro", 0x000B5, // MICRO SIGN
"mid", 0x02223, // DIVIDES
"midast", 0x0002A, // ASTERISK
"midcir", 0x02AF0, // VERTICAL LINE WITH CIRCLE BELOW
"middot", 0x000B7, // MIDDLE DOT
"minus", 0x02212, // MINUS SIGN
"minusb", 0x0229F, // SQUARED MINUS
"minusd", 0x02238, // DOT MINUS
"minusdu", 0x02A2A, // MINUS SIGN WITH DOT BELOW
"MinusPlus", 0x02213, // MINUS-OR-PLUS SIGN
"mlcp", 0x02ADB, // TRANSVERSAL INTERSECTION
"mldr", 0x02026, // HORIZONTAL ELLIPSIS
"mnplus", 0x02213, // MINUS-OR-PLUS SIGN
"models", 0x022A7, // MODELS
"Mopf", 0x1D544, // MATHEMATICAL DOUBLE-STRUCK CAPITAL M
"mopf", 0x1D55E, // MATHEMATICAL DOUBLE-STRUCK SMALL M
"mp", 0x02213, // MINUS-OR-PLUS SIGN
"Mscr", 0x02133, // SCRIPT CAPITAL M
"mscr", 0x1D4C2, // MATHEMATICAL SCRIPT SMALL M
"mstpos", 0x0223E, // INVERTED LAZY S
"Mu", 0x0039C, // GREEK CAPITAL LETTER MU
"mu", 0x003BC, // GREEK SMALL LETTER MU
"multimap", 0x022B8, // MULTIMAP
"mumap", 0x022B8, // MULTIMAP
NULL, 0
};
static NameId namesN[]={
"nabla", 0x02207, // NABLA
"Nacute", 0x00143, // LATIN CAPITAL LETTER N WITH ACUTE
"nacute", 0x00144, // LATIN SMALL LETTER N WITH ACUTE
// "nang", 0x02220;0x020D2, // ANGLE with vertical line
"nap", 0x02249, // NOT ALMOST EQUAL TO
// "napE", 0x02A70;0x00338, // APPROXIMATELY EQUAL OR EQUAL TO with slash
// "napid", 0x0224B;0x00338, // TRIPLE TILDE with slash
"napos", 0x00149, // LATIN SMALL LETTER N PRECEDED BY APOSTROPHE
"napprox", 0x02249, // NOT ALMOST EQUAL TO
"natur", 0x0266E, // MUSIC NATURAL SIGN
"natural", 0x0266E, // MUSIC NATURAL SIGN
"naturals", 0x02115, // DOUBLE-STRUCK CAPITAL N
"nbsp", 0x000A0, // NO-BREAK SPACE
// "nbump", 0x0224E;0x00338, // GEOMETRICALLY EQUIVALENT TO with slash
// "nbumpe", 0x0224F;0x00338, // DIFFERENCE BETWEEN with slash
"ncap", 0x02A43, // INTERSECTION WITH OVERBAR
"Ncaron", 0x00147, // LATIN CAPITAL LETTER N WITH CARON
"ncaron", 0x00148, // LATIN SMALL LETTER N WITH CARON
"Ncedil", 0x00145, // LATIN CAPITAL LETTER N WITH CEDILLA
"ncedil", 0x00146, // LATIN SMALL LETTER N WITH CEDILLA
"ncong", 0x02247, // NEITHER APPROXIMATELY NOR ACTUALLY EQUAL TO
// "ncongdot", 0x02A6D;0x00338, // CONGRUENT WITH DOT ABOVE with slash
"ncup", 0x02A42, // UNION WITH OVERBAR
"Ncy", 0x0041D, // CYRILLIC CAPITAL LETTER EN
"ncy", 0x0043D, // CYRILLIC SMALL LETTER EN
"ndash", 0x02013, // EN DASH
"ne", 0x02260, // NOT EQUAL TO
"nearhk", 0x02924, // NORTH EAST ARROW WITH HOOK
"nearr", 0x02197, // NORTH EAST ARROW
"neArr", 0x021D7, // NORTH EAST DOUBLE ARROW
"nearrow", 0x02197, // NORTH EAST ARROW
// "nedot", 0x02250;0x00338, // APPROACHES THE LIMIT with slash
"NegativeMediumSpace", 0x0200B, // ZERO WIDTH SPACE
"NegativeThickSpace", 0x0200B, // ZERO WIDTH SPACE
"NegativeThinSpace", 0x0200B, // ZERO WIDTH SPACE
"NegativeVeryThinSpace", 0x0200B, // ZERO WIDTH SPACE
"nequiv", 0x02262, // NOT IDENTICAL TO
"nesear", 0x02928, // NORTH EAST ARROW AND SOUTH EAST ARROW
// "nesim", 0x02242;0x00338, // MINUS TILDE with slash
"NestedGreaterGreater", 0x0226B, // MUCH GREATER-THAN
"NestedLessLess", 0x0226A, // MUCH LESS-THAN
"NewLine", 0x0000A, // LINE FEED (LF)
"nexist", 0x02204, // THERE DOES NOT EXIST
"nexists", 0x02204, // THERE DOES NOT EXIST
"Nfr", 0x1D511, // MATHEMATICAL FRAKTUR CAPITAL N
"nfr", 0x1D52B, // MATHEMATICAL FRAKTUR SMALL N
// "ngE", 0x02267;0x00338, // GREATER-THAN OVER EQUAL TO with slash
"nge", 0x02271, // NEITHER GREATER-THAN NOR EQUAL TO
"ngeq", 0x02271, // NEITHER GREATER-THAN NOR EQUAL TO
// "ngeqq", 0x02267;0x00338, // GREATER-THAN OVER EQUAL TO with slash
// "ngeqslant", 0x02A7E;0x00338, // GREATER-THAN OR SLANTED EQUAL TO with slash
// "nges", 0x02A7E;0x00338, // GREATER-THAN OR SLANTED EQUAL TO with slash
// "nGg", 0x022D9;0x00338, // VERY MUCH GREATER-THAN with slash
"Ngr", 0x0039D, // GREEK CAPITAL LETTER NU
"ngr", 0x003BD, // GREEK SMALL LETTER NU
"ngsim", 0x02275, // NEITHER GREATER-THAN NOR EQUIVALENT TO
// "nGt", 0x0226B;0x020D2, // MUCH GREATER THAN with vertical line
"ngt", 0x0226F, // NOT GREATER-THAN
"ngtr", 0x0226F, // NOT GREATER-THAN
// "nGtv", 0x0226B;0x00338, // MUCH GREATER THAN with slash
"nharr", 0x021AE, // LEFT RIGHT ARROW WITH STROKE
"nhArr", 0x021CE, // LEFT RIGHT DOUBLE ARROW WITH STROKE
"nhpar", 0x02AF2, // PARALLEL WITH HORIZONTAL STROKE
"ni", 0x0220B, // CONTAINS AS MEMBER
"nis", 0x022FC, // SMALL CONTAINS WITH VERTICAL BAR AT END OF HORIZONTAL STROKE
"nisd", 0x022FA, // CONTAINS WITH LONG HORIZONTAL STROKE
"niv", 0x0220B, // CONTAINS AS MEMBER
"NJcy", 0x0040A, // CYRILLIC CAPITAL LETTER NJE
"njcy", 0x0045A, // CYRILLIC SMALL LETTER NJE
"nlarr", 0x0219A, // LEFTWARDS ARROW WITH STROKE
"nlArr", 0x021CD, // LEFTWARDS DOUBLE ARROW WITH STROKE
"nldr", 0x02025, // TWO DOT LEADER
// "nlE", 0x02266;0x00338, // LESS-THAN OVER EQUAL TO with slash
"nle", 0x02270, // NEITHER LESS-THAN NOR EQUAL TO
"nleftarrow", 0x0219A, // LEFTWARDS ARROW WITH STROKE
"nLeftarrow", 0x021CD, // LEFTWARDS DOUBLE ARROW WITH STROKE
"nleftrightarrow", 0x021AE, // LEFT RIGHT ARROW WITH STROKE
"nLeftrightarrow", 0x021CE, // LEFT RIGHT DOUBLE ARROW WITH STROKE
"nleq", 0x02270, // NEITHER LESS-THAN NOR EQUAL TO
// "nleqq", 0x02266;0x00338, // LESS-THAN OVER EQUAL TO with slash
// "nleqslant", 0x02A7D;0x00338, // LESS-THAN OR SLANTED EQUAL TO with slash
// "nles", 0x02A7D;0x00338, // LESS-THAN OR SLANTED EQUAL TO with slash
"nless", 0x0226E, // NOT LESS-THAN
// "nLl", 0x022D8;0x00338, // VERY MUCH LESS-THAN with slash
"nlsim", 0x02274, // NEITHER LESS-THAN NOR EQUIVALENT TO
// "nLt", 0x0226A;0x020D2, // MUCH LESS THAN with vertical line
"nlt", 0x0226E, // NOT LESS-THAN
"nltri", 0x022EA, // NOT NORMAL SUBGROUP OF
"nltrie", 0x022EC, // NOT NORMAL SUBGROUP OF OR EQUAL TO
// "nLtv", 0x0226A;0x00338, // MUCH LESS THAN with slash
"nmid", 0x02224, // DOES NOT DIVIDE
"NoBreak", 0x02060, // WORD JOINER
"NonBreakingSpace", 0x000A0, // NO-BREAK SPACE
"Nopf", 0x02115, // DOUBLE-STRUCK CAPITAL N
"nopf", 0x1D55F, // MATHEMATICAL DOUBLE-STRUCK SMALL N
"not", 0x000AC, // NOT SIGN
"Not", 0x02AEC, // DOUBLE STROKE NOT SIGN
"NotCongruent", 0x02262, // NOT IDENTICAL TO
"NotCupCap", 0x0226D, // NOT EQUIVALENT TO
"NotDoubleVerticalBar", 0x02226, // NOT PARALLEL TO
"NotElement", 0x02209, // NOT AN ELEMENT OF
"NotEqual", 0x02260, // NOT EQUAL TO
// "NotEqualTilde", 0x02242;0x00338, // MINUS TILDE with slash
"NotExists", 0x02204, // THERE DOES NOT EXIST
"NotGreater", 0x0226F, // NOT GREATER-THAN
"NotGreaterEqual", 0x02271, // NEITHER GREATER-THAN NOR EQUAL TO
// "NotGreaterFullEqual", 0x02267;0x00338, // GREATER-THAN OVER EQUAL TO with slash
// "NotGreaterGreater", 0x0226B;0x00338, // MUCH GREATER THAN with slash
"NotGreaterLess", 0x02279, // NEITHER GREATER-THAN NOR LESS-THAN
// "NotGreaterSlantEqual", 0x02A7E;0x00338, // GREATER-THAN OR SLANTED EQUAL TO with slash
"NotGreaterTilde", 0x02275, // NEITHER GREATER-THAN NOR EQUIVALENT TO
// "NotHumpDownHump", 0x0224E;0x00338, // GEOMETRICALLY EQUIVALENT TO with slash
// "NotHumpEqual", 0x0224F;0x00338, // DIFFERENCE BETWEEN with slash
"notin", 0x02209, // NOT AN ELEMENT OF
// "notindot", 0x022F5;0x00338, // ELEMENT OF WITH DOT ABOVE with slash
// "notinE", 0x022F9;0x00338, // ELEMENT OF WITH TWO HORIZONTAL STROKES with slash
"notinva", 0x02209, // NOT AN ELEMENT OF
"notinvb", 0x022F7, // SMALL ELEMENT OF WITH OVERBAR
"notinvc", 0x022F6, // ELEMENT OF WITH OVERBAR
"NotLeftTriangle", 0x022EA, // NOT NORMAL SUBGROUP OF
// "NotLeftTriangleBar", 0x029CF;0x00338, // LEFT TRIANGLE BESIDE VERTICAL BAR with slash
"NotLeftTriangleEqual", 0x022EC, // NOT NORMAL SUBGROUP OF OR EQUAL TO
"NotLess", 0x0226E, // NOT LESS-THAN
"NotLessEqual", 0x02270, // NEITHER LESS-THAN NOR EQUAL TO
"NotLessGreater", 0x02278, // NEITHER LESS-THAN NOR GREATER-THAN
// "NotLessLess", 0x0226A;0x00338, // MUCH LESS THAN with slash
// "NotLessSlantEqual", 0x02A7D;0x00338, // LESS-THAN OR SLANTED EQUAL TO with slash
"NotLessTilde", 0x02274, // NEITHER LESS-THAN NOR EQUIVALENT TO
// "NotNestedGreaterGreater", 0x02AA2;0x00338, // DOUBLE NESTED GREATER-THAN with slash
// "NotNestedLessLess", 0x02AA1;0x00338, // DOUBLE NESTED LESS-THAN with slash
"notni", 0x0220C, // DOES NOT CONTAIN AS MEMBER
"notniva", 0x0220C, // DOES NOT CONTAIN AS MEMBER
"notnivb", 0x022FE, // SMALL CONTAINS WITH OVERBAR
"notnivc", 0x022FD, // CONTAINS WITH OVERBAR
"NotPrecedes", 0x02280, // DOES NOT PRECEDE
// "NotPrecedesEqual", 0x02AAF;0x00338, // PRECEDES ABOVE SINGLE-LINE EQUALS SIGN with slash
"NotPrecedesSlantEqual", 0x022E0, // DOES NOT PRECEDE OR EQUAL
"NotReverseElement", 0x0220C, // DOES NOT CONTAIN AS MEMBER
"NotRightTriangle", 0x022EB, // DOES NOT CONTAIN AS NORMAL SUBGROUP
// "NotRightTriangleBar", 0x029D0;0x00338, // VERTICAL BAR BESIDE RIGHT TRIANGLE with slash
"NotRightTriangleEqual", 0x022ED, // DOES NOT CONTAIN AS NORMAL SUBGROUP OR EQUAL
// "NotSquareSubset", 0x0228F;0x00338, // SQUARE IMAGE OF with slash
"NotSquareSubsetEqual", 0x022E2, // NOT SQUARE IMAGE OF OR EQUAL TO
// "NotSquareSuperset", 0x02290;0x00338, // SQUARE ORIGINAL OF with slash
"NotSquareSupersetEqual", 0x022E3, // NOT SQUARE ORIGINAL OF OR EQUAL TO
// "NotSubset", 0x02282;0x020D2, // SUBSET OF with vertical line
"NotSubsetEqual", 0x02288, // NEITHER A SUBSET OF NOR EQUAL TO
"NotSucceeds", 0x02281, // DOES NOT SUCCEED
// "NotSucceedsEqual", 0x02AB0;0x00338, // SUCCEEDS ABOVE SINGLE-LINE EQUALS SIGN with slash
"NotSucceedsSlantEqual", 0x022E1, // DOES NOT SUCCEED OR EQUAL
// "NotSucceedsTilde", 0x0227F;0x00338, // SUCCEEDS OR EQUIVALENT TO with slash
// "NotSuperset", 0x02283;0x020D2, // SUPERSET OF with vertical line
"NotSupersetEqual", 0x02289, // NEITHER A SUPERSET OF NOR EQUAL TO
"NotTilde", 0x02241, // NOT TILDE
"NotTildeEqual", 0x02244, // NOT ASYMPTOTICALLY EQUAL TO
"NotTildeFullEqual", 0x02247, // NEITHER APPROXIMATELY NOR ACTUALLY EQUAL TO
"NotTildeTilde", 0x02249, // NOT ALMOST EQUAL TO
"NotVerticalBar", 0x02224, // DOES NOT DIVIDE
"npar", 0x02226, // NOT PARALLEL TO
"nparallel", 0x02226, // NOT PARALLEL TO
// "nparsl", 0x02AFD;0x020E5, // DOUBLE SOLIDUS OPERATOR with reverse slash
// "npart", 0x02202;0x00338, // PARTIAL DIFFERENTIAL with slash
"npolint", 0x02A14, // LINE INTEGRATION NOT INCLUDING THE POLE
"npr", 0x02280, // DOES NOT PRECEDE
"nprcue", 0x022E0, // DOES NOT PRECEDE OR EQUAL
// "npre", 0x02AAF;0x00338, // PRECEDES ABOVE SINGLE-LINE EQUALS SIGN with slash
"nprec", 0x02280, // DOES NOT PRECEDE
// "npreceq", 0x02AAF;0x00338, // PRECEDES ABOVE SINGLE-LINE EQUALS SIGN with slash
"nrarr", 0x0219B, // RIGHTWARDS ARROW WITH STROKE
"nrArr", 0x021CF, // RIGHTWARDS DOUBLE ARROW WITH STROKE
// "nrarrc", 0x02933;0x00338, // WAVE ARROW POINTING DIRECTLY RIGHT with slash
// "nrarrw", 0x0219D;0x00338, // RIGHTWARDS WAVE ARROW with slash
"nrightarrow", 0x0219B, // RIGHTWARDS ARROW WITH STROKE
"nRightarrow", 0x021CF, // RIGHTWARDS DOUBLE ARROW WITH STROKE
"nrtri", 0x022EB, // DOES NOT CONTAIN AS NORMAL SUBGROUP
"nrtrie", 0x022ED, // DOES NOT CONTAIN AS NORMAL SUBGROUP OR EQUAL
"nsc", 0x02281, // DOES NOT SUCCEED
"nsccue", 0x022E1, // DOES NOT SUCCEED OR EQUAL
// "nsce", 0x02AB0;0x00338, // SUCCEEDS ABOVE SINGLE-LINE EQUALS SIGN with slash
"Nscr", 0x1D4A9, // MATHEMATICAL SCRIPT CAPITAL N
"nscr", 0x1D4C3, // MATHEMATICAL SCRIPT SMALL N
"nshortmid", 0x02224, // DOES NOT DIVIDE
"nshortparallel", 0x02226, // NOT PARALLEL TO
"nsim", 0x02241, // NOT TILDE
"nsime", 0x02244, // NOT ASYMPTOTICALLY EQUAL TO
"nsimeq", 0x02244, // NOT ASYMPTOTICALLY EQUAL TO
"nsmid", 0x02224, // DOES NOT DIVIDE
"nspar", 0x02226, // NOT PARALLEL TO
"nsqsube", 0x022E2, // NOT SQUARE IMAGE OF OR EQUAL TO
"nsqsupe", 0x022E3, // NOT SQUARE ORIGINAL OF OR EQUAL TO
"nsub", 0x02284, // NOT A SUBSET OF
"nsube", 0x02288, // NEITHER A SUBSET OF NOR EQUAL TO
// "nsubE", 0x02AC5;0x00338, // SUBSET OF ABOVE EQUALS SIGN with slash
// "nsubset", 0x02282;0x020D2, // SUBSET OF with vertical line
"nsubseteq", 0x02288, // NEITHER A SUBSET OF NOR EQUAL TO
// "nsubseteqq", 0x02AC5;0x00338, // SUBSET OF ABOVE EQUALS SIGN with slash
"nsucc", 0x02281, // DOES NOT SUCCEED
// "nsucceq", 0x02AB0;0x00338, // SUCCEEDS ABOVE SINGLE-LINE EQUALS SIGN with slash
"nsup", 0x02285, // NOT A SUPERSET OF
"nsupe", 0x02289, // NEITHER A SUPERSET OF NOR EQUAL TO
// "nsupE", 0x02AC6;0x00338, // SUPERSET OF ABOVE EQUALS SIGN with slash
// "nsupset", 0x02283;0x020D2, // SUPERSET OF with vertical line
"nsupseteq", 0x02289, // NEITHER A SUPERSET OF NOR EQUAL TO
// "nsupseteqq", 0x02AC6;0x00338, // SUPERSET OF ABOVE EQUALS SIGN with slash
"ntgl", 0x02279, // NEITHER GREATER-THAN NOR LESS-THAN
"Ntilde", 0x000D1, // LATIN CAPITAL LETTER N WITH TILDE
"ntilde", 0x000F1, // LATIN SMALL LETTER N WITH TILDE
"ntlg", 0x02278, // NEITHER LESS-THAN NOR GREATER-THAN
"ntriangleleft", 0x022EA, // NOT NORMAL SUBGROUP OF
"ntrianglelefteq", 0x022EC, // NOT NORMAL SUBGROUP OF OR EQUAL TO
"ntriangleright", 0x022EB, // DOES NOT CONTAIN AS NORMAL SUBGROUP
"ntrianglerighteq", 0x022ED, // DOES NOT CONTAIN AS NORMAL SUBGROUP OR EQUAL
"Nu", 0x0039D, // GREEK CAPITAL LETTER NU
"nu", 0x003BD, // GREEK SMALL LETTER NU
"num", 0x00023, // NUMBER SIGN
"numero", 0x02116, // NUMERO SIGN
"numsp", 0x02007, // FIGURE SPACE
// "nvap", 0x0224D;0x020D2, // EQUIVALENT TO with vertical line
"nvdash", 0x022AC, // DOES NOT PROVE
"nvDash", 0x022AD, // NOT TRUE
"nVdash", 0x022AE, // DOES NOT FORCE
"nVDash", 0x022AF, // NEGATED DOUBLE VERTICAL BAR DOUBLE RIGHT TURNSTILE
// "nvge", 0x02265;0x020D2, // GREATER-THAN OR EQUAL TO with vertical line
// "nvgt", 0x0003E;0x020D2, // GREATER-THAN SIGN with vertical line
"nvHarr", 0x02904, // LEFT RIGHT DOUBLE ARROW WITH VERTICAL STROKE
"nvinfin", 0x029DE, // INFINITY NEGATED WITH VERTICAL BAR
"nvlArr", 0x02902, // LEFTWARDS DOUBLE ARROW WITH VERTICAL STROKE
// "nvle", 0x02264;0x020D2, // LESS-THAN OR EQUAL TO with vertical line
// "nvlt", 0x0003C;0x020D2, // LESS-THAN SIGN with vertical line
// "nvltrie", 0x022B4;0x020D2, // NORMAL SUBGROUP OF OR EQUAL TO with vertical line
"nvrArr", 0x02903, // RIGHTWARDS DOUBLE ARROW WITH VERTICAL STROKE
// "nvrtrie", 0x022B5;0x020D2, // CONTAINS AS NORMAL SUBGROUP OR EQUAL TO with vertical line
// "nvsim", 0x0223C;0x020D2, // TILDE OPERATOR with vertical line
"nwarhk", 0x02923, // NORTH WEST ARROW WITH HOOK
"nwarr", 0x02196, // NORTH WEST ARROW
"nwArr", 0x021D6, // NORTH WEST DOUBLE ARROW
"nwarrow", 0x02196, // NORTH WEST ARROW
"nwnear", 0x02927, // NORTH WEST ARROW AND NORTH EAST ARROW
NULL, 0
};
static NameId namesO[]={
"Oacgr", 0x0038C, // GREEK CAPITAL LETTER OMICRON WITH TONOS
"oacgr", 0x003CC, // GREEK SMALL LETTER OMICRON WITH TONOS
"Oacute", 0x000D3, // LATIN CAPITAL LETTER O WITH ACUTE
"oacute", 0x000F3, // LATIN SMALL LETTER O WITH ACUTE
"oast", 0x0229B, // CIRCLED ASTERISK OPERATOR
"ocir", 0x0229A, // CIRCLED RING OPERATOR
"Ocirc", 0x000D4, // LATIN CAPITAL LETTER O WITH CIRCUMFLEX
"ocirc", 0x000F4, // LATIN SMALL LETTER O WITH CIRCUMFLEX
"Ocy", 0x0041E, // CYRILLIC CAPITAL LETTER O
"ocy", 0x0043E, // CYRILLIC SMALL LETTER O
"odash", 0x0229D, // CIRCLED DASH
"Odblac", 0x00150, // LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
"odblac", 0x00151, // LATIN SMALL LETTER O WITH DOUBLE ACUTE
"odiv", 0x02A38, // CIRCLED DIVISION SIGN
"odot", 0x02299, // CIRCLED DOT OPERATOR
"odsold", 0x029BC, // CIRCLED ANTICLOCKWISE-ROTATED DIVISION SIGN
"OElig", 0x00152, // LATIN CAPITAL LIGATURE OE
"oelig", 0x00153, // LATIN SMALL LIGATURE OE
"ofcir", 0x029BF, // CIRCLED BULLET
"Ofr", 0x1D512, // MATHEMATICAL FRAKTUR CAPITAL O
"ofr", 0x1D52C, // MATHEMATICAL FRAKTUR SMALL O
"ogon", 0x002DB, // OGONEK
"Ogr", 0x0039F, // GREEK CAPITAL LETTER OMICRON
"ogr", 0x003BF, // GREEK SMALL LETTER OMICRON
"Ograve", 0x000D2, // LATIN CAPITAL LETTER O WITH GRAVE
"ograve", 0x000F2, // LATIN SMALL LETTER O WITH GRAVE
"ogt", 0x029C1, // CIRCLED GREATER-THAN
"OHacgr", 0x0038F, // GREEK CAPITAL LETTER OMEGA WITH TONOS
"ohacgr", 0x003CE, // GREEK SMALL LETTER OMEGA WITH TONOS
"ohbar", 0x029B5, // CIRCLE WITH HORIZONTAL BAR
"OHgr", 0x003A9, // GREEK CAPITAL LETTER OMEGA
"ohgr", 0x003C9, // GREEK SMALL LETTER OMEGA
"ohm", 0x003A9, // GREEK CAPITAL LETTER OMEGA
"oint", 0x0222E, // CONTOUR INTEGRAL
"olarr", 0x021BA, // ANTICLOCKWISE OPEN CIRCLE ARROW
"olcir", 0x029BE, // CIRCLED WHITE BULLET
"olcross", 0x029BB, // CIRCLE WITH SUPERIMPOSED X
"oline", 0x0203E, // OVERLINE
"olt", 0x029C0, // CIRCLED LESS-THAN
"Omacr", 0x0014C, // LATIN CAPITAL LETTER O WITH MACRON
"omacr", 0x0014D, // LATIN SMALL LETTER O WITH MACRON
"Omega", 0x003A9, // GREEK CAPITAL LETTER OMEGA
"omega", 0x003C9, // GREEK SMALL LETTER OMEGA
"Omicron", 0x0039F, // GREEK CAPITAL LETTER OMICRON
"omicron", 0x003BF, // GREEK SMALL LETTER OMICRON
"omid", 0x029B6, // CIRCLED VERTICAL BAR
"ominus", 0x02296, // CIRCLED MINUS
"Oopf", 0x1D546, // MATHEMATICAL DOUBLE-STRUCK CAPITAL O
"oopf", 0x1D560, // MATHEMATICAL DOUBLE-STRUCK SMALL O
"opar", 0x029B7, // CIRCLED PARALLEL
"OpenCurlyDoubleQuote", 0x0201C, // LEFT DOUBLE QUOTATION MARK
"OpenCurlyQuote", 0x02018, // LEFT SINGLE QUOTATION MARK
"operp", 0x029B9, // CIRCLED PERPENDICULAR
"oplus", 0x02295, // CIRCLED PLUS
"or", 0x02228, // LOGICAL OR
"Or", 0x02A54, // DOUBLE LOGICAL OR
"orarr", 0x021BB, // CLOCKWISE OPEN CIRCLE ARROW
"ord", 0x02A5D, // LOGICAL OR WITH HORIZONTAL DASH
"order", 0x02134, // SCRIPT SMALL O
"orderof", 0x02134, // SCRIPT SMALL O
"ordf", 0x000AA, // FEMININE ORDINAL INDICATOR
"ordm", 0x000BA, // MASCULINE ORDINAL INDICATOR
"origof", 0x022B6, // ORIGINAL OF
"oror", 0x02A56, // TWO INTERSECTING LOGICAL OR
"orslope", 0x02A57, // SLOPING LARGE OR
"orv", 0x02A5B, // LOGICAL OR WITH MIDDLE STEM
"oS", 0x024C8, // CIRCLED LATIN CAPITAL LETTER S
"oscr", 0x02134, // SCRIPT SMALL O
"Oscr", 0x1D4AA, // MATHEMATICAL SCRIPT CAPITAL O
"Oslash", 0x000D8, // LATIN CAPITAL LETTER O WITH STROKE
"oslash", 0x000F8, // LATIN SMALL LETTER O WITH STROKE
"osol", 0x02298, // CIRCLED DIVISION SLASH
"Otilde", 0x000D5, // LATIN CAPITAL LETTER O WITH TILDE
"otilde", 0x000F5, // LATIN SMALL LETTER O WITH TILDE
"otimes", 0x02297, // CIRCLED TIMES
"Otimes", 0x02A37, // MULTIPLICATION SIGN IN DOUBLE CIRCLE
"otimesas", 0x02A36, // CIRCLED MULTIPLICATION SIGN WITH CIRCUMFLEX ACCENT
"Ouml", 0x000D6, // LATIN CAPITAL LETTER O WITH DIAERESIS
"ouml", 0x000F6, // LATIN SMALL LETTER O WITH DIAERESIS
"ovbar", 0x0233D, // APL FUNCTIONAL SYMBOL CIRCLE STILE
"OverBar", 0x0203E, // OVERLINE
"OverBrace", 0x023DE, // TOP CURLY BRACKET
"OverBracket", 0x023B4, // TOP SQUARE BRACKET
"OverParenthesis", 0x023DC, // TOP PARENTHESIS
NULL, 0
};
static NameId namesP[]={
"par", 0x02225, // PARALLEL TO
"para", 0x000B6, // PILCROW SIGN
"parallel", 0x02225, // PARALLEL TO
"parsim", 0x02AF3, // PARALLEL WITH TILDE OPERATOR
"parsl", 0x02AFD, // DOUBLE SOLIDUS OPERATOR
"part", 0x02202, // PARTIAL DIFFERENTIAL
"PartialD", 0x02202, // PARTIAL DIFFERENTIAL
"Pcy", 0x0041F, // CYRILLIC CAPITAL LETTER PE
"pcy", 0x0043F, // CYRILLIC SMALL LETTER PE
"percnt", 0x00025, // PERCENT SIGN
"period", 0x0002E, // FULL STOP
"permil", 0x02030, // PER MILLE SIGN
"perp", 0x022A5, // UP TACK
"pertenk", 0x02031, // PER TEN THOUSAND SIGN
"Pfr", 0x1D513, // MATHEMATICAL FRAKTUR CAPITAL P
"pfr", 0x1D52D, // MATHEMATICAL FRAKTUR SMALL P
"Pgr", 0x003A0, // GREEK CAPITAL LETTER PI
"pgr", 0x003C0, // GREEK SMALL LETTER PI
"PHgr", 0x003A6, // GREEK CAPITAL LETTER PHI
"phgr", 0x003C6, // GREEK SMALL LETTER PHI
"Phi", 0x003A6, // GREEK CAPITAL LETTER PHI
"phi", 0x003C6, // GREEK SMALL LETTER PHI
"phiv", 0x003D5, // GREEK PHI SYMBOL
"phmmat", 0x02133, // SCRIPT CAPITAL M
"phone", 0x0260E, // BLACK TELEPHONE
"Pi", 0x003A0, // GREEK CAPITAL LETTER PI
"pi", 0x003C0, // GREEK SMALL LETTER PI
"pitchfork", 0x022D4, // PITCHFORK
"piv", 0x003D6, // GREEK PI SYMBOL
"planck", 0x0210F, // PLANCK CONSTANT OVER TWO PI
"planckh", 0x0210E, // PLANCK CONSTANT
"plankv", 0x0210F, // PLANCK CONSTANT OVER TWO PI
"plus", 0x0002B, // PLUS SIGN
"plusacir", 0x02A23, // PLUS SIGN WITH CIRCUMFLEX ACCENT ABOVE
"plusb", 0x0229E, // SQUARED PLUS
"pluscir", 0x02A22, // PLUS SIGN WITH SMALL CIRCLE ABOVE
"plusdo", 0x02214, // DOT PLUS
"plusdu", 0x02A25, // PLUS SIGN WITH DOT BELOW
"pluse", 0x02A72, // PLUS SIGN ABOVE EQUALS SIGN
"PlusMinus", 0x000B1, // PLUS-MINUS SIGN
"plusmn", 0x000B1, // PLUS-MINUS SIGN
"plussim", 0x02A26, // PLUS SIGN WITH TILDE BELOW
"plustwo", 0x02A27, // PLUS SIGN WITH SUBSCRIPT TWO
"pm", 0x000B1, // PLUS-MINUS SIGN
"Poincareplane", 0x0210C, // BLACK-LETTER CAPITAL H
"pointint", 0x02A15, // INTEGRAL AROUND A POINT OPERATOR
"Popf", 0x02119, // DOUBLE-STRUCK CAPITAL P
"popf", 0x1D561, // MATHEMATICAL DOUBLE-STRUCK SMALL P
"pound", 0x000A3, // POUND SIGN
"pr", 0x0227A, // PRECEDES
"Pr", 0x02ABB, // DOUBLE PRECEDES
"prap", 0x02AB7, // PRECEDES ABOVE ALMOST EQUAL TO
"prcue", 0x0227C, // PRECEDES OR EQUAL TO
"pre", 0x02AAF, // PRECEDES ABOVE SINGLE-LINE EQUALS SIGN
"prE", 0x02AB3, // PRECEDES ABOVE EQUALS SIGN
"prec", 0x0227A, // PRECEDES
"precapprox", 0x02AB7, // PRECEDES ABOVE ALMOST EQUAL TO
"preccurlyeq", 0x0227C, // PRECEDES OR EQUAL TO
"Precedes", 0x0227A, // PRECEDES
"PrecedesEqual", 0x02AAF, // PRECEDES ABOVE SINGLE-LINE EQUALS SIGN
"PrecedesSlantEqual", 0x0227C, // PRECEDES OR EQUAL TO
"PrecedesTilde", 0x0227E, // PRECEDES OR EQUIVALENT TO
"preceq", 0x02AAF, // PRECEDES ABOVE SINGLE-LINE EQUALS SIGN
"precnapprox", 0x02AB9, // PRECEDES ABOVE NOT ALMOST EQUAL TO
"precneqq", 0x02AB5, // PRECEDES ABOVE NOT EQUAL TO
"precnsim", 0x022E8, // PRECEDES BUT NOT EQUIVALENT TO
"precsim", 0x0227E, // PRECEDES OR EQUIVALENT TO
"prime", 0x02032, // PRIME
"Prime", 0x02033, // DOUBLE PRIME
"primes", 0x02119, // DOUBLE-STRUCK CAPITAL P
"prnap", 0x02AB9, // PRECEDES ABOVE NOT ALMOST EQUAL TO
"prnE", 0x02AB5, // PRECEDES ABOVE NOT EQUAL TO
"prnsim", 0x022E8, // PRECEDES BUT NOT EQUIVALENT TO
"prod", 0x0220F, // N-ARY PRODUCT
"Product", 0x0220F, // N-ARY PRODUCT
"profalar", 0x0232E, // ALL AROUND-PROFILE
"profline", 0x02312, // ARC
"profsurf", 0x02313, // SEGMENT
"prop", 0x0221D, // PROPORTIONAL TO
"Proportion", 0x02237, // PROPORTION
"Proportional", 0x0221D, // PROPORTIONAL TO
"propto", 0x0221D, // PROPORTIONAL TO
"prsim", 0x0227E, // PRECEDES OR EQUIVALENT TO
"prurel", 0x022B0, // PRECEDES UNDER RELATION
"Pscr", 0x1D4AB, // MATHEMATICAL SCRIPT CAPITAL P
"pscr", 0x1D4C5, // MATHEMATICAL SCRIPT SMALL P
"PSgr", 0x003A8, // GREEK CAPITAL LETTER PSI
"psgr", 0x003C8, // GREEK SMALL LETTER PSI
"Psi", 0x003A8, // GREEK CAPITAL LETTER PSI
"psi", 0x003C8, // GREEK SMALL LETTER PSI
"puncsp", 0x02008, // PUNCTUATION SPACE
NULL, 0
};
static NameId namesQ[]={
"Qfr", 0x1D514, // MATHEMATICAL FRAKTUR CAPITAL Q
"qfr", 0x1D52E, // MATHEMATICAL FRAKTUR SMALL Q
"qint", 0x02A0C, // QUADRUPLE INTEGRAL OPERATOR
"Qopf", 0x0211A, // DOUBLE-STRUCK CAPITAL Q
"qopf", 0x1D562, // MATHEMATICAL DOUBLE-STRUCK SMALL Q
"qprime", 0x02057, // QUADRUPLE PRIME
"Qscr", 0x1D4AC, // MATHEMATICAL SCRIPT CAPITAL Q
"qscr", 0x1D4C6, // MATHEMATICAL SCRIPT SMALL Q
"quaternions", 0x0210D, // DOUBLE-STRUCK CAPITAL H
"quatint", 0x02A16, // QUATERNION INTEGRAL OPERATOR
"quest", 0x0003F, // QUESTION MARK
"questeq", 0x0225F, // QUESTIONED EQUAL TO
"quot", 0x00022, // QUOTATION MARK
"QUOT", 0x00022, // QUOTATION MARK
NULL, 0
};
static NameId namesR[]={
"rAarr", 0x021DB, // RIGHTWARDS TRIPLE ARROW
// "race", 0x0223D;0x00331, // REVERSED TILDE with underline
"Racute", 0x00154, // LATIN CAPITAL LETTER R WITH ACUTE
"racute", 0x00155, // LATIN SMALL LETTER R WITH ACUTE
"radic", 0x0221A, // SQUARE ROOT
"raemptyv", 0x029B3, // EMPTY SET WITH RIGHT ARROW ABOVE
"rang", 0x027E9, // MATHEMATICAL RIGHT ANGLE BRACKET
"Rang", 0x027EB, // MATHEMATICAL RIGHT DOUBLE ANGLE BRACKET
"rangd", 0x02992, // RIGHT ANGLE BRACKET WITH DOT
"range", 0x029A5, // REVERSED ANGLE WITH UNDERBAR
"rangle", 0x027E9, // MATHEMATICAL RIGHT ANGLE BRACKET
"raquo", 0x000BB, // RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
"rarr", 0x02192, // RIGHTWARDS ARROW
"Rarr", 0x021A0, // RIGHTWARDS TWO HEADED ARROW
"rArr", 0x021D2, // RIGHTWARDS DOUBLE ARROW
"rarrap", 0x02975, // RIGHTWARDS ARROW ABOVE ALMOST EQUAL TO
"rarrb", 0x021E5, // RIGHTWARDS ARROW TO BAR
"rarrbfs", 0x02920, // RIGHTWARDS ARROW FROM BAR TO BLACK DIAMOND
"rarrc", 0x02933, // WAVE ARROW POINTING DIRECTLY RIGHT
"rarrfs", 0x0291E, // RIGHTWARDS ARROW TO BLACK DIAMOND
"rarrhk", 0x021AA, // RIGHTWARDS ARROW WITH HOOK
"rarrlp", 0x021AC, // RIGHTWARDS ARROW WITH LOOP
"rarrpl", 0x02945, // RIGHTWARDS ARROW WITH PLUS BELOW
"rarrsim", 0x02974, // RIGHTWARDS ARROW ABOVE TILDE OPERATOR
"rarrtl", 0x021A3, // RIGHTWARDS ARROW WITH TAIL
"Rarrtl", 0x02916, // RIGHTWARDS TWO-HEADED ARROW WITH TAIL
"rarrw", 0x0219D, // RIGHTWARDS WAVE ARROW
"ratail", 0x0291A, // RIGHTWARDS ARROW-TAIL
"rAtail", 0x0291C, // RIGHTWARDS DOUBLE ARROW-TAIL
"ratio", 0x02236, // RATIO
"rationals", 0x0211A, // DOUBLE-STRUCK CAPITAL Q
"rbarr", 0x0290D, // RIGHTWARDS DOUBLE DASH ARROW
"rBarr", 0x0290F, // RIGHTWARDS TRIPLE DASH ARROW
"RBarr", 0x02910, // RIGHTWARDS TWO-HEADED TRIPLE DASH ARROW
"rbbrk", 0x02773, // LIGHT RIGHT TORTOISE SHELL BRACKET ORNAMENT
"rbrace", 0x0007D, // RIGHT CURLY BRACKET
"rbrack", 0x0005D, // RIGHT SQUARE BRACKET
"rbrke", 0x0298C, // RIGHT SQUARE BRACKET WITH UNDERBAR
"rbrksld", 0x0298E, // RIGHT SQUARE BRACKET WITH TICK IN BOTTOM CORNER
"rbrkslu", 0x02990, // RIGHT SQUARE BRACKET WITH TICK IN TOP CORNER
"Rcaron", 0x00158, // LATIN CAPITAL LETTER R WITH CARON
"rcaron", 0x00159, // LATIN SMALL LETTER R WITH CARON
"Rcedil", 0x00156, // LATIN CAPITAL LETTER R WITH CEDILLA
"rcedil", 0x00157, // LATIN SMALL LETTER R WITH CEDILLA
"rceil", 0x02309, // RIGHT CEILING
"rcub", 0x0007D, // RIGHT CURLY BRACKET
"Rcy", 0x00420, // CYRILLIC CAPITAL LETTER ER
"rcy", 0x00440, // CYRILLIC SMALL LETTER ER
"rdca", 0x02937, // ARROW POINTING DOWNWARDS THEN CURVING RIGHTWARDS
"rdldhar", 0x02969, // RIGHTWARDS HARPOON WITH BARB DOWN ABOVE LEFTWARDS HARPOON WITH BARB DOWN
"rdquo", 0x0201D, // RIGHT DOUBLE QUOTATION MARK
"rdquor", 0x0201D, // RIGHT DOUBLE QUOTATION MARK
"rdsh", 0x021B3, // DOWNWARDS ARROW WITH TIP RIGHTWARDS
"Re", 0x0211C, // BLACK-LETTER CAPITAL R
"real", 0x0211C, // BLACK-LETTER CAPITAL R
"realine", 0x0211B, // SCRIPT CAPITAL R
"realpart", 0x0211C, // BLACK-LETTER CAPITAL R
"reals", 0x0211D, // DOUBLE-STRUCK CAPITAL R
"rect", 0x025AD, // WHITE RECTANGLE
"reg", 0x000AE, // REGISTERED SIGN
"REG", 0x000AE, // REGISTERED SIGN
"ReverseElement", 0x0220B, // CONTAINS AS MEMBER
"ReverseEquilibrium", 0x021CB, // LEFTWARDS HARPOON OVER RIGHTWARDS HARPOON
"ReverseUpEquilibrium", 0x0296F, // DOWNWARDS HARPOON WITH BARB LEFT BESIDE UPWARDS HARPOON WITH BARB RIGHT
"rfisht", 0x0297D, // RIGHT FISH TAIL
"rfloor", 0x0230B, // RIGHT FLOOR
"Rfr", 0x0211C, // BLACK-LETTER CAPITAL R
"rfr", 0x1D52F, // MATHEMATICAL FRAKTUR SMALL R
"Rgr", 0x003A1, // GREEK CAPITAL LETTER RHO
"rgr", 0x003C1, // GREEK SMALL LETTER RHO
"rHar", 0x02964, // RIGHTWARDS HARPOON WITH BARB UP ABOVE RIGHTWARDS HARPOON WITH BARB DOWN
"rhard", 0x021C1, // RIGHTWARDS HARPOON WITH BARB DOWNWARDS
"rharu", 0x021C0, // RIGHTWARDS HARPOON WITH BARB UPWARDS
"rharul", 0x0296C, // RIGHTWARDS HARPOON WITH BARB UP ABOVE LONG DASH
"Rho", 0x003A1, // GREEK CAPITAL LETTER RHO
"rho", 0x003C1, // GREEK SMALL LETTER RHO
"rhov", 0x003F1, // GREEK RHO SYMBOL
"RightAngleBracket", 0x027E9, // MATHEMATICAL RIGHT ANGLE BRACKET
"rightarrow", 0x02192, // RIGHTWARDS ARROW
"RightArrow", 0x02192, // RIGHTWARDS ARROW
"Rightarrow", 0x021D2, // RIGHTWARDS DOUBLE ARROW
"RightArrowBar", 0x021E5, // RIGHTWARDS ARROW TO BAR
"RightArrowLeftArrow", 0x021C4, // RIGHTWARDS ARROW OVER LEFTWARDS ARROW
"rightarrowtail", 0x021A3, // RIGHTWARDS ARROW WITH TAIL
"RightCeiling", 0x02309, // RIGHT CEILING
"RightDoubleBracket", 0x027E7, // MATHEMATICAL RIGHT WHITE SQUARE BRACKET
"RightDownTeeVector", 0x0295D, // DOWNWARDS HARPOON WITH BARB RIGHT FROM BAR
"RightDownVector", 0x021C2, // DOWNWARDS HARPOON WITH BARB RIGHTWARDS
"RightDownVectorBar", 0x02955, // DOWNWARDS HARPOON WITH BARB RIGHT TO BAR
"RightFloor", 0x0230B, // RIGHT FLOOR
"rightharpoondown", 0x021C1, // RIGHTWARDS HARPOON WITH BARB DOWNWARDS
"rightharpoonup", 0x021C0, // RIGHTWARDS HARPOON WITH BARB UPWARDS
"rightleftarrows", 0x021C4, // RIGHTWARDS ARROW OVER LEFTWARDS ARROW
"rightleftharpoons", 0x021CC, // RIGHTWARDS HARPOON OVER LEFTWARDS HARPOON
"rightrightarrows", 0x021C9, // RIGHTWARDS PAIRED ARROWS
"rightsquigarrow", 0x0219D, // RIGHTWARDS WAVE ARROW
"RightTee", 0x022A2, // RIGHT TACK
"RightTeeArrow", 0x021A6, // RIGHTWARDS ARROW FROM BAR
"RightTeeVector", 0x0295B, // RIGHTWARDS HARPOON WITH BARB UP FROM BAR
"rightthreetimes", 0x022CC, // RIGHT SEMIDIRECT PRODUCT
"RightTriangle", 0x022B3, // CONTAINS AS NORMAL SUBGROUP
"RightTriangleBar", 0x029D0, // VERTICAL BAR BESIDE RIGHT TRIANGLE
"RightTriangleEqual", 0x022B5, // CONTAINS AS NORMAL SUBGROUP OR EQUAL TO
"RightUpDownVector", 0x0294F, // UP BARB RIGHT DOWN BARB RIGHT HARPOON
"RightUpTeeVector", 0x0295C, // UPWARDS HARPOON WITH BARB RIGHT FROM BAR
"RightUpVector", 0x021BE, // UPWARDS HARPOON WITH BARB RIGHTWARDS
"RightUpVectorBar", 0x02954, // UPWARDS HARPOON WITH BARB RIGHT TO BAR
"RightVector", 0x021C0, // RIGHTWARDS HARPOON WITH BARB UPWARDS
"RightVectorBar", 0x02953, // RIGHTWARDS HARPOON WITH BARB UP TO BAR
"ring", 0x002DA, // RING ABOVE
"risingdotseq", 0x02253, // IMAGE OF OR APPROXIMATELY EQUAL TO
"rlarr", 0x021C4, // RIGHTWARDS ARROW OVER LEFTWARDS ARROW
"rlhar", 0x021CC, // RIGHTWARDS HARPOON OVER LEFTWARDS HARPOON
"rlm", 0x0200F, // RIGHT-TO-LEFT MARK
"rmoust", 0x023B1, // UPPER RIGHT OR LOWER LEFT CURLY BRACKET SECTION
"rmoustache", 0x023B1, // UPPER RIGHT OR LOWER LEFT CURLY BRACKET SECTION
"rnmid", 0x02AEE, // DOES NOT DIVIDE WITH REVERSED NEGATION SLASH
"roang", 0x027ED, // MATHEMATICAL RIGHT WHITE TORTOISE SHELL BRACKET
"roarr", 0x021FE, // RIGHTWARDS OPEN-HEADED ARROW
"robrk", 0x027E7, // MATHEMATICAL RIGHT WHITE SQUARE BRACKET
"ropar", 0x02986, // RIGHT WHITE PARENTHESIS
"Ropf", 0x0211D, // DOUBLE-STRUCK CAPITAL R
"ropf", 0x1D563, // MATHEMATICAL DOUBLE-STRUCK SMALL R
"roplus", 0x02A2E, // PLUS SIGN IN RIGHT HALF CIRCLE
"rotimes", 0x02A35, // MULTIPLICATION SIGN IN RIGHT HALF CIRCLE
"RoundImplies", 0x02970, // RIGHT DOUBLE ARROW WITH ROUNDED HEAD
"rpar", 0x00029, // RIGHT PARENTHESIS
"rpargt", 0x02994, // RIGHT ARC GREATER-THAN BRACKET
"rppolint", 0x02A12, // LINE INTEGRATION WITH RECTANGULAR PATH AROUND POLE
"rrarr", 0x021C9, // RIGHTWARDS PAIRED ARROWS
"Rrightarrow", 0x021DB, // RIGHTWARDS TRIPLE ARROW
"rsaquo", 0x0203A, // SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
"Rscr", 0x0211B, // SCRIPT CAPITAL R
"rscr", 0x1D4C7, // MATHEMATICAL SCRIPT SMALL R
"rsh", 0x021B1, // UPWARDS ARROW WITH TIP RIGHTWARDS
"Rsh", 0x021B1, // UPWARDS ARROW WITH TIP RIGHTWARDS
"rsqb", 0x0005D, // RIGHT SQUARE BRACKET
"rsquo", 0x02019, // RIGHT SINGLE QUOTATION MARK
"rsquor", 0x02019, // RIGHT SINGLE QUOTATION MARK
"rthree", 0x022CC, // RIGHT SEMIDIRECT PRODUCT
"rtimes", 0x022CA, // RIGHT NORMAL FACTOR SEMIDIRECT PRODUCT
"rtri", 0x025B9, // WHITE RIGHT-POINTING SMALL TRIANGLE
"rtrie", 0x022B5, // CONTAINS AS NORMAL SUBGROUP OR EQUAL TO
"rtrif", 0x025B8, // BLACK RIGHT-POINTING SMALL TRIANGLE
"rtriltri", 0x029CE, // RIGHT TRIANGLE ABOVE LEFT TRIANGLE
"RuleDelayed", 0x029F4, // RULE-DELAYED
"ruluhar", 0x02968, // RIGHTWARDS HARPOON WITH BARB UP ABOVE LEFTWARDS HARPOON WITH BARB UP
"rx", 0x0211E, // PRESCRIPTION TAKE
NULL, 0
};
static NameId namesS[]={
"Sacute", 0x0015A, // LATIN CAPITAL LETTER S WITH ACUTE
"sacute", 0x0015B, // LATIN SMALL LETTER S WITH ACUTE
"sbquo", 0x0201A, // SINGLE LOW-9 QUOTATION MARK
"sc", 0x0227B, // SUCCEEDS
"Sc", 0x02ABC, // DOUBLE SUCCEEDS
"scap", 0x02AB8, // SUCCEEDS ABOVE ALMOST EQUAL TO
"Scaron", 0x00160, // LATIN CAPITAL LETTER S WITH CARON
"scaron", 0x00161, // LATIN SMALL LETTER S WITH CARON
"sccue", 0x0227D, // SUCCEEDS OR EQUAL TO
"sce", 0x02AB0, // SUCCEEDS ABOVE SINGLE-LINE EQUALS SIGN
"scE", 0x02AB4, // SUCCEEDS ABOVE EQUALS SIGN
"Scedil", 0x0015E, // LATIN CAPITAL LETTER S WITH CEDILLA
"scedil", 0x0015F, // LATIN SMALL LETTER S WITH CEDILLA
"Scirc", 0x0015C, // LATIN CAPITAL LETTER S WITH CIRCUMFLEX
"scirc", 0x0015D, // LATIN SMALL LETTER S WITH CIRCUMFLEX
"scnap", 0x02ABA, // SUCCEEDS ABOVE NOT ALMOST EQUAL TO
"scnE", 0x02AB6, // SUCCEEDS ABOVE NOT EQUAL TO
"scnsim", 0x022E9, // SUCCEEDS BUT NOT EQUIVALENT TO
"scpolint", 0x02A13, // LINE INTEGRATION WITH SEMICIRCULAR PATH AROUND POLE
"scsim", 0x0227F, // SUCCEEDS OR EQUIVALENT TO
"Scy", 0x00421, // CYRILLIC CAPITAL LETTER ES
"scy", 0x00441, // CYRILLIC SMALL LETTER ES
"sdot", 0x022C5, // DOT OPERATOR
"sdotb", 0x022A1, // SQUARED DOT OPERATOR
"sdote", 0x02A66, // EQUALS SIGN WITH DOT BELOW
"searhk", 0x02925, // SOUTH EAST ARROW WITH HOOK
"searr", 0x02198, // SOUTH EAST ARROW
"seArr", 0x021D8, // SOUTH EAST DOUBLE ARROW
"searrow", 0x02198, // SOUTH EAST ARROW
"sect", 0x000A7, // SECTION SIGN
"semi", 0x0003B, // SEMICOLON
"seswar", 0x02929, // SOUTH EAST ARROW AND SOUTH WEST ARROW
"setminus", 0x02216, // SET MINUS
"setmn", 0x02216, // SET MINUS
"sext", 0x02736, // SIX POINTED BLACK STAR
"sfgr", 0x003C2, // GREEK SMALL LETTER FINAL SIGMA
"Sfr", 0x1D516, // MATHEMATICAL FRAKTUR CAPITAL S
"sfr", 0x1D530, // MATHEMATICAL FRAKTUR SMALL S
"sfrown", 0x02322, // FROWN
"Sgr", 0x003A3, // GREEK CAPITAL LETTER SIGMA
"sgr", 0x003C3, // GREEK SMALL LETTER SIGMA
"sharp", 0x0266F, // MUSIC SHARP SIGN
"SHCHcy", 0x00429, // CYRILLIC CAPITAL LETTER SHCHA
"shchcy", 0x00449, // CYRILLIC SMALL LETTER SHCHA
"SHcy", 0x00428, // CYRILLIC CAPITAL LETTER SHA
"shcy", 0x00448, // CYRILLIC SMALL LETTER SHA
"ShortDownArrow", 0x02193, // DOWNWARDS ARROW
"ShortLeftArrow", 0x02190, // LEFTWARDS ARROW
"shortmid", 0x02223, // DIVIDES
"shortparallel", 0x02225, // PARALLEL TO
"ShortRightArrow", 0x02192, // RIGHTWARDS ARROW
"ShortUpArrow", 0x02191, // UPWARDS ARROW
"shy", 0x000AD, // SOFT HYPHEN
"Sigma", 0x003A3, // GREEK CAPITAL LETTER SIGMA
"sigma", 0x003C3, // GREEK SMALL LETTER SIGMA
"sigmaf", 0x003C2, // GREEK SMALL LETTER FINAL SIGMA
"sigmav", 0x003C2, // GREEK SMALL LETTER FINAL SIGMA
"sim", 0x0223C, // TILDE OPERATOR
"simdot", 0x02A6A, // TILDE OPERATOR WITH DOT ABOVE
"sime", 0x02243, // ASYMPTOTICALLY EQUAL TO
"simeq", 0x02243, // ASYMPTOTICALLY EQUAL TO
"simg", 0x02A9E, // SIMILAR OR GREATER-THAN
"simgE", 0x02AA0, // SIMILAR ABOVE GREATER-THAN ABOVE EQUALS SIGN
"siml", 0x02A9D, // SIMILAR OR LESS-THAN
"simlE", 0x02A9F, // SIMILAR ABOVE LESS-THAN ABOVE EQUALS SIGN
"simne", 0x02246, // APPROXIMATELY BUT NOT ACTUALLY EQUAL TO
"simplus", 0x02A24, // PLUS SIGN WITH TILDE ABOVE
"simrarr", 0x02972, // TILDE OPERATOR ABOVE RIGHTWARDS ARROW
"slarr", 0x02190, // LEFTWARDS ARROW
"SmallCircle", 0x02218, // RING OPERATOR
"smallsetminus", 0x02216, // SET MINUS
"smashp", 0x02A33, // SMASH PRODUCT
"smeparsl", 0x029E4, // EQUALS SIGN AND SLANTED PARALLEL WITH TILDE ABOVE
"smid", 0x02223, // DIVIDES
"smile", 0x02323, // SMILE
"smt", 0x02AAA, // SMALLER THAN
"smte", 0x02AAC, // SMALLER THAN OR EQUAL TO
// "smtes", 0x02AAC;0x0FE00, // SMALLER THAN OR slanted EQUAL
"SOFTcy", 0x0042C, // CYRILLIC CAPITAL LETTER SOFT SIGN
"softcy", 0x0044C, // CYRILLIC SMALL LETTER SOFT SIGN
"sol", 0x0002F, // SOLIDUS
"solb", 0x029C4, // SQUARED RISING DIAGONAL SLASH
"solbar", 0x0233F, // APL FUNCTIONAL SYMBOL SLASH BAR
"Sopf", 0x1D54A, // MATHEMATICAL DOUBLE-STRUCK CAPITAL S
"sopf", 0x1D564, // MATHEMATICAL DOUBLE-STRUCK SMALL S
"spades", 0x02660, // BLACK SPADE SUIT
"spadesuit", 0x02660, // BLACK SPADE SUIT
"spar", 0x02225, // PARALLEL TO
"sqcap", 0x02293, // SQUARE CAP
// "sqcaps", 0x02293;0x0FE00, // SQUARE CAP with serifs
"sqcup", 0x02294, // SQUARE CUP
// "sqcups", 0x02294;0x0FE00, // SQUARE CUP with serifs
"Sqrt", 0x0221A, // SQUARE ROOT
"sqsub", 0x0228F, // SQUARE IMAGE OF
"sqsube", 0x02291, // SQUARE IMAGE OF OR EQUAL TO
"sqsubset", 0x0228F, // SQUARE IMAGE OF
"sqsubseteq", 0x02291, // SQUARE IMAGE OF OR EQUAL TO
"sqsup", 0x02290, // SQUARE ORIGINAL OF
"sqsupe", 0x02292, // SQUARE ORIGINAL OF OR EQUAL TO
"sqsupset", 0x02290, // SQUARE ORIGINAL OF
"sqsupseteq", 0x02292, // SQUARE ORIGINAL OF OR EQUAL TO
"squ", 0x025A1, // WHITE SQUARE
"square", 0x025A1, // WHITE SQUARE
"Square", 0x025A1, // WHITE SQUARE
"SquareIntersection", 0x02293, // SQUARE CAP
"SquareSubset", 0x0228F, // SQUARE IMAGE OF
"SquareSubsetEqual", 0x02291, // SQUARE IMAGE OF OR EQUAL TO
"SquareSuperset", 0x02290, // SQUARE ORIGINAL OF
"SquareSupersetEqual", 0x02292, // SQUARE ORIGINAL OF OR EQUAL TO
"SquareUnion", 0x02294, // SQUARE CUP
"squarf", 0x025AA, // BLACK SMALL SQUARE
"squf", 0x025AA, // BLACK SMALL SQUARE
"srarr", 0x02192, // RIGHTWARDS ARROW
"Sscr", 0x1D4AE, // MATHEMATICAL SCRIPT CAPITAL S
"sscr", 0x1D4C8, // MATHEMATICAL SCRIPT SMALL S
"ssetmn", 0x02216, // SET MINUS
"ssmile", 0x02323, // SMILE
"sstarf", 0x022C6, // STAR OPERATOR
"Star", 0x022C6, // STAR OPERATOR
"star", 0x02606, // WHITE STAR
"starf", 0x02605, // BLACK STAR
"straightepsilon", 0x003F5, // GREEK LUNATE EPSILON SYMBOL
"straightphi", 0x003D5, // GREEK PHI SYMBOL
"strns", 0x000AF, // MACRON
"sub", 0x02282, // SUBSET OF
"Sub", 0x022D0, // DOUBLE SUBSET
"subdot", 0x02ABD, // SUBSET WITH DOT
"sube", 0x02286, // SUBSET OF OR EQUAL TO
"subE", 0x02AC5, // SUBSET OF ABOVE EQUALS SIGN
"subedot", 0x02AC3, // SUBSET OF OR EQUAL TO WITH DOT ABOVE
"submult", 0x02AC1, // SUBSET WITH MULTIPLICATION SIGN BELOW
"subne", 0x0228A, // SUBSET OF WITH NOT EQUAL TO
"subnE", 0x02ACB, // SUBSET OF ABOVE NOT EQUAL TO
"subplus", 0x02ABF, // SUBSET WITH PLUS SIGN BELOW
"subrarr", 0x02979, // SUBSET ABOVE RIGHTWARDS ARROW
"subset", 0x02282, // SUBSET OF
"Subset", 0x022D0, // DOUBLE SUBSET
"subseteq", 0x02286, // SUBSET OF OR EQUAL TO
"subseteqq", 0x02AC5, // SUBSET OF ABOVE EQUALS SIGN
"SubsetEqual", 0x02286, // SUBSET OF OR EQUAL TO
"subsetneq", 0x0228A, // SUBSET OF WITH NOT EQUAL TO
"subsetneqq", 0x02ACB, // SUBSET OF ABOVE NOT EQUAL TO
"subsim", 0x02AC7, // SUBSET OF ABOVE TILDE OPERATOR
"subsub", 0x02AD5, // SUBSET ABOVE SUBSET
"subsup", 0x02AD3, // SUBSET ABOVE SUPERSET
"succ", 0x0227B, // SUCCEEDS
"succapprox", 0x02AB8, // SUCCEEDS ABOVE ALMOST EQUAL TO
"succcurlyeq", 0x0227D, // SUCCEEDS OR EQUAL TO
"Succeeds", 0x0227B, // SUCCEEDS
"SucceedsEqual", 0x02AB0, // SUCCEEDS ABOVE SINGLE-LINE EQUALS SIGN
"SucceedsSlantEqual", 0x0227D, // SUCCEEDS OR EQUAL TO
"SucceedsTilde", 0x0227F, // SUCCEEDS OR EQUIVALENT TO
"succeq", 0x02AB0, // SUCCEEDS ABOVE SINGLE-LINE EQUALS SIGN
"succnapprox", 0x02ABA, // SUCCEEDS ABOVE NOT ALMOST EQUAL TO
"succneqq", 0x02AB6, // SUCCEEDS ABOVE NOT EQUAL TO
"succnsim", 0x022E9, // SUCCEEDS BUT NOT EQUIVALENT TO
"succsim", 0x0227F, // SUCCEEDS OR EQUIVALENT TO
"SuchThat", 0x0220B, // CONTAINS AS MEMBER
"sum", 0x02211, // N-ARY SUMMATION
"Sum", 0x02211, // N-ARY SUMMATION
"sung", 0x0266A, // EIGHTH NOTE
"sup", 0x02283, // SUPERSET OF
"Sup", 0x022D1, // DOUBLE SUPERSET
"sup1", 0x000B9, // SUPERSCRIPT ONE
"sup2", 0x000B2, // SUPERSCRIPT TWO
"sup3", 0x000B3, // SUPERSCRIPT THREE
"supdot", 0x02ABE, // SUPERSET WITH DOT
"supdsub", 0x02AD8, // SUPERSET BESIDE AND JOINED BY DASH WITH SUBSET
"supe", 0x02287, // SUPERSET OF OR EQUAL TO
"supE", 0x02AC6, // SUPERSET OF ABOVE EQUALS SIGN
"supedot", 0x02AC4, // SUPERSET OF OR EQUAL TO WITH DOT ABOVE
"Superset", 0x02283, // SUPERSET OF
"SupersetEqual", 0x02287, // SUPERSET OF OR EQUAL TO
"suphsol", 0x027C9, // SUPERSET PRECEDING SOLIDUS
"suphsub", 0x02AD7, // SUPERSET BESIDE SUBSET
"suplarr", 0x0297B, // SUPERSET ABOVE LEFTWARDS ARROW
"supmult", 0x02AC2, // SUPERSET WITH MULTIPLICATION SIGN BELOW
"supne", 0x0228B, // SUPERSET OF WITH NOT EQUAL TO
"supnE", 0x02ACC, // SUPERSET OF ABOVE NOT EQUAL TO
"supplus", 0x02AC0, // SUPERSET WITH PLUS SIGN BELOW
"supset", 0x02283, // SUPERSET OF
"Supset", 0x022D1, // DOUBLE SUPERSET
"supseteq", 0x02287, // SUPERSET OF OR EQUAL TO
"supseteqq", 0x02AC6, // SUPERSET OF ABOVE EQUALS SIGN
"supsetneq", 0x0228B, // SUPERSET OF WITH NOT EQUAL TO
"supsetneqq", 0x02ACC, // SUPERSET OF ABOVE NOT EQUAL TO
"supsim", 0x02AC8, // SUPERSET OF ABOVE TILDE OPERATOR
"supsub", 0x02AD4, // SUPERSET ABOVE SUBSET
"supsup", 0x02AD6, // SUPERSET ABOVE SUPERSET
"swarhk", 0x02926, // SOUTH WEST ARROW WITH HOOK
"swarr", 0x02199, // SOUTH WEST ARROW
"swArr", 0x021D9, // SOUTH WEST DOUBLE ARROW
"swarrow", 0x02199, // SOUTH WEST ARROW
"swnwar", 0x0292A, // SOUTH WEST ARROW AND NORTH WEST ARROW
"szlig", 0x000DF, // LATIN SMALL LETTER SHARP S
NULL, 0
};
static NameId namesT[]={
"Tab", 0x00009, // CHARACTER TABULATION
"target", 0x02316, // POSITION INDICATOR
"Tau", 0x003A4, // GREEK CAPITAL LETTER TAU
"tau", 0x003C4, // GREEK SMALL LETTER TAU
"tbrk", 0x023B4, // TOP SQUARE BRACKET
"Tcaron", 0x00164, // LATIN CAPITAL LETTER T WITH CARON
"tcaron", 0x00165, // LATIN SMALL LETTER T WITH CARON
"Tcedil", 0x00162, // LATIN CAPITAL LETTER T WITH CEDILLA
"tcedil", 0x00163, // LATIN SMALL LETTER T WITH CEDILLA
"Tcy", 0x00422, // CYRILLIC CAPITAL LETTER TE
"tcy", 0x00442, // CYRILLIC SMALL LETTER TE
"tdot", 0x020DB, // COMBINING THREE DOTS ABOVE
"telrec", 0x02315, // TELEPHONE RECORDER
"Tfr", 0x1D517, // MATHEMATICAL FRAKTUR CAPITAL T
"tfr", 0x1D531, // MATHEMATICAL FRAKTUR SMALL T
"Tgr", 0x003A4, // GREEK CAPITAL LETTER TAU
"tgr", 0x003C4, // GREEK SMALL LETTER TAU
"there4", 0x02234, // THEREFORE
"therefore", 0x02234, // THEREFORE
"Therefore", 0x02234, // THEREFORE
"Theta", 0x00398, // GREEK CAPITAL LETTER THETA
"theta", 0x003B8, // GREEK SMALL LETTER THETA
"thetasym", 0x003D1, // GREEK THETA SYMBOL
"thetav", 0x003D1, // GREEK THETA SYMBOL
"THgr", 0x00398, // GREEK CAPITAL LETTER THETA
"thgr", 0x003B8, // GREEK SMALL LETTER THETA
"thickapprox", 0x02248, // ALMOST EQUAL TO
"thicksim", 0x0223C, // TILDE OPERATOR
// "ThickSpace", 0x0205F;0x0200A, // space of width 5/18 em
"thinsp", 0x02009, // THIN SPACE
"ThinSpace", 0x02009, // THIN SPACE
"thkap", 0x02248, // ALMOST EQUAL TO
"thksim", 0x0223C, // TILDE OPERATOR
"THORN", 0x000DE, // LATIN CAPITAL LETTER THORN
"thorn", 0x000FE, // LATIN SMALL LETTER THORN
"tilde", 0x002DC, // SMALL TILDE
"Tilde", 0x0223C, // TILDE OPERATOR
"TildeEqual", 0x02243, // ASYMPTOTICALLY EQUAL TO
"TildeFullEqual", 0x02245, // APPROXIMATELY EQUAL TO
"TildeTilde", 0x02248, // ALMOST EQUAL TO
"times", 0x000D7, // MULTIPLICATION SIGN
"timesb", 0x022A0, // SQUARED TIMES
"timesbar", 0x02A31, // MULTIPLICATION SIGN WITH UNDERBAR
"timesd", 0x02A30, // MULTIPLICATION SIGN WITH DOT ABOVE
"tint", 0x0222D, // TRIPLE INTEGRAL
"toea", 0x02928, // NORTH EAST ARROW AND SOUTH EAST ARROW
"top", 0x022A4, // DOWN TACK
"topbot", 0x02336, // APL FUNCTIONAL SYMBOL I-BEAM
"topcir", 0x02AF1, // DOWN TACK WITH CIRCLE BELOW
"Topf", 0x1D54B, // MATHEMATICAL DOUBLE-STRUCK CAPITAL T
"topf", 0x1D565, // MATHEMATICAL DOUBLE-STRUCK SMALL T
"topfork", 0x02ADA, // PITCHFORK WITH TEE TOP
"tosa", 0x02929, // SOUTH EAST ARROW AND SOUTH WEST ARROW
"tprime", 0x02034, // TRIPLE PRIME
"trade", 0x02122, // TRADE MARK SIGN
"TRADE", 0x02122, // TRADE MARK SIGN
"triangle", 0x025B5, // WHITE UP-POINTING SMALL TRIANGLE
"triangledown", 0x025BF, // WHITE DOWN-POINTING SMALL TRIANGLE
"triangleleft", 0x025C3, // WHITE LEFT-POINTING SMALL TRIANGLE
"trianglelefteq", 0x022B4, // NORMAL SUBGROUP OF OR EQUAL TO
"triangleq", 0x0225C, // DELTA EQUAL TO
"triangleright", 0x025B9, // WHITE RIGHT-POINTING SMALL TRIANGLE
"trianglerighteq", 0x022B5, // CONTAINS AS NORMAL SUBGROUP OR EQUAL TO
"tridot", 0x025EC, // WHITE UP-POINTING TRIANGLE WITH DOT
"trie", 0x0225C, // DELTA EQUAL TO
"triminus", 0x02A3A, // MINUS SIGN IN TRIANGLE
"TripleDot", 0x020DB, // COMBINING THREE DOTS ABOVE
"triplus", 0x02A39, // PLUS SIGN IN TRIANGLE
"trisb", 0x029CD, // TRIANGLE WITH SERIFS AT BOTTOM
"tritime", 0x02A3B, // MULTIPLICATION SIGN IN TRIANGLE
"trpezium", 0x023E2, // WHITE TRAPEZIUM
"Tscr", 0x1D4AF, // MATHEMATICAL SCRIPT CAPITAL T
"tscr", 0x1D4C9, // MATHEMATICAL SCRIPT SMALL T
"TScy", 0x00426, // CYRILLIC CAPITAL LETTER TSE
"tscy", 0x00446, // CYRILLIC SMALL LETTER TSE
"TSHcy", 0x0040B, // CYRILLIC CAPITAL LETTER TSHE
"tshcy", 0x0045B, // CYRILLIC SMALL LETTER TSHE
"Tstrok", 0x00166, // LATIN CAPITAL LETTER T WITH STROKE
"tstrok", 0x00167, // LATIN SMALL LETTER T WITH STROKE
"twixt", 0x0226C, // BETWEEN
"twoheadleftarrow", 0x0219E, // LEFTWARDS TWO HEADED ARROW
"twoheadrightarrow", 0x021A0, // RIGHTWARDS TWO HEADED ARROW
NULL, 0
};
static NameId namesU[]={
"Uacgr", 0x0038E, // GREEK CAPITAL LETTER UPSILON WITH TONOS
"uacgr", 0x003CD, // GREEK SMALL LETTER UPSILON WITH TONOS
"Uacute", 0x000DA, // LATIN CAPITAL LETTER U WITH ACUTE
"uacute", 0x000FA, // LATIN SMALL LETTER U WITH ACUTE
"uarr", 0x02191, // UPWARDS ARROW
"Uarr", 0x0219F, // UPWARDS TWO HEADED ARROW
"uArr", 0x021D1, // UPWARDS DOUBLE ARROW
"Uarrocir", 0x02949, // UPWARDS TWO-HEADED ARROW FROM SMALL CIRCLE
"Ubrcy", 0x0040E, // CYRILLIC CAPITAL LETTER SHORT U
"ubrcy", 0x0045E, // CYRILLIC SMALL LETTER SHORT U
"Ubreve", 0x0016C, // LATIN CAPITAL LETTER U WITH BREVE
"ubreve", 0x0016D, // LATIN SMALL LETTER U WITH BREVE
"Ucirc", 0x000DB, // LATIN CAPITAL LETTER U WITH CIRCUMFLEX
"ucirc", 0x000FB, // LATIN SMALL LETTER U WITH CIRCUMFLEX
"Ucy", 0x00423, // CYRILLIC CAPITAL LETTER U
"ucy", 0x00443, // CYRILLIC SMALL LETTER U
"udarr", 0x021C5, // UPWARDS ARROW LEFTWARDS OF DOWNWARDS ARROW
"Udblac", 0x00170, // LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
"udblac", 0x00171, // LATIN SMALL LETTER U WITH DOUBLE ACUTE
"udhar", 0x0296E, // UPWARDS HARPOON WITH BARB LEFT BESIDE DOWNWARDS HARPOON WITH BARB RIGHT
"udiagr", 0x003B0, // GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS
"Udigr", 0x003AB, // GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA
"udigr", 0x003CB, // GREEK SMALL LETTER UPSILON WITH DIALYTIKA
"ufisht", 0x0297E, // UP FISH TAIL
"Ufr", 0x1D518, // MATHEMATICAL FRAKTUR CAPITAL U
"ufr", 0x1D532, // MATHEMATICAL FRAKTUR SMALL U
"Ugr", 0x003A5, // GREEK CAPITAL LETTER UPSILON
"ugr", 0x003C5, // GREEK SMALL LETTER UPSILON
"Ugrave", 0x000D9, // LATIN CAPITAL LETTER U WITH GRAVE
"ugrave", 0x000F9, // LATIN SMALL LETTER U WITH GRAVE
"uHar", 0x02963, // UPWARDS HARPOON WITH BARB LEFT BESIDE UPWARDS HARPOON WITH BARB RIGHT
"uharl", 0x021BF, // UPWARDS HARPOON WITH BARB LEFTWARDS
"uharr", 0x021BE, // UPWARDS HARPOON WITH BARB RIGHTWARDS
"uhblk", 0x02580, // UPPER HALF BLOCK
"ulcorn", 0x0231C, // TOP LEFT CORNER
"ulcorner", 0x0231C, // TOP LEFT CORNER
"ulcrop", 0x0230F, // TOP LEFT CROP
"ultri", 0x025F8, // UPPER LEFT TRIANGLE
"Umacr", 0x0016A, // LATIN CAPITAL LETTER U WITH MACRON
"umacr", 0x0016B, // LATIN SMALL LETTER U WITH MACRON
"uml", 0x000A8, // DIAERESIS
"UnderBar", 0x0005F, // LOW LINE
"UnderBrace", 0x023DF, // BOTTOM CURLY BRACKET
"UnderBracket", 0x023B5, // BOTTOM SQUARE BRACKET
"UnderParenthesis", 0x023DD, // BOTTOM PARENTHESIS
"Union", 0x022C3, // N-ARY UNION
"UnionPlus", 0x0228E, // MULTISET UNION
"Uogon", 0x00172, // LATIN CAPITAL LETTER U WITH OGONEK
"uogon", 0x00173, // LATIN SMALL LETTER U WITH OGONEK
"Uopf", 0x1D54C, // MATHEMATICAL DOUBLE-STRUCK CAPITAL U
"uopf", 0x1D566, // MATHEMATICAL DOUBLE-STRUCK SMALL U
"uparrow", 0x02191, // UPWARDS ARROW
"UpArrow", 0x02191, // UPWARDS ARROW
"Uparrow", 0x021D1, // UPWARDS DOUBLE ARROW
"UpArrowBar", 0x02912, // UPWARDS ARROW TO BAR
"UpArrowDownArrow", 0x021C5, // UPWARDS ARROW LEFTWARDS OF DOWNWARDS ARROW
"updownarrow", 0x02195, // UP DOWN ARROW
"UpDownArrow", 0x02195, // UP DOWN ARROW
"Updownarrow", 0x021D5, // UP DOWN DOUBLE ARROW
"UpEquilibrium", 0x0296E, // UPWARDS HARPOON WITH BARB LEFT BESIDE DOWNWARDS HARPOON WITH BARB RIGHT
"upharpoonleft", 0x021BF, // UPWARDS HARPOON WITH BARB LEFTWARDS
"upharpoonright", 0x021BE, // UPWARDS HARPOON WITH BARB RIGHTWARDS
"uplus", 0x0228E, // MULTISET UNION
"UpperLeftArrow", 0x02196, // NORTH WEST ARROW
"UpperRightArrow", 0x02197, // NORTH EAST ARROW
"upsi", 0x003C5, // GREEK SMALL LETTER UPSILON
"Upsi", 0x003D2, // GREEK UPSILON WITH HOOK SYMBOL
"upsih", 0x003D2, // GREEK UPSILON WITH HOOK SYMBOL
"Upsilon", 0x003A5, // GREEK CAPITAL LETTER UPSILON
"upsilon", 0x003C5, // GREEK SMALL LETTER UPSILON
"UpTee", 0x022A5, // UP TACK
"UpTeeArrow", 0x021A5, // UPWARDS ARROW FROM BAR
"upuparrows", 0x021C8, // UPWARDS PAIRED ARROWS
"urcorn", 0x0231D, // TOP RIGHT CORNER
"urcorner", 0x0231D, // TOP RIGHT CORNER
"urcrop", 0x0230E, // TOP RIGHT CROP
"Uring", 0x0016E, // LATIN CAPITAL LETTER U WITH RING ABOVE
"uring", 0x0016F, // LATIN SMALL LETTER U WITH RING ABOVE
"urtri", 0x025F9, // UPPER RIGHT TRIANGLE
"Uscr", 0x1D4B0, // MATHEMATICAL SCRIPT CAPITAL U
"uscr", 0x1D4CA, // MATHEMATICAL SCRIPT SMALL U
"utdot", 0x022F0, // UP RIGHT DIAGONAL ELLIPSIS
"Utilde", 0x00168, // LATIN CAPITAL LETTER U WITH TILDE
"utilde", 0x00169, // LATIN SMALL LETTER U WITH TILDE
"utri", 0x025B5, // WHITE UP-POINTING SMALL TRIANGLE
"utrif", 0x025B4, // BLACK UP-POINTING SMALL TRIANGLE
"uuarr", 0x021C8, // UPWARDS PAIRED ARROWS
"Uuml", 0x000DC, // LATIN CAPITAL LETTER U WITH DIAERESIS
"uuml", 0x000FC, // LATIN SMALL LETTER U WITH DIAERESIS
"uwangle", 0x029A7, // OBLIQUE ANGLE OPENING DOWN
NULL, 0
};
static NameId namesV[]={
"vangrt", 0x0299C, // RIGHT ANGLE VARIANT WITH SQUARE
"varepsilon", 0x003F5, // GREEK LUNATE EPSILON SYMBOL
"varkappa", 0x003F0, // GREEK KAPPA SYMBOL
"varnothing", 0x02205, // EMPTY SET
"varphi", 0x003D5, // GREEK PHI SYMBOL
"varpi", 0x003D6, // GREEK PI SYMBOL
"varpropto", 0x0221D, // PROPORTIONAL TO
"varr", 0x02195, // UP DOWN ARROW
"vArr", 0x021D5, // UP DOWN DOUBLE ARROW
"varrho", 0x003F1, // GREEK RHO SYMBOL
"varsigma", 0x003C2, // GREEK SMALL LETTER FINAL SIGMA
// "varsubsetneq", 0x0228A;0x0FE00, // SUBSET OF WITH NOT EQUAL TO - variant with stroke through bottom members
// "varsubsetneqq", 0x02ACB;0x0FE00, // SUBSET OF ABOVE NOT EQUAL TO - variant with stroke through bottom members
// "varsupsetneq", 0x0228B;0x0FE00, // SUPERSET OF WITH NOT EQUAL TO - variant with stroke through bottom members
// "varsupsetneqq", 0x02ACC;0x0FE00, // SUPERSET OF ABOVE NOT EQUAL TO - variant with stroke through bottom members
"vartheta", 0x003D1, // GREEK THETA SYMBOL
"vartriangleleft", 0x022B2, // NORMAL SUBGROUP OF
"vartriangleright", 0x022B3, // CONTAINS AS NORMAL SUBGROUP
"vBar", 0x02AE8, // SHORT UP TACK WITH UNDERBAR
"Vbar", 0x02AEB, // DOUBLE UP TACK
"vBarv", 0x02AE9, // SHORT UP TACK ABOVE SHORT DOWN TACK
"Vcy", 0x00412, // CYRILLIC CAPITAL LETTER VE
"vcy", 0x00432, // CYRILLIC SMALL LETTER VE
"vdash", 0x022A2, // RIGHT TACK
"vDash", 0x022A8, // TRUE
"Vdash", 0x022A9, // FORCES
"VDash", 0x022AB, // DOUBLE VERTICAL BAR DOUBLE RIGHT TURNSTILE
"Vdashl", 0x02AE6, // LONG DASH FROM LEFT MEMBER OF DOUBLE VERTICAL
"vee", 0x02228, // LOGICAL OR
"Vee", 0x022C1, // N-ARY LOGICAL OR
"veebar", 0x022BB, // XOR
"veeeq", 0x0225A, // EQUIANGULAR TO
"vellip", 0x022EE, // VERTICAL ELLIPSIS
"verbar", 0x0007C, // VERTICAL LINE
"Verbar", 0x02016, // DOUBLE VERTICAL LINE
"vert", 0x0007C, // VERTICAL LINE
"Vert", 0x02016, // DOUBLE VERTICAL LINE
"VerticalBar", 0x02223, // DIVIDES
"VerticalLine", 0x0007C, // VERTICAL LINE
"VerticalSeparator", 0x02758, // LIGHT VERTICAL BAR
"VerticalTilde", 0x02240, // WREATH PRODUCT
"VeryThinSpace", 0x0200A, // HAIR SPACE
"Vfr", 0x1D519, // MATHEMATICAL FRAKTUR CAPITAL V
"vfr", 0x1D533, // MATHEMATICAL FRAKTUR SMALL V
"vltri", 0x022B2, // NORMAL SUBGROUP OF
// "vnsub", 0x02282;0x020D2, // SUBSET OF with vertical line
// "vnsup", 0x02283;0x020D2, // SUPERSET OF with vertical line
"Vopf", 0x1D54D, // MATHEMATICAL DOUBLE-STRUCK CAPITAL V
"vopf", 0x1D567, // MATHEMATICAL DOUBLE-STRUCK SMALL V
"vprop", 0x0221D, // PROPORTIONAL TO
"vrtri", 0x022B3, // CONTAINS AS NORMAL SUBGROUP
"Vscr", 0x1D4B1, // MATHEMATICAL SCRIPT CAPITAL V
"vscr", 0x1D4CB, // MATHEMATICAL SCRIPT SMALL V
// "vsubne", 0x0228A;0x0FE00, // SUBSET OF WITH NOT EQUAL TO - variant with stroke through bottom members
// "vsubnE", 0x02ACB;0x0FE00, // SUBSET OF ABOVE NOT EQUAL TO - variant with stroke through bottom members
// "vsupne", 0x0228B;0x0FE00, // SUPERSET OF WITH NOT EQUAL TO - variant with stroke through bottom members
// "vsupnE", 0x02ACC;0x0FE00, // SUPERSET OF ABOVE NOT EQUAL TO - variant with stroke through bottom members
"Vvdash", 0x022AA, // TRIPLE VERTICAL BAR RIGHT TURNSTILE
"vzigzag", 0x0299A, // VERTICAL ZIGZAG LINE
NULL, 0
};
static NameId namesW[]={
"Wcirc", 0x00174, // LATIN CAPITAL LETTER W WITH CIRCUMFLEX
"wcirc", 0x00175, // LATIN SMALL LETTER W WITH CIRCUMFLEX
"wedbar", 0x02A5F, // LOGICAL AND WITH UNDERBAR
"wedge", 0x02227, // LOGICAL AND
"Wedge", 0x022C0, // N-ARY LOGICAL AND
"wedgeq", 0x02259, // ESTIMATES
"weierp", 0x02118, // SCRIPT CAPITAL P
"Wfr", 0x1D51A, // MATHEMATICAL FRAKTUR CAPITAL W
"wfr", 0x1D534, // MATHEMATICAL FRAKTUR SMALL W
"Wopf", 0x1D54E, // MATHEMATICAL DOUBLE-STRUCK CAPITAL W
"wopf", 0x1D568, // MATHEMATICAL DOUBLE-STRUCK SMALL W
"wp", 0x02118, // SCRIPT CAPITAL P
"wr", 0x02240, // WREATH PRODUCT
"wreath", 0x02240, // WREATH PRODUCT
"Wscr", 0x1D4B2, // MATHEMATICAL SCRIPT CAPITAL W
"wscr", 0x1D4CC, // MATHEMATICAL SCRIPT SMALL W
NULL, 0
};
static NameId namesX[]={
"xcap", 0x022C2, // N-ARY INTERSECTION
"xcirc", 0x025EF, // LARGE CIRCLE
"xcup", 0x022C3, // N-ARY UNION
"xdtri", 0x025BD, // WHITE DOWN-POINTING TRIANGLE
"Xfr", 0x1D51B, // MATHEMATICAL FRAKTUR CAPITAL X
"xfr", 0x1D535, // MATHEMATICAL FRAKTUR SMALL X
"Xgr", 0x0039E, // GREEK CAPITAL LETTER XI
"xgr", 0x003BE, // GREEK SMALL LETTER XI
"xharr", 0x027F7, // LONG LEFT RIGHT ARROW
"xhArr", 0x027FA, // LONG LEFT RIGHT DOUBLE ARROW
"Xi", 0x0039E, // GREEK CAPITAL LETTER XI
"xi", 0x003BE, // GREEK SMALL LETTER XI
"xlarr", 0x027F5, // LONG LEFTWARDS ARROW
"xlArr", 0x027F8, // LONG LEFTWARDS DOUBLE ARROW
"xmap", 0x027FC, // LONG RIGHTWARDS ARROW FROM BAR
"xnis", 0x022FB, // CONTAINS WITH VERTICAL BAR AT END OF HORIZONTAL STROKE
"xodot", 0x02A00, // N-ARY CIRCLED DOT OPERATOR
"Xopf", 0x1D54F, // MATHEMATICAL DOUBLE-STRUCK CAPITAL X
"xopf", 0x1D569, // MATHEMATICAL DOUBLE-STRUCK SMALL X
"xoplus", 0x02A01, // N-ARY CIRCLED PLUS OPERATOR
"xotime", 0x02A02, // N-ARY CIRCLED TIMES OPERATOR
"xrarr", 0x027F6, // LONG RIGHTWARDS ARROW
"xrArr", 0x027F9, // LONG RIGHTWARDS DOUBLE ARROW
"Xscr", 0x1D4B3, // MATHEMATICAL SCRIPT CAPITAL X
"xscr", 0x1D4CD, // MATHEMATICAL SCRIPT SMALL X
"xsqcup", 0x02A06, // N-ARY SQUARE UNION OPERATOR
"xuplus", 0x02A04, // N-ARY UNION OPERATOR WITH PLUS
"xutri", 0x025B3, // WHITE UP-POINTING TRIANGLE
"xvee", 0x022C1, // N-ARY LOGICAL OR
"xwedge", 0x022C0, // N-ARY LOGICAL AND
NULL, 0
};
static NameId namesY[]={
"Yacute", 0x000DD, // LATIN CAPITAL LETTER Y WITH ACUTE
"yacute", 0x000FD, // LATIN SMALL LETTER Y WITH ACUTE
"YAcy", 0x0042F, // CYRILLIC CAPITAL LETTER YA
"yacy", 0x0044F, // CYRILLIC SMALL LETTER YA
"Ycirc", 0x00176, // LATIN CAPITAL LETTER Y WITH CIRCUMFLEX
"ycirc", 0x00177, // LATIN SMALL LETTER Y WITH CIRCUMFLEX
"Ycy", 0x0042B, // CYRILLIC CAPITAL LETTER YERU
"ycy", 0x0044B, // CYRILLIC SMALL LETTER YERU
"yen", 0x000A5, // YEN SIGN
"Yfr", 0x1D51C, // MATHEMATICAL FRAKTUR CAPITAL Y
"yfr", 0x1D536, // MATHEMATICAL FRAKTUR SMALL Y
"YIcy", 0x00407, // CYRILLIC CAPITAL LETTER YI
"yicy", 0x00457, // CYRILLIC SMALL LETTER YI
"Yopf", 0x1D550, // MATHEMATICAL DOUBLE-STRUCK CAPITAL Y
"yopf", 0x1D56A, // MATHEMATICAL DOUBLE-STRUCK SMALL Y
"Yscr", 0x1D4B4, // MATHEMATICAL SCRIPT CAPITAL Y
"yscr", 0x1D4CE, // MATHEMATICAL SCRIPT SMALL Y
"YUcy", 0x0042E, // CYRILLIC CAPITAL LETTER YU
"yucy", 0x0044E, // CYRILLIC SMALL LETTER YU
"yuml", 0x000FF, // LATIN SMALL LETTER Y WITH DIAERESIS
"Yuml", 0x00178, // LATIN CAPITAL LETTER Y WITH DIAERESIS
NULL, 0
};
static NameId namesZ[]={
"Zacute", 0x00179, // LATIN CAPITAL LETTER Z WITH ACUTE
"zacute", 0x0017A, // LATIN SMALL LETTER Z WITH ACUTE
"Zcaron", 0x0017D, // LATIN CAPITAL LETTER Z WITH CARON
"zcaron", 0x0017E, // LATIN SMALL LETTER Z WITH CARON
"Zcy", 0x00417, // CYRILLIC CAPITAL LETTER ZE
"zcy", 0x00437, // CYRILLIC SMALL LETTER ZE
"Zdot", 0x0017B, // LATIN CAPITAL LETTER Z WITH DOT ABOVE
"zdot", 0x0017C, // LATIN SMALL LETTER Z WITH DOT ABOVE
"zeetrf", 0x02128, // BLACK-LETTER CAPITAL Z
"ZeroWidthSpace", 0x0200B, // ZERO WIDTH SPACE
"Zeta", 0x00396, // GREEK CAPITAL LETTER ZETA
"zeta", 0x003B6, // GREEK SMALL LETTER ZETA
"Zfr", 0x02128, // BLACK-LETTER CAPITAL Z
"zfr", 0x1D537, // MATHEMATICAL FRAKTUR SMALL Z
"Zgr", 0x00396, // GREEK CAPITAL LETTER ZETA
"zgr", 0x003B6, // GREEK SMALL LETTER ZETA
"ZHcy", 0x00416, // CYRILLIC CAPITAL LETTER ZHE
"zhcy", 0x00436, // CYRILLIC SMALL LETTER ZHE
"zigrarr", 0x021DD, // RIGHTWARDS SQUIGGLE ARROW
"Zopf", 0x02124, // DOUBLE-STRUCK CAPITAL Z
"zopf", 0x1D56B, // MATHEMATICAL DOUBLE-STRUCK SMALL Z
"Zscr", 0x1D4B5, // MATHEMATICAL SCRIPT CAPITAL Z
"zscr", 0x1D4CF, // MATHEMATICAL SCRIPT SMALL Z
"zwj", 0x0200D, // ZERO WIDTH JOINER
"zwnj", 0x0200C, // ZERO WIDTH NON-JOINER
NULL, 0
};
// @todo@ order namesTable and names? by frequency
static NameId* namesTable[] = {
namesA, namesB, namesC, namesD, namesE, namesF, namesG, namesH, namesI,
namesJ, namesK, namesL, namesM, namesN, namesO, namesP, namesQ, namesR,
namesS, namesT, namesU, namesV, namesW, namesX, namesY, namesZ, NULL
};
int HtmlNamedEntity(unsigned char *p, int length)
{
int tableIndex = tolower(*p) - 'a';
if (tableIndex >= 0 && tableIndex < 26)
{
NameId* names = namesTable[tableIndex];
int i;
for (i = 0; names[i].name; i++)
{
if (strncmp(names[i].name, (char *)p, length) == 0)
return names[i].value;
}
}
return -1;
}