code: public static boolean isUnicodeIdentifierStart(int ch)
      {
          /*int cat = getType(ch);*/
          // if props == 0, it will just fall through and return false
          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))) != 0;
      }
docs: Determines if the specified code point is permissible as the first
  character in a Unicode identifier.
  A code point may start a Unicode identifier if it is of type either
  <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
  </ul>
  Up-to-date Unicode implementation of
  java.lang.Character.isUnicodeIdentifierStart().<br>
  See <a href=http://www.unicode.org/unicode/reports/tr8/>UTR #8</a>.
  @param ch code point to determine if it can start a Unicode identifier
  @return true if code point is the first character belonging a unicode
  identifier