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 return getType(ch) == Character.DECIMAL_DIGIT_NUMBER; 759 } 760 761 boolean isLowerCase(int ch) { 762 return getType(ch) == Character.LOWERCASE_LETTER; 763 } 764 765 boolean isUpperCase(int ch) { 766 return getType(ch) == Character.UPPERCASE_LETTER; 767 } 768 769 boolean isWhitespace(int ch) { 770 int props = getProperties(ch); 771 return ((props & $$maskIdentifierInfo) == $$valueJavaWhitespace); 772 } 773 774 byte getDirectionality(int ch) { 775 int val = getProperties(ch); 776 byte directionality = (byte)((val & $$maskBidi) >> $$shiftBidi); 777 if (directionality == 0xF ) { 778 switch(ch) { 779 case 0x202A : 780 // This is the only char with LRE 781 directionality = Character.DIRECTIONALITY_LEFT_TO_RIGHT_EMBEDDING; 782 break; 783 case 0x202B : 784 // This is the only char with RLE 785 directionality = Character.DIRECTIONALITY_RIGHT_TO_LEFT_EMBEDDING; 786 break; 787 case 0x202C : 788 // This is the only char with PDF |