Line data Source code
1 : /*===- TableGen'erated file -------------------------------------*- C++ -*-===*\
2 : |* *|
3 : |* HTML named character reference to UTF-8 translation *|
4 : |* *|
5 : |* Automatically generated file, do not edit! *|
6 : |* *|
7 : \*===----------------------------------------------------------------------===*/
8 :
9 52 : StringRef translateHTMLNamedCharacterReferenceToUTF8(
10 : StringRef Name) {
11 52 : switch (Name.size()) {
12 : default: break;
13 13 : case 2: // 15 strings to match.
14 : switch (Name[0]) {
15 : default: break;
16 0 : case 'G': // 2 strings to match.
17 : switch (Name[1]) {
18 : default: break;
19 : case 'T': // 1 string to match.
20 0 : return "\x3e"; // "GT"
21 : case 't': // 1 string to match.
22 0 : return "\x3e"; // "Gt"
23 : }
24 : break;
25 0 : case 'L': // 2 strings to match.
26 : switch (Name[1]) {
27 : default: break;
28 : case 'T': // 1 string to match.
29 0 : return "\x3c"; // "LT"
30 : case 't': // 1 string to match.
31 0 : return "\x3c"; // "Lt"
32 : }
33 : break;
34 0 : case 'P': // 1 string to match.
35 0 : if (Name[1] != 'i')
36 : break;
37 0 : return "\xce\xa0"; // "Pi"
38 0 : case 'X': // 1 string to match.
39 0 : if (Name[1] != 'i')
40 : break;
41 0 : return "\xce\x9e"; // "Xi"
42 4 : case 'g': // 2 strings to match.
43 : switch (Name[1]) {
44 : default: break;
45 : case 'e': // 1 string to match.
46 0 : return "\xe2\x89\xa5"; // "ge"
47 : case 't': // 1 string to match.
48 4 : return "\x3e"; // "gt"
49 : }
50 : break;
51 9 : case 'l': // 2 strings to match.
52 : switch (Name[1]) {
53 : default: break;
54 : case 'e': // 1 string to match.
55 0 : return "\xe2\x89\xa4"; // "le"
56 : case 't': // 1 string to match.
57 9 : return "\x3c"; // "lt"
58 : }
59 : break;
60 0 : case 'm': // 1 string to match.
61 0 : if (Name[1] != 'u')
62 : break;
63 0 : return "\xce\xbc"; // "mu"
64 0 : case 'n': // 2 strings to match.
65 : switch (Name[1]) {
66 : default: break;
67 : case 'e': // 1 string to match.
68 0 : return "\xe2\x89\xa0"; // "ne"
69 : case 'u': // 1 string to match.
70 0 : return "\xce\xbd"; // "nu"
71 : }
72 : break;
73 0 : case 'p': // 1 string to match.
74 0 : if (Name[1] != 'i')
75 : break;
76 0 : return "\xcf\x80"; // "pi"
77 0 : case 'x': // 1 string to match.
78 0 : if (Name[1] != 'i')
79 : break;
80 0 : return "\xce\xbe"; // "xi"
81 : }
82 : break;
83 11 : case 3: // 16 strings to match.
84 : switch (Name[0]) {
85 : default: break;
86 : case 'A': // 1 string to match.
87 0 : if (memcmp(Name.data()+1, "MP", 2) != 0)
88 : break;
89 0 : return "\x26"; // "AMP"
90 0 : case 'P': // 2 strings to match.
91 : switch (Name[1]) {
92 : default: break;
93 0 : case 'h': // 1 string to match.
94 0 : if (Name[2] != 'i')
95 : break;
96 0 : return "\xce\xa6"; // "Phi"
97 0 : case 's': // 1 string to match.
98 0 : if (Name[2] != 'i')
99 : break;
100 0 : return "\xce\xa8"; // "Psi"
101 : }
102 : break;
103 : case 'R': // 1 string to match.
104 0 : if (memcmp(Name.data()+1, "EG", 2) != 0)
105 : break;
106 0 : return "\xc2\xae"; // "REG"
107 : case 'a': // 1 string to match.
108 7 : if (memcmp(Name.data()+1, "mp", 2) != 0)
109 : break;
110 7 : return "\x26"; // "amp"
111 : case 'c': // 1 string to match.
112 0 : if (memcmp(Name.data()+1, "hi", 2) != 0)
113 : break;
114 0 : return "\xcf\x87"; // "chi"
115 : case 'd': // 1 string to match.
116 0 : if (memcmp(Name.data()+1, "eg", 2) != 0)
117 : break;
118 0 : return "\xc2\xb0"; // "deg"
119 : case 'e': // 1 string to match.
120 0 : if (memcmp(Name.data()+1, "ta", 2) != 0)
121 : break;
122 0 : return "\xce\xb7"; // "eta"
123 : case 'i': // 1 string to match.
124 0 : if (memcmp(Name.data()+1, "nt", 2) != 0)
125 : break;
126 0 : return "\xe2\x88\xab"; // "int"
127 0 : case 'p': // 2 strings to match.
128 : switch (Name[1]) {
129 : default: break;
130 0 : case 'h': // 1 string to match.
131 0 : if (Name[2] != 'i')
132 : break;
133 0 : return "\xcf\x86"; // "phi"
134 0 : case 's': // 1 string to match.
135 0 : if (Name[2] != 'i')
136 : break;
137 0 : return "\xcf\x88"; // "psi"
138 : }
139 : break;
140 4 : case 'r': // 2 strings to match.
141 : switch (Name[1]) {
142 : default: break;
143 4 : case 'e': // 1 string to match.
144 4 : if (Name[2] != 'g')
145 : break;
146 4 : return "\xc2\xae"; // "reg"
147 0 : case 'h': // 1 string to match.
148 0 : if (Name[2] != 'o')
149 : break;
150 0 : return "\xcf\x81"; // "rho"
151 : }
152 : break;
153 0 : case 's': // 2 strings to match.
154 : switch (Name[1]) {
155 : default: break;
156 0 : case 'i': // 1 string to match.
157 0 : if (Name[2] != 'm')
158 : break;
159 0 : return "\xe2\x88\xbc"; // "sim"
160 0 : case 'u': // 1 string to match.
161 0 : if (Name[2] != 'm')
162 : break;
163 0 : return "\xe2\x88\x91"; // "sum"
164 : }
165 : break;
166 : case 't': // 1 string to match.
167 0 : if (memcmp(Name.data()+1, "au", 2) != 0)
168 : break;
169 0 : return "\xcf\x84"; // "tau"
170 : }
171 : break;
172 16 : case 4: // 30 strings to match.
173 : switch (Name[0]) {
174 : default: break;
175 : case 'A': // 1 string to match.
176 0 : if (memcmp(Name.data()+1, "uml", 3) != 0)
177 : break;
178 0 : return "\xc3\x84"; // "Auml"
179 : case 'C': // 1 string to match.
180 0 : if (memcmp(Name.data()+1, "OPY", 3) != 0)
181 : break;
182 0 : return "\xc2\xa9"; // "COPY"
183 : case 'E': // 1 string to match.
184 0 : if (memcmp(Name.data()+1, "uml", 3) != 0)
185 : break;
186 0 : return "\xc3\x8b"; // "Euml"
187 : case 'I': // 1 string to match.
188 0 : if (memcmp(Name.data()+1, "uml", 3) != 0)
189 : break;
190 0 : return "\xc3\x8f"; // "Iuml"
191 : case 'O': // 1 string to match.
192 0 : if (memcmp(Name.data()+1, "uml", 3) != 0)
193 : break;
194 0 : return "\xc3\x96"; // "Ouml"
195 : case 'Q': // 1 string to match.
196 0 : if (memcmp(Name.data()+1, "UOT", 3) != 0)
197 : break;
198 0 : return "\x22"; // "QUOT"
199 : case 'U': // 1 string to match.
200 0 : if (memcmp(Name.data()+1, "uml", 3) != 0)
201 : break;
202 0 : return "\xc3\x9c"; // "Uuml"
203 : case 'Y': // 1 string to match.
204 0 : if (memcmp(Name.data()+1, "uml", 3) != 0)
205 : break;
206 0 : return "\xc5\xb8"; // "Yuml"
207 4 : case 'a': // 2 strings to match.
208 : switch (Name[1]) {
209 : default: break;
210 : case 'p': // 1 string to match.
211 4 : if (memcmp(Name.data()+2, "os", 2) != 0)
212 : break;
213 4 : return "\x27"; // "apos"
214 : case 'u': // 1 string to match.
215 0 : if (memcmp(Name.data()+2, "ml", 2) != 0)
216 : break;
217 0 : return "\xc3\xa4"; // "auml"
218 : }
219 : break;
220 : case 'b': // 1 string to match.
221 0 : if (memcmp(Name.data()+1, "eta", 3) != 0)
222 : break;
223 0 : return "\xce\xb2"; // "beta"
224 : case 'c': // 1 string to match.
225 4 : if (memcmp(Name.data()+1, "opy", 3) != 0)
226 : break;
227 4 : return "\xc2\xa9"; // "copy"
228 : case 'e': // 1 string to match.
229 0 : if (memcmp(Name.data()+1, "uml", 3) != 0)
230 : break;
231 0 : return "\xc3\xab"; // "euml"
232 0 : case 'i': // 3 strings to match.
233 : switch (Name[1]) {
234 : default: break;
235 : case 'o': // 1 string to match.
236 0 : if (memcmp(Name.data()+2, "ta", 2) != 0)
237 : break;
238 0 : return "\xce\xb9"; // "iota"
239 : case 's': // 1 string to match.
240 0 : if (memcmp(Name.data()+2, "in", 2) != 0)
241 : break;
242 0 : return "\xe2\x88\x88"; // "isin"
243 : case 'u': // 1 string to match.
244 0 : if (memcmp(Name.data()+2, "ml", 2) != 0)
245 : break;
246 0 : return "\xc3\xaf"; // "iuml"
247 : }
248 : break;
249 : case 'l': // 1 string to match.
250 0 : if (memcmp(Name.data()+1, "arr", 3) != 0)
251 : break;
252 0 : return "\xe2\x86\x90"; // "larr"
253 : case 'n': // 1 string to match.
254 4 : if (memcmp(Name.data()+1, "bsp", 3) != 0)
255 : break;
256 4 : return "\xc2\xa0"; // "nbsp"
257 : case 'o': // 1 string to match.
258 0 : if (memcmp(Name.data()+1, "uml", 3) != 0)
259 : break;
260 0 : return "\xc3\xb6"; // "ouml"
261 0 : case 'p': // 4 strings to match.
262 : switch (Name[1]) {
263 : default: break;
264 : case 'a': // 1 string to match.
265 0 : if (memcmp(Name.data()+2, "rt", 2) != 0)
266 : break;
267 0 : return "\xe2\x88\x82"; // "part"
268 : case 'e': // 1 string to match.
269 0 : if (memcmp(Name.data()+2, "rp", 2) != 0)
270 : break;
271 0 : return "\xe2\x8a\xa5"; // "perp"
272 0 : case 'r': // 2 strings to match.
273 0 : if (Name[2] != 'o')
274 : break;
275 : switch (Name[3]) {
276 : default: break;
277 : case 'd': // 1 string to match.
278 0 : return "\xe2\x88\x8f"; // "prod"
279 : case 'p': // 1 string to match.
280 0 : return "\xe2\x88\x9d"; // "prop"
281 : }
282 : break;
283 : }
284 : break;
285 : case 'q': // 1 string to match.
286 4 : if (memcmp(Name.data()+1, "uot", 3) != 0)
287 : break;
288 4 : return "\x22"; // "quot"
289 : case 'r': // 1 string to match.
290 0 : if (memcmp(Name.data()+1, "arr", 3) != 0)
291 : break;
292 0 : return "\xe2\x86\x92"; // "rarr"
293 0 : case 's': // 2 strings to match.
294 : switch (Name[1]) {
295 : default: break;
296 : case 'd': // 1 string to match.
297 0 : if (memcmp(Name.data()+2, "ot", 2) != 0)
298 : break;
299 0 : return "\xe2\x8b\x85"; // "sdot"
300 : case 'e': // 1 string to match.
301 0 : if (memcmp(Name.data()+2, "ct", 2) != 0)
302 : break;
303 0 : return "\xc2\xa7"; // "sect"
304 : }
305 : break;
306 : case 'u': // 1 string to match.
307 0 : if (memcmp(Name.data()+1, "uml", 3) != 0)
308 : break;
309 0 : return "\xc3\xbc"; // "uuml"
310 : case 'y': // 1 string to match.
311 0 : if (memcmp(Name.data()+1, "uml", 3) != 0)
312 : break;
313 0 : return "\xc3\xbf"; // "yuml"
314 : case 'z': // 1 string to match.
315 0 : if (memcmp(Name.data()+1, "eta", 3) != 0)
316 : break;
317 0 : return "\xce\xb6"; // "zeta"
318 : }
319 : break;
320 12 : case 5: // 48 strings to match.
321 : switch (Name[0]) {
322 : default: break;
323 0 : case 'A': // 2 strings to match.
324 : switch (Name[1]) {
325 : default: break;
326 : case 'c': // 1 string to match.
327 0 : if (memcmp(Name.data()+2, "irc", 3) != 0)
328 : break;
329 0 : return "\xc3\x82"; // "Acirc"
330 : case 'r': // 1 string to match.
331 0 : if (memcmp(Name.data()+2, "ing", 3) != 0)
332 : break;
333 0 : return "\xc3\x85"; // "Aring"
334 : }
335 : break;
336 : case 'D': // 1 string to match.
337 4 : if (memcmp(Name.data()+1, "elta", 4) != 0)
338 : break;
339 4 : return "\xce\x94"; // "Delta"
340 : case 'E': // 1 string to match.
341 0 : if (memcmp(Name.data()+1, "circ", 4) != 0)
342 : break;
343 0 : return "\xc3\x8a"; // "Ecirc"
344 : case 'G': // 1 string to match.
345 4 : if (memcmp(Name.data()+1, "amma", 4) != 0)
346 : break;
347 4 : return "\xce\x93"; // "Gamma"
348 : case 'I': // 1 string to match.
349 0 : if (memcmp(Name.data()+1, "circ", 4) != 0)
350 : break;
351 0 : return "\xc3\x8e"; // "Icirc"
352 0 : case 'O': // 2 strings to match.
353 : switch (Name[1]) {
354 : default: break;
355 : case 'c': // 1 string to match.
356 0 : if (memcmp(Name.data()+2, "irc", 3) != 0)
357 : break;
358 0 : return "\xc3\x94"; // "Ocirc"
359 : case 'm': // 1 string to match.
360 0 : if (memcmp(Name.data()+2, "ega", 3) != 0)
361 : break;
362 0 : return "\xce\xa9"; // "Omega"
363 : }
364 : break;
365 : case 'P': // 1 string to match.
366 0 : if (memcmp(Name.data()+1, "rime", 4) != 0)
367 : break;
368 0 : return "\xe2\x80\xb3"; // "Prime"
369 : case 'S': // 1 string to match.
370 0 : if (memcmp(Name.data()+1, "igma", 4) != 0)
371 : break;
372 0 : return "\xce\xa3"; // "Sigma"
373 0 : case 'T': // 2 strings to match.
374 : switch (Name[1]) {
375 : default: break;
376 : case 'R': // 1 string to match.
377 0 : if (memcmp(Name.data()+2, "ADE", 3) != 0)
378 : break;
379 0 : return "\xe2\x84\xa2"; // "TRADE"
380 : case 'h': // 1 string to match.
381 0 : if (memcmp(Name.data()+2, "eta", 3) != 0)
382 : break;
383 0 : return "\xce\x98"; // "Theta"
384 : }
385 : break;
386 : case 'U': // 1 string to match.
387 0 : if (memcmp(Name.data()+1, "circ", 4) != 0)
388 : break;
389 0 : return "\xc3\x9b"; // "Ucirc"
390 : case 'Y': // 1 string to match.
391 0 : if (memcmp(Name.data()+1, "circ", 4) != 0)
392 : break;
393 0 : return "\xc5\xb6"; // "Ycirc"
394 0 : case 'a': // 4 strings to match.
395 : switch (Name[1]) {
396 : default: break;
397 : case 'c': // 1 string to match.
398 0 : if (memcmp(Name.data()+2, "irc", 3) != 0)
399 : break;
400 0 : return "\xc3\xa2"; // "acirc"
401 : case 'l': // 1 string to match.
402 0 : if (memcmp(Name.data()+2, "pha", 3) != 0)
403 : break;
404 0 : return "\xce\xb1"; // "alpha"
405 : case 'r': // 1 string to match.
406 0 : if (memcmp(Name.data()+2, "ing", 3) != 0)
407 : break;
408 0 : return "\xc3\xa5"; // "aring"
409 : case 's': // 1 string to match.
410 0 : if (memcmp(Name.data()+2, "ymp", 3) != 0)
411 : break;
412 0 : return "\xe2\x89\x88"; // "asymp"
413 : }
414 : break;
415 : case 'd': // 1 string to match.
416 0 : if (memcmp(Name.data()+1, "elta", 4) != 0)
417 : break;
418 0 : return "\xce\xb4"; // "delta"
419 0 : case 'e': // 3 strings to match.
420 : switch (Name[1]) {
421 : default: break;
422 : case 'c': // 1 string to match.
423 0 : if (memcmp(Name.data()+2, "irc", 3) != 0)
424 : break;
425 0 : return "\xc3\xaa"; // "ecirc"
426 : case 'm': // 1 string to match.
427 0 : if (memcmp(Name.data()+2, "pty", 3) != 0)
428 : break;
429 0 : return "\xe2\x88\x85"; // "empty"
430 : case 'q': // 1 string to match.
431 0 : if (memcmp(Name.data()+2, "uiv", 3) != 0)
432 : break;
433 0 : return "\xe2\x89\xa1"; // "equiv"
434 : }
435 : break;
436 : case 'g': // 1 string to match.
437 0 : if (memcmp(Name.data()+1, "amma", 4) != 0)
438 : break;
439 0 : return "\xce\xb3"; // "gamma"
440 0 : case 'i': // 2 strings to match.
441 : switch (Name[1]) {
442 : default: break;
443 : case 'c': // 1 string to match.
444 0 : if (memcmp(Name.data()+2, "irc", 3) != 0)
445 : break;
446 0 : return "\xc3\xae"; // "icirc"
447 : case 'n': // 1 string to match.
448 0 : if (memcmp(Name.data()+2, "fin", 3) != 0)
449 : break;
450 0 : return "\xe2\x88\x9e"; // "infin"
451 : }
452 : break;
453 : case 'k': // 1 string to match.
454 0 : if (memcmp(Name.data()+1, "appa", 4) != 0)
455 : break;
456 0 : return "\xce\xba"; // "kappa"
457 0 : case 'l': // 3 strings to match.
458 : switch (Name[1]) {
459 : default: break;
460 : case 'c': // 1 string to match.
461 0 : if (memcmp(Name.data()+2, "eil", 3) != 0)
462 : break;
463 0 : return "\xe2\x8c\x88"; // "lceil"
464 : case 'd': // 1 string to match.
465 0 : if (memcmp(Name.data()+2, "quo", 3) != 0)
466 : break;
467 0 : return "\xe2\x80\x9c"; // "ldquo"
468 : case 's': // 1 string to match.
469 0 : if (memcmp(Name.data()+2, "quo", 3) != 0)
470 : break;
471 0 : return "\xe2\x80\x98"; // "lsquo"
472 : }
473 : break;
474 0 : case 'm': // 2 strings to match.
475 : switch (Name[1]) {
476 : default: break;
477 : case 'd': // 1 string to match.
478 0 : if (memcmp(Name.data()+2, "ash", 3) != 0)
479 : break;
480 0 : return "\xe2\x80\x94"; // "mdash"
481 : case 'i': // 1 string to match.
482 0 : if (memcmp(Name.data()+2, "nus", 3) != 0)
483 : break;
484 0 : return "\xe2\x88\x92"; // "minus"
485 : }
486 : break;
487 0 : case 'n': // 3 strings to match.
488 : switch (Name[1]) {
489 : default: break;
490 : case 'a': // 1 string to match.
491 0 : if (memcmp(Name.data()+2, "bla", 3) != 0)
492 : break;
493 0 : return "\xe2\x88\x87"; // "nabla"
494 : case 'd': // 1 string to match.
495 0 : if (memcmp(Name.data()+2, "ash", 3) != 0)
496 : break;
497 0 : return "\xe2\x80\x93"; // "ndash"
498 : case 'o': // 1 string to match.
499 0 : if (memcmp(Name.data()+2, "tin", 3) != 0)
500 : break;
501 0 : return "\xe2\x88\x89"; // "notin"
502 : }
503 : break;
504 0 : case 'o': // 2 strings to match.
505 : switch (Name[1]) {
506 : default: break;
507 : case 'c': // 1 string to match.
508 0 : if (memcmp(Name.data()+2, "irc", 3) != 0)
509 : break;
510 0 : return "\xc3\xb4"; // "ocirc"
511 : case 'm': // 1 string to match.
512 0 : if (memcmp(Name.data()+2, "ega", 3) != 0)
513 : break;
514 0 : return "\xcf\x89"; // "omega"
515 : }
516 : break;
517 : case 'p': // 1 string to match.
518 0 : if (memcmp(Name.data()+1, "rime", 4) != 0)
519 : break;
520 0 : return "\xe2\x80\xb2"; // "prime"
521 0 : case 'r': // 4 strings to match.
522 : switch (Name[1]) {
523 : default: break;
524 : case 'a': // 1 string to match.
525 0 : if (memcmp(Name.data()+2, "dic", 3) != 0)
526 : break;
527 0 : return "\xe2\x88\x9a"; // "radic"
528 : case 'c': // 1 string to match.
529 0 : if (memcmp(Name.data()+2, "eil", 3) != 0)
530 : break;
531 0 : return "\xe2\x8c\x89"; // "rceil"
532 : case 'd': // 1 string to match.
533 0 : if (memcmp(Name.data()+2, "quo", 3) != 0)
534 : break;
535 0 : return "\xe2\x80\x9d"; // "rdquo"
536 : case 's': // 1 string to match.
537 0 : if (memcmp(Name.data()+2, "quo", 3) != 0)
538 : break;
539 0 : return "\xe2\x80\x99"; // "rsquo"
540 : }
541 : break;
542 0 : case 's': // 2 strings to match.
543 : switch (Name[1]) {
544 : default: break;
545 : case 'i': // 1 string to match.
546 0 : if (memcmp(Name.data()+2, "gma", 3) != 0)
547 : break;
548 0 : return "\xcf\x83"; // "sigma"
549 : case 'z': // 1 string to match.
550 0 : if (memcmp(Name.data()+2, "lig", 3) != 0)
551 : break;
552 0 : return "\xc3\x9f"; // "szlig"
553 : }
554 : break;
555 4 : case 't': // 3 strings to match.
556 : switch (Name[1]) {
557 : default: break;
558 : case 'h': // 1 string to match.
559 0 : if (memcmp(Name.data()+2, "eta", 3) != 0)
560 : break;
561 0 : return "\xce\xb8"; // "theta"
562 : case 'i': // 1 string to match.
563 0 : if (memcmp(Name.data()+2, "mes", 3) != 0)
564 : break;
565 0 : return "\xc3\x97"; // "times"
566 : case 'r': // 1 string to match.
567 4 : if (memcmp(Name.data()+2, "ade", 3) != 0)
568 : break;
569 4 : return "\xe2\x84\xa2"; // "trade"
570 : }
571 : break;
572 : case 'u': // 1 string to match.
573 0 : if (memcmp(Name.data()+1, "circ", 4) != 0)
574 : break;
575 0 : return "\xc3\xbb"; // "ucirc"
576 : case 'y': // 1 string to match.
577 0 : if (memcmp(Name.data()+1, "circ", 4) != 0)
578 : break;
579 0 : return "\xc5\xb7"; // "ycirc"
580 : }
581 : break;
582 0 : case 6: // 37 strings to match.
583 : switch (Name[0]) {
584 : default: break;
585 0 : case 'A': // 3 strings to match.
586 : switch (Name[1]) {
587 : default: break;
588 : case 'a': // 1 string to match.
589 0 : if (memcmp(Name.data()+2, "cute", 4) != 0)
590 : break;
591 0 : return "\xc3\x81"; // "Aacute"
592 : case 'g': // 1 string to match.
593 0 : if (memcmp(Name.data()+2, "rave", 4) != 0)
594 : break;
595 0 : return "\xc3\x80"; // "Agrave"
596 : case 't': // 1 string to match.
597 0 : if (memcmp(Name.data()+2, "ilde", 4) != 0)
598 : break;
599 0 : return "\xc3\x83"; // "Atilde"
600 : }
601 : break;
602 : case 'C': // 1 string to match.
603 0 : if (memcmp(Name.data()+1, "cedil", 5) != 0)
604 : break;
605 0 : return "\xc3\x87"; // "Ccedil"
606 0 : case 'E': // 2 strings to match.
607 : switch (Name[1]) {
608 : default: break;
609 : case 'a': // 1 string to match.
610 0 : if (memcmp(Name.data()+2, "cute", 4) != 0)
611 : break;
612 0 : return "\xc3\x89"; // "Eacute"
613 : case 'g': // 1 string to match.
614 0 : if (memcmp(Name.data()+2, "rave", 4) != 0)
615 : break;
616 0 : return "\xc3\x88"; // "Egrave"
617 : }
618 : break;
619 0 : case 'I': // 2 strings to match.
620 : switch (Name[1]) {
621 : default: break;
622 : case 'a': // 1 string to match.
623 0 : if (memcmp(Name.data()+2, "cute", 4) != 0)
624 : break;
625 0 : return "\xc3\x8d"; // "Iacute"
626 : case 'g': // 1 string to match.
627 0 : if (memcmp(Name.data()+2, "rave", 4) != 0)
628 : break;
629 0 : return "\xc3\x8c"; // "Igrave"
630 : }
631 : break;
632 : case 'L': // 1 string to match.
633 0 : if (memcmp(Name.data()+1, "ambda", 5) != 0)
634 : break;
635 0 : return "\xce\x9b"; // "Lambda"
636 : case 'N': // 1 string to match.
637 0 : if (memcmp(Name.data()+1, "tilde", 5) != 0)
638 : break;
639 0 : return "\xc3\x91"; // "Ntilde"
640 0 : case 'O': // 3 strings to match.
641 : switch (Name[1]) {
642 : default: break;
643 : case 'a': // 1 string to match.
644 0 : if (memcmp(Name.data()+2, "cute", 4) != 0)
645 : break;
646 0 : return "\xc3\x93"; // "Oacute"
647 : case 'g': // 1 string to match.
648 0 : if (memcmp(Name.data()+2, "rave", 4) != 0)
649 : break;
650 0 : return "\xc3\x92"; // "Ograve"
651 : case 't': // 1 string to match.
652 0 : if (memcmp(Name.data()+2, "ilde", 4) != 0)
653 : break;
654 0 : return "\xc3\x95"; // "Otilde"
655 : }
656 : break;
657 0 : case 'U': // 2 strings to match.
658 : switch (Name[1]) {
659 : default: break;
660 : case 'a': // 1 string to match.
661 0 : if (memcmp(Name.data()+2, "cute", 4) != 0)
662 : break;
663 0 : return "\xc3\x9a"; // "Uacute"
664 : case 'g': // 1 string to match.
665 0 : if (memcmp(Name.data()+2, "rave", 4) != 0)
666 : break;
667 0 : return "\xc3\x99"; // "Ugrave"
668 : }
669 : break;
670 : case 'Y': // 1 string to match.
671 0 : if (memcmp(Name.data()+1, "acute", 5) != 0)
672 : break;
673 0 : return "\xc3\x9d"; // "Yacute"
674 0 : case 'a': // 3 strings to match.
675 : switch (Name[1]) {
676 : default: break;
677 : case 'a': // 1 string to match.
678 0 : if (memcmp(Name.data()+2, "cute", 4) != 0)
679 : break;
680 0 : return "\xc3\xa1"; // "aacute"
681 : case 'g': // 1 string to match.
682 0 : if (memcmp(Name.data()+2, "rave", 4) != 0)
683 : break;
684 0 : return "\xc3\xa0"; // "agrave"
685 : case 't': // 1 string to match.
686 0 : if (memcmp(Name.data()+2, "ilde", 4) != 0)
687 : break;
688 0 : return "\xc3\xa3"; // "atilde"
689 : }
690 : break;
691 : case 'c': // 1 string to match.
692 0 : if (memcmp(Name.data()+1, "cedil", 5) != 0)
693 : break;
694 0 : return "\xc3\xa7"; // "ccedil"
695 0 : case 'e': // 2 strings to match.
696 : switch (Name[1]) {
697 : default: break;
698 : case 'a': // 1 string to match.
699 0 : if (memcmp(Name.data()+2, "cute", 4) != 0)
700 : break;
701 0 : return "\xc3\xa9"; // "eacute"
702 : case 'g': // 1 string to match.
703 0 : if (memcmp(Name.data()+2, "rave", 4) != 0)
704 : break;
705 0 : return "\xc3\xa8"; // "egrave"
706 : }
707 : break;
708 0 : case 'i': // 2 strings to match.
709 : switch (Name[1]) {
710 : default: break;
711 : case 'a': // 1 string to match.
712 0 : if (memcmp(Name.data()+2, "cute", 4) != 0)
713 : break;
714 0 : return "\xc3\xad"; // "iacute"
715 : case 'g': // 1 string to match.
716 0 : if (memcmp(Name.data()+2, "rave", 4) != 0)
717 : break;
718 0 : return "\xc3\xac"; // "igrave"
719 : }
720 : break;
721 0 : case 'l': // 2 strings to match.
722 : switch (Name[1]) {
723 : default: break;
724 : case 'a': // 1 string to match.
725 0 : if (memcmp(Name.data()+2, "mbda", 4) != 0)
726 : break;
727 0 : return "\xce\xbb"; // "lambda"
728 : case 'f': // 1 string to match.
729 0 : if (memcmp(Name.data()+2, "loor", 4) != 0)
730 : break;
731 0 : return "\xe2\x8c\x8a"; // "lfloor"
732 : }
733 : break;
734 : case 'n': // 1 string to match.
735 0 : if (memcmp(Name.data()+1, "tilde", 5) != 0)
736 : break;
737 0 : return "\xc3\xb1"; // "ntilde"
738 0 : case 'o': // 3 strings to match.
739 : switch (Name[1]) {
740 : default: break;
741 : case 'a': // 1 string to match.
742 0 : if (memcmp(Name.data()+2, "cute", 4) != 0)
743 : break;
744 0 : return "\xc3\xb3"; // "oacute"
745 : case 'g': // 1 string to match.
746 0 : if (memcmp(Name.data()+2, "rave", 4) != 0)
747 : break;
748 0 : return "\xc3\xb2"; // "ograve"
749 : case 't': // 1 string to match.
750 0 : if (memcmp(Name.data()+2, "ilde", 4) != 0)
751 : break;
752 0 : return "\xc3\xb5"; // "otilde"
753 : }
754 : break;
755 : case 'p': // 1 string to match.
756 0 : if (memcmp(Name.data()+1, "lusmn", 5) != 0)
757 : break;
758 0 : return "\xc2\xb1"; // "plusmn"
759 : case 'r': // 1 string to match.
760 0 : if (memcmp(Name.data()+1, "floor", 5) != 0)
761 : break;
762 0 : return "\xe2\x8c\x8b"; // "rfloor"
763 : case 's': // 1 string to match.
764 0 : if (memcmp(Name.data()+1, "igmaf", 5) != 0)
765 : break;
766 0 : return "\xcf\x82"; // "sigmaf"
767 0 : case 'u': // 2 strings to match.
768 : switch (Name[1]) {
769 : default: break;
770 : case 'a': // 1 string to match.
771 0 : if (memcmp(Name.data()+2, "cute", 4) != 0)
772 : break;
773 0 : return "\xc3\xba"; // "uacute"
774 : case 'g': // 1 string to match.
775 0 : if (memcmp(Name.data()+2, "rave", 4) != 0)
776 : break;
777 0 : return "\xc3\xb9"; // "ugrave"
778 : }
779 : break;
780 0 : case 'y': // 2 strings to match.
781 : switch (Name[1]) {
782 : default: break;
783 : case 'a': // 1 string to match.
784 0 : if (memcmp(Name.data()+2, "cute", 4) != 0)
785 : break;
786 0 : return "\xc3\xbd"; // "yacute"
787 : case 'g': // 1 string to match.
788 0 : if (memcmp(Name.data()+2, "rave", 4) != 0)
789 : break;
790 0 : return "\xe1\xbb\xb3"; // "ygrave"
791 : }
792 : break;
793 : }
794 : break;
795 0 : case 7: // 3 strings to match.
796 : switch (Name[0]) {
797 : default: break;
798 : case 'U': // 1 string to match.
799 0 : if (memcmp(Name.data()+1, "psilon", 6) != 0)
800 : break;
801 0 : return "\xce\xa5"; // "Upsilon"
802 : case 'e': // 1 string to match.
803 0 : if (memcmp(Name.data()+1, "psilon", 6) != 0)
804 : break;
805 0 : return "\xce\xb5"; // "epsilon"
806 : case 'u': // 1 string to match.
807 0 : if (memcmp(Name.data()+1, "psilon", 6) != 0)
808 : break;
809 0 : return "\xcf\x85"; // "upsilon"
810 : }
811 : break;
812 : }
813 0 : return StringRef();
814 : }
815 :
|