code: public static boolean isUnicodeIdentifierPart(int ch)
      {
          // if props == 0, it will just fall through and return false
          // cat == format
          return ((1 << getType(ch))
                  & ((1 << UCharacterCategory.UPPERCASE_LETTER)
                          | (1 << UCharacterCategory.LOWERCASE_LETTER)
                          | (1 << UCharacterCategory.TITLECASE_LETTER)
                          | (1 << UCharacterCategory.MODIFIER_LETTER)
                          | (1 << UCharacterCategory.OTHER_LETTER)
                          | (1 << UCharacterCategory.LETTER_NUMBER)
                          | (1 << UCharacterCategory.CONNECTOR_PUNCTUATION)
                          | (1 << UCharacterCategory.DECIMAL_DIGIT_NUMBER)
                          | (1 << UCharacterCategory.COMBINING_SPACING_MARK)
                          | (1 << UCharacterCategory.NON_SPACING_MARK))) != 0
                          || isIdentifierIgnorable(ch);
      }
docs: Determines if the specified code point may be any part of a Unicode
  identifier other than the starting character.
  A code point may be part of a Unicode identifier if and only if it is
  one of the following:
  <ul>
  <li> Lu Uppercase letter
  <li> Ll Lowercase letter
  <li> Lt Titlecase letter
  <li> Lm Modifier letter
  <li> Lo Other letter
  <li> Nl Letter number
  <li> Pc Connecting punctuation character
  <li> Nd decimal number
  <li> Mc Spacing combining mark
  <li> Mn Non-spacing mark
  <li> Cf formatting code
  </ul>
  Up-to-date Unicode implementation of
  java.lang.Character.isUnicodeIdentifierPart().<br>
  See <a href=http://www.unicode.org/unicode/reports/tr8/>UTR #8</a>.
  @param ch code point to determine if is can be part of a Unicode
  identifier
  @return true if code point is any character belonging a unicode
  identifier suffix after the first character