OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) | 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) |
3 * (C) 1999 Antti Koivisto (koivisto@kde.org) | 3 * (C) 1999 Antti Koivisto (koivisto@kde.org) |
4 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008 Apple Inc. All rights | 4 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008 Apple Inc. All rights |
5 * reserved. | 5 * reserved. |
6 * Copyright (C) 2006 Andrew Wellington (proton@wiretapped.net) | 6 * Copyright (C) 2006 Andrew Wellington (proton@wiretapped.net) |
7 * Copyright (C) 2010 Daniel Bates (dbates@intudata.com) | 7 * Copyright (C) 2010 Daniel Bates (dbates@intudata.com) |
8 * | 8 * |
9 * This library is free software; you can redistribute it and/or | 9 * This library is free software; you can redistribute it and/or |
10 * modify it under the terms of the GNU Library General Public | 10 * modify it under the terms of the GNU Library General Public |
(...skipping 444 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
455 characters[length - 1] == ' ') | 455 characters[length - 1] == ' ') |
456 --length; | 456 --length; |
457 | 457 |
458 return String(characters, length); | 458 return String(characters, length); |
459 } | 459 } |
460 | 460 |
461 static EListStyleType effectiveListMarkerType(EListStyleType type, int count) { | 461 static EListStyleType effectiveListMarkerType(EListStyleType type, int count) { |
462 // Note, the following switch statement has been explicitly grouped | 462 // Note, the following switch statement has been explicitly grouped |
463 // by list-style-type ordinal range. | 463 // by list-style-type ordinal range. |
464 switch (type) { | 464 switch (type) { |
465 case ArabicIndic: | 465 case EListStyleType::ArabicIndic: |
466 case Bengali: | 466 case EListStyleType::Bengali: |
467 case Cambodian: | 467 case EListStyleType::Cambodian: |
468 case Circle: | 468 case EListStyleType::Circle: |
469 case DecimalLeadingZero: | 469 case EListStyleType::DecimalLeadingZero: |
470 case DecimalListStyle: | 470 case EListStyleType::DecimalListStyle: |
471 case Devanagari: | 471 case EListStyleType::Devanagari: |
472 case Disc: | 472 case EListStyleType::Disc: |
473 case Gujarati: | 473 case EListStyleType::Gujarati: |
474 case Gurmukhi: | 474 case EListStyleType::Gurmukhi: |
475 case Kannada: | 475 case EListStyleType::Kannada: |
476 case Khmer: | 476 case EListStyleType::Khmer: |
477 case Lao: | 477 case EListStyleType::Lao: |
478 case Malayalam: | 478 case EListStyleType::Malayalam: |
479 case Mongolian: | 479 case EListStyleType::Mongolian: |
480 case Myanmar: | 480 case EListStyleType::Myanmar: |
481 case NoneListStyle: | 481 case EListStyleType::NoneListStyle: |
482 case Oriya: | 482 case EListStyleType::Oriya: |
483 case Persian: | 483 case EListStyleType::Persian: |
484 case Square: | 484 case EListStyleType::Square: |
485 case Telugu: | 485 case EListStyleType::Telugu: |
486 case Thai: | 486 case EListStyleType::Thai: |
487 case Tibetan: | 487 case EListStyleType::Tibetan: |
488 case Urdu: | 488 case EListStyleType::Urdu: |
489 case KoreanHangulFormal: | 489 case EListStyleType::KoreanHangulFormal: |
490 case KoreanHanjaFormal: | 490 case EListStyleType::KoreanHanjaFormal: |
491 case KoreanHanjaInformal: | 491 case EListStyleType::KoreanHanjaInformal: |
492 case CJKIdeographic: | 492 case EListStyleType::CJKIdeographic: |
493 case SimpChineseFormal: | 493 case EListStyleType::SimpChineseFormal: |
494 case SimpChineseInformal: | 494 case EListStyleType::SimpChineseInformal: |
495 case TradChineseFormal: | 495 case EListStyleType::TradChineseFormal: |
496 case TradChineseInformal: | 496 case EListStyleType::TradChineseInformal: |
497 return type; // Can represent all ordinals. | 497 return type; // Can represent all ordinals. |
498 case Armenian: | 498 case EListStyleType::Armenian: |
499 case LowerArmenian: | 499 case EListStyleType::LowerArmenian: |
500 case UpperArmenian: | 500 case EListStyleType::UpperArmenian: |
501 return (count < 1 || count > 99999999) ? DecimalListStyle : type; | 501 return (count < 1 || count > 99999999) ? EListStyleType::DecimalListStyle |
502 case Georgian: | 502 : type; |
503 return (count < 1 || count > 19999) ? DecimalListStyle : type; | 503 case EListStyleType::Georgian: |
504 case Hebrew: | 504 return (count < 1 || count > 19999) ? EListStyleType::DecimalListStyle |
505 return (count < 0 || count > 999999) ? DecimalListStyle : type; | 505 : type; |
506 case LowerRoman: | 506 case EListStyleType::Hebrew: |
507 case UpperRoman: | 507 return (count < 0 || count > 999999) ? EListStyleType::DecimalListStyle |
508 return (count < 1 || count > 3999) ? DecimalListStyle : type; | 508 : type; |
509 case CjkEarthlyBranch: | 509 case EListStyleType::LowerRoman: |
510 case CjkHeavenlyStem: | 510 case EListStyleType::UpperRoman: |
511 case EthiopicHalehameAm: | 511 return (count < 1 || count > 3999) ? EListStyleType::DecimalListStyle |
512 case EthiopicHalehame: | 512 : type; |
513 case EthiopicHalehameTiEr: | 513 case EListStyleType::CjkEarthlyBranch: |
514 case EthiopicHalehameTiEt: | 514 case EListStyleType::CjkHeavenlyStem: |
515 case Hangul: | 515 case EListStyleType::EthiopicHalehameAm: |
516 case HangulConsonant: | 516 case EListStyleType::EthiopicHalehame: |
517 case Hiragana: | 517 case EListStyleType::EthiopicHalehameTiEr: |
518 case HiraganaIroha: | 518 case EListStyleType::EthiopicHalehameTiEt: |
519 case Katakana: | 519 case EListStyleType::Hangul: |
520 case KatakanaIroha: | 520 case EListStyleType::HangulConsonant: |
521 case LowerAlpha: | 521 case EListStyleType::Hiragana: |
522 case LowerGreek: | 522 case EListStyleType::HiraganaIroha: |
523 case LowerLatin: | 523 case EListStyleType::Katakana: |
524 case UpperAlpha: | 524 case EListStyleType::KatakanaIroha: |
525 case UpperLatin: | 525 case EListStyleType::LowerAlpha: |
526 return (count < 1) ? DecimalListStyle : type; | 526 case EListStyleType::LowerGreek: |
| 527 case EListStyleType::LowerLatin: |
| 528 case EListStyleType::UpperAlpha: |
| 529 case EListStyleType::UpperLatin: |
| 530 return (count < 1) ? EListStyleType::DecimalListStyle : type; |
527 } | 531 } |
528 | 532 |
529 ASSERT_NOT_REACHED(); | 533 ASSERT_NOT_REACHED(); |
530 return type; | 534 return type; |
531 } | 535 } |
532 | 536 |
533 UChar suffix(EListStyleType type, int count) { | 537 UChar suffix(EListStyleType type, int count) { |
534 // If the list-style-type cannot represent |count| because it's outside its | 538 // If the list-style-type cannot represent |count| because it's outside its |
535 // ordinal range then we fall back to some list style that can represent | 539 // ordinal range then we fall back to some list style that can represent |
536 // |count|. | 540 // |count|. |
537 EListStyleType effectiveType = effectiveListMarkerType(type, count); | 541 EListStyleType effectiveType = effectiveListMarkerType(type, count); |
538 | 542 |
539 // Note, the following switch statement has been explicitly | 543 // Note, the following switch statement has been explicitly |
540 // grouped by list-style-type suffix. | 544 // grouped by list-style-type suffix. |
541 switch (effectiveType) { | 545 switch (effectiveType) { |
542 case Circle: | 546 case EListStyleType::Circle: |
543 case Disc: | 547 case EListStyleType::Disc: |
544 case NoneListStyle: | 548 case EListStyleType::NoneListStyle: |
545 case Square: | 549 case EListStyleType::Square: |
546 return ' '; | 550 return ' '; |
547 case EthiopicHalehame: | 551 case EListStyleType::EthiopicHalehame: |
548 case EthiopicHalehameAm: | 552 case EListStyleType::EthiopicHalehameAm: |
549 case EthiopicHalehameTiEr: | 553 case EListStyleType::EthiopicHalehameTiEr: |
550 case EthiopicHalehameTiEt: | 554 case EListStyleType::EthiopicHalehameTiEt: |
551 return ethiopicPrefaceColonCharacter; | 555 return ethiopicPrefaceColonCharacter; |
552 case Armenian: | 556 case EListStyleType::Armenian: |
553 case ArabicIndic: | 557 case EListStyleType::ArabicIndic: |
554 case Bengali: | 558 case EListStyleType::Bengali: |
555 case Cambodian: | 559 case EListStyleType::Cambodian: |
556 case CJKIdeographic: | 560 case EListStyleType::CJKIdeographic: |
557 case CjkEarthlyBranch: | 561 case EListStyleType::CjkEarthlyBranch: |
558 case CjkHeavenlyStem: | 562 case EListStyleType::CjkHeavenlyStem: |
559 case DecimalLeadingZero: | 563 case EListStyleType::DecimalLeadingZero: |
560 case DecimalListStyle: | 564 case EListStyleType::DecimalListStyle: |
561 case Devanagari: | 565 case EListStyleType::Devanagari: |
562 case Georgian: | 566 case EListStyleType::Georgian: |
563 case Gujarati: | 567 case EListStyleType::Gujarati: |
564 case Gurmukhi: | 568 case EListStyleType::Gurmukhi: |
565 case Hangul: | 569 case EListStyleType::Hangul: |
566 case HangulConsonant: | 570 case EListStyleType::HangulConsonant: |
567 case Hebrew: | 571 case EListStyleType::Hebrew: |
568 case Hiragana: | 572 case EListStyleType::Hiragana: |
569 case HiraganaIroha: | 573 case EListStyleType::HiraganaIroha: |
570 case Kannada: | 574 case EListStyleType::Kannada: |
571 case Katakana: | 575 case EListStyleType::Katakana: |
572 case KatakanaIroha: | 576 case EListStyleType::KatakanaIroha: |
573 case Khmer: | 577 case EListStyleType::Khmer: |
574 case Lao: | 578 case EListStyleType::Lao: |
575 case LowerAlpha: | 579 case EListStyleType::LowerAlpha: |
576 case LowerArmenian: | 580 case EListStyleType::LowerArmenian: |
577 case LowerGreek: | 581 case EListStyleType::LowerGreek: |
578 case LowerLatin: | 582 case EListStyleType::LowerLatin: |
579 case LowerRoman: | 583 case EListStyleType::LowerRoman: |
580 case Malayalam: | 584 case EListStyleType::Malayalam: |
581 case Mongolian: | 585 case EListStyleType::Mongolian: |
582 case Myanmar: | 586 case EListStyleType::Myanmar: |
583 case Oriya: | 587 case EListStyleType::Oriya: |
584 case Persian: | 588 case EListStyleType::Persian: |
585 case Telugu: | 589 case EListStyleType::Telugu: |
586 case Thai: | 590 case EListStyleType::Thai: |
587 case Tibetan: | 591 case EListStyleType::Tibetan: |
588 case UpperAlpha: | 592 case EListStyleType::UpperAlpha: |
589 case UpperArmenian: | 593 case EListStyleType::UpperArmenian: |
590 case UpperLatin: | 594 case EListStyleType::UpperLatin: |
591 case UpperRoman: | 595 case EListStyleType::UpperRoman: |
592 case Urdu: | 596 case EListStyleType::Urdu: |
593 return '.'; | 597 return '.'; |
594 case SimpChineseFormal: | 598 case EListStyleType::SimpChineseFormal: |
595 case SimpChineseInformal: | 599 case EListStyleType::SimpChineseInformal: |
596 case TradChineseFormal: | 600 case EListStyleType::TradChineseFormal: |
597 case TradChineseInformal: | 601 case EListStyleType::TradChineseInformal: |
598 case KoreanHangulFormal: | 602 case EListStyleType::KoreanHangulFormal: |
599 case KoreanHanjaFormal: | 603 case EListStyleType::KoreanHanjaFormal: |
600 case KoreanHanjaInformal: | 604 case EListStyleType::KoreanHanjaInformal: |
601 return 0x3001; | 605 return 0x3001; |
602 } | 606 } |
603 | 607 |
604 ASSERT_NOT_REACHED(); | 608 ASSERT_NOT_REACHED(); |
605 return '.'; | 609 return '.'; |
606 } | 610 } |
607 | 611 |
608 String text(EListStyleType type, int count) { | 612 String text(EListStyleType type, int count) { |
609 // If the list-style-type, say hebrew, cannot represent |count| because it's | 613 // If the list-style-type, say hebrew, cannot represent |count| because it's |
610 // outside its ordinal range then we fallback to some list style that can | 614 // outside its ordinal range then we fallback to some list style that can |
611 // represent |count|. | 615 // represent |count|. |
612 switch (effectiveListMarkerType(type, count)) { | 616 switch (effectiveListMarkerType(type, count)) { |
613 case NoneListStyle: | 617 case EListStyleType::NoneListStyle: |
614 return ""; | 618 return ""; |
615 | 619 |
616 // We use the same characters for text security. | 620 // We use the same characters for text security. |
617 // See LayoutText::setInternalString. | 621 // See LayoutText::setInternalString. |
618 case Circle: | 622 case EListStyleType::Circle: |
619 return String(&whiteBulletCharacter, 1); | 623 return String(&whiteBulletCharacter, 1); |
620 case Disc: | 624 case EListStyleType::Disc: |
621 return String(&bulletCharacter, 1); | 625 return String(&bulletCharacter, 1); |
622 case Square: | 626 case EListStyleType::Square: |
623 // The CSS 2.1 test suite uses U+25EE BLACK MEDIUM SMALL SQUARE | 627 // The CSS 2.1 test suite uses U+25EE BLACK MEDIUM SMALL SQUARE |
624 // instead, but I think this looks better. | 628 // instead, but I think this looks better. |
625 return String(&blackSquareCharacter, 1); | 629 return String(&blackSquareCharacter, 1); |
626 | 630 |
627 case DecimalListStyle: | 631 case EListStyleType::DecimalListStyle: |
628 return String::number(count); | 632 return String::number(count); |
629 case DecimalLeadingZero: | 633 case EListStyleType::DecimalLeadingZero: |
630 if (count < -9 || count > 9) | 634 if (count < -9 || count > 9) |
631 return String::number(count); | 635 return String::number(count); |
632 if (count < 0) | 636 if (count < 0) |
633 return "-0" + String::number(-count); // -01 to -09 | 637 return "-0" + String::number(-count); // -01 to -09 |
634 return "0" + String::number(count); // 00 to 09 | 638 return "0" + String::number(count); // 00 to 09 |
635 | 639 |
636 case ArabicIndic: { | 640 case EListStyleType::ArabicIndic: { |
637 static const UChar arabicIndicNumerals[10] = { | 641 static const UChar arabicIndicNumerals[10] = { |
638 0x0660, 0x0661, 0x0662, 0x0663, 0x0664, | 642 0x0660, 0x0661, 0x0662, 0x0663, 0x0664, |
639 0x0665, 0x0666, 0x0667, 0x0668, 0x0669}; | 643 0x0665, 0x0666, 0x0667, 0x0668, 0x0669}; |
640 return toNumeric(count, arabicIndicNumerals); | 644 return toNumeric(count, arabicIndicNumerals); |
641 } | 645 } |
642 case Bengali: { | 646 case EListStyleType::Bengali: { |
643 static const UChar bengaliNumerals[10] = {0x09E6, 0x09E7, 0x09E8, 0x09E9, | 647 static const UChar bengaliNumerals[10] = {0x09E6, 0x09E7, 0x09E8, 0x09E9, |
644 0x09EA, 0x09EB, 0x09EC, 0x09ED, | 648 0x09EA, 0x09EB, 0x09EC, 0x09ED, |
645 0x09EE, 0x09EF}; | 649 0x09EE, 0x09EF}; |
646 return toNumeric(count, bengaliNumerals); | 650 return toNumeric(count, bengaliNumerals); |
647 } | 651 } |
648 case Cambodian: | 652 case EListStyleType::Cambodian: |
649 case Khmer: { | 653 case EListStyleType::Khmer: { |
650 static const UChar khmerNumerals[10] = {0x17E0, 0x17E1, 0x17E2, 0x17E3, | 654 static const UChar khmerNumerals[10] = {0x17E0, 0x17E1, 0x17E2, 0x17E3, |
651 0x17E4, 0x17E5, 0x17E6, 0x17E7, | 655 0x17E4, 0x17E5, 0x17E6, 0x17E7, |
652 0x17E8, 0x17E9}; | 656 0x17E8, 0x17E9}; |
653 return toNumeric(count, khmerNumerals); | 657 return toNumeric(count, khmerNumerals); |
654 } | 658 } |
655 case Devanagari: { | 659 case EListStyleType::Devanagari: { |
656 static const UChar devanagariNumerals[10] = { | 660 static const UChar devanagariNumerals[10] = { |
657 0x0966, 0x0967, 0x0968, 0x0969, 0x096A, | 661 0x0966, 0x0967, 0x0968, 0x0969, 0x096A, |
658 0x096B, 0x096C, 0x096D, 0x096E, 0x096F}; | 662 0x096B, 0x096C, 0x096D, 0x096E, 0x096F}; |
659 return toNumeric(count, devanagariNumerals); | 663 return toNumeric(count, devanagariNumerals); |
660 } | 664 } |
661 case Gujarati: { | 665 case EListStyleType::Gujarati: { |
662 static const UChar gujaratiNumerals[10] = {0x0AE6, 0x0AE7, 0x0AE8, 0x0AE9, | 666 static const UChar gujaratiNumerals[10] = {0x0AE6, 0x0AE7, 0x0AE8, 0x0AE9, |
663 0x0AEA, 0x0AEB, 0x0AEC, 0x0AED, | 667 0x0AEA, 0x0AEB, 0x0AEC, 0x0AED, |
664 0x0AEE, 0x0AEF}; | 668 0x0AEE, 0x0AEF}; |
665 return toNumeric(count, gujaratiNumerals); | 669 return toNumeric(count, gujaratiNumerals); |
666 } | 670 } |
667 case Gurmukhi: { | 671 case EListStyleType::Gurmukhi: { |
668 static const UChar gurmukhiNumerals[10] = {0x0A66, 0x0A67, 0x0A68, 0x0A69, | 672 static const UChar gurmukhiNumerals[10] = {0x0A66, 0x0A67, 0x0A68, 0x0A69, |
669 0x0A6A, 0x0A6B, 0x0A6C, 0x0A6D, | 673 0x0A6A, 0x0A6B, 0x0A6C, 0x0A6D, |
670 0x0A6E, 0x0A6F}; | 674 0x0A6E, 0x0A6F}; |
671 return toNumeric(count, gurmukhiNumerals); | 675 return toNumeric(count, gurmukhiNumerals); |
672 } | 676 } |
673 case Kannada: { | 677 case EListStyleType::Kannada: { |
674 static const UChar kannadaNumerals[10] = {0x0CE6, 0x0CE7, 0x0CE8, 0x0CE9, | 678 static const UChar kannadaNumerals[10] = {0x0CE6, 0x0CE7, 0x0CE8, 0x0CE9, |
675 0x0CEA, 0x0CEB, 0x0CEC, 0x0CED, | 679 0x0CEA, 0x0CEB, 0x0CEC, 0x0CED, |
676 0x0CEE, 0x0CEF}; | 680 0x0CEE, 0x0CEF}; |
677 return toNumeric(count, kannadaNumerals); | 681 return toNumeric(count, kannadaNumerals); |
678 } | 682 } |
679 case Lao: { | 683 case EListStyleType::Lao: { |
680 static const UChar laoNumerals[10] = {0x0ED0, 0x0ED1, 0x0ED2, 0x0ED3, | 684 static const UChar laoNumerals[10] = {0x0ED0, 0x0ED1, 0x0ED2, 0x0ED3, |
681 0x0ED4, 0x0ED5, 0x0ED6, 0x0ED7, | 685 0x0ED4, 0x0ED5, 0x0ED6, 0x0ED7, |
682 0x0ED8, 0x0ED9}; | 686 0x0ED8, 0x0ED9}; |
683 return toNumeric(count, laoNumerals); | 687 return toNumeric(count, laoNumerals); |
684 } | 688 } |
685 case Malayalam: { | 689 case EListStyleType::Malayalam: { |
686 static const UChar malayalamNumerals[10] = { | 690 static const UChar malayalamNumerals[10] = { |
687 0x0D66, 0x0D67, 0x0D68, 0x0D69, 0x0D6A, | 691 0x0D66, 0x0D67, 0x0D68, 0x0D69, 0x0D6A, |
688 0x0D6B, 0x0D6C, 0x0D6D, 0x0D6E, 0x0D6F}; | 692 0x0D6B, 0x0D6C, 0x0D6D, 0x0D6E, 0x0D6F}; |
689 return toNumeric(count, malayalamNumerals); | 693 return toNumeric(count, malayalamNumerals); |
690 } | 694 } |
691 case Mongolian: { | 695 case EListStyleType::Mongolian: { |
692 static const UChar mongolianNumerals[10] = { | 696 static const UChar mongolianNumerals[10] = { |
693 0x1810, 0x1811, 0x1812, 0x1813, 0x1814, | 697 0x1810, 0x1811, 0x1812, 0x1813, 0x1814, |
694 0x1815, 0x1816, 0x1817, 0x1818, 0x1819}; | 698 0x1815, 0x1816, 0x1817, 0x1818, 0x1819}; |
695 return toNumeric(count, mongolianNumerals); | 699 return toNumeric(count, mongolianNumerals); |
696 } | 700 } |
697 case Myanmar: { | 701 case EListStyleType::Myanmar: { |
698 static const UChar myanmarNumerals[10] = {0x1040, 0x1041, 0x1042, 0x1043, | 702 static const UChar myanmarNumerals[10] = {0x1040, 0x1041, 0x1042, 0x1043, |
699 0x1044, 0x1045, 0x1046, 0x1047, | 703 0x1044, 0x1045, 0x1046, 0x1047, |
700 0x1048, 0x1049}; | 704 0x1048, 0x1049}; |
701 return toNumeric(count, myanmarNumerals); | 705 return toNumeric(count, myanmarNumerals); |
702 } | 706 } |
703 case Oriya: { | 707 case EListStyleType::Oriya: { |
704 static const UChar oriyaNumerals[10] = {0x0B66, 0x0B67, 0x0B68, 0x0B69, | 708 static const UChar oriyaNumerals[10] = {0x0B66, 0x0B67, 0x0B68, 0x0B69, |
705 0x0B6A, 0x0B6B, 0x0B6C, 0x0B6D, | 709 0x0B6A, 0x0B6B, 0x0B6C, 0x0B6D, |
706 0x0B6E, 0x0B6F}; | 710 0x0B6E, 0x0B6F}; |
707 return toNumeric(count, oriyaNumerals); | 711 return toNumeric(count, oriyaNumerals); |
708 } | 712 } |
709 case Persian: | 713 case EListStyleType::Persian: |
710 case Urdu: { | 714 case EListStyleType::Urdu: { |
711 static const UChar urduNumerals[10] = {0x06F0, 0x06F1, 0x06F2, 0x06F3, | 715 static const UChar urduNumerals[10] = {0x06F0, 0x06F1, 0x06F2, 0x06F3, |
712 0x06F4, 0x06F5, 0x06F6, 0x06F7, | 716 0x06F4, 0x06F5, 0x06F6, 0x06F7, |
713 0x06F8, 0x06F9}; | 717 0x06F8, 0x06F9}; |
714 return toNumeric(count, urduNumerals); | 718 return toNumeric(count, urduNumerals); |
715 } | 719 } |
716 case Telugu: { | 720 case EListStyleType::Telugu: { |
717 static const UChar teluguNumerals[10] = {0x0C66, 0x0C67, 0x0C68, 0x0C69, | 721 static const UChar teluguNumerals[10] = {0x0C66, 0x0C67, 0x0C68, 0x0C69, |
718 0x0C6A, 0x0C6B, 0x0C6C, 0x0C6D, | 722 0x0C6A, 0x0C6B, 0x0C6C, 0x0C6D, |
719 0x0C6E, 0x0C6F}; | 723 0x0C6E, 0x0C6F}; |
720 return toNumeric(count, teluguNumerals); | 724 return toNumeric(count, teluguNumerals); |
721 } | 725 } |
722 case Tibetan: { | 726 case EListStyleType::Tibetan: { |
723 static const UChar tibetanNumerals[10] = {0x0F20, 0x0F21, 0x0F22, 0x0F23, | 727 static const UChar tibetanNumerals[10] = {0x0F20, 0x0F21, 0x0F22, 0x0F23, |
724 0x0F24, 0x0F25, 0x0F26, 0x0F27, | 728 0x0F24, 0x0F25, 0x0F26, 0x0F27, |
725 0x0F28, 0x0F29}; | 729 0x0F28, 0x0F29}; |
726 return toNumeric(count, tibetanNumerals); | 730 return toNumeric(count, tibetanNumerals); |
727 } | 731 } |
728 case Thai: { | 732 case EListStyleType::Thai: { |
729 static const UChar thaiNumerals[10] = {0x0E50, 0x0E51, 0x0E52, 0x0E53, | 733 static const UChar thaiNumerals[10] = {0x0E50, 0x0E51, 0x0E52, 0x0E53, |
730 0x0E54, 0x0E55, 0x0E56, 0x0E57, | 734 0x0E54, 0x0E55, 0x0E56, 0x0E57, |
731 0x0E58, 0x0E59}; | 735 0x0E58, 0x0E59}; |
732 return toNumeric(count, thaiNumerals); | 736 return toNumeric(count, thaiNumerals); |
733 } | 737 } |
734 | 738 |
735 case LowerAlpha: | 739 case EListStyleType::LowerAlpha: |
736 case LowerLatin: { | 740 case EListStyleType::LowerLatin: { |
737 static const LChar lowerLatinAlphabet[26] = { | 741 static const LChar lowerLatinAlphabet[26] = { |
738 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', | 742 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', |
739 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z'}; | 743 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z'}; |
740 return toAlphabetic(count, lowerLatinAlphabet); | 744 return toAlphabetic(count, lowerLatinAlphabet); |
741 } | 745 } |
742 case UpperAlpha: | 746 case EListStyleType::UpperAlpha: |
743 case UpperLatin: { | 747 case EListStyleType::UpperLatin: { |
744 static const LChar upperLatinAlphabet[26] = { | 748 static const LChar upperLatinAlphabet[26] = { |
745 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', | 749 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', |
746 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'}; | 750 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'}; |
747 return toAlphabetic(count, upperLatinAlphabet); | 751 return toAlphabetic(count, upperLatinAlphabet); |
748 } | 752 } |
749 case LowerGreek: { | 753 case EListStyleType::LowerGreek: { |
750 static const UChar lowerGreekAlphabet[24] = { | 754 static const UChar lowerGreekAlphabet[24] = { |
751 0x03B1, 0x03B2, 0x03B3, 0x03B4, 0x03B5, 0x03B6, 0x03B7, 0x03B8, | 755 0x03B1, 0x03B2, 0x03B3, 0x03B4, 0x03B5, 0x03B6, 0x03B7, 0x03B8, |
752 0x03B9, 0x03BA, 0x03BB, 0x03BC, 0x03BD, 0x03BE, 0x03BF, 0x03C0, | 756 0x03B9, 0x03BA, 0x03BB, 0x03BC, 0x03BD, 0x03BE, 0x03BF, 0x03C0, |
753 0x03C1, 0x03C3, 0x03C4, 0x03C5, 0x03C6, 0x03C7, 0x03C8, 0x03C9}; | 757 0x03C1, 0x03C3, 0x03C4, 0x03C5, 0x03C6, 0x03C7, 0x03C8, 0x03C9}; |
754 return toAlphabetic(count, lowerGreekAlphabet); | 758 return toAlphabetic(count, lowerGreekAlphabet); |
755 } | 759 } |
756 | 760 |
757 case Hiragana: { | 761 case EListStyleType::Hiragana: { |
758 // FIXME: This table comes from the CSS3 draft, and is probably | 762 // FIXME: This table comes from the CSS3 draft, and is probably |
759 // incorrect, given the comments in that draft. | 763 // incorrect, given the comments in that draft. |
760 static const UChar hiraganaAlphabet[48] = { | 764 static const UChar hiraganaAlphabet[48] = { |
761 0x3042, 0x3044, 0x3046, 0x3048, 0x304A, 0x304B, 0x304D, 0x304F, | 765 0x3042, 0x3044, 0x3046, 0x3048, 0x304A, 0x304B, 0x304D, 0x304F, |
762 0x3051, 0x3053, 0x3055, 0x3057, 0x3059, 0x305B, 0x305D, 0x305F, | 766 0x3051, 0x3053, 0x3055, 0x3057, 0x3059, 0x305B, 0x305D, 0x305F, |
763 0x3061, 0x3064, 0x3066, 0x3068, 0x306A, 0x306B, 0x306C, 0x306D, | 767 0x3061, 0x3064, 0x3066, 0x3068, 0x306A, 0x306B, 0x306C, 0x306D, |
764 0x306E, 0x306F, 0x3072, 0x3075, 0x3078, 0x307B, 0x307E, 0x307F, | 768 0x306E, 0x306F, 0x3072, 0x3075, 0x3078, 0x307B, 0x307E, 0x307F, |
765 0x3080, 0x3081, 0x3082, 0x3084, 0x3086, 0x3088, 0x3089, 0x308A, | 769 0x3080, 0x3081, 0x3082, 0x3084, 0x3086, 0x3088, 0x3089, 0x308A, |
766 0x308B, 0x308C, 0x308D, 0x308F, 0x3090, 0x3091, 0x3092, 0x3093}; | 770 0x308B, 0x308C, 0x308D, 0x308F, 0x3090, 0x3091, 0x3092, 0x3093}; |
767 return toAlphabetic(count, hiraganaAlphabet); | 771 return toAlphabetic(count, hiraganaAlphabet); |
768 } | 772 } |
769 case HiraganaIroha: { | 773 case EListStyleType::HiraganaIroha: { |
770 // FIXME: This table comes from the CSS3 draft, and is probably | 774 // FIXME: This table comes from the CSS3 draft, and is probably |
771 // incorrect, given the comments in that draft. | 775 // incorrect, given the comments in that draft. |
772 static const UChar hiraganaIrohaAlphabet[47] = { | 776 static const UChar hiraganaIrohaAlphabet[47] = { |
773 0x3044, 0x308D, 0x306F, 0x306B, 0x307B, 0x3078, 0x3068, 0x3061, | 777 0x3044, 0x308D, 0x306F, 0x306B, 0x307B, 0x3078, 0x3068, 0x3061, |
774 0x308A, 0x306C, 0x308B, 0x3092, 0x308F, 0x304B, 0x3088, 0x305F, | 778 0x308A, 0x306C, 0x308B, 0x3092, 0x308F, 0x304B, 0x3088, 0x305F, |
775 0x308C, 0x305D, 0x3064, 0x306D, 0x306A, 0x3089, 0x3080, 0x3046, | 779 0x308C, 0x305D, 0x3064, 0x306D, 0x306A, 0x3089, 0x3080, 0x3046, |
776 0x3090, 0x306E, 0x304A, 0x304F, 0x3084, 0x307E, 0x3051, 0x3075, | 780 0x3090, 0x306E, 0x304A, 0x304F, 0x3084, 0x307E, 0x3051, 0x3075, |
777 0x3053, 0x3048, 0x3066, 0x3042, 0x3055, 0x304D, 0x3086, 0x3081, | 781 0x3053, 0x3048, 0x3066, 0x3042, 0x3055, 0x304D, 0x3086, 0x3081, |
778 0x307F, 0x3057, 0x3091, 0x3072, 0x3082, 0x305B, 0x3059}; | 782 0x307F, 0x3057, 0x3091, 0x3072, 0x3082, 0x305B, 0x3059}; |
779 return toAlphabetic(count, hiraganaIrohaAlphabet); | 783 return toAlphabetic(count, hiraganaIrohaAlphabet); |
780 } | 784 } |
781 case Katakana: { | 785 case EListStyleType::Katakana: { |
782 // FIXME: This table comes from the CSS3 draft, and is probably | 786 // FIXME: This table comes from the CSS3 draft, and is probably |
783 // incorrect, given the comments in that draft. | 787 // incorrect, given the comments in that draft. |
784 static const UChar katakanaAlphabet[48] = { | 788 static const UChar katakanaAlphabet[48] = { |
785 0x30A2, 0x30A4, 0x30A6, 0x30A8, 0x30AA, 0x30AB, 0x30AD, 0x30AF, | 789 0x30A2, 0x30A4, 0x30A6, 0x30A8, 0x30AA, 0x30AB, 0x30AD, 0x30AF, |
786 0x30B1, 0x30B3, 0x30B5, 0x30B7, 0x30B9, 0x30BB, 0x30BD, 0x30BF, | 790 0x30B1, 0x30B3, 0x30B5, 0x30B7, 0x30B9, 0x30BB, 0x30BD, 0x30BF, |
787 0x30C1, 0x30C4, 0x30C6, 0x30C8, 0x30CA, 0x30CB, 0x30CC, 0x30CD, | 791 0x30C1, 0x30C4, 0x30C6, 0x30C8, 0x30CA, 0x30CB, 0x30CC, 0x30CD, |
788 0x30CE, 0x30CF, 0x30D2, 0x30D5, 0x30D8, 0x30DB, 0x30DE, 0x30DF, | 792 0x30CE, 0x30CF, 0x30D2, 0x30D5, 0x30D8, 0x30DB, 0x30DE, 0x30DF, |
789 0x30E0, 0x30E1, 0x30E2, 0x30E4, 0x30E6, 0x30E8, 0x30E9, 0x30EA, | 793 0x30E0, 0x30E1, 0x30E2, 0x30E4, 0x30E6, 0x30E8, 0x30E9, 0x30EA, |
790 0x30EB, 0x30EC, 0x30ED, 0x30EF, 0x30F0, 0x30F1, 0x30F2, 0x30F3}; | 794 0x30EB, 0x30EC, 0x30ED, 0x30EF, 0x30F0, 0x30F1, 0x30F2, 0x30F3}; |
791 return toAlphabetic(count, katakanaAlphabet); | 795 return toAlphabetic(count, katakanaAlphabet); |
792 } | 796 } |
793 case KatakanaIroha: { | 797 case EListStyleType::KatakanaIroha: { |
794 // FIXME: This table comes from the CSS3 draft, and is probably | 798 // FIXME: This table comes from the CSS3 draft, and is probably |
795 // incorrect, given the comments in that draft. | 799 // incorrect, given the comments in that draft. |
796 static const UChar katakanaIrohaAlphabet[47] = { | 800 static const UChar katakanaIrohaAlphabet[47] = { |
797 0x30A4, 0x30ED, 0x30CF, 0x30CB, 0x30DB, 0x30D8, 0x30C8, 0x30C1, | 801 0x30A4, 0x30ED, 0x30CF, 0x30CB, 0x30DB, 0x30D8, 0x30C8, 0x30C1, |
798 0x30EA, 0x30CC, 0x30EB, 0x30F2, 0x30EF, 0x30AB, 0x30E8, 0x30BF, | 802 0x30EA, 0x30CC, 0x30EB, 0x30F2, 0x30EF, 0x30AB, 0x30E8, 0x30BF, |
799 0x30EC, 0x30BD, 0x30C4, 0x30CD, 0x30CA, 0x30E9, 0x30E0, 0x30A6, | 803 0x30EC, 0x30BD, 0x30C4, 0x30CD, 0x30CA, 0x30E9, 0x30E0, 0x30A6, |
800 0x30F0, 0x30CE, 0x30AA, 0x30AF, 0x30E4, 0x30DE, 0x30B1, 0x30D5, | 804 0x30F0, 0x30CE, 0x30AA, 0x30AF, 0x30E4, 0x30DE, 0x30B1, 0x30D5, |
801 0x30B3, 0x30A8, 0x30C6, 0x30A2, 0x30B5, 0x30AD, 0x30E6, 0x30E1, | 805 0x30B3, 0x30A8, 0x30C6, 0x30A2, 0x30B5, 0x30AD, 0x30E6, 0x30E1, |
802 0x30DF, 0x30B7, 0x30F1, 0x30D2, 0x30E2, 0x30BB, 0x30B9}; | 806 0x30DF, 0x30B7, 0x30F1, 0x30D2, 0x30E2, 0x30BB, 0x30B9}; |
803 return toAlphabetic(count, katakanaIrohaAlphabet); | 807 return toAlphabetic(count, katakanaIrohaAlphabet); |
804 } | 808 } |
805 | 809 |
806 case CjkEarthlyBranch: { | 810 case EListStyleType::CjkEarthlyBranch: { |
807 static const UChar cjkEarthlyBranchAlphabet[12] = { | 811 static const UChar cjkEarthlyBranchAlphabet[12] = { |
808 0x5B50, 0x4E11, 0x5BC5, 0x536F, 0x8FB0, 0x5DF3, | 812 0x5B50, 0x4E11, 0x5BC5, 0x536F, 0x8FB0, 0x5DF3, |
809 0x5348, 0x672A, 0x7533, 0x9149, 0x620C, 0x4EA5}; | 813 0x5348, 0x672A, 0x7533, 0x9149, 0x620C, 0x4EA5}; |
810 return toAlphabetic(count, cjkEarthlyBranchAlphabet); | 814 return toAlphabetic(count, cjkEarthlyBranchAlphabet); |
811 } | 815 } |
812 case CjkHeavenlyStem: { | 816 case EListStyleType::CjkHeavenlyStem: { |
813 static const UChar cjkHeavenlyStemAlphabet[10] = { | 817 static const UChar cjkHeavenlyStemAlphabet[10] = { |
814 0x7532, 0x4E59, 0x4E19, 0x4E01, 0x620A, | 818 0x7532, 0x4E59, 0x4E19, 0x4E01, 0x620A, |
815 0x5DF1, 0x5E9A, 0x8F9B, 0x58EC, 0x7678}; | 819 0x5DF1, 0x5E9A, 0x8F9B, 0x58EC, 0x7678}; |
816 return toAlphabetic(count, cjkHeavenlyStemAlphabet); | 820 return toAlphabetic(count, cjkHeavenlyStemAlphabet); |
817 } | 821 } |
818 case HangulConsonant: { | 822 case EListStyleType::HangulConsonant: { |
819 static const UChar hangulConsonantAlphabet[14] = { | 823 static const UChar hangulConsonantAlphabet[14] = { |
820 0x3131, 0x3134, 0x3137, 0x3139, 0x3141, 0x3142, 0x3145, | 824 0x3131, 0x3134, 0x3137, 0x3139, 0x3141, 0x3142, 0x3145, |
821 0x3147, 0x3148, 0x314A, 0x314B, 0x314C, 0x314D, 0x314E}; | 825 0x3147, 0x3148, 0x314A, 0x314B, 0x314C, 0x314D, 0x314E}; |
822 return toAlphabetic(count, hangulConsonantAlphabet); | 826 return toAlphabetic(count, hangulConsonantAlphabet); |
823 } | 827 } |
824 case Hangul: { | 828 case EListStyleType::Hangul: { |
825 static const UChar hangulAlphabet[14] = { | 829 static const UChar hangulAlphabet[14] = { |
826 0xAC00, 0xB098, 0xB2E4, 0xB77C, 0xB9C8, 0xBC14, 0xC0AC, | 830 0xAC00, 0xB098, 0xB2E4, 0xB77C, 0xB9C8, 0xBC14, 0xC0AC, |
827 0xC544, 0xC790, 0xCC28, 0xCE74, 0xD0C0, 0xD30C, 0xD558}; | 831 0xC544, 0xC790, 0xCC28, 0xCE74, 0xD0C0, 0xD30C, 0xD558}; |
828 return toAlphabetic(count, hangulAlphabet); | 832 return toAlphabetic(count, hangulAlphabet); |
829 } | 833 } |
830 case EthiopicHalehame: { | 834 case EListStyleType::EthiopicHalehame: { |
831 static const UChar ethiopicHalehameGezAlphabet[26] = { | 835 static const UChar ethiopicHalehameGezAlphabet[26] = { |
832 0x1200, 0x1208, 0x1210, 0x1218, 0x1220, 0x1228, 0x1230, | 836 0x1200, 0x1208, 0x1210, 0x1218, 0x1220, 0x1228, 0x1230, |
833 0x1240, 0x1260, 0x1270, 0x1280, 0x1290, 0x12A0, 0x12A8, | 837 0x1240, 0x1260, 0x1270, 0x1280, 0x1290, 0x12A0, 0x12A8, |
834 0x12C8, 0x12D0, 0x12D8, 0x12E8, 0x12F0, 0x1308, 0x1320, | 838 0x12C8, 0x12D0, 0x12D8, 0x12E8, 0x12F0, 0x1308, 0x1320, |
835 0x1330, 0x1338, 0x1340, 0x1348, 0x1350}; | 839 0x1330, 0x1338, 0x1340, 0x1348, 0x1350}; |
836 return toAlphabetic(count, ethiopicHalehameGezAlphabet); | 840 return toAlphabetic(count, ethiopicHalehameGezAlphabet); |
837 } | 841 } |
838 case EthiopicHalehameAm: { | 842 case EListStyleType::EthiopicHalehameAm: { |
839 static const UChar ethiopicHalehameAmAlphabet[33] = { | 843 static const UChar ethiopicHalehameAmAlphabet[33] = { |
840 0x1200, 0x1208, 0x1210, 0x1218, 0x1220, 0x1228, 0x1230, | 844 0x1200, 0x1208, 0x1210, 0x1218, 0x1220, 0x1228, 0x1230, |
841 0x1238, 0x1240, 0x1260, 0x1270, 0x1278, 0x1280, 0x1290, | 845 0x1238, 0x1240, 0x1260, 0x1270, 0x1278, 0x1280, 0x1290, |
842 0x1298, 0x12A0, 0x12A8, 0x12B8, 0x12C8, 0x12D0, 0x12D8, | 846 0x1298, 0x12A0, 0x12A8, 0x12B8, 0x12C8, 0x12D0, 0x12D8, |
843 0x12E0, 0x12E8, 0x12F0, 0x1300, 0x1308, 0x1320, 0x1328, | 847 0x12E0, 0x12E8, 0x12F0, 0x1300, 0x1308, 0x1320, 0x1328, |
844 0x1330, 0x1338, 0x1340, 0x1348, 0x1350}; | 848 0x1330, 0x1338, 0x1340, 0x1348, 0x1350}; |
845 return toAlphabetic(count, ethiopicHalehameAmAlphabet); | 849 return toAlphabetic(count, ethiopicHalehameAmAlphabet); |
846 } | 850 } |
847 case EthiopicHalehameTiEr: { | 851 case EListStyleType::EthiopicHalehameTiEr: { |
848 static const UChar ethiopicHalehameTiErAlphabet[31] = { | 852 static const UChar ethiopicHalehameTiErAlphabet[31] = { |
849 0x1200, 0x1208, 0x1210, 0x1218, 0x1228, 0x1230, 0x1238, 0x1240, | 853 0x1200, 0x1208, 0x1210, 0x1218, 0x1228, 0x1230, 0x1238, 0x1240, |
850 0x1250, 0x1260, 0x1270, 0x1278, 0x1290, 0x1298, 0x12A0, 0x12A8, | 854 0x1250, 0x1260, 0x1270, 0x1278, 0x1290, 0x1298, 0x12A0, 0x12A8, |
851 0x12B8, 0x12C8, 0x12D0, 0x12D8, 0x12E0, 0x12E8, 0x12F0, 0x1300, | 855 0x12B8, 0x12C8, 0x12D0, 0x12D8, 0x12E0, 0x12E8, 0x12F0, 0x1300, |
852 0x1308, 0x1320, 0x1328, 0x1330, 0x1338, 0x1348, 0x1350}; | 856 0x1308, 0x1320, 0x1328, 0x1330, 0x1338, 0x1348, 0x1350}; |
853 return toAlphabetic(count, ethiopicHalehameTiErAlphabet); | 857 return toAlphabetic(count, ethiopicHalehameTiErAlphabet); |
854 } | 858 } |
855 case EthiopicHalehameTiEt: { | 859 case EListStyleType::EthiopicHalehameTiEt: { |
856 static const UChar ethiopicHalehameTiEtAlphabet[34] = { | 860 static const UChar ethiopicHalehameTiEtAlphabet[34] = { |
857 0x1200, 0x1208, 0x1210, 0x1218, 0x1220, 0x1228, 0x1230, | 861 0x1200, 0x1208, 0x1210, 0x1218, 0x1220, 0x1228, 0x1230, |
858 0x1238, 0x1240, 0x1250, 0x1260, 0x1270, 0x1278, 0x1280, | 862 0x1238, 0x1240, 0x1250, 0x1260, 0x1270, 0x1278, 0x1280, |
859 0x1290, 0x1298, 0x12A0, 0x12A8, 0x12B8, 0x12C8, 0x12D0, | 863 0x1290, 0x1298, 0x12A0, 0x12A8, 0x12B8, 0x12C8, 0x12D0, |
860 0x12D8, 0x12E0, 0x12E8, 0x12F0, 0x1300, 0x1308, 0x1320, | 864 0x12D8, 0x12E0, 0x12E8, 0x12F0, 0x1300, 0x1308, 0x1320, |
861 0x1328, 0x1330, 0x1338, 0x1340, 0x1348, 0x1350}; | 865 0x1328, 0x1330, 0x1338, 0x1340, 0x1348, 0x1350}; |
862 return toAlphabetic(count, ethiopicHalehameTiEtAlphabet); | 866 return toAlphabetic(count, ethiopicHalehameTiEtAlphabet); |
863 } | 867 } |
864 case KoreanHangulFormal: { | 868 case EListStyleType::KoreanHangulFormal: { |
865 static const UChar koreanHangulFormalTable[26] = { | 869 static const UChar koreanHangulFormalTable[26] = { |
866 Korean, 0xB9CC, 0x0000, 0xC5B5, 0x0000, 0xC870, 0x0000, | 870 Korean, 0xB9CC, 0x0000, 0xC5B5, 0x0000, 0xC870, 0x0000, |
867 0xC2ED, 0xBC31, 0xCC9C, 0xC601, 0xC77C, 0xC774, 0xC0BC, | 871 0xC2ED, 0xBC31, 0xCC9C, 0xC601, 0xC77C, 0xC774, 0xC0BC, |
868 0xC0AC, 0xC624, 0xC721, 0xCE60, 0xD314, 0xAD6C, 0xB9C8, | 872 0xC0AC, 0xC624, 0xC721, 0xCE60, 0xD314, 0xAD6C, 0xB9C8, |
869 0xC774, 0xB108, 0xC2A4, 0x0020, 0x0000}; | 873 0xC774, 0xB108, 0xC2A4, 0x0020, 0x0000}; |
870 return toCJKIdeographic(count, koreanHangulFormalTable, Formal); | 874 return toCJKIdeographic(count, koreanHangulFormalTable, Formal); |
871 } | 875 } |
872 case KoreanHanjaFormal: { | 876 case EListStyleType::KoreanHanjaFormal: { |
873 static const UChar koreanHanjaFormalTable[26] = { | 877 static const UChar koreanHanjaFormalTable[26] = { |
874 Korean, 0x842C, 0x0000, 0x5104, 0x0000, 0x5146, 0x0000, | 878 Korean, 0x842C, 0x0000, 0x5104, 0x0000, 0x5146, 0x0000, |
875 0x62FE, 0x767E, 0x4EDF, 0x96F6, 0x58F9, 0x8CB3, 0x53C3, | 879 0x62FE, 0x767E, 0x4EDF, 0x96F6, 0x58F9, 0x8CB3, 0x53C3, |
876 0x56DB, 0x4E94, 0x516D, 0x4E03, 0x516B, 0x4E5D, 0xB9C8, | 880 0x56DB, 0x4E94, 0x516D, 0x4E03, 0x516B, 0x4E5D, 0xB9C8, |
877 0xC774, 0xB108, 0xC2A4, 0x0020, 0x0000}; | 881 0xC774, 0xB108, 0xC2A4, 0x0020, 0x0000}; |
878 return toCJKIdeographic(count, koreanHanjaFormalTable, Formal); | 882 return toCJKIdeographic(count, koreanHanjaFormalTable, Formal); |
879 } | 883 } |
880 case KoreanHanjaInformal: { | 884 case EListStyleType::KoreanHanjaInformal: { |
881 static const UChar koreanHanjaInformalTable[26] = { | 885 static const UChar koreanHanjaInformalTable[26] = { |
882 Korean, 0x842C, 0x0000, 0x5104, 0x0000, 0x5146, 0x0000, | 886 Korean, 0x842C, 0x0000, 0x5104, 0x0000, 0x5146, 0x0000, |
883 0x5341, 0x767E, 0x5343, 0x96F6, 0x4E00, 0x4E8C, 0x4E09, | 887 0x5341, 0x767E, 0x5343, 0x96F6, 0x4E00, 0x4E8C, 0x4E09, |
884 0x56DB, 0x4E94, 0x516D, 0x4E03, 0x516B, 0x4E5D, 0xB9C8, | 888 0x56DB, 0x4E94, 0x516D, 0x4E03, 0x516B, 0x4E5D, 0xB9C8, |
885 0xC774, 0xB108, 0xC2A4, 0x0020, 0x0000}; | 889 0xC774, 0xB108, 0xC2A4, 0x0020, 0x0000}; |
886 return toCJKIdeographic(count, koreanHanjaInformalTable, Informal); | 890 return toCJKIdeographic(count, koreanHanjaInformalTable, Informal); |
887 } | 891 } |
888 case CJKIdeographic: | 892 case EListStyleType::CJKIdeographic: |
889 case TradChineseInformal: { | 893 case EListStyleType::TradChineseInformal: { |
890 static const UChar traditionalChineseInformalTable[22] = { | 894 static const UChar traditionalChineseInformalTable[22] = { |
891 Chinese, 0x842C, 0x0000, 0x5104, 0x0000, 0x5146, 0x0000, 0x5341, | 895 Chinese, 0x842C, 0x0000, 0x5104, 0x0000, 0x5146, 0x0000, 0x5341, |
892 0x767E, 0x5343, 0x96F6, 0x4E00, 0x4E8C, 0x4E09, 0x56DB, 0x4E94, | 896 0x767E, 0x5343, 0x96F6, 0x4E00, 0x4E8C, 0x4E09, 0x56DB, 0x4E94, |
893 0x516D, 0x4E03, 0x516B, 0x4E5D, 0x8CA0, 0x0000}; | 897 0x516D, 0x4E03, 0x516B, 0x4E5D, 0x8CA0, 0x0000}; |
894 return toCJKIdeographic(count, traditionalChineseInformalTable, Informal); | 898 return toCJKIdeographic(count, traditionalChineseInformalTable, Informal); |
895 } | 899 } |
896 case SimpChineseInformal: { | 900 case EListStyleType::SimpChineseInformal: { |
897 static const UChar simpleChineseInformalTable[22] = { | 901 static const UChar simpleChineseInformalTable[22] = { |
898 Chinese, 0x4E07, 0x0000, 0x4EBF, 0x0000, 0x4E07, 0x4EBF, 0x5341, | 902 Chinese, 0x4E07, 0x0000, 0x4EBF, 0x0000, 0x4E07, 0x4EBF, 0x5341, |
899 0x767E, 0x5343, 0x96F6, 0x4E00, 0x4E8C, 0x4E09, 0x56DB, 0x4E94, | 903 0x767E, 0x5343, 0x96F6, 0x4E00, 0x4E8C, 0x4E09, 0x56DB, 0x4E94, |
900 0x516D, 0x4E03, 0x516B, 0x4E5D, 0x8D1F, 0x0000}; | 904 0x516D, 0x4E03, 0x516B, 0x4E5D, 0x8D1F, 0x0000}; |
901 return toCJKIdeographic(count, simpleChineseInformalTable, Informal); | 905 return toCJKIdeographic(count, simpleChineseInformalTable, Informal); |
902 } | 906 } |
903 case TradChineseFormal: { | 907 case EListStyleType::TradChineseFormal: { |
904 static const UChar traditionalChineseFormalTable[22] = { | 908 static const UChar traditionalChineseFormalTable[22] = { |
905 Chinese, 0x842C, 0x0000, 0x5104, 0x0000, 0x5146, 0x0000, 0x62FE, | 909 Chinese, 0x842C, 0x0000, 0x5104, 0x0000, 0x5146, 0x0000, 0x62FE, |
906 0x4F70, 0x4EDF, 0x96F6, 0x58F9, 0x8CB3, 0x53C3, 0x8086, 0x4F0D, | 910 0x4F70, 0x4EDF, 0x96F6, 0x58F9, 0x8CB3, 0x53C3, 0x8086, 0x4F0D, |
907 0x9678, 0x67D2, 0x634C, 0x7396, 0x8CA0, 0x0000}; | 911 0x9678, 0x67D2, 0x634C, 0x7396, 0x8CA0, 0x0000}; |
908 return toCJKIdeographic(count, traditionalChineseFormalTable, Formal); | 912 return toCJKIdeographic(count, traditionalChineseFormalTable, Formal); |
909 } | 913 } |
910 case SimpChineseFormal: { | 914 case EListStyleType::SimpChineseFormal: { |
911 static const UChar simpleChineseFormalTable[22] = { | 915 static const UChar simpleChineseFormalTable[22] = { |
912 Chinese, 0x4E07, 0x0000, 0x4EBF, 0x0000, 0x4E07, 0x4EBF, 0x62FE, | 916 Chinese, 0x4E07, 0x0000, 0x4EBF, 0x0000, 0x4E07, 0x4EBF, 0x62FE, |
913 0x4F70, 0x4EDF, 0x96F6, 0x58F9, 0x8D30, 0x53C1, 0x8086, 0x4F0D, | 917 0x4F70, 0x4EDF, 0x96F6, 0x58F9, 0x8D30, 0x53C1, 0x8086, 0x4F0D, |
914 0x9646, 0x67D2, 0x634C, 0x7396, 0x8D1F, 0x0000}; | 918 0x9646, 0x67D2, 0x634C, 0x7396, 0x8D1F, 0x0000}; |
915 return toCJKIdeographic(count, simpleChineseFormalTable, Formal); | 919 return toCJKIdeographic(count, simpleChineseFormalTable, Formal); |
916 } | 920 } |
917 | 921 |
918 case LowerRoman: | 922 case EListStyleType::LowerRoman: |
919 return toRoman(count, false); | 923 return toRoman(count, false); |
920 case UpperRoman: | 924 case EListStyleType::UpperRoman: |
921 return toRoman(count, true); | 925 return toRoman(count, true); |
922 | 926 |
923 case Armenian: | 927 case EListStyleType::Armenian: |
924 case UpperArmenian: | 928 case EListStyleType::UpperArmenian: |
925 // CSS3 says "armenian" means "lower-armenian". | 929 // CSS3 says "armenian" means "lower-armenian". |
926 // But the CSS2.1 test suite contains uppercase test results for | 930 // But the CSS2.1 test suite contains uppercase test results for |
927 // "armenian", so we'll match the test suite. | 931 // "armenian", so we'll match the test suite. |
928 return toArmenian(count, true); | 932 return toArmenian(count, true); |
929 case LowerArmenian: | 933 case EListStyleType::LowerArmenian: |
930 return toArmenian(count, false); | 934 return toArmenian(count, false); |
931 case Georgian: | 935 case EListStyleType::Georgian: |
932 return toGeorgian(count); | 936 return toGeorgian(count); |
933 case Hebrew: | 937 case EListStyleType::Hebrew: |
934 return toHebrew(count); | 938 return toHebrew(count); |
935 } | 939 } |
936 | 940 |
937 ASSERT_NOT_REACHED(); | 941 ASSERT_NOT_REACHED(); |
938 return ""; | 942 return ""; |
939 } | 943 } |
940 | 944 |
941 } // namespace ListMarkerText | 945 } // namespace ListMarkerText |
942 | 946 |
943 } // namespace blink | 947 } // namespace blink |
OLD | NEW |