]> git.ipfire.org Git - thirdparty/gcc.git/blob - gcc/d/dmd/entity.c
Add D front-end, libphobos library, and D2 testsuite.
[thirdparty/gcc.git] / gcc / d / dmd / entity.c
1
2 /* Compiler implementation of the D programming language
3 * Copyright (C) 1999-2018 by The D Language Foundation, All Rights Reserved
4 * written by Walter Bright
5 * http://www.digitalmars.com
6 * Distributed under the Boost Software License, Version 1.0.
7 * http://www.boost.org/LICENSE_1_0.txt
8 * https://github.com/D-Programming-Language/dmd/blob/master/src/entity.c
9 */
10
11 #include <string.h>
12 #include <ctype.h>
13
14 #include "root/port.h"
15
16 /*********************************************
17 * Convert from named entity to its encoding.
18 * For reference:
19 * http://www.htmlhelp.com/reference/html40/entities/
20 * http://www.w3.org/2003/entities/2007/w3centities-f.ent
21 */
22
23 struct NameId
24 {
25 const char *name;
26 unsigned value;
27 };
28
29 static NameId namesA[]={
30 {"Aacgr", 0x00386}, // GREEK CAPITAL LETTER ALPHA WITH TONOS
31 {"aacgr", 0x003AC}, // GREEK SMALL LETTER ALPHA WITH TONOS
32 {"Aacute", 0x000C1}, // LATIN CAPITAL LETTER A WITH ACUTE
33 {"aacute", 0x000E1}, // LATIN SMALL LETTER A WITH ACUTE
34 {"Abreve", 0x00102}, // LATIN CAPITAL LETTER A WITH BREVE
35 {"abreve", 0x00103}, // LATIN SMALL LETTER A WITH BREVE
36 {"ac", 0x0223E}, // INVERTED LAZY S
37 {"acd", 0x0223F}, // SINE WAVE
38 // {"acE", 0x0223E;0x00333}, // INVERTED LAZY S with double underline
39 {"Acirc", 0x000C2}, // LATIN CAPITAL LETTER A WITH CIRCUMFLEX
40 {"acirc", 0x000E2}, // LATIN SMALL LETTER A WITH CIRCUMFLEX
41 {"acute", 0x000B4}, // ACUTE ACCENT
42 {"Acy", 0x00410}, // CYRILLIC CAPITAL LETTER A
43 {"acy", 0x00430}, // CYRILLIC SMALL LETTER A
44 {"AElig", 0x000C6}, // LATIN CAPITAL LETTER AE
45 {"aelig", 0x000E6}, // LATIN SMALL LETTER AE
46 {"af", 0x02061}, // FUNCTION APPLICATION
47 {"Afr", 0x1D504}, // MATHEMATICAL FRAKTUR CAPITAL A
48 {"afr", 0x1D51E}, // MATHEMATICAL FRAKTUR SMALL A
49 {"Agr", 0x00391}, // GREEK CAPITAL LETTER ALPHA
50 {"agr", 0x003B1}, // GREEK SMALL LETTER ALPHA
51 {"Agrave", 0x000C0}, // LATIN CAPITAL LETTER A WITH GRAVE
52 {"agrave", 0x000E0}, // LATIN SMALL LETTER A WITH GRAVE
53 {"alefsym", 0x02135}, // ALEF SYMBOL
54 {"aleph", 0x02135}, // ALEF SYMBOL
55 {"Alpha", 0x00391}, // GREEK CAPITAL LETTER ALPHA
56 {"alpha", 0x003B1}, // GREEK SMALL LETTER ALPHA
57 {"Amacr", 0x00100}, // LATIN CAPITAL LETTER A WITH MACRON
58 {"amacr", 0x00101}, // LATIN SMALL LETTER A WITH MACRON
59 {"amalg", 0x02A3F}, // AMALGAMATION OR COPRODUCT
60 {"amp", 0x00026}, // AMPERSAND
61 {"AMP", 0x00026}, // AMPERSAND
62 {"and", 0x02227}, // LOGICAL AND
63 {"And", 0x02A53}, // DOUBLE LOGICAL AND
64 {"andand", 0x02A55}, // TWO INTERSECTING LOGICAL AND
65 {"andd", 0x02A5C}, // LOGICAL AND WITH HORIZONTAL DASH
66 {"andslope", 0x02A58}, // SLOPING LARGE AND
67 {"andv", 0x02A5A}, // LOGICAL AND WITH MIDDLE STEM
68 {"ang", 0x02220}, // ANGLE
69 {"ange", 0x029A4}, // ANGLE WITH UNDERBAR
70 {"angle", 0x02220}, // ANGLE
71 {"angmsd", 0x02221}, // MEASURED ANGLE
72 {"angmsdaa", 0x029A8}, // MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING UP AND RIGHT
73 {"angmsdab", 0x029A9}, // MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING UP AND LEFT
74 {"angmsdac", 0x029AA}, // MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING DOWN AND RIGHT
75 {"angmsdad", 0x029AB}, // MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING DOWN AND LEFT
76 {"angmsdae", 0x029AC}, // MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING RIGHT AND UP
77 {"angmsdaf", 0x029AD}, // MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING LEFT AND UP
78 {"angmsdag", 0x029AE}, // MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING RIGHT AND DOWN
79 {"angmsdah", 0x029AF}, // MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING LEFT AND DOWN
80 {"angrt", 0x0221F}, // RIGHT ANGLE
81 {"angrtvb", 0x022BE}, // RIGHT ANGLE WITH ARC
82 {"angrtvbd", 0x0299D}, // MEASURED RIGHT ANGLE WITH DOT
83 {"angsph", 0x02222}, // SPHERICAL ANGLE
84 {"angst", 0x000C5}, // LATIN CAPITAL LETTER A WITH RING ABOVE
85 {"angzarr", 0x0237C}, // RIGHT ANGLE WITH DOWNWARDS ZIGZAG ARROW
86 {"Aogon", 0x00104}, // LATIN CAPITAL LETTER A WITH OGONEK
87 {"aogon", 0x00105}, // LATIN SMALL LETTER A WITH OGONEK
88 {"Aopf", 0x1D538}, // MATHEMATICAL DOUBLE-STRUCK CAPITAL A
89 {"aopf", 0x1D552}, // MATHEMATICAL DOUBLE-STRUCK SMALL A
90 {"ap", 0x02248}, // ALMOST EQUAL TO
91 {"apacir", 0x02A6F}, // ALMOST EQUAL TO WITH CIRCUMFLEX ACCENT
92 {"ape", 0x0224A}, // ALMOST EQUAL OR EQUAL TO
93 {"apE", 0x02A70}, // APPROXIMATELY EQUAL OR EQUAL TO
94 {"apid", 0x0224B}, // TRIPLE TILDE
95 {"apos", 0x00027}, // APOSTROPHE
96 {"ApplyFunction", 0x02061}, // FUNCTION APPLICATION
97 {"approx", 0x02248}, // ALMOST EQUAL TO
98 {"approxeq", 0x0224A}, // ALMOST EQUAL OR EQUAL TO
99 {"Aring", 0x000C5}, // LATIN CAPITAL LETTER A WITH RING ABOVE
100 {"aring", 0x000E5}, // LATIN SMALL LETTER A WITH RING ABOVE
101 {"Ascr", 0x1D49C}, // MATHEMATICAL SCRIPT CAPITAL A
102 {"ascr", 0x1D4B6}, // MATHEMATICAL SCRIPT SMALL A
103 {"Assign", 0x02254}, // COLON EQUALS
104 {"ast", 0x0002A}, // ASTERISK
105 {"asymp", 0x02248}, // ALMOST EQUAL TO
106 {"asympeq", 0x0224D}, // EQUIVALENT TO
107 {"Atilde", 0x000C3}, // LATIN CAPITAL LETTER A WITH TILDE
108 {"atilde", 0x000E3}, // LATIN SMALL LETTER A WITH TILDE
109 {"Auml", 0x000C4}, // LATIN CAPITAL LETTER A WITH DIAERESIS
110 {"auml", 0x000E4}, // LATIN SMALL LETTER A WITH DIAERESIS
111 {"awconint", 0x02233}, // ANTICLOCKWISE CONTOUR INTEGRAL
112 {"awint", 0x02A11}, // ANTICLOCKWISE INTEGRATION
113 {NULL, 0}
114 };
115
116 static NameId namesB[]={
117 {"backcong", 0x0224C}, // ALL EQUAL TO
118 {"backepsilon", 0x003F6}, // GREEK REVERSED LUNATE EPSILON SYMBOL
119 {"backprime", 0x02035}, // REVERSED PRIME
120 {"backsim", 0x0223D}, // REVERSED TILDE
121 {"backsimeq", 0x022CD}, // REVERSED TILDE EQUALS
122 {"Backslash", 0x02216}, // SET MINUS
123 // "b.alpha", 0x1D6C2}, // MATHEMATICAL BOLD SMALL ALPHA
124 {"Barv", 0x02AE7}, // SHORT DOWN TACK WITH OVERBAR
125 {"barvee", 0x022BD}, // NOR
126 {"barwed", 0x02305}, // PROJECTIVE
127 {"Barwed", 0x02306}, // PERSPECTIVE
128 {"barwedge", 0x02305}, // PROJECTIVE
129 // "b.beta", 0x1D6C3}, // MATHEMATICAL BOLD SMALL BETA
130 {"bbrk", 0x023B5}, // BOTTOM SQUARE BRACKET
131 {"bbrktbrk", 0x023B6}, // BOTTOM SQUARE BRACKET OVER TOP SQUARE BRACKET
132 // "b.chi", 0x1D6D8}, // MATHEMATICAL BOLD SMALL CHI
133 {"bcong", 0x0224C}, // ALL EQUAL TO
134 {"Bcy", 0x00411}, // CYRILLIC CAPITAL LETTER BE
135 {"bcy", 0x00431}, // CYRILLIC SMALL LETTER BE
136 // "b.Delta", 0x1D6AB}, // MATHEMATICAL BOLD CAPITAL DELTA
137 // "b.delta", 0x1D6C5}, // MATHEMATICAL BOLD SMALL DELTA
138 {"bdquo", 0x0201E}, // DOUBLE LOW-9 QUOTATION MARK
139 {"becaus", 0x02235}, // BECAUSE
140 {"because", 0x02235}, // BECAUSE
141 {"Because", 0x02235}, // BECAUSE
142 {"bemptyv", 0x029B0}, // REVERSED EMPTY SET
143 {"bepsi", 0x003F6}, // GREEK REVERSED LUNATE EPSILON SYMBOL
144 // "b.epsi", 0x1D6C6}, // MATHEMATICAL BOLD SMALL EPSILON
145 // "b.epsiv", 0x1D6DC}, // MATHEMATICAL BOLD EPSILON SYMBOL
146 {"bernou", 0x0212C}, // SCRIPT CAPITAL B
147 {"Bernoullis", 0x0212C}, // SCRIPT CAPITAL B
148 {"Beta", 0x00392}, // GREEK CAPITAL LETTER BETA
149 {"beta", 0x003B2}, // GREEK SMALL LETTER BETA
150 // "b.eta", 0x1D6C8}, // MATHEMATICAL BOLD SMALL ETA
151 {"beth", 0x02136}, // BET SYMBOL
152 {"between", 0x0226C}, // BETWEEN
153 {"Bfr", 0x1D505}, // MATHEMATICAL FRAKTUR CAPITAL B
154 {"bfr", 0x1D51F}, // MATHEMATICAL FRAKTUR SMALL B
155 // "b.Gamma", 0x1D6AA}, // MATHEMATICAL BOLD CAPITAL GAMMA
156 // "b.gamma", 0x1D6C4}, // MATHEMATICAL BOLD SMALL GAMMA
157 // "b.Gammad", 0x1D7CA}, // MATHEMATICAL BOLD CAPITAL DIGAMMA
158 // "b.gammad", 0x1D7CB}, // MATHEMATICAL BOLD SMALL DIGAMMA
159 {"Bgr", 0x00392}, // GREEK CAPITAL LETTER BETA
160 {"bgr", 0x003B2}, // GREEK SMALL LETTER BETA
161 {"bigcap", 0x022C2}, // N-ARY INTERSECTION
162 {"bigcirc", 0x025EF}, // LARGE CIRCLE
163 {"bigcup", 0x022C3}, // N-ARY UNION
164 {"bigodot", 0x02A00}, // N-ARY CIRCLED DOT OPERATOR
165 {"bigoplus", 0x02A01}, // N-ARY CIRCLED PLUS OPERATOR
166 {"bigotimes", 0x02A02}, // N-ARY CIRCLED TIMES OPERATOR
167 {"bigsqcup", 0x02A06}, // N-ARY SQUARE UNION OPERATOR
168 {"bigstar", 0x02605}, // BLACK STAR
169 {"bigtriangledown", 0x025BD}, // WHITE DOWN-POINTING TRIANGLE
170 {"bigtriangleup", 0x025B3}, // WHITE UP-POINTING TRIANGLE
171 {"biguplus", 0x02A04}, // N-ARY UNION OPERATOR WITH PLUS
172 {"bigvee", 0x022C1}, // N-ARY LOGICAL OR
173 {"bigwedge", 0x022C0}, // N-ARY LOGICAL AND
174 // "b.iota", 0x1D6CA}, // MATHEMATICAL BOLD SMALL IOTA
175 // "b.kappa", 0x1D6CB}, // MATHEMATICAL BOLD SMALL KAPPA
176 // "b.kappav", 0x1D6DE}, // MATHEMATICAL BOLD KAPPA SYMBOL
177 {"bkarow", 0x0290D}, // RIGHTWARDS DOUBLE DASH ARROW
178 {"blacklozenge", 0x029EB}, // BLACK LOZENGE
179 {"blacksquare", 0x025AA}, // BLACK SMALL SQUARE
180 {"blacktriangle", 0x025B4}, // BLACK UP-POINTING SMALL TRIANGLE
181 {"blacktriangledown", 0x025BE}, // BLACK DOWN-POINTING SMALL TRIANGLE
182 {"blacktriangleleft", 0x025C2}, // BLACK LEFT-POINTING SMALL TRIANGLE
183 {"blacktriangleright", 0x025B8}, // BLACK RIGHT-POINTING SMALL TRIANGLE
184 // "b.Lambda", 0x1D6B2}, // MATHEMATICAL BOLD CAPITAL LAMDA
185 // "b.lambda", 0x1D6CC}, // MATHEMATICAL BOLD SMALL LAMDA
186 {"blank", 0x02423}, // OPEN BOX
187 {"blk12", 0x02592}, // MEDIUM SHADE
188 {"blk14", 0x02591}, // LIGHT SHADE
189 {"blk34", 0x02593}, // DARK SHADE
190 {"block", 0x02588}, // FULL BLOCK
191 // "b.mu", 0x1D6CD}, // MATHEMATICAL BOLD SMALL MU
192 // "bne", 0x0003D;0x020E5}, // EQUALS SIGN with reverse slash
193 // "bnequiv", 0x02261;0x020E5}, // IDENTICAL TO with reverse slash
194 {"bnot", 0x02310}, // REVERSED NOT SIGN
195 {"bNot", 0x02AED}, // REVERSED DOUBLE STROKE NOT SIGN
196 // "b.nu", 0x1D6CE}, // MATHEMATICAL BOLD SMALL NU
197 // "b.Omega", 0x1D6C0}, // MATHEMATICAL BOLD CAPITAL OMEGA
198 // "b.omega", 0x1D6DA}, // MATHEMATICAL BOLD SMALL OMEGA
199 {"Bopf", 0x1D539}, // MATHEMATICAL DOUBLE-STRUCK CAPITAL B
200 {"bopf", 0x1D553}, // MATHEMATICAL DOUBLE-STRUCK SMALL B
201 {"bot", 0x022A5}, // UP TACK
202 {"bottom", 0x022A5}, // UP TACK
203 {"bowtie", 0x022C8}, // BOWTIE
204 {"boxbox", 0x029C9}, // TWO JOINED SQUARES
205 {"boxdl", 0x02510}, // BOX DRAWINGS LIGHT DOWN AND LEFT
206 {"boxdL", 0x02555}, // BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
207 {"boxDl", 0x02556}, // BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
208 {"boxDL", 0x02557}, // BOX DRAWINGS DOUBLE DOWN AND LEFT
209 {"boxdr", 0x0250C}, // BOX DRAWINGS LIGHT DOWN AND RIGHT
210 {"boxdR", 0x02552}, // BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
211 {"boxDr", 0x02553}, // BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
212 {"boxDR", 0x02554}, // BOX DRAWINGS DOUBLE DOWN AND RIGHT
213 {"boxh", 0x02500}, // BOX DRAWINGS LIGHT HORIZONTAL
214 {"boxH", 0x02550}, // BOX DRAWINGS DOUBLE HORIZONTAL
215 {"boxhd", 0x0252C}, // BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
216 {"boxHd", 0x02564}, // BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
217 {"boxhD", 0x02565}, // BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
218 {"boxHD", 0x02566}, // BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
219 {"boxhu", 0x02534}, // BOX DRAWINGS LIGHT UP AND HORIZONTAL
220 {"boxHu", 0x02567}, // BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
221 {"boxhU", 0x02568}, // BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
222 {"boxHU", 0x02569}, // BOX DRAWINGS DOUBLE UP AND HORIZONTAL
223 {"boxminus", 0x0229F}, // SQUARED MINUS
224 {"boxplus", 0x0229E}, // SQUARED PLUS
225 {"boxtimes", 0x022A0}, // SQUARED TIMES
226 {"boxul", 0x02518}, // BOX DRAWINGS LIGHT UP AND LEFT
227 {"boxuL", 0x0255B}, // BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
228 {"boxUl", 0x0255C}, // BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
229 {"boxUL", 0x0255D}, // BOX DRAWINGS DOUBLE UP AND LEFT
230 {"boxur", 0x02514}, // BOX DRAWINGS LIGHT UP AND RIGHT
231 {"boxuR", 0x02558}, // BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
232 {"boxUr", 0x02559}, // BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
233 {"boxUR", 0x0255A}, // BOX DRAWINGS DOUBLE UP AND RIGHT
234 {"boxv", 0x02502}, // BOX DRAWINGS LIGHT VERTICAL
235 {"boxV", 0x02551}, // BOX DRAWINGS DOUBLE VERTICAL
236 {"boxvh", 0x0253C}, // BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
237 {"boxvH", 0x0256A}, // BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
238 {"boxVh", 0x0256B}, // BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
239 {"boxVH", 0x0256C}, // BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
240 {"boxvl", 0x02524}, // BOX DRAWINGS LIGHT VERTICAL AND LEFT
241 {"boxvL", 0x02561}, // BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
242 {"boxVl", 0x02562}, // BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
243 {"boxVL", 0x02563}, // BOX DRAWINGS DOUBLE VERTICAL AND LEFT
244 {"boxvr", 0x0251C}, // BOX DRAWINGS LIGHT VERTICAL AND RIGHT
245 {"boxvR", 0x0255E}, // BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
246 {"boxVr", 0x0255F}, // BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
247 {"boxVR", 0x02560}, // BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
248 // "b.Phi", 0x1D6BD}, // MATHEMATICAL BOLD CAPITAL PHI
249 // "b.phi", 0x1D6D7}, // MATHEMATICAL BOLD SMALL PHI
250 // "b.phiv", 0x1D6DF}, // MATHEMATICAL BOLD PHI SYMBOL
251 // "b.Pi", 0x1D6B7}, // MATHEMATICAL BOLD CAPITAL PI
252 // "b.pi", 0x1D6D1}, // MATHEMATICAL BOLD SMALL PI
253 // "b.piv", 0x1D6E1}, // MATHEMATICAL BOLD PI SYMBOL
254 {"bprime", 0x02035}, // REVERSED PRIME
255 // "b.Psi", 0x1D6BF}, // MATHEMATICAL BOLD CAPITAL PSI
256 // "b.psi", 0x1D6D9}, // MATHEMATICAL BOLD SMALL PSI
257 {"breve", 0x002D8}, // BREVE
258 {"Breve", 0x002D8}, // BREVE
259 // "b.rho", 0x1D6D2}, // MATHEMATICAL BOLD SMALL RHO
260 // "b.rhov", 0x1D6E0}, // MATHEMATICAL BOLD RHO SYMBOL
261 {"brvbar", 0x000A6}, // BROKEN BAR
262 {"Bscr", 0x0212C}, // SCRIPT CAPITAL B
263 {"bscr", 0x1D4B7}, // MATHEMATICAL SCRIPT SMALL B
264 {"bsemi", 0x0204F}, // REVERSED SEMICOLON
265 // "b.Sigma", 0x1D6BA}, // MATHEMATICAL BOLD CAPITAL SIGMA
266 // "b.sigma", 0x1D6D4}, // MATHEMATICAL BOLD SMALL SIGMA
267 // "b.sigmav", 0x1D6D3}, // MATHEMATICAL BOLD SMALL FINAL SIGMA
268 {"bsim", 0x0223D}, // REVERSED TILDE
269 {"bsime", 0x022CD}, // REVERSED TILDE EQUALS
270 {"bsol", 0x0005C}, // REVERSE SOLIDUS
271 {"bsolb", 0x029C5}, // SQUARED FALLING DIAGONAL SLASH
272 {"bsolhsub", 0x027C8}, // REVERSE SOLIDUS PRECEDING SUBSET
273 // "b.tau", 0x1D6D5}, // MATHEMATICAL BOLD SMALL TAU
274 // "b.Theta", 0x1D6AF}, // MATHEMATICAL BOLD CAPITAL THETA
275 // "b.thetas", 0x1D6C9}, // MATHEMATICAL BOLD SMALL THETA
276 // "b.thetav", 0x1D6DD}, // MATHEMATICAL BOLD THETA SYMBOL
277 {"bull", 0x02022}, // BULLET
278 {"bullet", 0x02022}, // BULLET
279 {"bump", 0x0224E}, // GEOMETRICALLY EQUIVALENT TO
280 {"bumpe", 0x0224F}, // DIFFERENCE BETWEEN
281 {"bumpE", 0x02AAE}, // EQUALS SIGN WITH BUMPY ABOVE
282 {"Bumpeq", 0x0224E}, // GEOMETRICALLY EQUIVALENT TO
283 {"bumpeq", 0x0224F}, // DIFFERENCE BETWEEN
284 // "b.Upsi", 0x1D6BC}, // MATHEMATICAL BOLD CAPITAL UPSILON
285 // "b.upsi", 0x1D6D6}, // MATHEMATICAL BOLD SMALL UPSILON
286 // "b.Xi", 0x1D6B5}, // MATHEMATICAL BOLD CAPITAL XI
287 // "b.xi", 0x1D6CF}, // MATHEMATICAL BOLD SMALL XI
288 // "b.zeta", 0x1D6C7}, // MATHEMATICAL BOLD SMALL ZETA
289 {NULL, 0}
290 };
291
292 static NameId namesC[]={
293 {"Cacute", 0x00106}, // LATIN CAPITAL LETTER C WITH ACUTE
294 {"cacute", 0x00107}, // LATIN SMALL LETTER C WITH ACUTE
295 {"cap", 0x02229}, // INTERSECTION
296 {"Cap", 0x022D2}, // DOUBLE INTERSECTION
297 {"capand", 0x02A44}, // INTERSECTION WITH LOGICAL AND
298 {"capbrcup", 0x02A49}, // INTERSECTION ABOVE BAR ABOVE UNION
299 {"capcap", 0x02A4B}, // INTERSECTION BESIDE AND JOINED WITH INTERSECTION
300 {"capcup", 0x02A47}, // INTERSECTION ABOVE UNION
301 {"capdot", 0x02A40}, // INTERSECTION WITH DOT
302 {"CapitalDifferentialD", 0x02145}, // DOUBLE-STRUCK ITALIC CAPITAL D
303 // "caps", 0x02229;0x0FE00}, // INTERSECTION with serifs
304 {"caret", 0x02041}, // CARET INSERTION POINT
305 {"caron", 0x002C7}, // CARON
306 {"Cayleys", 0x0212D}, // BLACK-LETTER CAPITAL C
307 {"ccaps", 0x02A4D}, // CLOSED INTERSECTION WITH SERIFS
308 {"Ccaron", 0x0010C}, // LATIN CAPITAL LETTER C WITH CARON
309 {"ccaron", 0x0010D}, // LATIN SMALL LETTER C WITH CARON
310 {"Ccedil", 0x000C7}, // LATIN CAPITAL LETTER C WITH CEDILLA
311 {"ccedil", 0x000E7}, // LATIN SMALL LETTER C WITH CEDILLA
312 {"Ccirc", 0x00108}, // LATIN CAPITAL LETTER C WITH CIRCUMFLEX
313 {"ccirc", 0x00109}, // LATIN SMALL LETTER C WITH CIRCUMFLEX
314 {"Cconint", 0x02230}, // VOLUME INTEGRAL
315 {"ccups", 0x02A4C}, // CLOSED UNION WITH SERIFS
316 {"ccupssm", 0x02A50}, // CLOSED UNION WITH SERIFS AND SMASH PRODUCT
317 {"Cdot", 0x0010A}, // LATIN CAPITAL LETTER C WITH DOT ABOVE
318 {"cdot", 0x0010B}, // LATIN SMALL LETTER C WITH DOT ABOVE
319 {"cedil", 0x000B8}, // CEDILLA
320 {"Cedilla", 0x000B8}, // CEDILLA
321 {"cemptyv", 0x029B2}, // EMPTY SET WITH SMALL CIRCLE ABOVE
322 {"cent", 0x000A2}, // CENT SIGN
323 {"centerdot", 0x000B7}, // MIDDLE DOT
324 {"CenterDot", 0x000B7}, // MIDDLE DOT
325 {"Cfr", 0x0212D}, // BLACK-LETTER CAPITAL C
326 {"cfr", 0x1D520}, // MATHEMATICAL FRAKTUR SMALL C
327 {"CHcy", 0x00427}, // CYRILLIC CAPITAL LETTER CHE
328 {"chcy", 0x00447}, // CYRILLIC SMALL LETTER CHE
329 {"check", 0x02713}, // CHECK MARK
330 {"checkmark", 0x02713}, // CHECK MARK
331 {"Chi", 0x003A7}, // GREEK CAPITAL LETTER CHI
332 {"chi", 0x003C7}, // GREEK SMALL LETTER CHI
333 {"cir", 0x025CB}, // WHITE CIRCLE
334 {"circ", 0x002C6}, // MODIFIER LETTER CIRCUMFLEX ACCENT
335 {"circeq", 0x02257}, // RING EQUAL TO
336 {"circlearrowleft", 0x021BA}, // ANTICLOCKWISE OPEN CIRCLE ARROW
337 {"circlearrowright", 0x021BB}, // CLOCKWISE OPEN CIRCLE ARROW
338 {"circledast", 0x0229B}, // CIRCLED ASTERISK OPERATOR
339 {"circledcirc", 0x0229A}, // CIRCLED RING OPERATOR
340 {"circleddash", 0x0229D}, // CIRCLED DASH
341 {"CircleDot", 0x02299}, // CIRCLED DOT OPERATOR
342 {"circledR", 0x000AE}, // REGISTERED SIGN
343 {"circledS", 0x024C8}, // CIRCLED LATIN CAPITAL LETTER S
344 {"CircleMinus", 0x02296}, // CIRCLED MINUS
345 {"CirclePlus", 0x02295}, // CIRCLED PLUS
346 {"CircleTimes", 0x02297}, // CIRCLED TIMES
347 {"cire", 0x02257}, // RING EQUAL TO
348 {"cirE", 0x029C3}, // CIRCLE WITH TWO HORIZONTAL STROKES TO THE RIGHT
349 {"cirfnint", 0x02A10}, // CIRCULATION FUNCTION
350 {"cirmid", 0x02AEF}, // VERTICAL LINE WITH CIRCLE ABOVE
351 {"cirscir", 0x029C2}, // CIRCLE WITH SMALL CIRCLE TO THE RIGHT
352 {"ClockwiseContourIntegral", 0x02232}, // CLOCKWISE CONTOUR INTEGRAL
353 {"CloseCurlyDoubleQuote", 0x0201D}, // RIGHT DOUBLE QUOTATION MARK
354 {"CloseCurlyQuote", 0x02019}, // RIGHT SINGLE QUOTATION MARK
355 {"clubs", 0x02663}, // BLACK CLUB SUIT
356 {"clubsuit", 0x02663}, // BLACK CLUB SUIT
357 {"colon", 0x0003A}, // COLON
358 {"Colon", 0x02237}, // PROPORTION
359 {"colone", 0x02254}, // COLON EQUALS
360 {"Colone", 0x02A74}, // DOUBLE COLON EQUAL
361 {"coloneq", 0x02254}, // COLON EQUALS
362 {"comma", 0x0002C}, // COMMA
363 {"commat", 0x00040}, // COMMERCIAL AT
364 {"comp", 0x02201}, // COMPLEMENT
365 {"compfn", 0x02218}, // RING OPERATOR
366 {"complement", 0x02201}, // COMPLEMENT
367 {"complexes", 0x02102}, // DOUBLE-STRUCK CAPITAL C
368 {"cong", 0x02245}, // APPROXIMATELY EQUAL TO
369 {"congdot", 0x02A6D}, // CONGRUENT WITH DOT ABOVE
370 {"Congruent", 0x02261}, // IDENTICAL TO
371 {"conint", 0x0222E}, // CONTOUR INTEGRAL
372 {"Conint", 0x0222F}, // SURFACE INTEGRAL
373 {"ContourIntegral", 0x0222E}, // CONTOUR INTEGRAL
374 {"Copf", 0x02102}, // DOUBLE-STRUCK CAPITAL C
375 {"copf", 0x1D554}, // MATHEMATICAL DOUBLE-STRUCK SMALL C
376 {"coprod", 0x02210}, // N-ARY COPRODUCT
377 {"Coproduct", 0x02210}, // N-ARY COPRODUCT
378 {"copy", 0x000A9}, // COPYRIGHT SIGN
379 {"COPY", 0x000A9}, // COPYRIGHT SIGN
380 {"copysr", 0x02117}, // SOUND RECORDING COPYRIGHT
381 {"CounterClockwiseContourIntegral", 0x02233}, // ANTICLOCKWISE CONTOUR INTEGRAL
382 {"crarr", 0x021B5}, // DOWNWARDS ARROW WITH CORNER LEFTWARDS
383 {"cross", 0x02717}, // BALLOT X
384 {"Cross", 0x02A2F}, // VECTOR OR CROSS PRODUCT
385 {"Cscr", 0x1D49E}, // MATHEMATICAL SCRIPT CAPITAL C
386 {"cscr", 0x1D4B8}, // MATHEMATICAL SCRIPT SMALL C
387 {"csub", 0x02ACF}, // CLOSED SUBSET
388 {"csube", 0x02AD1}, // CLOSED SUBSET OR EQUAL TO
389 {"csup", 0x02AD0}, // CLOSED SUPERSET
390 {"csupe", 0x02AD2}, // CLOSED SUPERSET OR EQUAL TO
391 {"ctdot", 0x022EF}, // MIDLINE HORIZONTAL ELLIPSIS
392 {"cudarrl", 0x02938}, // RIGHT-SIDE ARC CLOCKWISE ARROW
393 {"cudarrr", 0x02935}, // ARROW POINTING RIGHTWARDS THEN CURVING DOWNWARDS
394 {"cuepr", 0x022DE}, // EQUAL TO OR PRECEDES
395 {"cuesc", 0x022DF}, // EQUAL TO OR SUCCEEDS
396 {"cularr", 0x021B6}, // ANTICLOCKWISE TOP SEMICIRCLE ARROW
397 {"cularrp", 0x0293D}, // TOP ARC ANTICLOCKWISE ARROW WITH PLUS
398 {"cup", 0x0222A}, // UNION
399 {"Cup", 0x022D3}, // DOUBLE UNION
400 {"cupbrcap", 0x02A48}, // UNION ABOVE BAR ABOVE INTERSECTION
401 {"CupCap", 0x0224D}, // EQUIVALENT TO
402 {"cupcap", 0x02A46}, // UNION ABOVE INTERSECTION
403 {"cupcup", 0x02A4A}, // UNION BESIDE AND JOINED WITH UNION
404 {"cupdot", 0x0228D}, // MULTISET MULTIPLICATION
405 {"cupor", 0x02A45}, // UNION WITH LOGICAL OR
406 // "cups", 0x0222A;0x0FE00}, // UNION with serifs
407 {"curarr", 0x021B7}, // CLOCKWISE TOP SEMICIRCLE ARROW
408 {"curarrm", 0x0293C}, // TOP ARC CLOCKWISE ARROW WITH MINUS
409 {"curlyeqprec", 0x022DE}, // EQUAL TO OR PRECEDES
410 {"curlyeqsucc", 0x022DF}, // EQUAL TO OR SUCCEEDS
411 {"curlyvee", 0x022CE}, // CURLY LOGICAL OR
412 {"curlywedge", 0x022CF}, // CURLY LOGICAL AND
413 {"curren", 0x000A4}, // CURRENCY SIGN
414 {"curvearrowleft", 0x021B6}, // ANTICLOCKWISE TOP SEMICIRCLE ARROW
415 {"curvearrowright", 0x021B7}, // CLOCKWISE TOP SEMICIRCLE ARROW
416 {"cuvee", 0x022CE}, // CURLY LOGICAL OR
417 {"cuwed", 0x022CF}, // CURLY LOGICAL AND
418 {"cwconint", 0x02232}, // CLOCKWISE CONTOUR INTEGRAL
419 {"cwint", 0x02231}, // CLOCKWISE INTEGRAL
420 {"cylcty", 0x0232D}, // CYLINDRICITY
421 {NULL, 0}
422 };
423
424 static NameId namesD[]={
425 {"dagger", 0x02020}, // DAGGER
426 {"Dagger", 0x02021}, // DOUBLE DAGGER
427 {"daleth", 0x02138}, // DALET SYMBOL
428 {"darr", 0x02193}, // DOWNWARDS ARROW
429 {"Darr", 0x021A1}, // DOWNWARDS TWO HEADED ARROW
430 {"dArr", 0x021D3}, // DOWNWARDS DOUBLE ARROW
431 {"dash", 0x02010}, // HYPHEN
432 {"dashv", 0x022A3}, // LEFT TACK
433 {"Dashv", 0x02AE4}, // VERTICAL BAR DOUBLE LEFT TURNSTILE
434 {"dbkarow", 0x0290F}, // RIGHTWARDS TRIPLE DASH ARROW
435 {"dblac", 0x002DD}, // DOUBLE ACUTE ACCENT
436 {"Dcaron", 0x0010E}, // LATIN CAPITAL LETTER D WITH CARON
437 {"dcaron", 0x0010F}, // LATIN SMALL LETTER D WITH CARON
438 {"Dcy", 0x00414}, // CYRILLIC CAPITAL LETTER DE
439 {"dcy", 0x00434}, // CYRILLIC SMALL LETTER DE
440 {"DD", 0x02145}, // DOUBLE-STRUCK ITALIC CAPITAL D
441 {"dd", 0x02146}, // DOUBLE-STRUCK ITALIC SMALL D
442 {"ddagger", 0x02021}, // DOUBLE DAGGER
443 {"ddarr", 0x021CA}, // DOWNWARDS PAIRED ARROWS
444 {"DDotrahd", 0x02911}, // RIGHTWARDS ARROW WITH DOTTED STEM
445 {"ddotseq", 0x02A77}, // EQUALS SIGN WITH TWO DOTS ABOVE AND TWO DOTS BELOW
446 {"deg", 0x000B0}, // DEGREE SIGN
447 {"Del", 0x02207}, // NABLA
448 {"Delta", 0x00394}, // GREEK CAPITAL LETTER DELTA
449 {"delta", 0x003B4}, // GREEK SMALL LETTER DELTA
450 {"demptyv", 0x029B1}, // EMPTY SET WITH OVERBAR
451 {"dfisht", 0x0297F}, // DOWN FISH TAIL
452 {"Dfr", 0x1D507}, // MATHEMATICAL FRAKTUR CAPITAL D
453 {"dfr", 0x1D521}, // MATHEMATICAL FRAKTUR SMALL D
454 {"Dgr", 0x00394}, // GREEK CAPITAL LETTER DELTA
455 {"dgr", 0x003B4}, // GREEK SMALL LETTER DELTA
456 {"dHar", 0x02965}, // DOWNWARDS HARPOON WITH BARB LEFT BESIDE DOWNWARDS HARPOON WITH BARB RIGHT
457 {"dharl", 0x021C3}, // DOWNWARDS HARPOON WITH BARB LEFTWARDS
458 {"dharr", 0x021C2}, // DOWNWARDS HARPOON WITH BARB RIGHTWARDS
459 {"DiacriticalAcute", 0x000B4}, // ACUTE ACCENT
460 {"DiacriticalDot", 0x002D9}, // DOT ABOVE
461 {"DiacriticalDoubleAcute", 0x002DD}, // DOUBLE ACUTE ACCENT
462 {"DiacriticalGrave", 0x00060}, // GRAVE ACCENT
463 {"DiacriticalTilde", 0x002DC}, // SMALL TILDE
464 {"diam", 0x022C4}, // DIAMOND OPERATOR
465 {"diamond", 0x022C4}, // DIAMOND OPERATOR
466 {"Diamond", 0x022C4}, // DIAMOND OPERATOR
467 {"diamondsuit", 0x02666}, // BLACK DIAMOND SUIT
468 {"diams", 0x02666}, // BLACK DIAMOND SUIT
469 {"die", 0x000A8}, // DIAERESIS
470 {"DifferentialD", 0x02146}, // DOUBLE-STRUCK ITALIC SMALL D
471 {"digamma", 0x003DD}, // GREEK SMALL LETTER DIGAMMA
472 {"disin", 0x022F2}, // ELEMENT OF WITH LONG HORIZONTAL STROKE
473 {"div", 0x000F7}, // DIVISION SIGN
474 {"divide", 0x000F7}, // DIVISION SIGN
475 {"divideontimes", 0x022C7}, // DIVISION TIMES
476 {"divonx", 0x022C7}, // DIVISION TIMES
477 {"DJcy", 0x00402}, // CYRILLIC CAPITAL LETTER DJE
478 {"djcy", 0x00452}, // CYRILLIC SMALL LETTER DJE
479 {"dlcorn", 0x0231E}, // BOTTOM LEFT CORNER
480 {"dlcrop", 0x0230D}, // BOTTOM LEFT CROP
481 {"dollar", 0x00024}, // DOLLAR SIGN
482 {"Dopf", 0x1D53B}, // MATHEMATICAL DOUBLE-STRUCK CAPITAL D
483 {"dopf", 0x1D555}, // MATHEMATICAL DOUBLE-STRUCK SMALL D
484 {"Dot", 0x000A8}, // DIAERESIS
485 {"dot", 0x002D9}, // DOT ABOVE
486 {"DotDot", 0x020DC}, // COMBINING FOUR DOTS ABOVE
487 {"doteq", 0x02250}, // APPROACHES THE LIMIT
488 {"doteqdot", 0x02251}, // GEOMETRICALLY EQUAL TO
489 {"DotEqual", 0x02250}, // APPROACHES THE LIMIT
490 {"dotminus", 0x02238}, // DOT MINUS
491 {"dotplus", 0x02214}, // DOT PLUS
492 {"dotsquare", 0x022A1}, // SQUARED DOT OPERATOR
493 {"doublebarwedge", 0x02306}, // PERSPECTIVE
494 {"DoubleContourIntegral", 0x0222F}, // SURFACE INTEGRAL
495 {"DoubleDot", 0x000A8}, // DIAERESIS
496 {"DoubleDownArrow", 0x021D3}, // DOWNWARDS DOUBLE ARROW
497 {"DoubleLeftArrow", 0x021D0}, // LEFTWARDS DOUBLE ARROW
498 {"DoubleLeftRightArrow", 0x021D4}, // LEFT RIGHT DOUBLE ARROW
499 {"DoubleLeftTee", 0x02AE4}, // VERTICAL BAR DOUBLE LEFT TURNSTILE
500 {"DoubleLongLeftArrow", 0x027F8}, // LONG LEFTWARDS DOUBLE ARROW
501 {"DoubleLongLeftRightArrow", 0x027FA}, // LONG LEFT RIGHT DOUBLE ARROW
502 {"DoubleLongRightArrow", 0x027F9}, // LONG RIGHTWARDS DOUBLE ARROW
503 {"DoubleRightArrow", 0x021D2}, // RIGHTWARDS DOUBLE ARROW
504 {"DoubleRightTee", 0x022A8}, // TRUE
505 {"DoubleUpArrow", 0x021D1}, // UPWARDS DOUBLE ARROW
506 {"DoubleUpDownArrow", 0x021D5}, // UP DOWN DOUBLE ARROW
507 {"DoubleVerticalBar", 0x02225}, // PARALLEL TO
508 {"downarrow", 0x02193}, // DOWNWARDS ARROW
509 {"DownArrow", 0x02193}, // DOWNWARDS ARROW
510 {"Downarrow", 0x021D3}, // DOWNWARDS DOUBLE ARROW
511 {"DownArrowBar", 0x02913}, // DOWNWARDS ARROW TO BAR
512 {"DownArrowUpArrow", 0x021F5}, // DOWNWARDS ARROW LEFTWARDS OF UPWARDS ARROW
513 {"DownBreve", 0x00311}, // COMBINING INVERTED BREVE
514 {"downdownarrows", 0x021CA}, // DOWNWARDS PAIRED ARROWS
515 {"downharpoonleft", 0x021C3}, // DOWNWARDS HARPOON WITH BARB LEFTWARDS
516 {"downharpoonright", 0x021C2}, // DOWNWARDS HARPOON WITH BARB RIGHTWARDS
517 {"DownLeftRightVector", 0x02950}, // LEFT BARB DOWN RIGHT BARB DOWN HARPOON
518 {"DownLeftTeeVector", 0x0295E}, // LEFTWARDS HARPOON WITH BARB DOWN FROM BAR
519 {"DownLeftVector", 0x021BD}, // LEFTWARDS HARPOON WITH BARB DOWNWARDS
520 {"DownLeftVectorBar", 0x02956}, // LEFTWARDS HARPOON WITH BARB DOWN TO BAR
521 {"DownRightTeeVector", 0x0295F}, // RIGHTWARDS HARPOON WITH BARB DOWN FROM BAR
522 {"DownRightVector", 0x021C1}, // RIGHTWARDS HARPOON WITH BARB DOWNWARDS
523 {"DownRightVectorBar", 0x02957}, // RIGHTWARDS HARPOON WITH BARB DOWN TO BAR
524 {"DownTee", 0x022A4}, // DOWN TACK
525 {"DownTeeArrow", 0x021A7}, // DOWNWARDS ARROW FROM BAR
526 {"drbkarow", 0x02910}, // RIGHTWARDS TWO-HEADED TRIPLE DASH ARROW
527 {"drcorn", 0x0231F}, // BOTTOM RIGHT CORNER
528 {"drcrop", 0x0230C}, // BOTTOM RIGHT CROP
529 {"Dscr", 0x1D49F}, // MATHEMATICAL SCRIPT CAPITAL D
530 {"dscr", 0x1D4B9}, // MATHEMATICAL SCRIPT SMALL D
531 {"DScy", 0x00405}, // CYRILLIC CAPITAL LETTER DZE
532 {"dscy", 0x00455}, // CYRILLIC SMALL LETTER DZE
533 {"dsol", 0x029F6}, // SOLIDUS WITH OVERBAR
534 {"Dstrok", 0x00110}, // LATIN CAPITAL LETTER D WITH STROKE
535 {"dstrok", 0x00111}, // LATIN SMALL LETTER D WITH STROKE
536 {"dtdot", 0x022F1}, // DOWN RIGHT DIAGONAL ELLIPSIS
537 {"dtri", 0x025BF}, // WHITE DOWN-POINTING SMALL TRIANGLE
538 {"dtrif", 0x025BE}, // BLACK DOWN-POINTING SMALL TRIANGLE
539 {"duarr", 0x021F5}, // DOWNWARDS ARROW LEFTWARDS OF UPWARDS ARROW
540 {"duhar", 0x0296F}, // DOWNWARDS HARPOON WITH BARB LEFT BESIDE UPWARDS HARPOON WITH BARB RIGHT
541 {"dwangle", 0x029A6}, // OBLIQUE ANGLE OPENING UP
542 {"DZcy", 0x0040F}, // CYRILLIC CAPITAL LETTER DZHE
543 {"dzcy", 0x0045F}, // CYRILLIC SMALL LETTER DZHE
544 {"dzigrarr", 0x027FF}, // LONG RIGHTWARDS SQUIGGLE ARROW
545 {NULL, 0}
546 };
547
548 static NameId namesE[]={
549 {"Eacgr", 0x00388}, // GREEK CAPITAL LETTER EPSILON WITH TONOS
550 {"eacgr", 0x003AD}, // GREEK SMALL LETTER EPSILON WITH TONOS
551 {"Eacute", 0x000C9}, // LATIN CAPITAL LETTER E WITH ACUTE
552 {"eacute", 0x000E9}, // LATIN SMALL LETTER E WITH ACUTE
553 {"easter", 0x02A6E}, // EQUALS WITH ASTERISK
554 {"Ecaron", 0x0011A}, // LATIN CAPITAL LETTER E WITH CARON
555 {"ecaron", 0x0011B}, // LATIN SMALL LETTER E WITH CARON
556 {"ecir", 0x02256}, // RING IN EQUAL TO
557 {"Ecirc", 0x000CA}, // LATIN CAPITAL LETTER E WITH CIRCUMFLEX
558 {"ecirc", 0x000EA}, // LATIN SMALL LETTER E WITH CIRCUMFLEX
559 {"ecolon", 0x02255}, // EQUALS COLON
560 {"Ecy", 0x0042D}, // CYRILLIC CAPITAL LETTER E
561 {"ecy", 0x0044D}, // CYRILLIC SMALL LETTER E
562 {"eDDot", 0x02A77}, // EQUALS SIGN WITH TWO DOTS ABOVE AND TWO DOTS BELOW
563 {"Edot", 0x00116}, // LATIN CAPITAL LETTER E WITH DOT ABOVE
564 {"edot", 0x00117}, // LATIN SMALL LETTER E WITH DOT ABOVE
565 {"eDot", 0x02251}, // GEOMETRICALLY EQUAL TO
566 {"ee", 0x02147}, // DOUBLE-STRUCK ITALIC SMALL E
567 {"EEacgr", 0x00389}, // GREEK CAPITAL LETTER ETA WITH TONOS
568 {"eeacgr", 0x003AE}, // GREEK SMALL LETTER ETA WITH TONOS
569 {"EEgr", 0x00397}, // GREEK CAPITAL LETTER ETA
570 {"eegr", 0x003B7}, // GREEK SMALL LETTER ETA
571 {"efDot", 0x02252}, // APPROXIMATELY EQUAL TO OR THE IMAGE OF
572 {"Efr", 0x1D508}, // MATHEMATICAL FRAKTUR CAPITAL E
573 {"efr", 0x1D522}, // MATHEMATICAL FRAKTUR SMALL E
574 {"eg", 0x02A9A}, // DOUBLE-LINE EQUAL TO OR GREATER-THAN
575 {"Egr", 0x00395}, // GREEK CAPITAL LETTER EPSILON
576 {"egr", 0x003B5}, // GREEK SMALL LETTER EPSILON
577 {"Egrave", 0x000C8}, // LATIN CAPITAL LETTER E WITH GRAVE
578 {"egrave", 0x000E8}, // LATIN SMALL LETTER E WITH GRAVE
579 {"egs", 0x02A96}, // SLANTED EQUAL TO OR GREATER-THAN
580 {"egsdot", 0x02A98}, // SLANTED EQUAL TO OR GREATER-THAN WITH DOT INSIDE
581 {"el", 0x02A99}, // DOUBLE-LINE EQUAL TO OR LESS-THAN
582 {"Element", 0x02208}, // ELEMENT OF
583 {"elinters", 0x023E7}, // ELECTRICAL INTERSECTION
584 {"ell", 0x02113}, // SCRIPT SMALL L
585 {"els", 0x02A95}, // SLANTED EQUAL TO OR LESS-THAN
586 {"elsdot", 0x02A97}, // SLANTED EQUAL TO OR LESS-THAN WITH DOT INSIDE
587 {"Emacr", 0x00112}, // LATIN CAPITAL LETTER E WITH MACRON
588 {"emacr", 0x00113}, // LATIN SMALL LETTER E WITH MACRON
589 {"empty", 0x02205}, // EMPTY SET
590 {"emptyset", 0x02205}, // EMPTY SET
591 {"EmptySmallSquare", 0x025FB}, // WHITE MEDIUM SQUARE
592 {"emptyv", 0x02205}, // EMPTY SET
593 {"EmptyVerySmallSquare", 0x025AB}, // WHITE SMALL SQUARE
594 {"emsp", 0x02003}, // EM SPACE
595 {"emsp13", 0x02004}, // THREE-PER-EM SPACE
596 {"emsp14", 0x02005}, // FOUR-PER-EM SPACE
597 {"ENG", 0x0014A}, // LATIN CAPITAL LETTER ENG
598 {"eng", 0x0014B}, // LATIN SMALL LETTER ENG
599 {"ensp", 0x02002}, // EN SPACE
600 {"Eogon", 0x00118}, // LATIN CAPITAL LETTER E WITH OGONEK
601 {"eogon", 0x00119}, // LATIN SMALL LETTER E WITH OGONEK
602 {"Eopf", 0x1D53C}, // MATHEMATICAL DOUBLE-STRUCK CAPITAL E
603 {"eopf", 0x1D556}, // MATHEMATICAL DOUBLE-STRUCK SMALL E
604 {"epar", 0x022D5}, // EQUAL AND PARALLEL TO
605 {"eparsl", 0x029E3}, // EQUALS SIGN AND SLANTED PARALLEL
606 {"eplus", 0x02A71}, // EQUALS SIGN ABOVE PLUS SIGN
607 {"epsi", 0x003B5}, // GREEK SMALL LETTER EPSILON
608 {"Epsilon", 0x00395}, // GREEK CAPITAL LETTER EPSILON
609 {"epsilon", 0x003B5}, // GREEK SMALL LETTER EPSILON
610 {"epsiv", 0x003F5}, // GREEK LUNATE EPSILON SYMBOL
611 {"eqcirc", 0x02256}, // RING IN EQUAL TO
612 {"eqcolon", 0x02255}, // EQUALS COLON
613 {"eqsim", 0x02242}, // MINUS TILDE
614 {"eqslantgtr", 0x02A96}, // SLANTED EQUAL TO OR GREATER-THAN
615 {"eqslantless", 0x02A95}, // SLANTED EQUAL TO OR LESS-THAN
616 {"Equal", 0x02A75}, // TWO CONSECUTIVE EQUALS SIGNS
617 {"equals", 0x0003D}, // EQUALS SIGN
618 {"EqualTilde", 0x02242}, // MINUS TILDE
619 {"equest", 0x0225F}, // QUESTIONED EQUAL TO
620 {"Equilibrium", 0x021CC}, // RIGHTWARDS HARPOON OVER LEFTWARDS HARPOON
621 {"equiv", 0x02261}, // IDENTICAL TO
622 {"equivDD", 0x02A78}, // EQUIVALENT WITH FOUR DOTS ABOVE
623 {"eqvparsl", 0x029E5}, // IDENTICAL TO AND SLANTED PARALLEL
624 {"erarr", 0x02971}, // EQUALS SIGN ABOVE RIGHTWARDS ARROW
625 {"erDot", 0x02253}, // IMAGE OF OR APPROXIMATELY EQUAL TO
626 {"escr", 0x0212F}, // SCRIPT SMALL E
627 {"Escr", 0x02130}, // SCRIPT CAPITAL E
628 {"esdot", 0x02250}, // APPROACHES THE LIMIT
629 {"esim", 0x02242}, // MINUS TILDE
630 {"Esim", 0x02A73}, // EQUALS SIGN ABOVE TILDE OPERATOR
631 {"Eta", 0x00397}, // GREEK CAPITAL LETTER ETA
632 {"eta", 0x003B7}, // GREEK SMALL LETTER ETA
633 {"ETH", 0x000D0}, // LATIN CAPITAL LETTER ETH
634 {"eth", 0x000F0}, // LATIN SMALL LETTER ETH
635 {"Euml", 0x000CB}, // LATIN CAPITAL LETTER E WITH DIAERESIS
636 {"euml", 0x000EB}, // LATIN SMALL LETTER E WITH DIAERESIS
637 {"euro", 0x020AC}, // EURO SIGN
638 {"excl", 0x00021}, // EXCLAMATION MARK
639 {"exist", 0x02203}, // THERE EXISTS
640 {"Exists", 0x02203}, // THERE EXISTS
641 {"expectation", 0x02130}, // SCRIPT CAPITAL E
642 {"exponentiale", 0x02147}, // DOUBLE-STRUCK ITALIC SMALL E
643 {"ExponentialE", 0x02147}, // DOUBLE-STRUCK ITALIC SMALL E
644 {NULL, 0}
645 };
646
647 static NameId namesF[]={
648 {"fallingdotseq", 0x02252}, // APPROXIMATELY EQUAL TO OR THE IMAGE OF
649 {"Fcy", 0x00424}, // CYRILLIC CAPITAL LETTER EF
650 {"fcy", 0x00444}, // CYRILLIC SMALL LETTER EF
651 {"female", 0x02640}, // FEMALE SIGN
652 {"ffilig", 0x0FB03}, // LATIN SMALL LIGATURE FFI
653 {"fflig", 0x0FB00}, // LATIN SMALL LIGATURE FF
654 {"ffllig", 0x0FB04}, // LATIN SMALL LIGATURE FFL
655 {"Ffr", 0x1D509}, // MATHEMATICAL FRAKTUR CAPITAL F
656 {"ffr", 0x1D523}, // MATHEMATICAL FRAKTUR SMALL F
657 {"filig", 0x0FB01}, // LATIN SMALL LIGATURE FI
658 {"FilledSmallSquare", 0x025FC}, // BLACK MEDIUM SQUARE
659 {"FilledVerySmallSquare", 0x025AA}, // BLACK SMALL SQUARE
660 // "fjlig", 0x00066;0x0006A}, // fj ligature
661 {"flat", 0x0266D}, // MUSIC FLAT SIGN
662 {"fllig", 0x0FB02}, // LATIN SMALL LIGATURE FL
663 {"fltns", 0x025B1}, // WHITE PARALLELOGRAM
664 {"fnof", 0x00192}, // LATIN SMALL LETTER F WITH HOOK
665 {"Fopf", 0x1D53D}, // MATHEMATICAL DOUBLE-STRUCK CAPITAL F
666 {"fopf", 0x1D557}, // MATHEMATICAL DOUBLE-STRUCK SMALL F
667 {"forall", 0x02200}, // FOR ALL
668 {"ForAll", 0x02200}, // FOR ALL
669 {"fork", 0x022D4}, // PITCHFORK
670 {"forkv", 0x02AD9}, // ELEMENT OF OPENING DOWNWARDS
671 {"Fouriertrf", 0x02131}, // SCRIPT CAPITAL F
672 {"fpartint", 0x02A0D}, // FINITE PART INTEGRAL
673 {"frac12", 0x000BD}, // VULGAR FRACTION ONE HALF
674 {"frac13", 0x02153}, // VULGAR FRACTION ONE THIRD
675 {"frac14", 0x000BC}, // VULGAR FRACTION ONE QUARTER
676 {"frac15", 0x02155}, // VULGAR FRACTION ONE FIFTH
677 {"frac16", 0x02159}, // VULGAR FRACTION ONE SIXTH
678 {"frac18", 0x0215B}, // VULGAR FRACTION ONE EIGHTH
679 {"frac23", 0x02154}, // VULGAR FRACTION TWO THIRDS
680 {"frac25", 0x02156}, // VULGAR FRACTION TWO FIFTHS
681 {"frac34", 0x000BE}, // VULGAR FRACTION THREE QUARTERS
682 {"frac35", 0x02157}, // VULGAR FRACTION THREE FIFTHS
683 {"frac38", 0x0215C}, // VULGAR FRACTION THREE EIGHTHS
684 {"frac45", 0x02158}, // VULGAR FRACTION FOUR FIFTHS
685 {"frac56", 0x0215A}, // VULGAR FRACTION FIVE SIXTHS
686 {"frac58", 0x0215D}, // VULGAR FRACTION FIVE EIGHTHS
687 {"frac78", 0x0215E}, // VULGAR FRACTION SEVEN EIGHTHS
688 {"frasl", 0x02044}, // FRACTION SLASH
689 {"frown", 0x02322}, // FROWN
690 {"Fscr", 0x02131}, // SCRIPT CAPITAL F
691 {"fscr", 0x1D4BB}, // MATHEMATICAL SCRIPT SMALL F
692 {NULL, 0}
693 };
694
695 static NameId namesG[]={
696 {"gacute", 0x001F5}, // LATIN SMALL LETTER G WITH ACUTE
697 {"Gamma", 0x00393}, // GREEK CAPITAL LETTER GAMMA
698 {"gamma", 0x003B3}, // GREEK SMALL LETTER GAMMA
699 {"Gammad", 0x003DC}, // GREEK LETTER DIGAMMA
700 {"gammad", 0x003DD}, // GREEK SMALL LETTER DIGAMMA
701 {"gap", 0x02A86}, // GREATER-THAN OR APPROXIMATE
702 {"Gbreve", 0x0011E}, // LATIN CAPITAL LETTER G WITH BREVE
703 {"gbreve", 0x0011F}, // LATIN SMALL LETTER G WITH BREVE
704 {"Gcedil", 0x00122}, // LATIN CAPITAL LETTER G WITH CEDILLA
705 {"Gcirc", 0x0011C}, // LATIN CAPITAL LETTER G WITH CIRCUMFLEX
706 {"gcirc", 0x0011D}, // LATIN SMALL LETTER G WITH CIRCUMFLEX
707 {"Gcy", 0x00413}, // CYRILLIC CAPITAL LETTER GHE
708 {"gcy", 0x00433}, // CYRILLIC SMALL LETTER GHE
709 {"Gdot", 0x00120}, // LATIN CAPITAL LETTER G WITH DOT ABOVE
710 {"gdot", 0x00121}, // LATIN SMALL LETTER G WITH DOT ABOVE
711 {"ge", 0x02265}, // GREATER-THAN OR EQUAL TO
712 {"gE", 0x02267}, // GREATER-THAN OVER EQUAL TO
713 {"gel", 0x022DB}, // GREATER-THAN EQUAL TO OR LESS-THAN
714 {"gEl", 0x02A8C}, // GREATER-THAN ABOVE DOUBLE-LINE EQUAL ABOVE LESS-THAN
715 {"geq", 0x02265}, // GREATER-THAN OR EQUAL TO
716 {"geqq", 0x02267}, // GREATER-THAN OVER EQUAL TO
717 {"geqslant", 0x02A7E}, // GREATER-THAN OR SLANTED EQUAL TO
718 {"ges", 0x02A7E}, // GREATER-THAN OR SLANTED EQUAL TO
719 {"gescc", 0x02AA9}, // GREATER-THAN CLOSED BY CURVE ABOVE SLANTED EQUAL
720 {"gesdot", 0x02A80}, // GREATER-THAN OR SLANTED EQUAL TO WITH DOT INSIDE
721 {"gesdoto", 0x02A82}, // GREATER-THAN OR SLANTED EQUAL TO WITH DOT ABOVE
722 {"gesdotol", 0x02A84}, // GREATER-THAN OR SLANTED EQUAL TO WITH DOT ABOVE LEFT
723 // "gesl", 0x022DB;0x0FE00}, // GREATER-THAN slanted EQUAL TO OR LESS-THAN
724 {"gesles", 0x02A94}, // GREATER-THAN ABOVE SLANTED EQUAL ABOVE LESS-THAN ABOVE SLANTED EQUAL
725 {"Gfr", 0x1D50A}, // MATHEMATICAL FRAKTUR CAPITAL G
726 {"gfr", 0x1D524}, // MATHEMATICAL FRAKTUR SMALL G
727 {"gg", 0x0226B}, // MUCH GREATER-THAN
728 {"Gg", 0x022D9}, // VERY MUCH GREATER-THAN
729 {"ggg", 0x022D9}, // VERY MUCH GREATER-THAN
730 {"Ggr", 0x00393}, // GREEK CAPITAL LETTER GAMMA
731 {"ggr", 0x003B3}, // GREEK SMALL LETTER GAMMA
732 {"gimel", 0x02137}, // GIMEL SYMBOL
733 {"GJcy", 0x00403}, // CYRILLIC CAPITAL LETTER GJE
734 {"gjcy", 0x00453}, // CYRILLIC SMALL LETTER GJE
735 {"gl", 0x02277}, // GREATER-THAN OR LESS-THAN
736 {"gla", 0x02AA5}, // GREATER-THAN BESIDE LESS-THAN
737 {"glE", 0x02A92}, // GREATER-THAN ABOVE LESS-THAN ABOVE DOUBLE-LINE EQUAL
738 {"glj", 0x02AA4}, // GREATER-THAN OVERLAPPING LESS-THAN
739 {"gnap", 0x02A8A}, // GREATER-THAN AND NOT APPROXIMATE
740 {"gnapprox", 0x02A8A}, // GREATER-THAN AND NOT APPROXIMATE
741 {"gnE", 0x02269}, // GREATER-THAN BUT NOT EQUAL TO
742 {"gne", 0x02A88}, // GREATER-THAN AND SINGLE-LINE NOT EQUAL TO
743 {"gneq", 0x02A88}, // GREATER-THAN AND SINGLE-LINE NOT EQUAL TO
744 {"gneqq", 0x02269}, // GREATER-THAN BUT NOT EQUAL TO
745 {"gnsim", 0x022E7}, // GREATER-THAN BUT NOT EQUIVALENT TO
746 {"Gopf", 0x1D53E}, // MATHEMATICAL DOUBLE-STRUCK CAPITAL G
747 {"gopf", 0x1D558}, // MATHEMATICAL DOUBLE-STRUCK SMALL G
748 {"grave", 0x00060}, // GRAVE ACCENT
749 {"GreaterEqual", 0x02265}, // GREATER-THAN OR EQUAL TO
750 {"GreaterEqualLess", 0x022DB}, // GREATER-THAN EQUAL TO OR LESS-THAN
751 {"GreaterFullEqual", 0x02267}, // GREATER-THAN OVER EQUAL TO
752 {"GreaterGreater", 0x02AA2}, // DOUBLE NESTED GREATER-THAN
753 {"GreaterLess", 0x02277}, // GREATER-THAN OR LESS-THAN
754 {"GreaterSlantEqual", 0x02A7E}, // GREATER-THAN OR SLANTED EQUAL TO
755 {"GreaterTilde", 0x02273}, // GREATER-THAN OR EQUIVALENT TO
756 {"gscr", 0x0210A}, // SCRIPT SMALL G
757 {"Gscr", 0x1D4A2}, // MATHEMATICAL SCRIPT CAPITAL G
758 {"gsim", 0x02273}, // GREATER-THAN OR EQUIVALENT TO
759 {"gsime", 0x02A8E}, // GREATER-THAN ABOVE SIMILAR OR EQUAL
760 {"gsiml", 0x02A90}, // GREATER-THAN ABOVE SIMILAR ABOVE LESS-THAN
761 {"gt", 0x0003E}, // GREATER-THAN SIGN
762 {"GT", 0x0003E}, // GREATER-THAN SIGN
763 {"Gt", 0x0226B}, // MUCH GREATER-THAN
764 {"gtcc", 0x02AA7}, // GREATER-THAN CLOSED BY CURVE
765 {"gtcir", 0x02A7A}, // GREATER-THAN WITH CIRCLE INSIDE
766 {"gtdot", 0x022D7}, // GREATER-THAN WITH DOT
767 {"gtlPar", 0x02995}, // DOUBLE LEFT ARC GREATER-THAN BRACKET
768 {"gtquest", 0x02A7C}, // GREATER-THAN WITH QUESTION MARK ABOVE
769 {"gtrapprox", 0x02A86}, // GREATER-THAN OR APPROXIMATE
770 {"gtrarr", 0x02978}, // GREATER-THAN ABOVE RIGHTWARDS ARROW
771 {"gtrdot", 0x022D7}, // GREATER-THAN WITH DOT
772 {"gtreqless", 0x022DB}, // GREATER-THAN EQUAL TO OR LESS-THAN
773 {"gtreqqless", 0x02A8C}, // GREATER-THAN ABOVE DOUBLE-LINE EQUAL ABOVE LESS-THAN
774 {"gtrless", 0x02277}, // GREATER-THAN OR LESS-THAN
775 {"gtrsim", 0x02273}, // GREATER-THAN OR EQUIVALENT TO
776 // "gvertneqq", 0x02269;0x0FE00}, // GREATER-THAN BUT NOT EQUAL TO - with vertical stroke
777 // "gvnE", 0x02269;0x0FE00}, // GREATER-THAN BUT NOT EQUAL TO - with vertical stroke
778 {NULL, 0}
779 };
780
781 static NameId namesH[]={
782 {"Hacek", 0x002C7}, // CARON
783 {"hairsp", 0x0200A}, // HAIR SPACE
784 {"half", 0x000BD}, // VULGAR FRACTION ONE HALF
785 {"hamilt", 0x0210B}, // SCRIPT CAPITAL H
786 {"HARDcy", 0x0042A}, // CYRILLIC CAPITAL LETTER HARD SIGN
787 {"hardcy", 0x0044A}, // CYRILLIC SMALL LETTER HARD SIGN
788 {"harr", 0x02194}, // LEFT RIGHT ARROW
789 {"hArr", 0x021D4}, // LEFT RIGHT DOUBLE ARROW
790 {"harrcir", 0x02948}, // LEFT RIGHT ARROW THROUGH SMALL CIRCLE
791 {"harrw", 0x021AD}, // LEFT RIGHT WAVE ARROW
792 {"Hat", 0x0005E}, // CIRCUMFLEX ACCENT
793 {"hbar", 0x0210F}, // PLANCK CONSTANT OVER TWO PI
794 {"Hcirc", 0x00124}, // LATIN CAPITAL LETTER H WITH CIRCUMFLEX
795 {"hcirc", 0x00125}, // LATIN SMALL LETTER H WITH CIRCUMFLEX
796 {"hearts", 0x02665}, // BLACK HEART SUIT
797 {"heartsuit", 0x02665}, // BLACK HEART SUIT
798 {"hellip", 0x02026}, // HORIZONTAL ELLIPSIS
799 {"hercon", 0x022B9}, // HERMITIAN CONJUGATE MATRIX
800 {"Hfr", 0x0210C}, // BLACK-LETTER CAPITAL H
801 {"hfr", 0x1D525}, // MATHEMATICAL FRAKTUR SMALL H
802 {"HilbertSpace", 0x0210B}, // SCRIPT CAPITAL H
803 {"hksearow", 0x02925}, // SOUTH EAST ARROW WITH HOOK
804 {"hkswarow", 0x02926}, // SOUTH WEST ARROW WITH HOOK
805 {"hoarr", 0x021FF}, // LEFT RIGHT OPEN-HEADED ARROW
806 {"homtht", 0x0223B}, // HOMOTHETIC
807 {"hookleftarrow", 0x021A9}, // LEFTWARDS ARROW WITH HOOK
808 {"hookrightarrow", 0x021AA}, // RIGHTWARDS ARROW WITH HOOK
809 {"Hopf", 0x0210D}, // DOUBLE-STRUCK CAPITAL H
810 {"hopf", 0x1D559}, // MATHEMATICAL DOUBLE-STRUCK SMALL H
811 {"horbar", 0x02015}, // HORIZONTAL BAR
812 {"HorizontalLine", 0x02500}, // BOX DRAWINGS LIGHT HORIZONTAL
813 {"Hscr", 0x0210B}, // SCRIPT CAPITAL H
814 {"hscr", 0x1D4BD}, // MATHEMATICAL SCRIPT SMALL H
815 {"hslash", 0x0210F}, // PLANCK CONSTANT OVER TWO PI
816 {"Hstrok", 0x00126}, // LATIN CAPITAL LETTER H WITH STROKE
817 {"hstrok", 0x00127}, // LATIN SMALL LETTER H WITH STROKE
818 {"HumpDownHump", 0x0224E}, // GEOMETRICALLY EQUIVALENT TO
819 {"HumpEqual", 0x0224F}, // DIFFERENCE BETWEEN
820 {"hybull", 0x02043}, // HYPHEN BULLET
821 {"hyphen", 0x02010}, // HYPHEN
822 {NULL, 0}
823 };
824
825 static NameId namesI[]={
826 {"Iacgr", 0x0038A}, // GREEK CAPITAL LETTER IOTA WITH TONOS
827 {"iacgr", 0x003AF}, // GREEK SMALL LETTER IOTA WITH TONOS
828 {"Iacute", 0x000CD}, // LATIN CAPITAL LETTER I WITH ACUTE
829 {"iacute", 0x000ED}, // LATIN SMALL LETTER I WITH ACUTE
830 {"ic", 0x02063}, // INVISIBLE SEPARATOR
831 {"Icirc", 0x000CE}, // LATIN CAPITAL LETTER I WITH CIRCUMFLEX
832 {"icirc", 0x000EE}, // LATIN SMALL LETTER I WITH CIRCUMFLEX
833 {"Icy", 0x00418}, // CYRILLIC CAPITAL LETTER I
834 {"icy", 0x00438}, // CYRILLIC SMALL LETTER I
835 {"idiagr", 0x00390}, // GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS
836 {"Idigr", 0x003AA}, // GREEK CAPITAL LETTER IOTA WITH DIALYTIKA
837 {"idigr", 0x003CA}, // GREEK SMALL LETTER IOTA WITH DIALYTIKA
838 {"Idot", 0x00130}, // LATIN CAPITAL LETTER I WITH DOT ABOVE
839 {"IEcy", 0x00415}, // CYRILLIC CAPITAL LETTER IE
840 {"iecy", 0x00435}, // CYRILLIC SMALL LETTER IE
841 {"iexcl", 0x000A1}, // INVERTED EXCLAMATION MARK
842 {"iff", 0x021D4}, // LEFT RIGHT DOUBLE ARROW
843 {"Ifr", 0x02111}, // BLACK-LETTER CAPITAL I
844 {"ifr", 0x1D526}, // MATHEMATICAL FRAKTUR SMALL I
845 {"Igr", 0x00399}, // GREEK CAPITAL LETTER IOTA
846 {"igr", 0x003B9}, // GREEK SMALL LETTER IOTA
847 {"Igrave", 0x000CC}, // LATIN CAPITAL LETTER I WITH GRAVE
848 {"igrave", 0x000EC}, // LATIN SMALL LETTER I WITH GRAVE
849 {"ii", 0x02148}, // DOUBLE-STRUCK ITALIC SMALL I
850 {"iiiint", 0x02A0C}, // QUADRUPLE INTEGRAL OPERATOR
851 {"iiint", 0x0222D}, // TRIPLE INTEGRAL
852 {"iinfin", 0x029DC}, // INCOMPLETE INFINITY
853 {"iiota", 0x02129}, // TURNED GREEK SMALL LETTER IOTA
854 {"IJlig", 0x00132}, // LATIN CAPITAL LIGATURE IJ
855 {"ijlig", 0x00133}, // LATIN SMALL LIGATURE IJ
856 {"Im", 0x02111}, // BLACK-LETTER CAPITAL I
857 {"Imacr", 0x0012A}, // LATIN CAPITAL LETTER I WITH MACRON
858 {"imacr", 0x0012B}, // LATIN SMALL LETTER I WITH MACRON
859 {"image", 0x02111}, // BLACK-LETTER CAPITAL I
860 {"ImaginaryI", 0x02148}, // DOUBLE-STRUCK ITALIC SMALL I
861 {"imagline", 0x02110}, // SCRIPT CAPITAL I
862 {"imagpart", 0x02111}, // BLACK-LETTER CAPITAL I
863 {"imath", 0x00131}, // LATIN SMALL LETTER DOTLESS I
864 {"imof", 0x022B7}, // IMAGE OF
865 {"imped", 0x001B5}, // LATIN CAPITAL LETTER Z WITH STROKE
866 {"Implies", 0x021D2}, // RIGHTWARDS DOUBLE ARROW
867 {"in", 0x02208}, // ELEMENT OF
868 {"incare", 0x02105}, // CARE OF
869 {"infin", 0x0221E}, // INFINITY
870 {"infintie", 0x029DD}, // TIE OVER INFINITY
871 {"inodot", 0x00131}, // LATIN SMALL LETTER DOTLESS I
872 {"int", 0x0222B}, // INTEGRAL
873 {"Int", 0x0222C}, // DOUBLE INTEGRAL
874 {"intcal", 0x022BA}, // INTERCALATE
875 {"integers", 0x02124}, // DOUBLE-STRUCK CAPITAL Z
876 {"Integral", 0x0222B}, // INTEGRAL
877 {"intercal", 0x022BA}, // INTERCALATE
878 {"Intersection", 0x022C2}, // N-ARY INTERSECTION
879 {"intlarhk", 0x02A17}, // INTEGRAL WITH LEFTWARDS ARROW WITH HOOK
880 {"intprod", 0x02A3C}, // INTERIOR PRODUCT
881 {"InvisibleComma", 0x02063}, // INVISIBLE SEPARATOR
882 {"InvisibleTimes", 0x02062}, // INVISIBLE TIMES
883 {"IOcy", 0x00401}, // CYRILLIC CAPITAL LETTER IO
884 {"iocy", 0x00451}, // CYRILLIC SMALL LETTER IO
885 {"Iogon", 0x0012E}, // LATIN CAPITAL LETTER I WITH OGONEK
886 {"iogon", 0x0012F}, // LATIN SMALL LETTER I WITH OGONEK
887 {"Iopf", 0x1D540}, // MATHEMATICAL DOUBLE-STRUCK CAPITAL I
888 {"iopf", 0x1D55A}, // MATHEMATICAL DOUBLE-STRUCK SMALL I
889 {"Iota", 0x00399}, // GREEK CAPITAL LETTER IOTA
890 {"iota", 0x003B9}, // GREEK SMALL LETTER IOTA
891 {"iprod", 0x02A3C}, // INTERIOR PRODUCT
892 {"iquest", 0x000BF}, // INVERTED QUESTION MARK
893 {"Iscr", 0x02110}, // SCRIPT CAPITAL I
894 {"iscr", 0x1D4BE}, // MATHEMATICAL SCRIPT SMALL I
895 {"isin", 0x02208}, // ELEMENT OF
896 {"isindot", 0x022F5}, // ELEMENT OF WITH DOT ABOVE
897 {"isinE", 0x022F9}, // ELEMENT OF WITH TWO HORIZONTAL STROKES
898 {"isins", 0x022F4}, // SMALL ELEMENT OF WITH VERTICAL BAR AT END OF HORIZONTAL STROKE
899 {"isinsv", 0x022F3}, // ELEMENT OF WITH VERTICAL BAR AT END OF HORIZONTAL STROKE
900 {"isinv", 0x02208}, // ELEMENT OF
901 {"it", 0x02062}, // INVISIBLE TIMES
902 {"Itilde", 0x00128}, // LATIN CAPITAL LETTER I WITH TILDE
903 {"itilde", 0x00129}, // LATIN SMALL LETTER I WITH TILDE
904 {"Iukcy", 0x00406}, // CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
905 {"iukcy", 0x00456}, // CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
906 {"Iuml", 0x000CF}, // LATIN CAPITAL LETTER I WITH DIAERESIS
907 {"iuml", 0x000EF}, // LATIN SMALL LETTER I WITH DIAERESIS
908 {NULL, 0}
909 };
910
911 static NameId namesJ[]={
912 {"Jcirc", 0x00134}, // LATIN CAPITAL LETTER J WITH CIRCUMFLEX
913 {"jcirc", 0x00135}, // LATIN SMALL LETTER J WITH CIRCUMFLEX
914 {"Jcy", 0x00419}, // CYRILLIC CAPITAL LETTER SHORT I
915 {"jcy", 0x00439}, // CYRILLIC SMALL LETTER SHORT I
916 {"Jfr", 0x1D50D}, // MATHEMATICAL FRAKTUR CAPITAL J
917 {"jfr", 0x1D527}, // MATHEMATICAL FRAKTUR SMALL J
918 {"jmath", 0x00237}, // LATIN SMALL LETTER DOTLESS J
919 {"Jopf", 0x1D541}, // MATHEMATICAL DOUBLE-STRUCK CAPITAL J
920 {"jopf", 0x1D55B}, // MATHEMATICAL DOUBLE-STRUCK SMALL J
921 {"Jscr", 0x1D4A5}, // MATHEMATICAL SCRIPT CAPITAL J
922 {"jscr", 0x1D4BF}, // MATHEMATICAL SCRIPT SMALL J
923 {"Jsercy", 0x00408}, // CYRILLIC CAPITAL LETTER JE
924 {"jsercy", 0x00458}, // CYRILLIC SMALL LETTER JE
925 {"Jukcy", 0x00404}, // CYRILLIC CAPITAL LETTER UKRAINIAN IE
926 {"jukcy", 0x00454}, // CYRILLIC SMALL LETTER UKRAINIAN IE
927 {NULL, 0}
928 };
929
930 static NameId namesK[]={
931 {"Kappa", 0x0039A}, // GREEK CAPITAL LETTER KAPPA
932 {"kappa", 0x003BA}, // GREEK SMALL LETTER KAPPA
933 {"kappav", 0x003F0}, // GREEK KAPPA SYMBOL
934 {"Kcedil", 0x00136}, // LATIN CAPITAL LETTER K WITH CEDILLA
935 {"kcedil", 0x00137}, // LATIN SMALL LETTER K WITH CEDILLA
936 {"Kcy", 0x0041A}, // CYRILLIC CAPITAL LETTER KA
937 {"kcy", 0x0043A}, // CYRILLIC SMALL LETTER KA
938 {"Kfr", 0x1D50E}, // MATHEMATICAL FRAKTUR CAPITAL K
939 {"kfr", 0x1D528}, // MATHEMATICAL FRAKTUR SMALL K
940 {"Kgr", 0x0039A}, // GREEK CAPITAL LETTER KAPPA
941 {"kgr", 0x003BA}, // GREEK SMALL LETTER KAPPA
942 {"kgreen", 0x00138}, // LATIN SMALL LETTER KRA
943 {"KHcy", 0x00425}, // CYRILLIC CAPITAL LETTER HA
944 {"khcy", 0x00445}, // CYRILLIC SMALL LETTER HA
945 {"KHgr", 0x003A7}, // GREEK CAPITAL LETTER CHI
946 {"khgr", 0x003C7}, // GREEK SMALL LETTER CHI
947 {"KJcy", 0x0040C}, // CYRILLIC CAPITAL LETTER KJE
948 {"kjcy", 0x0045C}, // CYRILLIC SMALL LETTER KJE
949 {"Kopf", 0x1D542}, // MATHEMATICAL DOUBLE-STRUCK CAPITAL K
950 {"kopf", 0x1D55C}, // MATHEMATICAL DOUBLE-STRUCK SMALL K
951 {"Kscr", 0x1D4A6}, // MATHEMATICAL SCRIPT CAPITAL K
952 {"kscr", 0x1D4C0}, // MATHEMATICAL SCRIPT SMALL K
953 {NULL, 0}
954 };
955
956 static NameId namesL[]={
957 {"lAarr", 0x021DA}, // LEFTWARDS TRIPLE ARROW
958 {"Lacute", 0x00139}, // LATIN CAPITAL LETTER L WITH ACUTE
959 {"lacute", 0x0013A}, // LATIN SMALL LETTER L WITH ACUTE
960 {"laemptyv", 0x029B4}, // EMPTY SET WITH LEFT ARROW ABOVE
961 {"lagran", 0x02112}, // SCRIPT CAPITAL L
962 {"Lambda", 0x0039B}, // GREEK CAPITAL LETTER LAMDA
963 {"lambda", 0x003BB}, // GREEK SMALL LETTER LAMDA
964 {"lang", 0x027E8}, // MATHEMATICAL LEFT ANGLE BRACKET
965 {"Lang", 0x027EA}, // MATHEMATICAL LEFT DOUBLE ANGLE BRACKET
966 {"langd", 0x02991}, // LEFT ANGLE BRACKET WITH DOT
967 {"langle", 0x027E8}, // MATHEMATICAL LEFT ANGLE BRACKET
968 {"lap", 0x02A85}, // LESS-THAN OR APPROXIMATE
969 {"Laplacetrf", 0x02112}, // SCRIPT CAPITAL L
970 {"laquo", 0x000AB}, // LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
971 {"larr", 0x02190}, // LEFTWARDS ARROW
972 {"Larr", 0x0219E}, // LEFTWARDS TWO HEADED ARROW
973 {"lArr", 0x021D0}, // LEFTWARDS DOUBLE ARROW
974 {"larrb", 0x021E4}, // LEFTWARDS ARROW TO BAR
975 {"larrbfs", 0x0291F}, // LEFTWARDS ARROW FROM BAR TO BLACK DIAMOND
976 {"larrfs", 0x0291D}, // LEFTWARDS ARROW TO BLACK DIAMOND
977 {"larrhk", 0x021A9}, // LEFTWARDS ARROW WITH HOOK
978 {"larrlp", 0x021AB}, // LEFTWARDS ARROW WITH LOOP
979 {"larrpl", 0x02939}, // LEFT-SIDE ARC ANTICLOCKWISE ARROW
980 {"larrsim", 0x02973}, // LEFTWARDS ARROW ABOVE TILDE OPERATOR
981 {"larrtl", 0x021A2}, // LEFTWARDS ARROW WITH TAIL
982 {"lat", 0x02AAB}, // LARGER THAN
983 {"latail", 0x02919}, // LEFTWARDS ARROW-TAIL
984 {"lAtail", 0x0291B}, // LEFTWARDS DOUBLE ARROW-TAIL
985 {"late", 0x02AAD}, // LARGER THAN OR EQUAL TO
986 // "lates", 0x02AAD;0x0FE00}, // LARGER THAN OR slanted EQUAL
987 {"lbarr", 0x0290C}, // LEFTWARDS DOUBLE DASH ARROW
988 {"lBarr", 0x0290E}, // LEFTWARDS TRIPLE DASH ARROW
989 {"lbbrk", 0x02772}, // LIGHT LEFT TORTOISE SHELL BRACKET ORNAMENT
990 {"lbrace", 0x0007B}, // LEFT CURLY BRACKET
991 {"lbrack", 0x0005B}, // LEFT SQUARE BRACKET
992 {"lbrke", 0x0298B}, // LEFT SQUARE BRACKET WITH UNDERBAR
993 {"lbrksld", 0x0298F}, // LEFT SQUARE BRACKET WITH TICK IN BOTTOM CORNER
994 {"lbrkslu", 0x0298D}, // LEFT SQUARE BRACKET WITH TICK IN TOP CORNER
995 {"Lcaron", 0x0013D}, // LATIN CAPITAL LETTER L WITH CARON
996 {"lcaron", 0x0013E}, // LATIN SMALL LETTER L WITH CARON
997 {"Lcedil", 0x0013B}, // LATIN CAPITAL LETTER L WITH CEDILLA
998 {"lcedil", 0x0013C}, // LATIN SMALL LETTER L WITH CEDILLA
999 {"lceil", 0x02308}, // LEFT CEILING
1000 {"lcub", 0x0007B}, // LEFT CURLY BRACKET
1001 {"Lcy", 0x0041B}, // CYRILLIC CAPITAL LETTER EL
1002 {"lcy", 0x0043B}, // CYRILLIC SMALL LETTER EL
1003 {"ldca", 0x02936}, // ARROW POINTING DOWNWARDS THEN CURVING LEFTWARDS
1004 {"ldquo", 0x0201C}, // LEFT DOUBLE QUOTATION MARK
1005 {"ldquor", 0x0201E}, // DOUBLE LOW-9 QUOTATION MARK
1006 {"ldrdhar", 0x02967}, // LEFTWARDS HARPOON WITH BARB DOWN ABOVE RIGHTWARDS HARPOON WITH BARB DOWN
1007 {"ldrushar", 0x0294B}, // LEFT BARB DOWN RIGHT BARB UP HARPOON
1008 {"ldsh", 0x021B2}, // DOWNWARDS ARROW WITH TIP LEFTWARDS
1009 {"le", 0x02264}, // LESS-THAN OR EQUAL TO
1010 {"lE", 0x02266}, // LESS-THAN OVER EQUAL TO
1011 {"LeftAngleBracket", 0x027E8}, // MATHEMATICAL LEFT ANGLE BRACKET
1012 {"leftarrow", 0x02190}, // LEFTWARDS ARROW
1013 {"LeftArrow", 0x02190}, // LEFTWARDS ARROW
1014 {"Leftarrow", 0x021D0}, // LEFTWARDS DOUBLE ARROW
1015 {"LeftArrowBar", 0x021E4}, // LEFTWARDS ARROW TO BAR
1016 {"LeftArrowRightArrow", 0x021C6}, // LEFTWARDS ARROW OVER RIGHTWARDS ARROW
1017 {"leftarrowtail", 0x021A2}, // LEFTWARDS ARROW WITH TAIL
1018 {"LeftCeiling", 0x02308}, // LEFT CEILING
1019 {"LeftDoubleBracket", 0x027E6}, // MATHEMATICAL LEFT WHITE SQUARE BRACKET
1020 {"LeftDownTeeVector", 0x02961}, // DOWNWARDS HARPOON WITH BARB LEFT FROM BAR
1021 {"LeftDownVector", 0x021C3}, // DOWNWARDS HARPOON WITH BARB LEFTWARDS
1022 {"LeftDownVectorBar", 0x02959}, // DOWNWARDS HARPOON WITH BARB LEFT TO BAR
1023 {"LeftFloor", 0x0230A}, // LEFT FLOOR
1024 {"leftharpoondown", 0x021BD}, // LEFTWARDS HARPOON WITH BARB DOWNWARDS
1025 {"leftharpoonup", 0x021BC}, // LEFTWARDS HARPOON WITH BARB UPWARDS
1026 {"leftleftarrows", 0x021C7}, // LEFTWARDS PAIRED ARROWS
1027 {"leftrightarrow", 0x02194}, // LEFT RIGHT ARROW
1028 {"LeftRightArrow", 0x02194}, // LEFT RIGHT ARROW
1029 {"Leftrightarrow", 0x021D4}, // LEFT RIGHT DOUBLE ARROW
1030 {"leftrightarrows", 0x021C6}, // LEFTWARDS ARROW OVER RIGHTWARDS ARROW
1031 {"leftrightharpoons", 0x021CB}, // LEFTWARDS HARPOON OVER RIGHTWARDS HARPOON
1032 {"leftrightsquigarrow", 0x021AD}, // LEFT RIGHT WAVE ARROW
1033 {"LeftRightVector", 0x0294E}, // LEFT BARB UP RIGHT BARB UP HARPOON
1034 {"LeftTee", 0x022A3}, // LEFT TACK
1035 {"LeftTeeArrow", 0x021A4}, // LEFTWARDS ARROW FROM BAR
1036 {"LeftTeeVector", 0x0295A}, // LEFTWARDS HARPOON WITH BARB UP FROM BAR
1037 {"leftthreetimes", 0x022CB}, // LEFT SEMIDIRECT PRODUCT
1038 {"LeftTriangle", 0x022B2}, // NORMAL SUBGROUP OF
1039 {"LeftTriangleBar", 0x029CF}, // LEFT TRIANGLE BESIDE VERTICAL BAR
1040 {"LeftTriangleEqual", 0x022B4}, // NORMAL SUBGROUP OF OR EQUAL TO
1041 {"LeftUpDownVector", 0x02951}, // UP BARB LEFT DOWN BARB LEFT HARPOON
1042 {"LeftUpTeeVector", 0x02960}, // UPWARDS HARPOON WITH BARB LEFT FROM BAR
1043 {"LeftUpVector", 0x021BF}, // UPWARDS HARPOON WITH BARB LEFTWARDS
1044 {"LeftUpVectorBar", 0x02958}, // UPWARDS HARPOON WITH BARB LEFT TO BAR
1045 {"LeftVector", 0x021BC}, // LEFTWARDS HARPOON WITH BARB UPWARDS
1046 {"LeftVectorBar", 0x02952}, // LEFTWARDS HARPOON WITH BARB UP TO BAR
1047 {"leg", 0x022DA}, // LESS-THAN EQUAL TO OR GREATER-THAN
1048 {"lEg", 0x02A8B}, // LESS-THAN ABOVE DOUBLE-LINE EQUAL ABOVE GREATER-THAN
1049 {"leq", 0x02264}, // LESS-THAN OR EQUAL TO
1050 {"leqq", 0x02266}, // LESS-THAN OVER EQUAL TO
1051 {"leqslant", 0x02A7D}, // LESS-THAN OR SLANTED EQUAL TO
1052 {"les", 0x02A7D}, // LESS-THAN OR SLANTED EQUAL TO
1053 {"lescc", 0x02AA8}, // LESS-THAN CLOSED BY CURVE ABOVE SLANTED EQUAL
1054 {"lesdot", 0x02A7F}, // LESS-THAN OR SLANTED EQUAL TO WITH DOT INSIDE
1055 {"lesdoto", 0x02A81}, // LESS-THAN OR SLANTED EQUAL TO WITH DOT ABOVE
1056 {"lesdotor", 0x02A83}, // LESS-THAN OR SLANTED EQUAL TO WITH DOT ABOVE RIGHT
1057 // "lesg", 0x022DA;0x0FE00}, // LESS-THAN slanted EQUAL TO OR GREATER-THAN
1058 {"lesges", 0x02A93}, // LESS-THAN ABOVE SLANTED EQUAL ABOVE GREATER-THAN ABOVE SLANTED EQUAL
1059 {"lessapprox", 0x02A85}, // LESS-THAN OR APPROXIMATE
1060 {"lessdot", 0x022D6}, // LESS-THAN WITH DOT
1061 {"lesseqgtr", 0x022DA}, // LESS-THAN EQUAL TO OR GREATER-THAN
1062 {"lesseqqgtr", 0x02A8B}, // LESS-THAN ABOVE DOUBLE-LINE EQUAL ABOVE GREATER-THAN
1063 {"LessEqualGreater", 0x022DA}, // LESS-THAN EQUAL TO OR GREATER-THAN
1064 {"LessFullEqual", 0x02266}, // LESS-THAN OVER EQUAL TO
1065 {"LessGreater", 0x02276}, // LESS-THAN OR GREATER-THAN
1066 {"lessgtr", 0x02276}, // LESS-THAN OR GREATER-THAN
1067 {"LessLess", 0x02AA1}, // DOUBLE NESTED LESS-THAN
1068 {"lesssim", 0x02272}, // LESS-THAN OR EQUIVALENT TO
1069 {"LessSlantEqual", 0x02A7D}, // LESS-THAN OR SLANTED EQUAL TO
1070 {"LessTilde", 0x02272}, // LESS-THAN OR EQUIVALENT TO
1071 {"lfisht", 0x0297C}, // LEFT FISH TAIL
1072 {"lfloor", 0x0230A}, // LEFT FLOOR
1073 {"Lfr", 0x1D50F}, // MATHEMATICAL FRAKTUR CAPITAL L
1074 {"lfr", 0x1D529}, // MATHEMATICAL FRAKTUR SMALL L
1075 {"lg", 0x02276}, // LESS-THAN OR GREATER-THAN
1076 {"lgE", 0x02A91}, // LESS-THAN ABOVE GREATER-THAN ABOVE DOUBLE-LINE EQUAL
1077 {"Lgr", 0x0039B}, // GREEK CAPITAL LETTER LAMDA
1078 {"lgr", 0x003BB}, // GREEK SMALL LETTER LAMDA
1079 {"lHar", 0x02962}, // LEFTWARDS HARPOON WITH BARB UP ABOVE LEFTWARDS HARPOON WITH BARB DOWN
1080 {"lhard", 0x021BD}, // LEFTWARDS HARPOON WITH BARB DOWNWARDS
1081 {"lharu", 0x021BC}, // LEFTWARDS HARPOON WITH BARB UPWARDS
1082 {"lharul", 0x0296A}, // LEFTWARDS HARPOON WITH BARB UP ABOVE LONG DASH
1083 {"lhblk", 0x02584}, // LOWER HALF BLOCK
1084 {"LJcy", 0x00409}, // CYRILLIC CAPITAL LETTER LJE
1085 {"ljcy", 0x00459}, // CYRILLIC SMALL LETTER LJE
1086 {"ll", 0x0226A}, // MUCH LESS-THAN
1087 {"Ll", 0x022D8}, // VERY MUCH LESS-THAN
1088 {"llarr", 0x021C7}, // LEFTWARDS PAIRED ARROWS
1089 {"llcorner", 0x0231E}, // BOTTOM LEFT CORNER
1090 {"Lleftarrow", 0x021DA}, // LEFTWARDS TRIPLE ARROW
1091 {"llhard", 0x0296B}, // LEFTWARDS HARPOON WITH BARB DOWN BELOW LONG DASH
1092 {"lltri", 0x025FA}, // LOWER LEFT TRIANGLE
1093 {"Lmidot", 0x0013F}, // LATIN CAPITAL LETTER L WITH MIDDLE DOT
1094 {"lmidot", 0x00140}, // LATIN SMALL LETTER L WITH MIDDLE DOT
1095 {"lmoust", 0x023B0}, // UPPER LEFT OR LOWER RIGHT CURLY BRACKET SECTION
1096 {"lmoustache", 0x023B0}, // UPPER LEFT OR LOWER RIGHT CURLY BRACKET SECTION
1097 {"lnap", 0x02A89}, // LESS-THAN AND NOT APPROXIMATE
1098 {"lnapprox", 0x02A89}, // LESS-THAN AND NOT APPROXIMATE
1099 {"lnE", 0x02268}, // LESS-THAN BUT NOT EQUAL TO
1100 {"lne", 0x02A87}, // LESS-THAN AND SINGLE-LINE NOT EQUAL TO
1101 {"lneq", 0x02A87}, // LESS-THAN AND SINGLE-LINE NOT EQUAL TO
1102 {"lneqq", 0x02268}, // LESS-THAN BUT NOT EQUAL TO
1103 {"lnsim", 0x022E6}, // LESS-THAN BUT NOT EQUIVALENT TO
1104 {"loang", 0x027EC}, // MATHEMATICAL LEFT WHITE TORTOISE SHELL BRACKET
1105 {"loarr", 0x021FD}, // LEFTWARDS OPEN-HEADED ARROW
1106 {"lobrk", 0x027E6}, // MATHEMATICAL LEFT WHITE SQUARE BRACKET
1107 {"longleftarrow", 0x027F5}, // LONG LEFTWARDS ARROW
1108 {"LongLeftArrow", 0x027F5}, // LONG LEFTWARDS ARROW
1109 {"Longleftarrow", 0x027F8}, // LONG LEFTWARDS DOUBLE ARROW
1110 {"longleftrightarrow", 0x027F7}, // LONG LEFT RIGHT ARROW
1111 {"LongLeftRightArrow", 0x027F7}, // LONG LEFT RIGHT ARROW
1112 {"Longleftrightarrow", 0x027FA}, // LONG LEFT RIGHT DOUBLE ARROW
1113 {"longmapsto", 0x027FC}, // LONG RIGHTWARDS ARROW FROM BAR
1114 {"longrightarrow", 0x027F6}, // LONG RIGHTWARDS ARROW
1115 {"LongRightArrow", 0x027F6}, // LONG RIGHTWARDS ARROW
1116 {"Longrightarrow", 0x027F9}, // LONG RIGHTWARDS DOUBLE ARROW
1117 {"looparrowleft", 0x021AB}, // LEFTWARDS ARROW WITH LOOP
1118 {"looparrowright", 0x021AC}, // RIGHTWARDS ARROW WITH LOOP
1119 {"lopar", 0x02985}, // LEFT WHITE PARENTHESIS
1120 {"Lopf", 0x1D543}, // MATHEMATICAL DOUBLE-STRUCK CAPITAL L
1121 {"lopf", 0x1D55D}, // MATHEMATICAL DOUBLE-STRUCK SMALL L
1122 {"loplus", 0x02A2D}, // PLUS SIGN IN LEFT HALF CIRCLE
1123 {"lotimes", 0x02A34}, // MULTIPLICATION SIGN IN LEFT HALF CIRCLE
1124 {"lowast", 0x02217}, // ASTERISK OPERATOR
1125 {"lowbar", 0x0005F}, // LOW LINE
1126 {"LowerLeftArrow", 0x02199}, // SOUTH WEST ARROW
1127 {"LowerRightArrow", 0x02198}, // SOUTH EAST ARROW
1128 {"loz", 0x025CA}, // LOZENGE
1129 {"lozenge", 0x025CA}, // LOZENGE
1130 {"lozf", 0x029EB}, // BLACK LOZENGE
1131 {"lpar", 0x00028}, // LEFT PARENTHESIS
1132 {"lparlt", 0x02993}, // LEFT ARC LESS-THAN BRACKET
1133 {"lrarr", 0x021C6}, // LEFTWARDS ARROW OVER RIGHTWARDS ARROW
1134 {"lrcorner", 0x0231F}, // BOTTOM RIGHT CORNER
1135 {"lrhar", 0x021CB}, // LEFTWARDS HARPOON OVER RIGHTWARDS HARPOON
1136 {"lrhard", 0x0296D}, // RIGHTWARDS HARPOON WITH BARB DOWN BELOW LONG DASH
1137 {"lrm", 0x0200E}, // LEFT-TO-RIGHT MARK
1138 {"lrtri", 0x022BF}, // RIGHT TRIANGLE
1139 {"lsaquo", 0x02039}, // SINGLE LEFT-POINTING ANGLE QUOTATION MARK
1140 {"Lscr", 0x02112}, // SCRIPT CAPITAL L
1141 {"lscr", 0x1D4C1}, // MATHEMATICAL SCRIPT SMALL L
1142 {"lsh", 0x021B0}, // UPWARDS ARROW WITH TIP LEFTWARDS
1143 {"Lsh", 0x021B0}, // UPWARDS ARROW WITH TIP LEFTWARDS
1144 {"lsim", 0x02272}, // LESS-THAN OR EQUIVALENT TO
1145 {"lsime", 0x02A8D}, // LESS-THAN ABOVE SIMILAR OR EQUAL
1146 {"lsimg", 0x02A8F}, // LESS-THAN ABOVE SIMILAR ABOVE GREATER-THAN
1147 {"lsqb", 0x0005B}, // LEFT SQUARE BRACKET
1148 {"lsquo", 0x02018}, // LEFT SINGLE QUOTATION MARK
1149 {"lsquor", 0x0201A}, // SINGLE LOW-9 QUOTATION MARK
1150 {"Lstrok", 0x00141}, // LATIN CAPITAL LETTER L WITH STROKE
1151 {"lstrok", 0x00142}, // LATIN SMALL LETTER L WITH STROKE
1152 {"lt", 0x0003C}, // LESS-THAN SIGN
1153 {"LT", 0x0003C}, // LESS-THAN SIGN
1154 {"Lt", 0x0226A}, // MUCH LESS-THAN
1155 {"ltcc", 0x02AA6}, // LESS-THAN CLOSED BY CURVE
1156 {"ltcir", 0x02A79}, // LESS-THAN WITH CIRCLE INSIDE
1157 {"ltdot", 0x022D6}, // LESS-THAN WITH DOT
1158 {"lthree", 0x022CB}, // LEFT SEMIDIRECT PRODUCT
1159 {"ltimes", 0x022C9}, // LEFT NORMAL FACTOR SEMIDIRECT PRODUCT
1160 {"ltlarr", 0x02976}, // LESS-THAN ABOVE LEFTWARDS ARROW
1161 {"ltquest", 0x02A7B}, // LESS-THAN WITH QUESTION MARK ABOVE
1162 {"ltri", 0x025C3}, // WHITE LEFT-POINTING SMALL TRIANGLE
1163 {"ltrie", 0x022B4}, // NORMAL SUBGROUP OF OR EQUAL TO
1164 {"ltrif", 0x025C2}, // BLACK LEFT-POINTING SMALL TRIANGLE
1165 {"ltrPar", 0x02996}, // DOUBLE RIGHT ARC LESS-THAN BRACKET
1166 {"lurdshar", 0x0294A}, // LEFT BARB UP RIGHT BARB DOWN HARPOON
1167 {"luruhar", 0x02966}, // LEFTWARDS HARPOON WITH BARB UP ABOVE RIGHTWARDS HARPOON WITH BARB UP
1168 // "lvertneqq", 0x02268;0x0FE00}, // LESS-THAN BUT NOT EQUAL TO - with vertical stroke
1169 // "lvnE", 0x02268;0x0FE00}, // LESS-THAN BUT NOT EQUAL TO - with vertical stroke
1170 {NULL, 0}
1171 };
1172
1173 static NameId namesM[]={
1174 {"macr", 0x000AF}, // MACRON
1175 {"male", 0x02642}, // MALE SIGN
1176 {"malt", 0x02720}, // MALTESE CROSS
1177 {"maltese", 0x02720}, // MALTESE CROSS
1178 {"map", 0x021A6}, // RIGHTWARDS ARROW FROM BAR
1179 {"Map", 0x02905}, // RIGHTWARDS TWO-HEADED ARROW FROM BAR
1180 {"mapsto", 0x021A6}, // RIGHTWARDS ARROW FROM BAR
1181 {"mapstodown", 0x021A7}, // DOWNWARDS ARROW FROM BAR
1182 {"mapstoleft", 0x021A4}, // LEFTWARDS ARROW FROM BAR
1183 {"mapstoup", 0x021A5}, // UPWARDS ARROW FROM BAR
1184 {"marker", 0x025AE}, // BLACK VERTICAL RECTANGLE
1185 {"mcomma", 0x02A29}, // MINUS SIGN WITH COMMA ABOVE
1186 {"Mcy", 0x0041C}, // CYRILLIC CAPITAL LETTER EM
1187 {"mcy", 0x0043C}, // CYRILLIC SMALL LETTER EM
1188 {"mdash", 0x02014}, // EM DASH
1189 {"mDDot", 0x0223A}, // GEOMETRIC PROPORTION
1190 {"measuredangle", 0x02221}, // MEASURED ANGLE
1191 {"MediumSpace", 0x0205F}, // MEDIUM MATHEMATICAL SPACE
1192 {"Mellintrf", 0x02133}, // SCRIPT CAPITAL M
1193 {"Mfr", 0x1D510}, // MATHEMATICAL FRAKTUR CAPITAL M
1194 {"mfr", 0x1D52A}, // MATHEMATICAL FRAKTUR SMALL M
1195 {"Mgr", 0x0039C}, // GREEK CAPITAL LETTER MU
1196 {"mgr", 0x003BC}, // GREEK SMALL LETTER MU
1197 {"mho", 0x02127}, // INVERTED OHM SIGN
1198 {"micro", 0x000B5}, // MICRO SIGN
1199 {"mid", 0x02223}, // DIVIDES
1200 {"midast", 0x0002A}, // ASTERISK
1201 {"midcir", 0x02AF0}, // VERTICAL LINE WITH CIRCLE BELOW
1202 {"middot", 0x000B7}, // MIDDLE DOT
1203 {"minus", 0x02212}, // MINUS SIGN
1204 {"minusb", 0x0229F}, // SQUARED MINUS
1205 {"minusd", 0x02238}, // DOT MINUS
1206 {"minusdu", 0x02A2A}, // MINUS SIGN WITH DOT BELOW
1207 {"MinusPlus", 0x02213}, // MINUS-OR-PLUS SIGN
1208 {"mlcp", 0x02ADB}, // TRANSVERSAL INTERSECTION
1209 {"mldr", 0x02026}, // HORIZONTAL ELLIPSIS
1210 {"mnplus", 0x02213}, // MINUS-OR-PLUS SIGN
1211 {"models", 0x022A7}, // MODELS
1212 {"Mopf", 0x1D544}, // MATHEMATICAL DOUBLE-STRUCK CAPITAL M
1213 {"mopf", 0x1D55E}, // MATHEMATICAL DOUBLE-STRUCK SMALL M
1214 {"mp", 0x02213}, // MINUS-OR-PLUS SIGN
1215 {"Mscr", 0x02133}, // SCRIPT CAPITAL M
1216 {"mscr", 0x1D4C2}, // MATHEMATICAL SCRIPT SMALL M
1217 {"mstpos", 0x0223E}, // INVERTED LAZY S
1218 {"Mu", 0x0039C}, // GREEK CAPITAL LETTER MU
1219 {"mu", 0x003BC}, // GREEK SMALL LETTER MU
1220 {"multimap", 0x022B8}, // MULTIMAP
1221 {"mumap", 0x022B8}, // MULTIMAP
1222 {NULL, 0}
1223 };
1224
1225 static NameId namesN[]={
1226 {"nabla", 0x02207}, // NABLA
1227 {"Nacute", 0x00143}, // LATIN CAPITAL LETTER N WITH ACUTE
1228 {"nacute", 0x00144}, // LATIN SMALL LETTER N WITH ACUTE
1229 // "nang", 0x02220;0x020D2}, // ANGLE with vertical line
1230 {"nap", 0x02249}, // NOT ALMOST EQUAL TO
1231 // "napE", 0x02A70;0x00338}, // APPROXIMATELY EQUAL OR EQUAL TO with slash
1232 // "napid", 0x0224B;0x00338}, // TRIPLE TILDE with slash
1233 {"napos", 0x00149}, // LATIN SMALL LETTER N PRECEDED BY APOSTROPHE
1234 {"napprox", 0x02249}, // NOT ALMOST EQUAL TO
1235 {"natur", 0x0266E}, // MUSIC NATURAL SIGN
1236 {"natural", 0x0266E}, // MUSIC NATURAL SIGN
1237 {"naturals", 0x02115}, // DOUBLE-STRUCK CAPITAL N
1238 {"nbsp", 0x000A0}, // NO-BREAK SPACE
1239 // "nbump", 0x0224E;0x00338}, // GEOMETRICALLY EQUIVALENT TO with slash
1240 // "nbumpe", 0x0224F;0x00338}, // DIFFERENCE BETWEEN with slash
1241 {"ncap", 0x02A43}, // INTERSECTION WITH OVERBAR
1242 {"Ncaron", 0x00147}, // LATIN CAPITAL LETTER N WITH CARON
1243 {"ncaron", 0x00148}, // LATIN SMALL LETTER N WITH CARON
1244 {"Ncedil", 0x00145}, // LATIN CAPITAL LETTER N WITH CEDILLA
1245 {"ncedil", 0x00146}, // LATIN SMALL LETTER N WITH CEDILLA
1246 {"ncong", 0x02247}, // NEITHER APPROXIMATELY NOR ACTUALLY EQUAL TO
1247 // "ncongdot", 0x02A6D;0x00338}, // CONGRUENT WITH DOT ABOVE with slash
1248 {"ncup", 0x02A42}, // UNION WITH OVERBAR
1249 {"Ncy", 0x0041D}, // CYRILLIC CAPITAL LETTER EN
1250 {"ncy", 0x0043D}, // CYRILLIC SMALL LETTER EN
1251 {"ndash", 0x02013}, // EN DASH
1252 {"ne", 0x02260}, // NOT EQUAL TO
1253 {"nearhk", 0x02924}, // NORTH EAST ARROW WITH HOOK
1254 {"nearr", 0x02197}, // NORTH EAST ARROW
1255 {"neArr", 0x021D7}, // NORTH EAST DOUBLE ARROW
1256 {"nearrow", 0x02197}, // NORTH EAST ARROW
1257 // "nedot", 0x02250;0x00338}, // APPROACHES THE LIMIT with slash
1258 {"NegativeMediumSpace", 0x0200B}, // ZERO WIDTH SPACE
1259 {"NegativeThickSpace", 0x0200B}, // ZERO WIDTH SPACE
1260 {"NegativeThinSpace", 0x0200B}, // ZERO WIDTH SPACE
1261 {"NegativeVeryThinSpace", 0x0200B}, // ZERO WIDTH SPACE
1262 {"nequiv", 0x02262}, // NOT IDENTICAL TO
1263 {"nesear", 0x02928}, // NORTH EAST ARROW AND SOUTH EAST ARROW
1264 // "nesim", 0x02242;0x00338}, // MINUS TILDE with slash
1265 {"NestedGreaterGreater", 0x0226B}, // MUCH GREATER-THAN
1266 {"NestedLessLess", 0x0226A}, // MUCH LESS-THAN
1267 {"NewLine", 0x0000A}, // LINE FEED (LF)
1268 {"nexist", 0x02204}, // THERE DOES NOT EXIST
1269 {"nexists", 0x02204}, // THERE DOES NOT EXIST
1270 {"Nfr", 0x1D511}, // MATHEMATICAL FRAKTUR CAPITAL N
1271 {"nfr", 0x1D52B}, // MATHEMATICAL FRAKTUR SMALL N
1272 // "ngE", 0x02267;0x00338}, // GREATER-THAN OVER EQUAL TO with slash
1273 {"nge", 0x02271}, // NEITHER GREATER-THAN NOR EQUAL TO
1274 {"ngeq", 0x02271}, // NEITHER GREATER-THAN NOR EQUAL TO
1275 // "ngeqq", 0x02267;0x00338}, // GREATER-THAN OVER EQUAL TO with slash
1276 // "ngeqslant", 0x02A7E;0x00338}, // GREATER-THAN OR SLANTED EQUAL TO with slash
1277 // "nges", 0x02A7E;0x00338}, // GREATER-THAN OR SLANTED EQUAL TO with slash
1278 // "nGg", 0x022D9;0x00338}, // VERY MUCH GREATER-THAN with slash
1279 {"Ngr", 0x0039D}, // GREEK CAPITAL LETTER NU
1280 {"ngr", 0x003BD}, // GREEK SMALL LETTER NU
1281 {"ngsim", 0x02275}, // NEITHER GREATER-THAN NOR EQUIVALENT TO
1282 // "nGt", 0x0226B;0x020D2}, // MUCH GREATER THAN with vertical line
1283 {"ngt", 0x0226F}, // NOT GREATER-THAN
1284 {"ngtr", 0x0226F}, // NOT GREATER-THAN
1285 // "nGtv", 0x0226B;0x00338}, // MUCH GREATER THAN with slash
1286 {"nharr", 0x021AE}, // LEFT RIGHT ARROW WITH STROKE
1287 {"nhArr", 0x021CE}, // LEFT RIGHT DOUBLE ARROW WITH STROKE
1288 {"nhpar", 0x02AF2}, // PARALLEL WITH HORIZONTAL STROKE
1289 {"ni", 0x0220B}, // CONTAINS AS MEMBER
1290 {"nis", 0x022FC}, // SMALL CONTAINS WITH VERTICAL BAR AT END OF HORIZONTAL STROKE
1291 {"nisd", 0x022FA}, // CONTAINS WITH LONG HORIZONTAL STROKE
1292 {"niv", 0x0220B}, // CONTAINS AS MEMBER
1293 {"NJcy", 0x0040A}, // CYRILLIC CAPITAL LETTER NJE
1294 {"njcy", 0x0045A}, // CYRILLIC SMALL LETTER NJE
1295 {"nlarr", 0x0219A}, // LEFTWARDS ARROW WITH STROKE
1296 {"nlArr", 0x021CD}, // LEFTWARDS DOUBLE ARROW WITH STROKE
1297 {"nldr", 0x02025}, // TWO DOT LEADER
1298 // "nlE", 0x02266;0x00338}, // LESS-THAN OVER EQUAL TO with slash
1299 {"nle", 0x02270}, // NEITHER LESS-THAN NOR EQUAL TO
1300 {"nleftarrow", 0x0219A}, // LEFTWARDS ARROW WITH STROKE
1301 {"nLeftarrow", 0x021CD}, // LEFTWARDS DOUBLE ARROW WITH STROKE
1302 {"nleftrightarrow", 0x021AE}, // LEFT RIGHT ARROW WITH STROKE
1303 {"nLeftrightarrow", 0x021CE}, // LEFT RIGHT DOUBLE ARROW WITH STROKE
1304 {"nleq", 0x02270}, // NEITHER LESS-THAN NOR EQUAL TO
1305 // "nleqq", 0x02266;0x00338}, // LESS-THAN OVER EQUAL TO with slash
1306 // "nleqslant", 0x02A7D;0x00338}, // LESS-THAN OR SLANTED EQUAL TO with slash
1307 // "nles", 0x02A7D;0x00338}, // LESS-THAN OR SLANTED EQUAL TO with slash
1308 {"nless", 0x0226E}, // NOT LESS-THAN
1309 // "nLl", 0x022D8;0x00338}, // VERY MUCH LESS-THAN with slash
1310 {"nlsim", 0x02274}, // NEITHER LESS-THAN NOR EQUIVALENT TO
1311 // "nLt", 0x0226A;0x020D2}, // MUCH LESS THAN with vertical line
1312 {"nlt", 0x0226E}, // NOT LESS-THAN
1313 {"nltri", 0x022EA}, // NOT NORMAL SUBGROUP OF
1314 {"nltrie", 0x022EC}, // NOT NORMAL SUBGROUP OF OR EQUAL TO
1315 // "nLtv", 0x0226A;0x00338}, // MUCH LESS THAN with slash
1316 {"nmid", 0x02224}, // DOES NOT DIVIDE
1317 {"NoBreak", 0x02060}, // WORD JOINER
1318 {"NonBreakingSpace", 0x000A0}, // NO-BREAK SPACE
1319 {"Nopf", 0x02115}, // DOUBLE-STRUCK CAPITAL N
1320 {"nopf", 0x1D55F}, // MATHEMATICAL DOUBLE-STRUCK SMALL N
1321 {"not", 0x000AC}, // NOT SIGN
1322 {"Not", 0x02AEC}, // DOUBLE STROKE NOT SIGN
1323 {"NotCongruent", 0x02262}, // NOT IDENTICAL TO
1324 {"NotCupCap", 0x0226D}, // NOT EQUIVALENT TO
1325 {"NotDoubleVerticalBar", 0x02226}, // NOT PARALLEL TO
1326 {"NotElement", 0x02209}, // NOT AN ELEMENT OF
1327 {"NotEqual", 0x02260}, // NOT EQUAL TO
1328 // "NotEqualTilde", 0x02242;0x00338}, // MINUS TILDE with slash
1329 {"NotExists", 0x02204}, // THERE DOES NOT EXIST
1330 {"NotGreater", 0x0226F}, // NOT GREATER-THAN
1331 {"NotGreaterEqual", 0x02271}, // NEITHER GREATER-THAN NOR EQUAL TO
1332 // "NotGreaterFullEqual", 0x02267;0x00338}, // GREATER-THAN OVER EQUAL TO with slash
1333 // "NotGreaterGreater", 0x0226B;0x00338}, // MUCH GREATER THAN with slash
1334 {"NotGreaterLess", 0x02279}, // NEITHER GREATER-THAN NOR LESS-THAN
1335 // "NotGreaterSlantEqual", 0x02A7E;0x00338}, // GREATER-THAN OR SLANTED EQUAL TO with slash
1336 {"NotGreaterTilde", 0x02275}, // NEITHER GREATER-THAN NOR EQUIVALENT TO
1337 // "NotHumpDownHump", 0x0224E;0x00338}, // GEOMETRICALLY EQUIVALENT TO with slash
1338 // "NotHumpEqual", 0x0224F;0x00338}, // DIFFERENCE BETWEEN with slash
1339 {"notin", 0x02209}, // NOT AN ELEMENT OF
1340 // "notindot", 0x022F5;0x00338}, // ELEMENT OF WITH DOT ABOVE with slash
1341 // "notinE", 0x022F9;0x00338}, // ELEMENT OF WITH TWO HORIZONTAL STROKES with slash
1342 {"notinva", 0x02209}, // NOT AN ELEMENT OF
1343 {"notinvb", 0x022F7}, // SMALL ELEMENT OF WITH OVERBAR
1344 {"notinvc", 0x022F6}, // ELEMENT OF WITH OVERBAR
1345 {"NotLeftTriangle", 0x022EA}, // NOT NORMAL SUBGROUP OF
1346 // "NotLeftTriangleBar", 0x029CF;0x00338}, // LEFT TRIANGLE BESIDE VERTICAL BAR with slash
1347 {"NotLeftTriangleEqual", 0x022EC}, // NOT NORMAL SUBGROUP OF OR EQUAL TO
1348 {"NotLess", 0x0226E}, // NOT LESS-THAN
1349 {"NotLessEqual", 0x02270}, // NEITHER LESS-THAN NOR EQUAL TO
1350 {"NotLessGreater", 0x02278}, // NEITHER LESS-THAN NOR GREATER-THAN
1351 // "NotLessLess", 0x0226A;0x00338}, // MUCH LESS THAN with slash
1352 // "NotLessSlantEqual", 0x02A7D;0x00338}, // LESS-THAN OR SLANTED EQUAL TO with slash
1353 {"NotLessTilde", 0x02274}, // NEITHER LESS-THAN NOR EQUIVALENT TO
1354 // "NotNestedGreaterGreater", 0x02AA2;0x00338}, // DOUBLE NESTED GREATER-THAN with slash
1355 // "NotNestedLessLess", 0x02AA1;0x00338}, // DOUBLE NESTED LESS-THAN with slash
1356 {"notni", 0x0220C}, // DOES NOT CONTAIN AS MEMBER
1357 {"notniva", 0x0220C}, // DOES NOT CONTAIN AS MEMBER
1358 {"notnivb", 0x022FE}, // SMALL CONTAINS WITH OVERBAR
1359 {"notnivc", 0x022FD}, // CONTAINS WITH OVERBAR
1360 {"NotPrecedes", 0x02280}, // DOES NOT PRECEDE
1361 // "NotPrecedesEqual", 0x02AAF;0x00338}, // PRECEDES ABOVE SINGLE-LINE EQUALS SIGN with slash
1362 {"NotPrecedesSlantEqual", 0x022E0}, // DOES NOT PRECEDE OR EQUAL
1363 {"NotReverseElement", 0x0220C}, // DOES NOT CONTAIN AS MEMBER
1364 {"NotRightTriangle", 0x022EB}, // DOES NOT CONTAIN AS NORMAL SUBGROUP
1365 // "NotRightTriangleBar", 0x029D0;0x00338}, // VERTICAL BAR BESIDE RIGHT TRIANGLE with slash
1366 {"NotRightTriangleEqual", 0x022ED}, // DOES NOT CONTAIN AS NORMAL SUBGROUP OR EQUAL
1367 // "NotSquareSubset", 0x0228F;0x00338}, // SQUARE IMAGE OF with slash
1368 {"NotSquareSubsetEqual", 0x022E2}, // NOT SQUARE IMAGE OF OR EQUAL TO
1369 // "NotSquareSuperset", 0x02290;0x00338}, // SQUARE ORIGINAL OF with slash
1370 {"NotSquareSupersetEqual", 0x022E3}, // NOT SQUARE ORIGINAL OF OR EQUAL TO
1371 // "NotSubset", 0x02282;0x020D2}, // SUBSET OF with vertical line
1372 {"NotSubsetEqual", 0x02288}, // NEITHER A SUBSET OF NOR EQUAL TO
1373 {"NotSucceeds", 0x02281}, // DOES NOT SUCCEED
1374 // "NotSucceedsEqual", 0x02AB0;0x00338}, // SUCCEEDS ABOVE SINGLE-LINE EQUALS SIGN with slash
1375 {"NotSucceedsSlantEqual", 0x022E1}, // DOES NOT SUCCEED OR EQUAL
1376 // "NotSucceedsTilde", 0x0227F;0x00338}, // SUCCEEDS OR EQUIVALENT TO with slash
1377 // "NotSuperset", 0x02283;0x020D2}, // SUPERSET OF with vertical line
1378 {"NotSupersetEqual", 0x02289}, // NEITHER A SUPERSET OF NOR EQUAL TO
1379 {"NotTilde", 0x02241}, // NOT TILDE
1380 {"NotTildeEqual", 0x02244}, // NOT ASYMPTOTICALLY EQUAL TO
1381 {"NotTildeFullEqual", 0x02247}, // NEITHER APPROXIMATELY NOR ACTUALLY EQUAL TO
1382 {"NotTildeTilde", 0x02249}, // NOT ALMOST EQUAL TO
1383 {"NotVerticalBar", 0x02224}, // DOES NOT DIVIDE
1384 {"npar", 0x02226}, // NOT PARALLEL TO
1385 {"nparallel", 0x02226}, // NOT PARALLEL TO
1386 // "nparsl", 0x02AFD;0x020E5}, // DOUBLE SOLIDUS OPERATOR with reverse slash
1387 // "npart", 0x02202;0x00338}, // PARTIAL DIFFERENTIAL with slash
1388 {"npolint", 0x02A14}, // LINE INTEGRATION NOT INCLUDING THE POLE
1389 {"npr", 0x02280}, // DOES NOT PRECEDE
1390 {"nprcue", 0x022E0}, // DOES NOT PRECEDE OR EQUAL
1391 // "npre", 0x02AAF;0x00338}, // PRECEDES ABOVE SINGLE-LINE EQUALS SIGN with slash
1392 {"nprec", 0x02280}, // DOES NOT PRECEDE
1393 // "npreceq", 0x02AAF;0x00338}, // PRECEDES ABOVE SINGLE-LINE EQUALS SIGN with slash
1394 {"nrarr", 0x0219B}, // RIGHTWARDS ARROW WITH STROKE
1395 {"nrArr", 0x021CF}, // RIGHTWARDS DOUBLE ARROW WITH STROKE
1396 // "nrarrc", 0x02933;0x00338}, // WAVE ARROW POINTING DIRECTLY RIGHT with slash
1397 // "nrarrw", 0x0219D;0x00338}, // RIGHTWARDS WAVE ARROW with slash
1398 {"nrightarrow", 0x0219B}, // RIGHTWARDS ARROW WITH STROKE
1399 {"nRightarrow", 0x021CF}, // RIGHTWARDS DOUBLE ARROW WITH STROKE
1400 {"nrtri", 0x022EB}, // DOES NOT CONTAIN AS NORMAL SUBGROUP
1401 {"nrtrie", 0x022ED}, // DOES NOT CONTAIN AS NORMAL SUBGROUP OR EQUAL
1402 {"nsc", 0x02281}, // DOES NOT SUCCEED
1403 {"nsccue", 0x022E1}, // DOES NOT SUCCEED OR EQUAL
1404 // "nsce", 0x02AB0;0x00338}, // SUCCEEDS ABOVE SINGLE-LINE EQUALS SIGN with slash
1405 {"Nscr", 0x1D4A9}, // MATHEMATICAL SCRIPT CAPITAL N
1406 {"nscr", 0x1D4C3}, // MATHEMATICAL SCRIPT SMALL N
1407 {"nshortmid", 0x02224}, // DOES NOT DIVIDE
1408 {"nshortparallel", 0x02226}, // NOT PARALLEL TO
1409 {"nsim", 0x02241}, // NOT TILDE
1410 {"nsime", 0x02244}, // NOT ASYMPTOTICALLY EQUAL TO
1411 {"nsimeq", 0x02244}, // NOT ASYMPTOTICALLY EQUAL TO
1412 {"nsmid", 0x02224}, // DOES NOT DIVIDE
1413 {"nspar", 0x02226}, // NOT PARALLEL TO
1414 {"nsqsube", 0x022E2}, // NOT SQUARE IMAGE OF OR EQUAL TO
1415 {"nsqsupe", 0x022E3}, // NOT SQUARE ORIGINAL OF OR EQUAL TO
1416 {"nsub", 0x02284}, // NOT A SUBSET OF
1417 {"nsube", 0x02288}, // NEITHER A SUBSET OF NOR EQUAL TO
1418 // "nsubE", 0x02AC5;0x00338}, // SUBSET OF ABOVE EQUALS SIGN with slash
1419 // "nsubset", 0x02282;0x020D2}, // SUBSET OF with vertical line
1420 {"nsubseteq", 0x02288}, // NEITHER A SUBSET OF NOR EQUAL TO
1421 // "nsubseteqq", 0x02AC5;0x00338}, // SUBSET OF ABOVE EQUALS SIGN with slash
1422 {"nsucc", 0x02281}, // DOES NOT SUCCEED
1423 // "nsucceq", 0x02AB0;0x00338}, // SUCCEEDS ABOVE SINGLE-LINE EQUALS SIGN with slash
1424 {"nsup", 0x02285}, // NOT A SUPERSET OF
1425 {"nsupe", 0x02289}, // NEITHER A SUPERSET OF NOR EQUAL TO
1426 // "nsupE", 0x02AC6;0x00338}, // SUPERSET OF ABOVE EQUALS SIGN with slash
1427 // "nsupset", 0x02283;0x020D2}, // SUPERSET OF with vertical line
1428 {"nsupseteq", 0x02289}, // NEITHER A SUPERSET OF NOR EQUAL TO
1429 // "nsupseteqq", 0x02AC6;0x00338}, // SUPERSET OF ABOVE EQUALS SIGN with slash
1430 {"ntgl", 0x02279}, // NEITHER GREATER-THAN NOR LESS-THAN
1431 {"Ntilde", 0x000D1}, // LATIN CAPITAL LETTER N WITH TILDE
1432 {"ntilde", 0x000F1}, // LATIN SMALL LETTER N WITH TILDE
1433 {"ntlg", 0x02278}, // NEITHER LESS-THAN NOR GREATER-THAN
1434 {"ntriangleleft", 0x022EA}, // NOT NORMAL SUBGROUP OF
1435 {"ntrianglelefteq", 0x022EC}, // NOT NORMAL SUBGROUP OF OR EQUAL TO
1436 {"ntriangleright", 0x022EB}, // DOES NOT CONTAIN AS NORMAL SUBGROUP
1437 {"ntrianglerighteq", 0x022ED}, // DOES NOT CONTAIN AS NORMAL SUBGROUP OR EQUAL
1438 {"Nu", 0x0039D}, // GREEK CAPITAL LETTER NU
1439 {"nu", 0x003BD}, // GREEK SMALL LETTER NU
1440 {"num", 0x00023}, // NUMBER SIGN
1441 {"numero", 0x02116}, // NUMERO SIGN
1442 {"numsp", 0x02007}, // FIGURE SPACE
1443 // "nvap", 0x0224D;0x020D2}, // EQUIVALENT TO with vertical line
1444 {"nvdash", 0x022AC}, // DOES NOT PROVE
1445 {"nvDash", 0x022AD}, // NOT TRUE
1446 {"nVdash", 0x022AE}, // DOES NOT FORCE
1447 {"nVDash", 0x022AF}, // NEGATED DOUBLE VERTICAL BAR DOUBLE RIGHT TURNSTILE
1448 // "nvge", 0x02265;0x020D2}, // GREATER-THAN OR EQUAL TO with vertical line
1449 // "nvgt", 0x0003E;0x020D2}, // GREATER-THAN SIGN with vertical line
1450 {"nvHarr", 0x02904}, // LEFT RIGHT DOUBLE ARROW WITH VERTICAL STROKE
1451 {"nvinfin", 0x029DE}, // INFINITY NEGATED WITH VERTICAL BAR
1452 {"nvlArr", 0x02902}, // LEFTWARDS DOUBLE ARROW WITH VERTICAL STROKE
1453 // "nvle", 0x02264;0x020D2}, // LESS-THAN OR EQUAL TO with vertical line
1454 // "nvlt", 0x0003C;0x020D2}, // LESS-THAN SIGN with vertical line
1455 // "nvltrie", 0x022B4;0x020D2}, // NORMAL SUBGROUP OF OR EQUAL TO with vertical line
1456 {"nvrArr", 0x02903}, // RIGHTWARDS DOUBLE ARROW WITH VERTICAL STROKE
1457 // "nvrtrie", 0x022B5;0x020D2}, // CONTAINS AS NORMAL SUBGROUP OR EQUAL TO with vertical line
1458 // "nvsim", 0x0223C;0x020D2}, // TILDE OPERATOR with vertical line
1459 {"nwarhk", 0x02923}, // NORTH WEST ARROW WITH HOOK
1460 {"nwarr", 0x02196}, // NORTH WEST ARROW
1461 {"nwArr", 0x021D6}, // NORTH WEST DOUBLE ARROW
1462 {"nwarrow", 0x02196}, // NORTH WEST ARROW
1463 {"nwnear", 0x02927}, // NORTH WEST ARROW AND NORTH EAST ARROW
1464 {NULL, 0}
1465 };
1466
1467 static NameId namesO[]={
1468 {"Oacgr", 0x0038C}, // GREEK CAPITAL LETTER OMICRON WITH TONOS
1469 {"oacgr", 0x003CC}, // GREEK SMALL LETTER OMICRON WITH TONOS
1470 {"Oacute", 0x000D3}, // LATIN CAPITAL LETTER O WITH ACUTE
1471 {"oacute", 0x000F3}, // LATIN SMALL LETTER O WITH ACUTE
1472 {"oast", 0x0229B}, // CIRCLED ASTERISK OPERATOR
1473 {"ocir", 0x0229A}, // CIRCLED RING OPERATOR
1474 {"Ocirc", 0x000D4}, // LATIN CAPITAL LETTER O WITH CIRCUMFLEX
1475 {"ocirc", 0x000F4}, // LATIN SMALL LETTER O WITH CIRCUMFLEX
1476 {"Ocy", 0x0041E}, // CYRILLIC CAPITAL LETTER O
1477 {"ocy", 0x0043E}, // CYRILLIC SMALL LETTER O
1478 {"odash", 0x0229D}, // CIRCLED DASH
1479 {"Odblac", 0x00150}, // LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
1480 {"odblac", 0x00151}, // LATIN SMALL LETTER O WITH DOUBLE ACUTE
1481 {"odiv", 0x02A38}, // CIRCLED DIVISION SIGN
1482 {"odot", 0x02299}, // CIRCLED DOT OPERATOR
1483 {"odsold", 0x029BC}, // CIRCLED ANTICLOCKWISE-ROTATED DIVISION SIGN
1484 {"OElig", 0x00152}, // LATIN CAPITAL LIGATURE OE
1485 {"oelig", 0x00153}, // LATIN SMALL LIGATURE OE
1486 {"ofcir", 0x029BF}, // CIRCLED BULLET
1487 {"Ofr", 0x1D512}, // MATHEMATICAL FRAKTUR CAPITAL O
1488 {"ofr", 0x1D52C}, // MATHEMATICAL FRAKTUR SMALL O
1489 {"ogon", 0x002DB}, // OGONEK
1490 {"Ogr", 0x0039F}, // GREEK CAPITAL LETTER OMICRON
1491 {"ogr", 0x003BF}, // GREEK SMALL LETTER OMICRON
1492 {"Ograve", 0x000D2}, // LATIN CAPITAL LETTER O WITH GRAVE
1493 {"ograve", 0x000F2}, // LATIN SMALL LETTER O WITH GRAVE
1494 {"ogt", 0x029C1}, // CIRCLED GREATER-THAN
1495 {"OHacgr", 0x0038F}, // GREEK CAPITAL LETTER OMEGA WITH TONOS
1496 {"ohacgr", 0x003CE}, // GREEK SMALL LETTER OMEGA WITH TONOS
1497 {"ohbar", 0x029B5}, // CIRCLE WITH HORIZONTAL BAR
1498 {"OHgr", 0x003A9}, // GREEK CAPITAL LETTER OMEGA
1499 {"ohgr", 0x003C9}, // GREEK SMALL LETTER OMEGA
1500 {"ohm", 0x003A9}, // GREEK CAPITAL LETTER OMEGA
1501 {"oint", 0x0222E}, // CONTOUR INTEGRAL
1502 {"olarr", 0x021BA}, // ANTICLOCKWISE OPEN CIRCLE ARROW
1503 {"olcir", 0x029BE}, // CIRCLED WHITE BULLET
1504 {"olcross", 0x029BB}, // CIRCLE WITH SUPERIMPOSED X
1505 {"oline", 0x0203E}, // OVERLINE
1506 {"olt", 0x029C0}, // CIRCLED LESS-THAN
1507 {"Omacr", 0x0014C}, // LATIN CAPITAL LETTER O WITH MACRON
1508 {"omacr", 0x0014D}, // LATIN SMALL LETTER O WITH MACRON
1509 {"Omega", 0x003A9}, // GREEK CAPITAL LETTER OMEGA
1510 {"omega", 0x003C9}, // GREEK SMALL LETTER OMEGA
1511 {"Omicron", 0x0039F}, // GREEK CAPITAL LETTER OMICRON
1512 {"omicron", 0x003BF}, // GREEK SMALL LETTER OMICRON
1513 {"omid", 0x029B6}, // CIRCLED VERTICAL BAR
1514 {"ominus", 0x02296}, // CIRCLED MINUS
1515 {"Oopf", 0x1D546}, // MATHEMATICAL DOUBLE-STRUCK CAPITAL O
1516 {"oopf", 0x1D560}, // MATHEMATICAL DOUBLE-STRUCK SMALL O
1517 {"opar", 0x029B7}, // CIRCLED PARALLEL
1518 {"OpenCurlyDoubleQuote", 0x0201C}, // LEFT DOUBLE QUOTATION MARK
1519 {"OpenCurlyQuote", 0x02018}, // LEFT SINGLE QUOTATION MARK
1520 {"operp", 0x029B9}, // CIRCLED PERPENDICULAR
1521 {"oplus", 0x02295}, // CIRCLED PLUS
1522 {"or", 0x02228}, // LOGICAL OR
1523 {"Or", 0x02A54}, // DOUBLE LOGICAL OR
1524 {"orarr", 0x021BB}, // CLOCKWISE OPEN CIRCLE ARROW
1525 {"ord", 0x02A5D}, // LOGICAL OR WITH HORIZONTAL DASH
1526 {"order", 0x02134}, // SCRIPT SMALL O
1527 {"orderof", 0x02134}, // SCRIPT SMALL O
1528 {"ordf", 0x000AA}, // FEMININE ORDINAL INDICATOR
1529 {"ordm", 0x000BA}, // MASCULINE ORDINAL INDICATOR
1530 {"origof", 0x022B6}, // ORIGINAL OF
1531 {"oror", 0x02A56}, // TWO INTERSECTING LOGICAL OR
1532 {"orslope", 0x02A57}, // SLOPING LARGE OR
1533 {"orv", 0x02A5B}, // LOGICAL OR WITH MIDDLE STEM
1534 {"oS", 0x024C8}, // CIRCLED LATIN CAPITAL LETTER S
1535 {"oscr", 0x02134}, // SCRIPT SMALL O
1536 {"Oscr", 0x1D4AA}, // MATHEMATICAL SCRIPT CAPITAL O
1537 {"Oslash", 0x000D8}, // LATIN CAPITAL LETTER O WITH STROKE
1538 {"oslash", 0x000F8}, // LATIN SMALL LETTER O WITH STROKE
1539 {"osol", 0x02298}, // CIRCLED DIVISION SLASH
1540 {"Otilde", 0x000D5}, // LATIN CAPITAL LETTER O WITH TILDE
1541 {"otilde", 0x000F5}, // LATIN SMALL LETTER O WITH TILDE
1542 {"otimes", 0x02297}, // CIRCLED TIMES
1543 {"Otimes", 0x02A37}, // MULTIPLICATION SIGN IN DOUBLE CIRCLE
1544 {"otimesas", 0x02A36}, // CIRCLED MULTIPLICATION SIGN WITH CIRCUMFLEX ACCENT
1545 {"Ouml", 0x000D6}, // LATIN CAPITAL LETTER O WITH DIAERESIS
1546 {"ouml", 0x000F6}, // LATIN SMALL LETTER O WITH DIAERESIS
1547 {"ovbar", 0x0233D}, // APL FUNCTIONAL SYMBOL CIRCLE STILE
1548 {"OverBar", 0x0203E}, // OVERLINE
1549 {"OverBrace", 0x023DE}, // TOP CURLY BRACKET
1550 {"OverBracket", 0x023B4}, // TOP SQUARE BRACKET
1551 {"OverParenthesis", 0x023DC}, // TOP PARENTHESIS
1552 {NULL, 0}
1553 };
1554
1555 static NameId namesP[]={
1556 {"par", 0x02225}, // PARALLEL TO
1557 {"para", 0x000B6}, // PILCROW SIGN
1558 {"parallel", 0x02225}, // PARALLEL TO
1559 {"parsim", 0x02AF3}, // PARALLEL WITH TILDE OPERATOR
1560 {"parsl", 0x02AFD}, // DOUBLE SOLIDUS OPERATOR
1561 {"part", 0x02202}, // PARTIAL DIFFERENTIAL
1562 {"PartialD", 0x02202}, // PARTIAL DIFFERENTIAL
1563 {"Pcy", 0x0041F}, // CYRILLIC CAPITAL LETTER PE
1564 {"pcy", 0x0043F}, // CYRILLIC SMALL LETTER PE
1565 {"percnt", 0x00025}, // PERCENT SIGN
1566 {"period", 0x0002E}, // FULL STOP
1567 {"permil", 0x02030}, // PER MILLE SIGN
1568 {"perp", 0x022A5}, // UP TACK
1569 {"pertenk", 0x02031}, // PER TEN THOUSAND SIGN
1570 {"Pfr", 0x1D513}, // MATHEMATICAL FRAKTUR CAPITAL P
1571 {"pfr", 0x1D52D}, // MATHEMATICAL FRAKTUR SMALL P
1572 {"Pgr", 0x003A0}, // GREEK CAPITAL LETTER PI
1573 {"pgr", 0x003C0}, // GREEK SMALL LETTER PI
1574 {"PHgr", 0x003A6}, // GREEK CAPITAL LETTER PHI
1575 {"phgr", 0x003C6}, // GREEK SMALL LETTER PHI
1576 {"Phi", 0x003A6}, // GREEK CAPITAL LETTER PHI
1577 {"phi", 0x003C6}, // GREEK SMALL LETTER PHI
1578 {"phiv", 0x003D5}, // GREEK PHI SYMBOL
1579 {"phmmat", 0x02133}, // SCRIPT CAPITAL M
1580 {"phone", 0x0260E}, // BLACK TELEPHONE
1581 {"Pi", 0x003A0}, // GREEK CAPITAL LETTER PI
1582 {"pi", 0x003C0}, // GREEK SMALL LETTER PI
1583 {"pitchfork", 0x022D4}, // PITCHFORK
1584 {"piv", 0x003D6}, // GREEK PI SYMBOL
1585 {"planck", 0x0210F}, // PLANCK CONSTANT OVER TWO PI
1586 {"planckh", 0x0210E}, // PLANCK CONSTANT
1587 {"plankv", 0x0210F}, // PLANCK CONSTANT OVER TWO PI
1588 {"plus", 0x0002B}, // PLUS SIGN
1589 {"plusacir", 0x02A23}, // PLUS SIGN WITH CIRCUMFLEX ACCENT ABOVE
1590 {"plusb", 0x0229E}, // SQUARED PLUS
1591 {"pluscir", 0x02A22}, // PLUS SIGN WITH SMALL CIRCLE ABOVE
1592 {"plusdo", 0x02214}, // DOT PLUS
1593 {"plusdu", 0x02A25}, // PLUS SIGN WITH DOT BELOW
1594 {"pluse", 0x02A72}, // PLUS SIGN ABOVE EQUALS SIGN
1595 {"PlusMinus", 0x000B1}, // PLUS-MINUS SIGN
1596 {"plusmn", 0x000B1}, // PLUS-MINUS SIGN
1597 {"plussim", 0x02A26}, // PLUS SIGN WITH TILDE BELOW
1598 {"plustwo", 0x02A27}, // PLUS SIGN WITH SUBSCRIPT TWO
1599 {"pm", 0x000B1}, // PLUS-MINUS SIGN
1600 {"Poincareplane", 0x0210C}, // BLACK-LETTER CAPITAL H
1601 {"pointint", 0x02A15}, // INTEGRAL AROUND A POINT OPERATOR
1602 {"Popf", 0x02119}, // DOUBLE-STRUCK CAPITAL P
1603 {"popf", 0x1D561}, // MATHEMATICAL DOUBLE-STRUCK SMALL P
1604 {"pound", 0x000A3}, // POUND SIGN
1605 {"pr", 0x0227A}, // PRECEDES
1606 {"Pr", 0x02ABB}, // DOUBLE PRECEDES
1607 {"prap", 0x02AB7}, // PRECEDES ABOVE ALMOST EQUAL TO
1608 {"prcue", 0x0227C}, // PRECEDES OR EQUAL TO
1609 {"pre", 0x02AAF}, // PRECEDES ABOVE SINGLE-LINE EQUALS SIGN
1610 {"prE", 0x02AB3}, // PRECEDES ABOVE EQUALS SIGN
1611 {"prec", 0x0227A}, // PRECEDES
1612 {"precapprox", 0x02AB7}, // PRECEDES ABOVE ALMOST EQUAL TO
1613 {"preccurlyeq", 0x0227C}, // PRECEDES OR EQUAL TO
1614 {"Precedes", 0x0227A}, // PRECEDES
1615 {"PrecedesEqual", 0x02AAF}, // PRECEDES ABOVE SINGLE-LINE EQUALS SIGN
1616 {"PrecedesSlantEqual", 0x0227C}, // PRECEDES OR EQUAL TO
1617 {"PrecedesTilde", 0x0227E}, // PRECEDES OR EQUIVALENT TO
1618 {"preceq", 0x02AAF}, // PRECEDES ABOVE SINGLE-LINE EQUALS SIGN
1619 {"precnapprox", 0x02AB9}, // PRECEDES ABOVE NOT ALMOST EQUAL TO
1620 {"precneqq", 0x02AB5}, // PRECEDES ABOVE NOT EQUAL TO
1621 {"precnsim", 0x022E8}, // PRECEDES BUT NOT EQUIVALENT TO
1622 {"precsim", 0x0227E}, // PRECEDES OR EQUIVALENT TO
1623 {"prime", 0x02032}, // PRIME
1624 {"Prime", 0x02033}, // DOUBLE PRIME
1625 {"primes", 0x02119}, // DOUBLE-STRUCK CAPITAL P
1626 {"prnap", 0x02AB9}, // PRECEDES ABOVE NOT ALMOST EQUAL TO
1627 {"prnE", 0x02AB5}, // PRECEDES ABOVE NOT EQUAL TO
1628 {"prnsim", 0x022E8}, // PRECEDES BUT NOT EQUIVALENT TO
1629 {"prod", 0x0220F}, // N-ARY PRODUCT
1630 {"Product", 0x0220F}, // N-ARY PRODUCT
1631 {"profalar", 0x0232E}, // ALL AROUND-PROFILE
1632 {"profline", 0x02312}, // ARC
1633 {"profsurf", 0x02313}, // SEGMENT
1634 {"prop", 0x0221D}, // PROPORTIONAL TO
1635 {"Proportion", 0x02237}, // PROPORTION
1636 {"Proportional", 0x0221D}, // PROPORTIONAL TO
1637 {"propto", 0x0221D}, // PROPORTIONAL TO
1638 {"prsim", 0x0227E}, // PRECEDES OR EQUIVALENT TO
1639 {"prurel", 0x022B0}, // PRECEDES UNDER RELATION
1640 {"Pscr", 0x1D4AB}, // MATHEMATICAL SCRIPT CAPITAL P
1641 {"pscr", 0x1D4C5}, // MATHEMATICAL SCRIPT SMALL P
1642 {"PSgr", 0x003A8}, // GREEK CAPITAL LETTER PSI
1643 {"psgr", 0x003C8}, // GREEK SMALL LETTER PSI
1644 {"Psi", 0x003A8}, // GREEK CAPITAL LETTER PSI
1645 {"psi", 0x003C8}, // GREEK SMALL LETTER PSI
1646 {"puncsp", 0x02008}, // PUNCTUATION SPACE
1647 {NULL, 0}
1648 };
1649
1650 static NameId namesQ[]={
1651 {"Qfr", 0x1D514}, // MATHEMATICAL FRAKTUR CAPITAL Q
1652 {"qfr", 0x1D52E}, // MATHEMATICAL FRAKTUR SMALL Q
1653 {"qint", 0x02A0C}, // QUADRUPLE INTEGRAL OPERATOR
1654 {"Qopf", 0x0211A}, // DOUBLE-STRUCK CAPITAL Q
1655 {"qopf", 0x1D562}, // MATHEMATICAL DOUBLE-STRUCK SMALL Q
1656 {"qprime", 0x02057}, // QUADRUPLE PRIME
1657 {"Qscr", 0x1D4AC}, // MATHEMATICAL SCRIPT CAPITAL Q
1658 {"qscr", 0x1D4C6}, // MATHEMATICAL SCRIPT SMALL Q
1659 {"quaternions", 0x0210D}, // DOUBLE-STRUCK CAPITAL H
1660 {"quatint", 0x02A16}, // QUATERNION INTEGRAL OPERATOR
1661 {"quest", 0x0003F}, // QUESTION MARK
1662 {"questeq", 0x0225F}, // QUESTIONED EQUAL TO
1663 {"quot", 0x00022}, // QUOTATION MARK
1664 {"QUOT", 0x00022}, // QUOTATION MARK
1665 {NULL, 0}
1666 };
1667
1668 static NameId namesR[]={
1669 {"rAarr", 0x021DB}, // RIGHTWARDS TRIPLE ARROW
1670 // "race", 0x0223D;0x00331}, // REVERSED TILDE with underline
1671 {"Racute", 0x00154}, // LATIN CAPITAL LETTER R WITH ACUTE
1672 {"racute", 0x00155}, // LATIN SMALL LETTER R WITH ACUTE
1673 {"radic", 0x0221A}, // SQUARE ROOT
1674 {"raemptyv", 0x029B3}, // EMPTY SET WITH RIGHT ARROW ABOVE
1675 {"rang", 0x027E9}, // MATHEMATICAL RIGHT ANGLE BRACKET
1676 {"Rang", 0x027EB}, // MATHEMATICAL RIGHT DOUBLE ANGLE BRACKET
1677 {"rangd", 0x02992}, // RIGHT ANGLE BRACKET WITH DOT
1678 {"range", 0x029A5}, // REVERSED ANGLE WITH UNDERBAR
1679 {"rangle", 0x027E9}, // MATHEMATICAL RIGHT ANGLE BRACKET
1680 {"raquo", 0x000BB}, // RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
1681 {"rarr", 0x02192}, // RIGHTWARDS ARROW
1682 {"Rarr", 0x021A0}, // RIGHTWARDS TWO HEADED ARROW
1683 {"rArr", 0x021D2}, // RIGHTWARDS DOUBLE ARROW
1684 {"rarrap", 0x02975}, // RIGHTWARDS ARROW ABOVE ALMOST EQUAL TO
1685 {"rarrb", 0x021E5}, // RIGHTWARDS ARROW TO BAR
1686 {"rarrbfs", 0x02920}, // RIGHTWARDS ARROW FROM BAR TO BLACK DIAMOND
1687 {"rarrc", 0x02933}, // WAVE ARROW POINTING DIRECTLY RIGHT
1688 {"rarrfs", 0x0291E}, // RIGHTWARDS ARROW TO BLACK DIAMOND
1689 {"rarrhk", 0x021AA}, // RIGHTWARDS ARROW WITH HOOK
1690 {"rarrlp", 0x021AC}, // RIGHTWARDS ARROW WITH LOOP
1691 {"rarrpl", 0x02945}, // RIGHTWARDS ARROW WITH PLUS BELOW
1692 {"rarrsim", 0x02974}, // RIGHTWARDS ARROW ABOVE TILDE OPERATOR
1693 {"rarrtl", 0x021A3}, // RIGHTWARDS ARROW WITH TAIL
1694 {"Rarrtl", 0x02916}, // RIGHTWARDS TWO-HEADED ARROW WITH TAIL
1695 {"rarrw", 0x0219D}, // RIGHTWARDS WAVE ARROW
1696 {"ratail", 0x0291A}, // RIGHTWARDS ARROW-TAIL
1697 {"rAtail", 0x0291C}, // RIGHTWARDS DOUBLE ARROW-TAIL
1698 {"ratio", 0x02236}, // RATIO
1699 {"rationals", 0x0211A}, // DOUBLE-STRUCK CAPITAL Q
1700 {"rbarr", 0x0290D}, // RIGHTWARDS DOUBLE DASH ARROW
1701 {"rBarr", 0x0290F}, // RIGHTWARDS TRIPLE DASH ARROW
1702 {"RBarr", 0x02910}, // RIGHTWARDS TWO-HEADED TRIPLE DASH ARROW
1703 {"rbbrk", 0x02773}, // LIGHT RIGHT TORTOISE SHELL BRACKET ORNAMENT
1704 {"rbrace", 0x0007D}, // RIGHT CURLY BRACKET
1705 {"rbrack", 0x0005D}, // RIGHT SQUARE BRACKET
1706 {"rbrke", 0x0298C}, // RIGHT SQUARE BRACKET WITH UNDERBAR
1707 {"rbrksld", 0x0298E}, // RIGHT SQUARE BRACKET WITH TICK IN BOTTOM CORNER
1708 {"rbrkslu", 0x02990}, // RIGHT SQUARE BRACKET WITH TICK IN TOP CORNER
1709 {"Rcaron", 0x00158}, // LATIN CAPITAL LETTER R WITH CARON
1710 {"rcaron", 0x00159}, // LATIN SMALL LETTER R WITH CARON
1711 {"Rcedil", 0x00156}, // LATIN CAPITAL LETTER R WITH CEDILLA
1712 {"rcedil", 0x00157}, // LATIN SMALL LETTER R WITH CEDILLA
1713 {"rceil", 0x02309}, // RIGHT CEILING
1714 {"rcub", 0x0007D}, // RIGHT CURLY BRACKET
1715 {"Rcy", 0x00420}, // CYRILLIC CAPITAL LETTER ER
1716 {"rcy", 0x00440}, // CYRILLIC SMALL LETTER ER
1717 {"rdca", 0x02937}, // ARROW POINTING DOWNWARDS THEN CURVING RIGHTWARDS
1718 {"rdldhar", 0x02969}, // RIGHTWARDS HARPOON WITH BARB DOWN ABOVE LEFTWARDS HARPOON WITH BARB DOWN
1719 {"rdquo", 0x0201D}, // RIGHT DOUBLE QUOTATION MARK
1720 {"rdquor", 0x0201D}, // RIGHT DOUBLE QUOTATION MARK
1721 {"rdsh", 0x021B3}, // DOWNWARDS ARROW WITH TIP RIGHTWARDS
1722 {"Re", 0x0211C}, // BLACK-LETTER CAPITAL R
1723 {"real", 0x0211C}, // BLACK-LETTER CAPITAL R
1724 {"realine", 0x0211B}, // SCRIPT CAPITAL R
1725 {"realpart", 0x0211C}, // BLACK-LETTER CAPITAL R
1726 {"reals", 0x0211D}, // DOUBLE-STRUCK CAPITAL R
1727 {"rect", 0x025AD}, // WHITE RECTANGLE
1728 {"reg", 0x000AE}, // REGISTERED SIGN
1729 {"REG", 0x000AE}, // REGISTERED SIGN
1730 {"ReverseElement", 0x0220B}, // CONTAINS AS MEMBER
1731 {"ReverseEquilibrium", 0x021CB}, // LEFTWARDS HARPOON OVER RIGHTWARDS HARPOON
1732 {"ReverseUpEquilibrium", 0x0296F}, // DOWNWARDS HARPOON WITH BARB LEFT BESIDE UPWARDS HARPOON WITH BARB RIGHT
1733 {"rfisht", 0x0297D}, // RIGHT FISH TAIL
1734 {"rfloor", 0x0230B}, // RIGHT FLOOR
1735 {"Rfr", 0x0211C}, // BLACK-LETTER CAPITAL R
1736 {"rfr", 0x1D52F}, // MATHEMATICAL FRAKTUR SMALL R
1737 {"Rgr", 0x003A1}, // GREEK CAPITAL LETTER RHO
1738 {"rgr", 0x003C1}, // GREEK SMALL LETTER RHO
1739 {"rHar", 0x02964}, // RIGHTWARDS HARPOON WITH BARB UP ABOVE RIGHTWARDS HARPOON WITH BARB DOWN
1740 {"rhard", 0x021C1}, // RIGHTWARDS HARPOON WITH BARB DOWNWARDS
1741 {"rharu", 0x021C0}, // RIGHTWARDS HARPOON WITH BARB UPWARDS
1742 {"rharul", 0x0296C}, // RIGHTWARDS HARPOON WITH BARB UP ABOVE LONG DASH
1743 {"Rho", 0x003A1}, // GREEK CAPITAL LETTER RHO
1744 {"rho", 0x003C1}, // GREEK SMALL LETTER RHO
1745 {"rhov", 0x003F1}, // GREEK RHO SYMBOL
1746 {"RightAngleBracket", 0x027E9}, // MATHEMATICAL RIGHT ANGLE BRACKET
1747 {"rightarrow", 0x02192}, // RIGHTWARDS ARROW
1748 {"RightArrow", 0x02192}, // RIGHTWARDS ARROW
1749 {"Rightarrow", 0x021D2}, // RIGHTWARDS DOUBLE ARROW
1750 {"RightArrowBar", 0x021E5}, // RIGHTWARDS ARROW TO BAR
1751 {"RightArrowLeftArrow", 0x021C4}, // RIGHTWARDS ARROW OVER LEFTWARDS ARROW
1752 {"rightarrowtail", 0x021A3}, // RIGHTWARDS ARROW WITH TAIL
1753 {"RightCeiling", 0x02309}, // RIGHT CEILING
1754 {"RightDoubleBracket", 0x027E7}, // MATHEMATICAL RIGHT WHITE SQUARE BRACKET
1755 {"RightDownTeeVector", 0x0295D}, // DOWNWARDS HARPOON WITH BARB RIGHT FROM BAR
1756 {"RightDownVector", 0x021C2}, // DOWNWARDS HARPOON WITH BARB RIGHTWARDS
1757 {"RightDownVectorBar", 0x02955}, // DOWNWARDS HARPOON WITH BARB RIGHT TO BAR
1758 {"RightFloor", 0x0230B}, // RIGHT FLOOR
1759 {"rightharpoondown", 0x021C1}, // RIGHTWARDS HARPOON WITH BARB DOWNWARDS
1760 {"rightharpoonup", 0x021C0}, // RIGHTWARDS HARPOON WITH BARB UPWARDS
1761 {"rightleftarrows", 0x021C4}, // RIGHTWARDS ARROW OVER LEFTWARDS ARROW
1762 {"rightleftharpoons", 0x021CC}, // RIGHTWARDS HARPOON OVER LEFTWARDS HARPOON
1763 {"rightrightarrows", 0x021C9}, // RIGHTWARDS PAIRED ARROWS
1764 {"rightsquigarrow", 0x0219D}, // RIGHTWARDS WAVE ARROW
1765 {"RightTee", 0x022A2}, // RIGHT TACK
1766 {"RightTeeArrow", 0x021A6}, // RIGHTWARDS ARROW FROM BAR
1767 {"RightTeeVector", 0x0295B}, // RIGHTWARDS HARPOON WITH BARB UP FROM BAR
1768 {"rightthreetimes", 0x022CC}, // RIGHT SEMIDIRECT PRODUCT
1769 {"RightTriangle", 0x022B3}, // CONTAINS AS NORMAL SUBGROUP
1770 {"RightTriangleBar", 0x029D0}, // VERTICAL BAR BESIDE RIGHT TRIANGLE
1771 {"RightTriangleEqual", 0x022B5}, // CONTAINS AS NORMAL SUBGROUP OR EQUAL TO
1772 {"RightUpDownVector", 0x0294F}, // UP BARB RIGHT DOWN BARB RIGHT HARPOON
1773 {"RightUpTeeVector", 0x0295C}, // UPWARDS HARPOON WITH BARB RIGHT FROM BAR
1774 {"RightUpVector", 0x021BE}, // UPWARDS HARPOON WITH BARB RIGHTWARDS
1775 {"RightUpVectorBar", 0x02954}, // UPWARDS HARPOON WITH BARB RIGHT TO BAR
1776 {"RightVector", 0x021C0}, // RIGHTWARDS HARPOON WITH BARB UPWARDS
1777 {"RightVectorBar", 0x02953}, // RIGHTWARDS HARPOON WITH BARB UP TO BAR
1778 {"ring", 0x002DA}, // RING ABOVE
1779 {"risingdotseq", 0x02253}, // IMAGE OF OR APPROXIMATELY EQUAL TO
1780 {"rlarr", 0x021C4}, // RIGHTWARDS ARROW OVER LEFTWARDS ARROW
1781 {"rlhar", 0x021CC}, // RIGHTWARDS HARPOON OVER LEFTWARDS HARPOON
1782 {"rlm", 0x0200F}, // RIGHT-TO-LEFT MARK
1783 {"rmoust", 0x023B1}, // UPPER RIGHT OR LOWER LEFT CURLY BRACKET SECTION
1784 {"rmoustache", 0x023B1}, // UPPER RIGHT OR LOWER LEFT CURLY BRACKET SECTION
1785 {"rnmid", 0x02AEE}, // DOES NOT DIVIDE WITH REVERSED NEGATION SLASH
1786 {"roang", 0x027ED}, // MATHEMATICAL RIGHT WHITE TORTOISE SHELL BRACKET
1787 {"roarr", 0x021FE}, // RIGHTWARDS OPEN-HEADED ARROW
1788 {"robrk", 0x027E7}, // MATHEMATICAL RIGHT WHITE SQUARE BRACKET
1789 {"ropar", 0x02986}, // RIGHT WHITE PARENTHESIS
1790 {"Ropf", 0x0211D}, // DOUBLE-STRUCK CAPITAL R
1791 {"ropf", 0x1D563}, // MATHEMATICAL DOUBLE-STRUCK SMALL R
1792 {"roplus", 0x02A2E}, // PLUS SIGN IN RIGHT HALF CIRCLE
1793 {"rotimes", 0x02A35}, // MULTIPLICATION SIGN IN RIGHT HALF CIRCLE
1794 {"RoundImplies", 0x02970}, // RIGHT DOUBLE ARROW WITH ROUNDED HEAD
1795 {"rpar", 0x00029}, // RIGHT PARENTHESIS
1796 {"rpargt", 0x02994}, // RIGHT ARC GREATER-THAN BRACKET
1797 {"rppolint", 0x02A12}, // LINE INTEGRATION WITH RECTANGULAR PATH AROUND POLE
1798 {"rrarr", 0x021C9}, // RIGHTWARDS PAIRED ARROWS
1799 {"Rrightarrow", 0x021DB}, // RIGHTWARDS TRIPLE ARROW
1800 {"rsaquo", 0x0203A}, // SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
1801 {"Rscr", 0x0211B}, // SCRIPT CAPITAL R
1802 {"rscr", 0x1D4C7}, // MATHEMATICAL SCRIPT SMALL R
1803 {"rsh", 0x021B1}, // UPWARDS ARROW WITH TIP RIGHTWARDS
1804 {"Rsh", 0x021B1}, // UPWARDS ARROW WITH TIP RIGHTWARDS
1805 {"rsqb", 0x0005D}, // RIGHT SQUARE BRACKET
1806 {"rsquo", 0x02019}, // RIGHT SINGLE QUOTATION MARK
1807 {"rsquor", 0x02019}, // RIGHT SINGLE QUOTATION MARK
1808 {"rthree", 0x022CC}, // RIGHT SEMIDIRECT PRODUCT
1809 {"rtimes", 0x022CA}, // RIGHT NORMAL FACTOR SEMIDIRECT PRODUCT
1810 {"rtri", 0x025B9}, // WHITE RIGHT-POINTING SMALL TRIANGLE
1811 {"rtrie", 0x022B5}, // CONTAINS AS NORMAL SUBGROUP OR EQUAL TO
1812 {"rtrif", 0x025B8}, // BLACK RIGHT-POINTING SMALL TRIANGLE
1813 {"rtriltri", 0x029CE}, // RIGHT TRIANGLE ABOVE LEFT TRIANGLE
1814 {"RuleDelayed", 0x029F4}, // RULE-DELAYED
1815 {"ruluhar", 0x02968}, // RIGHTWARDS HARPOON WITH BARB UP ABOVE LEFTWARDS HARPOON WITH BARB UP
1816 {"rx", 0x0211E}, // PRESCRIPTION TAKE
1817 {NULL, 0}
1818 };
1819
1820 static NameId namesS[]={
1821 {"Sacute", 0x0015A}, // LATIN CAPITAL LETTER S WITH ACUTE
1822 {"sacute", 0x0015B}, // LATIN SMALL LETTER S WITH ACUTE
1823 {"sbquo", 0x0201A}, // SINGLE LOW-9 QUOTATION MARK
1824 {"sc", 0x0227B}, // SUCCEEDS
1825 {"Sc", 0x02ABC}, // DOUBLE SUCCEEDS
1826 {"scap", 0x02AB8}, // SUCCEEDS ABOVE ALMOST EQUAL TO
1827 {"Scaron", 0x00160}, // LATIN CAPITAL LETTER S WITH CARON
1828 {"scaron", 0x00161}, // LATIN SMALL LETTER S WITH CARON
1829 {"sccue", 0x0227D}, // SUCCEEDS OR EQUAL TO
1830 {"sce", 0x02AB0}, // SUCCEEDS ABOVE SINGLE-LINE EQUALS SIGN
1831 {"scE", 0x02AB4}, // SUCCEEDS ABOVE EQUALS SIGN
1832 {"Scedil", 0x0015E}, // LATIN CAPITAL LETTER S WITH CEDILLA
1833 {"scedil", 0x0015F}, // LATIN SMALL LETTER S WITH CEDILLA
1834 {"Scirc", 0x0015C}, // LATIN CAPITAL LETTER S WITH CIRCUMFLEX
1835 {"scirc", 0x0015D}, // LATIN SMALL LETTER S WITH CIRCUMFLEX
1836 {"scnap", 0x02ABA}, // SUCCEEDS ABOVE NOT ALMOST EQUAL TO
1837 {"scnE", 0x02AB6}, // SUCCEEDS ABOVE NOT EQUAL TO
1838 {"scnsim", 0x022E9}, // SUCCEEDS BUT NOT EQUIVALENT TO
1839 {"scpolint", 0x02A13}, // LINE INTEGRATION WITH SEMICIRCULAR PATH AROUND POLE
1840 {"scsim", 0x0227F}, // SUCCEEDS OR EQUIVALENT TO
1841 {"Scy", 0x00421}, // CYRILLIC CAPITAL LETTER ES
1842 {"scy", 0x00441}, // CYRILLIC SMALL LETTER ES
1843 {"sdot", 0x022C5}, // DOT OPERATOR
1844 {"sdotb", 0x022A1}, // SQUARED DOT OPERATOR
1845 {"sdote", 0x02A66}, // EQUALS SIGN WITH DOT BELOW
1846 {"searhk", 0x02925}, // SOUTH EAST ARROW WITH HOOK
1847 {"searr", 0x02198}, // SOUTH EAST ARROW
1848 {"seArr", 0x021D8}, // SOUTH EAST DOUBLE ARROW
1849 {"searrow", 0x02198}, // SOUTH EAST ARROW
1850 {"sect", 0x000A7}, // SECTION SIGN
1851 {"semi", 0x0003B}, // SEMICOLON
1852 {"seswar", 0x02929}, // SOUTH EAST ARROW AND SOUTH WEST ARROW
1853 {"setminus", 0x02216}, // SET MINUS
1854 {"setmn", 0x02216}, // SET MINUS
1855 {"sext", 0x02736}, // SIX POINTED BLACK STAR
1856 {"sfgr", 0x003C2}, // GREEK SMALL LETTER FINAL SIGMA
1857 {"Sfr", 0x1D516}, // MATHEMATICAL FRAKTUR CAPITAL S
1858 {"sfr", 0x1D530}, // MATHEMATICAL FRAKTUR SMALL S
1859 {"sfrown", 0x02322}, // FROWN
1860 {"Sgr", 0x003A3}, // GREEK CAPITAL LETTER SIGMA
1861 {"sgr", 0x003C3}, // GREEK SMALL LETTER SIGMA
1862 {"sharp", 0x0266F}, // MUSIC SHARP SIGN
1863 {"SHCHcy", 0x00429}, // CYRILLIC CAPITAL LETTER SHCHA
1864 {"shchcy", 0x00449}, // CYRILLIC SMALL LETTER SHCHA
1865 {"SHcy", 0x00428}, // CYRILLIC CAPITAL LETTER SHA
1866 {"shcy", 0x00448}, // CYRILLIC SMALL LETTER SHA
1867 {"ShortDownArrow", 0x02193}, // DOWNWARDS ARROW
1868 {"ShortLeftArrow", 0x02190}, // LEFTWARDS ARROW
1869 {"shortmid", 0x02223}, // DIVIDES
1870 {"shortparallel", 0x02225}, // PARALLEL TO
1871 {"ShortRightArrow", 0x02192}, // RIGHTWARDS ARROW
1872 {"ShortUpArrow", 0x02191}, // UPWARDS ARROW
1873 {"shy", 0x000AD}, // SOFT HYPHEN
1874 {"Sigma", 0x003A3}, // GREEK CAPITAL LETTER SIGMA
1875 {"sigma", 0x003C3}, // GREEK SMALL LETTER SIGMA
1876 {"sigmaf", 0x003C2}, // GREEK SMALL LETTER FINAL SIGMA
1877 {"sigmav", 0x003C2}, // GREEK SMALL LETTER FINAL SIGMA
1878 {"sim", 0x0223C}, // TILDE OPERATOR
1879 {"simdot", 0x02A6A}, // TILDE OPERATOR WITH DOT ABOVE
1880 {"sime", 0x02243}, // ASYMPTOTICALLY EQUAL TO
1881 {"simeq", 0x02243}, // ASYMPTOTICALLY EQUAL TO
1882 {"simg", 0x02A9E}, // SIMILAR OR GREATER-THAN
1883 {"simgE", 0x02AA0}, // SIMILAR ABOVE GREATER-THAN ABOVE EQUALS SIGN
1884 {"siml", 0x02A9D}, // SIMILAR OR LESS-THAN
1885 {"simlE", 0x02A9F}, // SIMILAR ABOVE LESS-THAN ABOVE EQUALS SIGN
1886 {"simne", 0x02246}, // APPROXIMATELY BUT NOT ACTUALLY EQUAL TO
1887 {"simplus", 0x02A24}, // PLUS SIGN WITH TILDE ABOVE
1888 {"simrarr", 0x02972}, // TILDE OPERATOR ABOVE RIGHTWARDS ARROW
1889 {"slarr", 0x02190}, // LEFTWARDS ARROW
1890 {"SmallCircle", 0x02218}, // RING OPERATOR
1891 {"smallsetminus", 0x02216}, // SET MINUS
1892 {"smashp", 0x02A33}, // SMASH PRODUCT
1893 {"smeparsl", 0x029E4}, // EQUALS SIGN AND SLANTED PARALLEL WITH TILDE ABOVE
1894 {"smid", 0x02223}, // DIVIDES
1895 {"smile", 0x02323}, // SMILE
1896 {"smt", 0x02AAA}, // SMALLER THAN
1897 {"smte", 0x02AAC}, // SMALLER THAN OR EQUAL TO
1898 // "smtes", 0x02AAC;0x0FE00}, // SMALLER THAN OR slanted EQUAL
1899 {"SOFTcy", 0x0042C}, // CYRILLIC CAPITAL LETTER SOFT SIGN
1900 {"softcy", 0x0044C}, // CYRILLIC SMALL LETTER SOFT SIGN
1901 {"sol", 0x0002F}, // SOLIDUS
1902 {"solb", 0x029C4}, // SQUARED RISING DIAGONAL SLASH
1903 {"solbar", 0x0233F}, // APL FUNCTIONAL SYMBOL SLASH BAR
1904 {"Sopf", 0x1D54A}, // MATHEMATICAL DOUBLE-STRUCK CAPITAL S
1905 {"sopf", 0x1D564}, // MATHEMATICAL DOUBLE-STRUCK SMALL S
1906 {"spades", 0x02660}, // BLACK SPADE SUIT
1907 {"spadesuit", 0x02660}, // BLACK SPADE SUIT
1908 {"spar", 0x02225}, // PARALLEL TO
1909 {"sqcap", 0x02293}, // SQUARE CAP
1910 // "sqcaps", 0x02293;0x0FE00}, // SQUARE CAP with serifs
1911 {"sqcup", 0x02294}, // SQUARE CUP
1912 // "sqcups", 0x02294;0x0FE00}, // SQUARE CUP with serifs
1913 {"Sqrt", 0x0221A}, // SQUARE ROOT
1914 {"sqsub", 0x0228F}, // SQUARE IMAGE OF
1915 {"sqsube", 0x02291}, // SQUARE IMAGE OF OR EQUAL TO
1916 {"sqsubset", 0x0228F}, // SQUARE IMAGE OF
1917 {"sqsubseteq", 0x02291}, // SQUARE IMAGE OF OR EQUAL TO
1918 {"sqsup", 0x02290}, // SQUARE ORIGINAL OF
1919 {"sqsupe", 0x02292}, // SQUARE ORIGINAL OF OR EQUAL TO
1920 {"sqsupset", 0x02290}, // SQUARE ORIGINAL OF
1921 {"sqsupseteq", 0x02292}, // SQUARE ORIGINAL OF OR EQUAL TO
1922 {"squ", 0x025A1}, // WHITE SQUARE
1923 {"square", 0x025A1}, // WHITE SQUARE
1924 {"Square", 0x025A1}, // WHITE SQUARE
1925 {"SquareIntersection", 0x02293}, // SQUARE CAP
1926 {"SquareSubset", 0x0228F}, // SQUARE IMAGE OF
1927 {"SquareSubsetEqual", 0x02291}, // SQUARE IMAGE OF OR EQUAL TO
1928 {"SquareSuperset", 0x02290}, // SQUARE ORIGINAL OF
1929 {"SquareSupersetEqual", 0x02292}, // SQUARE ORIGINAL OF OR EQUAL TO
1930 {"SquareUnion", 0x02294}, // SQUARE CUP
1931 {"squarf", 0x025AA}, // BLACK SMALL SQUARE
1932 {"squf", 0x025AA}, // BLACK SMALL SQUARE
1933 {"srarr", 0x02192}, // RIGHTWARDS ARROW
1934 {"Sscr", 0x1D4AE}, // MATHEMATICAL SCRIPT CAPITAL S
1935 {"sscr", 0x1D4C8}, // MATHEMATICAL SCRIPT SMALL S
1936 {"ssetmn", 0x02216}, // SET MINUS
1937 {"ssmile", 0x02323}, // SMILE
1938 {"sstarf", 0x022C6}, // STAR OPERATOR
1939 {"Star", 0x022C6}, // STAR OPERATOR
1940 {"star", 0x02606}, // WHITE STAR
1941 {"starf", 0x02605}, // BLACK STAR
1942 {"straightepsilon", 0x003F5}, // GREEK LUNATE EPSILON SYMBOL
1943 {"straightphi", 0x003D5}, // GREEK PHI SYMBOL
1944 {"strns", 0x000AF}, // MACRON
1945 {"sub", 0x02282}, // SUBSET OF
1946 {"Sub", 0x022D0}, // DOUBLE SUBSET
1947 {"subdot", 0x02ABD}, // SUBSET WITH DOT
1948 {"sube", 0x02286}, // SUBSET OF OR EQUAL TO
1949 {"subE", 0x02AC5}, // SUBSET OF ABOVE EQUALS SIGN
1950 {"subedot", 0x02AC3}, // SUBSET OF OR EQUAL TO WITH DOT ABOVE
1951 {"submult", 0x02AC1}, // SUBSET WITH MULTIPLICATION SIGN BELOW
1952 {"subne", 0x0228A}, // SUBSET OF WITH NOT EQUAL TO
1953 {"subnE", 0x02ACB}, // SUBSET OF ABOVE NOT EQUAL TO
1954 {"subplus", 0x02ABF}, // SUBSET WITH PLUS SIGN BELOW
1955 {"subrarr", 0x02979}, // SUBSET ABOVE RIGHTWARDS ARROW
1956 {"subset", 0x02282}, // SUBSET OF
1957 {"Subset", 0x022D0}, // DOUBLE SUBSET
1958 {"subseteq", 0x02286}, // SUBSET OF OR EQUAL TO
1959 {"subseteqq", 0x02AC5}, // SUBSET OF ABOVE EQUALS SIGN
1960 {"SubsetEqual", 0x02286}, // SUBSET OF OR EQUAL TO
1961 {"subsetneq", 0x0228A}, // SUBSET OF WITH NOT EQUAL TO
1962 {"subsetneqq", 0x02ACB}, // SUBSET OF ABOVE NOT EQUAL TO
1963 {"subsim", 0x02AC7}, // SUBSET OF ABOVE TILDE OPERATOR
1964 {"subsub", 0x02AD5}, // SUBSET ABOVE SUBSET
1965 {"subsup", 0x02AD3}, // SUBSET ABOVE SUPERSET
1966 {"succ", 0x0227B}, // SUCCEEDS
1967 {"succapprox", 0x02AB8}, // SUCCEEDS ABOVE ALMOST EQUAL TO
1968 {"succcurlyeq", 0x0227D}, // SUCCEEDS OR EQUAL TO
1969 {"Succeeds", 0x0227B}, // SUCCEEDS
1970 {"SucceedsEqual", 0x02AB0}, // SUCCEEDS ABOVE SINGLE-LINE EQUALS SIGN
1971 {"SucceedsSlantEqual", 0x0227D}, // SUCCEEDS OR EQUAL TO
1972 {"SucceedsTilde", 0x0227F}, // SUCCEEDS OR EQUIVALENT TO
1973 {"succeq", 0x02AB0}, // SUCCEEDS ABOVE SINGLE-LINE EQUALS SIGN
1974 {"succnapprox", 0x02ABA}, // SUCCEEDS ABOVE NOT ALMOST EQUAL TO
1975 {"succneqq", 0x02AB6}, // SUCCEEDS ABOVE NOT EQUAL TO
1976 {"succnsim", 0x022E9}, // SUCCEEDS BUT NOT EQUIVALENT TO
1977 {"succsim", 0x0227F}, // SUCCEEDS OR EQUIVALENT TO
1978 {"SuchThat", 0x0220B}, // CONTAINS AS MEMBER
1979 {"sum", 0x02211}, // N-ARY SUMMATION
1980 {"Sum", 0x02211}, // N-ARY SUMMATION
1981 {"sung", 0x0266A}, // EIGHTH NOTE
1982 {"sup", 0x02283}, // SUPERSET OF
1983 {"Sup", 0x022D1}, // DOUBLE SUPERSET
1984 {"sup1", 0x000B9}, // SUPERSCRIPT ONE
1985 {"sup2", 0x000B2}, // SUPERSCRIPT TWO
1986 {"sup3", 0x000B3}, // SUPERSCRIPT THREE
1987 {"supdot", 0x02ABE}, // SUPERSET WITH DOT
1988 {"supdsub", 0x02AD8}, // SUPERSET BESIDE AND JOINED BY DASH WITH SUBSET
1989 {"supe", 0x02287}, // SUPERSET OF OR EQUAL TO
1990 {"supE", 0x02AC6}, // SUPERSET OF ABOVE EQUALS SIGN
1991 {"supedot", 0x02AC4}, // SUPERSET OF OR EQUAL TO WITH DOT ABOVE
1992 {"Superset", 0x02283}, // SUPERSET OF
1993 {"SupersetEqual", 0x02287}, // SUPERSET OF OR EQUAL TO
1994 {"suphsol", 0x027C9}, // SUPERSET PRECEDING SOLIDUS
1995 {"suphsub", 0x02AD7}, // SUPERSET BESIDE SUBSET
1996 {"suplarr", 0x0297B}, // SUPERSET ABOVE LEFTWARDS ARROW
1997 {"supmult", 0x02AC2}, // SUPERSET WITH MULTIPLICATION SIGN BELOW
1998 {"supne", 0x0228B}, // SUPERSET OF WITH NOT EQUAL TO
1999 {"supnE", 0x02ACC}, // SUPERSET OF ABOVE NOT EQUAL TO
2000 {"supplus", 0x02AC0}, // SUPERSET WITH PLUS SIGN BELOW
2001 {"supset", 0x02283}, // SUPERSET OF
2002 {"Supset", 0x022D1}, // DOUBLE SUPERSET
2003 {"supseteq", 0x02287}, // SUPERSET OF OR EQUAL TO
2004 {"supseteqq", 0x02AC6}, // SUPERSET OF ABOVE EQUALS SIGN
2005 {"supsetneq", 0x0228B}, // SUPERSET OF WITH NOT EQUAL TO
2006 {"supsetneqq", 0x02ACC}, // SUPERSET OF ABOVE NOT EQUAL TO
2007 {"supsim", 0x02AC8}, // SUPERSET OF ABOVE TILDE OPERATOR
2008 {"supsub", 0x02AD4}, // SUPERSET ABOVE SUBSET
2009 {"supsup", 0x02AD6}, // SUPERSET ABOVE SUPERSET
2010 {"swarhk", 0x02926}, // SOUTH WEST ARROW WITH HOOK
2011 {"swarr", 0x02199}, // SOUTH WEST ARROW
2012 {"swArr", 0x021D9}, // SOUTH WEST DOUBLE ARROW
2013 {"swarrow", 0x02199}, // SOUTH WEST ARROW
2014 {"swnwar", 0x0292A}, // SOUTH WEST ARROW AND NORTH WEST ARROW
2015 {"szlig", 0x000DF}, // LATIN SMALL LETTER SHARP S
2016 {NULL, 0}
2017 };
2018
2019 static NameId namesT[]={
2020 {"Tab", 0x00009}, // CHARACTER TABULATION
2021 {"target", 0x02316}, // POSITION INDICATOR
2022 {"Tau", 0x003A4}, // GREEK CAPITAL LETTER TAU
2023 {"tau", 0x003C4}, // GREEK SMALL LETTER TAU
2024 {"tbrk", 0x023B4}, // TOP SQUARE BRACKET
2025 {"Tcaron", 0x00164}, // LATIN CAPITAL LETTER T WITH CARON
2026 {"tcaron", 0x00165}, // LATIN SMALL LETTER T WITH CARON
2027 {"Tcedil", 0x00162}, // LATIN CAPITAL LETTER T WITH CEDILLA
2028 {"tcedil", 0x00163}, // LATIN SMALL LETTER T WITH CEDILLA
2029 {"Tcy", 0x00422}, // CYRILLIC CAPITAL LETTER TE
2030 {"tcy", 0x00442}, // CYRILLIC SMALL LETTER TE
2031 {"tdot", 0x020DB}, // COMBINING THREE DOTS ABOVE
2032 {"telrec", 0x02315}, // TELEPHONE RECORDER
2033 {"Tfr", 0x1D517}, // MATHEMATICAL FRAKTUR CAPITAL T
2034 {"tfr", 0x1D531}, // MATHEMATICAL FRAKTUR SMALL T
2035 {"Tgr", 0x003A4}, // GREEK CAPITAL LETTER TAU
2036 {"tgr", 0x003C4}, // GREEK SMALL LETTER TAU
2037 {"there4", 0x02234}, // THEREFORE
2038 {"therefore", 0x02234}, // THEREFORE
2039 {"Therefore", 0x02234}, // THEREFORE
2040 {"Theta", 0x00398}, // GREEK CAPITAL LETTER THETA
2041 {"theta", 0x003B8}, // GREEK SMALL LETTER THETA
2042 {"thetasym", 0x003D1}, // GREEK THETA SYMBOL
2043 {"thetav", 0x003D1}, // GREEK THETA SYMBOL
2044 {"THgr", 0x00398}, // GREEK CAPITAL LETTER THETA
2045 {"thgr", 0x003B8}, // GREEK SMALL LETTER THETA
2046 {"thickapprox", 0x02248}, // ALMOST EQUAL TO
2047 {"thicksim", 0x0223C}, // TILDE OPERATOR
2048 // "ThickSpace", 0x0205F;0x0200A}, // space of width 5/18 em
2049 {"thinsp", 0x02009}, // THIN SPACE
2050 {"ThinSpace", 0x02009}, // THIN SPACE
2051 {"thkap", 0x02248}, // ALMOST EQUAL TO
2052 {"thksim", 0x0223C}, // TILDE OPERATOR
2053 {"THORN", 0x000DE}, // LATIN CAPITAL LETTER THORN
2054 {"thorn", 0x000FE}, // LATIN SMALL LETTER THORN
2055 {"tilde", 0x002DC}, // SMALL TILDE
2056 {"Tilde", 0x0223C}, // TILDE OPERATOR
2057 {"TildeEqual", 0x02243}, // ASYMPTOTICALLY EQUAL TO
2058 {"TildeFullEqual", 0x02245}, // APPROXIMATELY EQUAL TO
2059 {"TildeTilde", 0x02248}, // ALMOST EQUAL TO
2060 {"times", 0x000D7}, // MULTIPLICATION SIGN
2061 {"timesb", 0x022A0}, // SQUARED TIMES
2062 {"timesbar", 0x02A31}, // MULTIPLICATION SIGN WITH UNDERBAR
2063 {"timesd", 0x02A30}, // MULTIPLICATION SIGN WITH DOT ABOVE
2064 {"tint", 0x0222D}, // TRIPLE INTEGRAL
2065 {"toea", 0x02928}, // NORTH EAST ARROW AND SOUTH EAST ARROW
2066 {"top", 0x022A4}, // DOWN TACK
2067 {"topbot", 0x02336}, // APL FUNCTIONAL SYMBOL I-BEAM
2068 {"topcir", 0x02AF1}, // DOWN TACK WITH CIRCLE BELOW
2069 {"Topf", 0x1D54B}, // MATHEMATICAL DOUBLE-STRUCK CAPITAL T
2070 {"topf", 0x1D565}, // MATHEMATICAL DOUBLE-STRUCK SMALL T
2071 {"topfork", 0x02ADA}, // PITCHFORK WITH TEE TOP
2072 {"tosa", 0x02929}, // SOUTH EAST ARROW AND SOUTH WEST ARROW
2073 {"tprime", 0x02034}, // TRIPLE PRIME
2074 {"trade", 0x02122}, // TRADE MARK SIGN
2075 {"TRADE", 0x02122}, // TRADE MARK SIGN
2076 {"triangle", 0x025B5}, // WHITE UP-POINTING SMALL TRIANGLE
2077 {"triangledown", 0x025BF}, // WHITE DOWN-POINTING SMALL TRIANGLE
2078 {"triangleleft", 0x025C3}, // WHITE LEFT-POINTING SMALL TRIANGLE
2079 {"trianglelefteq", 0x022B4}, // NORMAL SUBGROUP OF OR EQUAL TO
2080 {"triangleq", 0x0225C}, // DELTA EQUAL TO
2081 {"triangleright", 0x025B9}, // WHITE RIGHT-POINTING SMALL TRIANGLE
2082 {"trianglerighteq", 0x022B5}, // CONTAINS AS NORMAL SUBGROUP OR EQUAL TO
2083 {"tridot", 0x025EC}, // WHITE UP-POINTING TRIANGLE WITH DOT
2084 {"trie", 0x0225C}, // DELTA EQUAL TO
2085 {"triminus", 0x02A3A}, // MINUS SIGN IN TRIANGLE
2086 {"TripleDot", 0x020DB}, // COMBINING THREE DOTS ABOVE
2087 {"triplus", 0x02A39}, // PLUS SIGN IN TRIANGLE
2088 {"trisb", 0x029CD}, // TRIANGLE WITH SERIFS AT BOTTOM
2089 {"tritime", 0x02A3B}, // MULTIPLICATION SIGN IN TRIANGLE
2090 {"trpezium", 0x023E2}, // WHITE TRAPEZIUM
2091 {"Tscr", 0x1D4AF}, // MATHEMATICAL SCRIPT CAPITAL T
2092 {"tscr", 0x1D4C9}, // MATHEMATICAL SCRIPT SMALL T
2093 {"TScy", 0x00426}, // CYRILLIC CAPITAL LETTER TSE
2094 {"tscy", 0x00446}, // CYRILLIC SMALL LETTER TSE
2095 {"TSHcy", 0x0040B}, // CYRILLIC CAPITAL LETTER TSHE
2096 {"tshcy", 0x0045B}, // CYRILLIC SMALL LETTER TSHE
2097 {"Tstrok", 0x00166}, // LATIN CAPITAL LETTER T WITH STROKE
2098 {"tstrok", 0x00167}, // LATIN SMALL LETTER T WITH STROKE
2099 {"twixt", 0x0226C}, // BETWEEN
2100 {"twoheadleftarrow", 0x0219E}, // LEFTWARDS TWO HEADED ARROW
2101 {"twoheadrightarrow", 0x021A0}, // RIGHTWARDS TWO HEADED ARROW
2102 {NULL, 0}
2103 };
2104
2105 static NameId namesU[]={
2106 {"Uacgr", 0x0038E}, // GREEK CAPITAL LETTER UPSILON WITH TONOS
2107 {"uacgr", 0x003CD}, // GREEK SMALL LETTER UPSILON WITH TONOS
2108 {"Uacute", 0x000DA}, // LATIN CAPITAL LETTER U WITH ACUTE
2109 {"uacute", 0x000FA}, // LATIN SMALL LETTER U WITH ACUTE
2110 {"uarr", 0x02191}, // UPWARDS ARROW
2111 {"Uarr", 0x0219F}, // UPWARDS TWO HEADED ARROW
2112 {"uArr", 0x021D1}, // UPWARDS DOUBLE ARROW
2113 {"Uarrocir", 0x02949}, // UPWARDS TWO-HEADED ARROW FROM SMALL CIRCLE
2114 {"Ubrcy", 0x0040E}, // CYRILLIC CAPITAL LETTER SHORT U
2115 {"ubrcy", 0x0045E}, // CYRILLIC SMALL LETTER SHORT U
2116 {"Ubreve", 0x0016C}, // LATIN CAPITAL LETTER U WITH BREVE
2117 {"ubreve", 0x0016D}, // LATIN SMALL LETTER U WITH BREVE
2118 {"Ucirc", 0x000DB}, // LATIN CAPITAL LETTER U WITH CIRCUMFLEX
2119 {"ucirc", 0x000FB}, // LATIN SMALL LETTER U WITH CIRCUMFLEX
2120 {"Ucy", 0x00423}, // CYRILLIC CAPITAL LETTER U
2121 {"ucy", 0x00443}, // CYRILLIC SMALL LETTER U
2122 {"udarr", 0x021C5}, // UPWARDS ARROW LEFTWARDS OF DOWNWARDS ARROW
2123 {"Udblac", 0x00170}, // LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
2124 {"udblac", 0x00171}, // LATIN SMALL LETTER U WITH DOUBLE ACUTE
2125 {"udhar", 0x0296E}, // UPWARDS HARPOON WITH BARB LEFT BESIDE DOWNWARDS HARPOON WITH BARB RIGHT
2126 {"udiagr", 0x003B0}, // GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS
2127 {"Udigr", 0x003AB}, // GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA
2128 {"udigr", 0x003CB}, // GREEK SMALL LETTER UPSILON WITH DIALYTIKA
2129 {"ufisht", 0x0297E}, // UP FISH TAIL
2130 {"Ufr", 0x1D518}, // MATHEMATICAL FRAKTUR CAPITAL U
2131 {"ufr", 0x1D532}, // MATHEMATICAL FRAKTUR SMALL U
2132 {"Ugr", 0x003A5}, // GREEK CAPITAL LETTER UPSILON
2133 {"ugr", 0x003C5}, // GREEK SMALL LETTER UPSILON
2134 {"Ugrave", 0x000D9}, // LATIN CAPITAL LETTER U WITH GRAVE
2135 {"ugrave", 0x000F9}, // LATIN SMALL LETTER U WITH GRAVE
2136 {"uHar", 0x02963}, // UPWARDS HARPOON WITH BARB LEFT BESIDE UPWARDS HARPOON WITH BARB RIGHT
2137 {"uharl", 0x021BF}, // UPWARDS HARPOON WITH BARB LEFTWARDS
2138 {"uharr", 0x021BE}, // UPWARDS HARPOON WITH BARB RIGHTWARDS
2139 {"uhblk", 0x02580}, // UPPER HALF BLOCK
2140 {"ulcorn", 0x0231C}, // TOP LEFT CORNER
2141 {"ulcorner", 0x0231C}, // TOP LEFT CORNER
2142 {"ulcrop", 0x0230F}, // TOP LEFT CROP
2143 {"ultri", 0x025F8}, // UPPER LEFT TRIANGLE
2144 {"Umacr", 0x0016A}, // LATIN CAPITAL LETTER U WITH MACRON
2145 {"umacr", 0x0016B}, // LATIN SMALL LETTER U WITH MACRON
2146 {"uml", 0x000A8}, // DIAERESIS
2147 {"UnderBar", 0x0005F}, // LOW LINE
2148 {"UnderBrace", 0x023DF}, // BOTTOM CURLY BRACKET
2149 {"UnderBracket", 0x023B5}, // BOTTOM SQUARE BRACKET
2150 {"UnderParenthesis", 0x023DD}, // BOTTOM PARENTHESIS
2151 {"Union", 0x022C3}, // N-ARY UNION
2152 {"UnionPlus", 0x0228E}, // MULTISET UNION
2153 {"Uogon", 0x00172}, // LATIN CAPITAL LETTER U WITH OGONEK
2154 {"uogon", 0x00173}, // LATIN SMALL LETTER U WITH OGONEK
2155 {"Uopf", 0x1D54C}, // MATHEMATICAL DOUBLE-STRUCK CAPITAL U
2156 {"uopf", 0x1D566}, // MATHEMATICAL DOUBLE-STRUCK SMALL U
2157 {"uparrow", 0x02191}, // UPWARDS ARROW
2158 {"UpArrow", 0x02191}, // UPWARDS ARROW
2159 {"Uparrow", 0x021D1}, // UPWARDS DOUBLE ARROW
2160 {"UpArrowBar", 0x02912}, // UPWARDS ARROW TO BAR
2161 {"UpArrowDownArrow", 0x021C5}, // UPWARDS ARROW LEFTWARDS OF DOWNWARDS ARROW
2162 {"updownarrow", 0x02195}, // UP DOWN ARROW
2163 {"UpDownArrow", 0x02195}, // UP DOWN ARROW
2164 {"Updownarrow", 0x021D5}, // UP DOWN DOUBLE ARROW
2165 {"UpEquilibrium", 0x0296E}, // UPWARDS HARPOON WITH BARB LEFT BESIDE DOWNWARDS HARPOON WITH BARB RIGHT
2166 {"upharpoonleft", 0x021BF}, // UPWARDS HARPOON WITH BARB LEFTWARDS
2167 {"upharpoonright", 0x021BE}, // UPWARDS HARPOON WITH BARB RIGHTWARDS
2168 {"uplus", 0x0228E}, // MULTISET UNION
2169 {"UpperLeftArrow", 0x02196}, // NORTH WEST ARROW
2170 {"UpperRightArrow", 0x02197}, // NORTH EAST ARROW
2171 {"upsi", 0x003C5}, // GREEK SMALL LETTER UPSILON
2172 {"Upsi", 0x003D2}, // GREEK UPSILON WITH HOOK SYMBOL
2173 {"upsih", 0x003D2}, // GREEK UPSILON WITH HOOK SYMBOL
2174 {"Upsilon", 0x003A5}, // GREEK CAPITAL LETTER UPSILON
2175 {"upsilon", 0x003C5}, // GREEK SMALL LETTER UPSILON
2176 {"UpTee", 0x022A5}, // UP TACK
2177 {"UpTeeArrow", 0x021A5}, // UPWARDS ARROW FROM BAR
2178 {"upuparrows", 0x021C8}, // UPWARDS PAIRED ARROWS
2179 {"urcorn", 0x0231D}, // TOP RIGHT CORNER
2180 {"urcorner", 0x0231D}, // TOP RIGHT CORNER
2181 {"urcrop", 0x0230E}, // TOP RIGHT CROP
2182 {"Uring", 0x0016E}, // LATIN CAPITAL LETTER U WITH RING ABOVE
2183 {"uring", 0x0016F}, // LATIN SMALL LETTER U WITH RING ABOVE
2184 {"urtri", 0x025F9}, // UPPER RIGHT TRIANGLE
2185 {"Uscr", 0x1D4B0}, // MATHEMATICAL SCRIPT CAPITAL U
2186 {"uscr", 0x1D4CA}, // MATHEMATICAL SCRIPT SMALL U
2187 {"utdot", 0x022F0}, // UP RIGHT DIAGONAL ELLIPSIS
2188 {"Utilde", 0x00168}, // LATIN CAPITAL LETTER U WITH TILDE
2189 {"utilde", 0x00169}, // LATIN SMALL LETTER U WITH TILDE
2190 {"utri", 0x025B5}, // WHITE UP-POINTING SMALL TRIANGLE
2191 {"utrif", 0x025B4}, // BLACK UP-POINTING SMALL TRIANGLE
2192 {"uuarr", 0x021C8}, // UPWARDS PAIRED ARROWS
2193 {"Uuml", 0x000DC}, // LATIN CAPITAL LETTER U WITH DIAERESIS
2194 {"uuml", 0x000FC}, // LATIN SMALL LETTER U WITH DIAERESIS
2195 {"uwangle", 0x029A7}, // OBLIQUE ANGLE OPENING DOWN
2196 {NULL, 0}
2197 };
2198
2199 static NameId namesV[]={
2200 {"vangrt", 0x0299C}, // RIGHT ANGLE VARIANT WITH SQUARE
2201 {"varepsilon", 0x003F5}, // GREEK LUNATE EPSILON SYMBOL
2202 {"varkappa", 0x003F0}, // GREEK KAPPA SYMBOL
2203 {"varnothing", 0x02205}, // EMPTY SET
2204 {"varphi", 0x003D5}, // GREEK PHI SYMBOL
2205 {"varpi", 0x003D6}, // GREEK PI SYMBOL
2206 {"varpropto", 0x0221D}, // PROPORTIONAL TO
2207 {"varr", 0x02195}, // UP DOWN ARROW
2208 {"vArr", 0x021D5}, // UP DOWN DOUBLE ARROW
2209 {"varrho", 0x003F1}, // GREEK RHO SYMBOL
2210 {"varsigma", 0x003C2}, // GREEK SMALL LETTER FINAL SIGMA
2211 // "varsubsetneq", 0x0228A;0x0FE00}, // SUBSET OF WITH NOT EQUAL TO - variant with stroke through bottom members
2212 // "varsubsetneqq", 0x02ACB;0x0FE00}, // SUBSET OF ABOVE NOT EQUAL TO - variant with stroke through bottom members
2213 // "varsupsetneq", 0x0228B;0x0FE00}, // SUPERSET OF WITH NOT EQUAL TO - variant with stroke through bottom members
2214 // "varsupsetneqq", 0x02ACC;0x0FE00}, // SUPERSET OF ABOVE NOT EQUAL TO - variant with stroke through bottom members
2215 {"vartheta", 0x003D1}, // GREEK THETA SYMBOL
2216 {"vartriangleleft", 0x022B2}, // NORMAL SUBGROUP OF
2217 {"vartriangleright", 0x022B3}, // CONTAINS AS NORMAL SUBGROUP
2218 {"vBar", 0x02AE8}, // SHORT UP TACK WITH UNDERBAR
2219 {"Vbar", 0x02AEB}, // DOUBLE UP TACK
2220 {"vBarv", 0x02AE9}, // SHORT UP TACK ABOVE SHORT DOWN TACK
2221 {"Vcy", 0x00412}, // CYRILLIC CAPITAL LETTER VE
2222 {"vcy", 0x00432}, // CYRILLIC SMALL LETTER VE
2223 {"vdash", 0x022A2}, // RIGHT TACK
2224 {"vDash", 0x022A8}, // TRUE
2225 {"Vdash", 0x022A9}, // FORCES
2226 {"VDash", 0x022AB}, // DOUBLE VERTICAL BAR DOUBLE RIGHT TURNSTILE
2227 {"Vdashl", 0x02AE6}, // LONG DASH FROM LEFT MEMBER OF DOUBLE VERTICAL
2228 {"vee", 0x02228}, // LOGICAL OR
2229 {"Vee", 0x022C1}, // N-ARY LOGICAL OR
2230 {"veebar", 0x022BB}, // XOR
2231 {"veeeq", 0x0225A}, // EQUIANGULAR TO
2232 {"vellip", 0x022EE}, // VERTICAL ELLIPSIS
2233 {"verbar", 0x0007C}, // VERTICAL LINE
2234 {"Verbar", 0x02016}, // DOUBLE VERTICAL LINE
2235 {"vert", 0x0007C}, // VERTICAL LINE
2236 {"Vert", 0x02016}, // DOUBLE VERTICAL LINE
2237 {"VerticalBar", 0x02223}, // DIVIDES
2238 {"VerticalLine", 0x0007C}, // VERTICAL LINE
2239 {"VerticalSeparator", 0x02758}, // LIGHT VERTICAL BAR
2240 {"VerticalTilde", 0x02240}, // WREATH PRODUCT
2241 {"VeryThinSpace", 0x0200A}, // HAIR SPACE
2242 {"Vfr", 0x1D519}, // MATHEMATICAL FRAKTUR CAPITAL V
2243 {"vfr", 0x1D533}, // MATHEMATICAL FRAKTUR SMALL V
2244 {"vltri", 0x022B2}, // NORMAL SUBGROUP OF
2245 // "vnsub", 0x02282;0x020D2}, // SUBSET OF with vertical line
2246 // "vnsup", 0x02283;0x020D2}, // SUPERSET OF with vertical line
2247 {"Vopf", 0x1D54D}, // MATHEMATICAL DOUBLE-STRUCK CAPITAL V
2248 {"vopf", 0x1D567}, // MATHEMATICAL DOUBLE-STRUCK SMALL V
2249 {"vprop", 0x0221D}, // PROPORTIONAL TO
2250 {"vrtri", 0x022B3}, // CONTAINS AS NORMAL SUBGROUP
2251 {"Vscr", 0x1D4B1}, // MATHEMATICAL SCRIPT CAPITAL V
2252 {"vscr", 0x1D4CB}, // MATHEMATICAL SCRIPT SMALL V
2253 // "vsubne", 0x0228A;0x0FE00}, // SUBSET OF WITH NOT EQUAL TO - variant with stroke through bottom members
2254 // "vsubnE", 0x02ACB;0x0FE00}, // SUBSET OF ABOVE NOT EQUAL TO - variant with stroke through bottom members
2255 // "vsupne", 0x0228B;0x0FE00}, // SUPERSET OF WITH NOT EQUAL TO - variant with stroke through bottom members
2256 // "vsupnE", 0x02ACC;0x0FE00}, // SUPERSET OF ABOVE NOT EQUAL TO - variant with stroke through bottom members
2257 {"Vvdash", 0x022AA}, // TRIPLE VERTICAL BAR RIGHT TURNSTILE
2258 {"vzigzag", 0x0299A}, // VERTICAL ZIGZAG LINE
2259 {NULL, 0}
2260 };
2261
2262 static NameId namesW[]={
2263 {"Wcirc", 0x00174}, // LATIN CAPITAL LETTER W WITH CIRCUMFLEX
2264 {"wcirc", 0x00175}, // LATIN SMALL LETTER W WITH CIRCUMFLEX
2265 {"wedbar", 0x02A5F}, // LOGICAL AND WITH UNDERBAR
2266 {"wedge", 0x02227}, // LOGICAL AND
2267 {"Wedge", 0x022C0}, // N-ARY LOGICAL AND
2268 {"wedgeq", 0x02259}, // ESTIMATES
2269 {"weierp", 0x02118}, // SCRIPT CAPITAL P
2270 {"Wfr", 0x1D51A}, // MATHEMATICAL FRAKTUR CAPITAL W
2271 {"wfr", 0x1D534}, // MATHEMATICAL FRAKTUR SMALL W
2272 {"Wopf", 0x1D54E}, // MATHEMATICAL DOUBLE-STRUCK CAPITAL W
2273 {"wopf", 0x1D568}, // MATHEMATICAL DOUBLE-STRUCK SMALL W
2274 {"wp", 0x02118}, // SCRIPT CAPITAL P
2275 {"wr", 0x02240}, // WREATH PRODUCT
2276 {"wreath", 0x02240}, // WREATH PRODUCT
2277 {"Wscr", 0x1D4B2}, // MATHEMATICAL SCRIPT CAPITAL W
2278 {"wscr", 0x1D4CC}, // MATHEMATICAL SCRIPT SMALL W
2279 {NULL, 0}
2280 };
2281
2282 static NameId namesX[]={
2283 {"xcap", 0x022C2}, // N-ARY INTERSECTION
2284 {"xcirc", 0x025EF}, // LARGE CIRCLE
2285 {"xcup", 0x022C3}, // N-ARY UNION
2286 {"xdtri", 0x025BD}, // WHITE DOWN-POINTING TRIANGLE
2287 {"Xfr", 0x1D51B}, // MATHEMATICAL FRAKTUR CAPITAL X
2288 {"xfr", 0x1D535}, // MATHEMATICAL FRAKTUR SMALL X
2289 {"Xgr", 0x0039E}, // GREEK CAPITAL LETTER XI
2290 {"xgr", 0x003BE}, // GREEK SMALL LETTER XI
2291 {"xharr", 0x027F7}, // LONG LEFT RIGHT ARROW
2292 {"xhArr", 0x027FA}, // LONG LEFT RIGHT DOUBLE ARROW
2293 {"Xi", 0x0039E}, // GREEK CAPITAL LETTER XI
2294 {"xi", 0x003BE}, // GREEK SMALL LETTER XI
2295 {"xlarr", 0x027F5}, // LONG LEFTWARDS ARROW
2296 {"xlArr", 0x027F8}, // LONG LEFTWARDS DOUBLE ARROW
2297 {"xmap", 0x027FC}, // LONG RIGHTWARDS ARROW FROM BAR
2298 {"xnis", 0x022FB}, // CONTAINS WITH VERTICAL BAR AT END OF HORIZONTAL STROKE
2299 {"xodot", 0x02A00}, // N-ARY CIRCLED DOT OPERATOR
2300 {"Xopf", 0x1D54F}, // MATHEMATICAL DOUBLE-STRUCK CAPITAL X
2301 {"xopf", 0x1D569}, // MATHEMATICAL DOUBLE-STRUCK SMALL X
2302 {"xoplus", 0x02A01}, // N-ARY CIRCLED PLUS OPERATOR
2303 {"xotime", 0x02A02}, // N-ARY CIRCLED TIMES OPERATOR
2304 {"xrarr", 0x027F6}, // LONG RIGHTWARDS ARROW
2305 {"xrArr", 0x027F9}, // LONG RIGHTWARDS DOUBLE ARROW
2306 {"Xscr", 0x1D4B3}, // MATHEMATICAL SCRIPT CAPITAL X
2307 {"xscr", 0x1D4CD}, // MATHEMATICAL SCRIPT SMALL X
2308 {"xsqcup", 0x02A06}, // N-ARY SQUARE UNION OPERATOR
2309 {"xuplus", 0x02A04}, // N-ARY UNION OPERATOR WITH PLUS
2310 {"xutri", 0x025B3}, // WHITE UP-POINTING TRIANGLE
2311 {"xvee", 0x022C1}, // N-ARY LOGICAL OR
2312 {"xwedge", 0x022C0}, // N-ARY LOGICAL AND
2313 {NULL, 0}
2314 };
2315
2316 static NameId namesY[]={
2317 {"Yacute", 0x000DD}, // LATIN CAPITAL LETTER Y WITH ACUTE
2318 {"yacute", 0x000FD}, // LATIN SMALL LETTER Y WITH ACUTE
2319 {"YAcy", 0x0042F}, // CYRILLIC CAPITAL LETTER YA
2320 {"yacy", 0x0044F}, // CYRILLIC SMALL LETTER YA
2321 {"Ycirc", 0x00176}, // LATIN CAPITAL LETTER Y WITH CIRCUMFLEX
2322 {"ycirc", 0x00177}, // LATIN SMALL LETTER Y WITH CIRCUMFLEX
2323 {"Ycy", 0x0042B}, // CYRILLIC CAPITAL LETTER YERU
2324 {"ycy", 0x0044B}, // CYRILLIC SMALL LETTER YERU
2325 {"yen", 0x000A5}, // YEN SIGN
2326 {"Yfr", 0x1D51C}, // MATHEMATICAL FRAKTUR CAPITAL Y
2327 {"yfr", 0x1D536}, // MATHEMATICAL FRAKTUR SMALL Y
2328 {"YIcy", 0x00407}, // CYRILLIC CAPITAL LETTER YI
2329 {"yicy", 0x00457}, // CYRILLIC SMALL LETTER YI
2330 {"Yopf", 0x1D550}, // MATHEMATICAL DOUBLE-STRUCK CAPITAL Y
2331 {"yopf", 0x1D56A}, // MATHEMATICAL DOUBLE-STRUCK SMALL Y
2332 {"Yscr", 0x1D4B4}, // MATHEMATICAL SCRIPT CAPITAL Y
2333 {"yscr", 0x1D4CE}, // MATHEMATICAL SCRIPT SMALL Y
2334 {"YUcy", 0x0042E}, // CYRILLIC CAPITAL LETTER YU
2335 {"yucy", 0x0044E}, // CYRILLIC SMALL LETTER YU
2336 {"yuml", 0x000FF}, // LATIN SMALL LETTER Y WITH DIAERESIS
2337 {"Yuml", 0x00178}, // LATIN CAPITAL LETTER Y WITH DIAERESIS
2338 {NULL, 0}
2339 };
2340
2341 static NameId namesZ[]={
2342 {"Zacute", 0x00179}, // LATIN CAPITAL LETTER Z WITH ACUTE
2343 {"zacute", 0x0017A}, // LATIN SMALL LETTER Z WITH ACUTE
2344 {"Zcaron", 0x0017D}, // LATIN CAPITAL LETTER Z WITH CARON
2345 {"zcaron", 0x0017E}, // LATIN SMALL LETTER Z WITH CARON
2346 {"Zcy", 0x00417}, // CYRILLIC CAPITAL LETTER ZE
2347 {"zcy", 0x00437}, // CYRILLIC SMALL LETTER ZE
2348 {"Zdot", 0x0017B}, // LATIN CAPITAL LETTER Z WITH DOT ABOVE
2349 {"zdot", 0x0017C}, // LATIN SMALL LETTER Z WITH DOT ABOVE
2350 {"zeetrf", 0x02128}, // BLACK-LETTER CAPITAL Z
2351 {"ZeroWidthSpace", 0x0200B}, // ZERO WIDTH SPACE
2352 {"Zeta", 0x00396}, // GREEK CAPITAL LETTER ZETA
2353 {"zeta", 0x003B6}, // GREEK SMALL LETTER ZETA
2354 {"Zfr", 0x02128}, // BLACK-LETTER CAPITAL Z
2355 {"zfr", 0x1D537}, // MATHEMATICAL FRAKTUR SMALL Z
2356 {"Zgr", 0x00396}, // GREEK CAPITAL LETTER ZETA
2357 {"zgr", 0x003B6}, // GREEK SMALL LETTER ZETA
2358 {"ZHcy", 0x00416}, // CYRILLIC CAPITAL LETTER ZHE
2359 {"zhcy", 0x00436}, // CYRILLIC SMALL LETTER ZHE
2360 {"zigrarr", 0x021DD}, // RIGHTWARDS SQUIGGLE ARROW
2361 {"Zopf", 0x02124}, // DOUBLE-STRUCK CAPITAL Z
2362 {"zopf", 0x1D56B}, // MATHEMATICAL DOUBLE-STRUCK SMALL Z
2363 {"Zscr", 0x1D4B5}, // MATHEMATICAL SCRIPT CAPITAL Z
2364 {"zscr", 0x1D4CF}, // MATHEMATICAL SCRIPT SMALL Z
2365 {"zwj", 0x0200D}, // ZERO WIDTH JOINER
2366 {"zwnj", 0x0200C}, // ZERO WIDTH NON-JOINER
2367 {NULL, 0}
2368 };
2369
2370 // @todo@ order namesTable and names? by frequency
2371 static NameId* namesTable[] = {
2372 namesA, namesB, namesC, namesD, namesE, namesF, namesG, namesH, namesI,
2373 namesJ, namesK, namesL, namesM, namesN, namesO, namesP, namesQ, namesR,
2374 namesS, namesT, namesU, namesV, namesW, namesX, namesY, namesZ, NULL
2375 };
2376
2377 int HtmlNamedEntity(const utf8_t *p, size_t length)
2378 {
2379 int tableIndex = tolower(*p) - 'a';
2380 if (tableIndex >= 0 && tableIndex < 26)
2381 {
2382 NameId* names = namesTable[tableIndex];
2383
2384 for (size_t i = 0; names[i].name; i++)
2385 {
2386 if (strncmp(names[i].name, (const char *)p, length) == 0)
2387 return names[i].value;
2388 }
2389 }
2390 return -1;
2391 }
2392