737 case 0x32B6: retval = 41; break; // CIRCLED NUMBER FORTY ONE
738 case 0x32B7: retval = 42; break; // CIRCLED NUMBER FORTY TWO
739 case 0x32B8: retval = 43; break; // CIRCLED NUMBER FORTY THREE
740 case 0x32B9: retval = 44; break; // CIRCLED NUMBER FORTY FOUR
741 case 0x32BA: retval = 45; break; // CIRCLED NUMBER FORTY FIVE
742 case 0x32BB: retval = 46; break; // CIRCLED NUMBER FORTY SIX
743 case 0x32BC: retval = 47; break; // CIRCLED NUMBER FORTY SEVEN
744 case 0x32BD: retval = 48; break; // CIRCLED NUMBER FORTY EIGHT
745 case 0x32BE: retval = 49; break; // CIRCLED NUMBER FORTY NINE
746 case 0x32BF: retval = 50; break; // CIRCLED NUMBER FIFTY
747 default: retval = -2; break;
748 }
749 break;
750 case ($$valueJavaSupradecimal): // Java supradecimal
751 retval = (ch + ((val & $$maskDigitOffset) >> $$shiftDigitOffset) & $$maskDigit) + 10;
752 break;
753 }
754 return retval;
755 }
756
757 boolean isWhitespace(int ch) {
758 int props = getProperties(ch);
759 return ((props & $$maskIdentifierInfo) == $$valueJavaWhitespace);
760 }
761
762 byte getDirectionality(int ch) {
763 int val = getProperties(ch);
764 byte directionality = (byte)((val & $$maskBidi) >> $$shiftBidi);
765 if (directionality == 0xF ) {
766 switch(ch) {
767 case 0x202A :
768 // This is the only char with LRE
769 directionality = Character.DIRECTIONALITY_LEFT_TO_RIGHT_EMBEDDING;
770 break;
771 case 0x202B :
772 // This is the only char with RLE
773 directionality = Character.DIRECTIONALITY_RIGHT_TO_LEFT_EMBEDDING;
774 break;
775 case 0x202C :
776 // This is the only char with PDF
|
737 case 0x32B6: retval = 41; break; // CIRCLED NUMBER FORTY ONE
738 case 0x32B7: retval = 42; break; // CIRCLED NUMBER FORTY TWO
739 case 0x32B8: retval = 43; break; // CIRCLED NUMBER FORTY THREE
740 case 0x32B9: retval = 44; break; // CIRCLED NUMBER FORTY FOUR
741 case 0x32BA: retval = 45; break; // CIRCLED NUMBER FORTY FIVE
742 case 0x32BB: retval = 46; break; // CIRCLED NUMBER FORTY SIX
743 case 0x32BC: retval = 47; break; // CIRCLED NUMBER FORTY SEVEN
744 case 0x32BD: retval = 48; break; // CIRCLED NUMBER FORTY EIGHT
745 case 0x32BE: retval = 49; break; // CIRCLED NUMBER FORTY NINE
746 case 0x32BF: retval = 50; break; // CIRCLED NUMBER FIFTY
747 default: retval = -2; break;
748 }
749 break;
750 case ($$valueJavaSupradecimal): // Java supradecimal
751 retval = (ch + ((val & $$maskDigitOffset) >> $$shiftDigitOffset) & $$maskDigit) + 10;
752 break;
753 }
754 return retval;
755 }
756
757 boolean isDigit(int ch) {
758 int props = getProperties(ch);
759 return (props & $$maskType) == Character.DECIMAL_DIGIT_NUMBER;
760 }
761
762 boolean isLowerCase(int ch) {
763 int props = getProperties(ch);
764 return (props & $$maskType) == Character.LOWERCASE_LETTER;
765 }
766
767 boolean isUpperCase(int ch) {
768 int props = getProperties(ch);
769 return (props & $$maskType) == Character.UPPERCASE_LETTER;
770 }
771
772 boolean isWhitespace(int ch) {
773 int props = getProperties(ch);
774 return ((props & $$maskIdentifierInfo) == $$valueJavaWhitespace);
775 }
776
777 byte getDirectionality(int ch) {
778 int val = getProperties(ch);
779 byte directionality = (byte)((val & $$maskBidi) >> $$shiftBidi);
780 if (directionality == 0xF ) {
781 switch(ch) {
782 case 0x202A :
783 // This is the only char with LRE
784 directionality = Character.DIRECTIONALITY_LEFT_TO_RIGHT_EMBEDDING;
785 break;
786 case 0x202B :
787 // This is the only char with RLE
788 directionality = Character.DIRECTIONALITY_RIGHT_TO_LEFT_EMBEDDING;
789 break;
790 case 0x202C :
791 // This is the only char with PDF
|