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 9StringRef 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 816