Subversion Repositories QNX 8.QNX8 LLVM/Clang compiler suite

Rev

Details | Last modification | View Log | RSS feed

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