blob: 2839ac32b142942133f99ef44524c23afde07e3f [file] [log] [blame]
/*
* Copyright (C) 2008 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.ibm.icu4jni.lang;
import java.lang.Character.UnicodeBlock;
public class UCharacter {
public static native boolean isDefined(int codePoint);
public static native boolean isDigit(int codePoint);
public static native boolean isIdentifierIgnorable(int codePoint);
public static native boolean isLetter(int codePoint);
public static native boolean isLetterOrDigit(int codePoint);
public static native boolean isLowerCase(int codePoint);
public static native boolean isMirrored(int codePoint);
public static native boolean isSpaceChar(int codePoint);
public static native boolean isTitleCase(int codePoint);
public static native boolean isUnicodeIdentifierPart(int codePoint);
public static native boolean isUnicodeIdentifierStart(int codePoint);
public static native boolean isUpperCase(int codePoint);
public static native boolean isWhitespace(int codePoint);
public static native byte getDirectionality(int codePoint);
public static native int digit(int codePoint, int radix);
public static native int forName(String blockName);
public static native int getNumericValue(int codePoint);
public static native int getType(int codePoint);
public static native int of(int codePoint);
public static native int toLowerCase(int codePoint);
public static native int toTitleCase(int codePoint);
public static native int toUpperCase(int codePoint);
public static UnicodeBlock[] getBlockTable() {
/**
* The indices of the entries of this table correspond with the value
* of the ICU enum UBlockCode. When updating ICU it's necessary
* to check if there where any changes for the properties
* used by java.lang.Character.
* The enum is defined in common/unicode/uchar.h
*/
UnicodeBlock[] result = new UnicodeBlock[] { null,
UnicodeBlock.BASIC_LATIN,
UnicodeBlock.LATIN_1_SUPPLEMENT,
UnicodeBlock.LATIN_EXTENDED_A,
UnicodeBlock.LATIN_EXTENDED_B,
UnicodeBlock.IPA_EXTENSIONS,
UnicodeBlock.SPACING_MODIFIER_LETTERS,
UnicodeBlock.COMBINING_DIACRITICAL_MARKS,
UnicodeBlock.GREEK,
UnicodeBlock.CYRILLIC,
UnicodeBlock.ARMENIAN,
UnicodeBlock.HEBREW,
UnicodeBlock.ARABIC,
UnicodeBlock.SYRIAC,
UnicodeBlock.THAANA,
UnicodeBlock.DEVANAGARI,
UnicodeBlock.BENGALI,
UnicodeBlock.GURMUKHI,
UnicodeBlock.GUJARATI,
UnicodeBlock.ORIYA,
UnicodeBlock.TAMIL,
UnicodeBlock.TELUGU,
UnicodeBlock.KANNADA,
UnicodeBlock.MALAYALAM,
UnicodeBlock.SINHALA,
UnicodeBlock.THAI,
UnicodeBlock.LAO,
UnicodeBlock.TIBETAN,
UnicodeBlock.MYANMAR,
UnicodeBlock.GEORGIAN,
UnicodeBlock.HANGUL_JAMO,
UnicodeBlock.ETHIOPIC,
UnicodeBlock.CHEROKEE,
UnicodeBlock.UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS,
UnicodeBlock.OGHAM,
UnicodeBlock.RUNIC,
UnicodeBlock.KHMER,
UnicodeBlock.MONGOLIAN,
UnicodeBlock.LATIN_EXTENDED_ADDITIONAL,
UnicodeBlock.GREEK_EXTENDED,
UnicodeBlock.GENERAL_PUNCTUATION,
UnicodeBlock.SUPERSCRIPTS_AND_SUBSCRIPTS,
UnicodeBlock.CURRENCY_SYMBOLS,
UnicodeBlock.COMBINING_MARKS_FOR_SYMBOLS,
UnicodeBlock.LETTERLIKE_SYMBOLS,
UnicodeBlock.NUMBER_FORMS,
UnicodeBlock.ARROWS,
UnicodeBlock.MATHEMATICAL_OPERATORS,
UnicodeBlock.MISCELLANEOUS_TECHNICAL,
UnicodeBlock.CONTROL_PICTURES,
UnicodeBlock.OPTICAL_CHARACTER_RECOGNITION,
UnicodeBlock.ENCLOSED_ALPHANUMERICS,
UnicodeBlock.BOX_DRAWING,
UnicodeBlock.BLOCK_ELEMENTS,
UnicodeBlock.GEOMETRIC_SHAPES,
UnicodeBlock.MISCELLANEOUS_SYMBOLS,
UnicodeBlock.DINGBATS,
UnicodeBlock.BRAILLE_PATTERNS,
UnicodeBlock.CJK_RADICALS_SUPPLEMENT,
UnicodeBlock.KANGXI_RADICALS,
UnicodeBlock.IDEOGRAPHIC_DESCRIPTION_CHARACTERS,
UnicodeBlock.CJK_SYMBOLS_AND_PUNCTUATION,
UnicodeBlock.HIRAGANA,
UnicodeBlock.KATAKANA,
UnicodeBlock.BOPOMOFO,
UnicodeBlock.HANGUL_COMPATIBILITY_JAMO,
UnicodeBlock.KANBUN,
UnicodeBlock.BOPOMOFO_EXTENDED,
UnicodeBlock.ENCLOSED_CJK_LETTERS_AND_MONTHS,
UnicodeBlock.CJK_COMPATIBILITY,
UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A,
UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS,
UnicodeBlock.YI_SYLLABLES,
UnicodeBlock.YI_RADICALS,
UnicodeBlock.HANGUL_SYLLABLES,
UnicodeBlock.HIGH_SURROGATES,
UnicodeBlock.HIGH_PRIVATE_USE_SURROGATES,
UnicodeBlock.LOW_SURROGATES,
UnicodeBlock.PRIVATE_USE_AREA,
UnicodeBlock.CJK_COMPATIBILITY_IDEOGRAPHS,
UnicodeBlock.ALPHABETIC_PRESENTATION_FORMS,
UnicodeBlock.ARABIC_PRESENTATION_FORMS_A,
UnicodeBlock.COMBINING_HALF_MARKS,
UnicodeBlock.CJK_COMPATIBILITY_FORMS,
UnicodeBlock.SMALL_FORM_VARIANTS,
UnicodeBlock.ARABIC_PRESENTATION_FORMS_B,
UnicodeBlock.SPECIALS,
UnicodeBlock.HALFWIDTH_AND_FULLWIDTH_FORMS,
UnicodeBlock.OLD_ITALIC,
UnicodeBlock.GOTHIC,
UnicodeBlock.DESERET,
UnicodeBlock.BYZANTINE_MUSICAL_SYMBOLS,
UnicodeBlock.MUSICAL_SYMBOLS,
UnicodeBlock.MATHEMATICAL_ALPHANUMERIC_SYMBOLS,
UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS_EXTENSION_B,
UnicodeBlock.CJK_COMPATIBILITY_IDEOGRAPHS_SUPPLEMENT,
UnicodeBlock.TAGS,
UnicodeBlock.CYRILLIC_SUPPLEMENTARY,
UnicodeBlock.TAGALOG,
UnicodeBlock.HANUNOO,
UnicodeBlock.BUHID,
UnicodeBlock.TAGBANWA,
UnicodeBlock.MISCELLANEOUS_MATHEMATICAL_SYMBOLS_A,
UnicodeBlock.SUPPLEMENTAL_ARROWS_A,
UnicodeBlock.SUPPLEMENTAL_ARROWS_B,
UnicodeBlock.MISCELLANEOUS_MATHEMATICAL_SYMBOLS_B,
UnicodeBlock.SUPPLEMENTAL_MATHEMATICAL_OPERATORS,
UnicodeBlock.KATAKANA_PHONETIC_EXTENSIONS,
UnicodeBlock.VARIATION_SELECTORS,
UnicodeBlock.SUPPLEMENTARY_PRIVATE_USE_AREA_A,
UnicodeBlock.SUPPLEMENTARY_PRIVATE_USE_AREA_B,
UnicodeBlock.LIMBU,
UnicodeBlock.TAI_LE,
UnicodeBlock.KHMER_SYMBOLS,
UnicodeBlock.PHONETIC_EXTENSIONS,
UnicodeBlock.MISCELLANEOUS_SYMBOLS_AND_ARROWS,
UnicodeBlock.YIJING_HEXAGRAM_SYMBOLS,
UnicodeBlock.LINEAR_B_SYLLABARY,
UnicodeBlock.LINEAR_B_IDEOGRAMS,
UnicodeBlock.AEGEAN_NUMBERS,
UnicodeBlock.UGARITIC,
UnicodeBlock.SHAVIAN,
UnicodeBlock.OSMANYA,
UnicodeBlock.CYPRIOT_SYLLABARY,
UnicodeBlock.TAI_XUAN_JING_SYMBOLS,
UnicodeBlock.VARIATION_SELECTORS_SUPPLEMENT
};
return result;
}
}