Tizen Native API

The Uchar module provides low-level access to the Unicode Character Database.

Required Header

#include <utils_i18n.h>

Overview

The Uchar module provides low-level access to the Unicode Character Database.

Sample Code 1

Gets the property value of 'east asian width' among an enumerated property, and the unicode allocation block that contains the character.

    int ret = I18N_ERROR_NONE;
    i18n_uchar32 code_point = 0;
    int property_value = 0;
    i18n_uchar_u_east_asian_width_e east_asian_width = I18N_UCHAR_U_EA_NEUTRAL;
    i18n_uchar_ublock_code_e block_code = I18N_UCHAR_UBLOCK_NO_BLOCK;

    // How to get the east asian width type for 's'
    code_point = 0x73;    // 's'
    ret = i18n_uchar_get_int_property_value(code_point, I18N_UCHAR_EAST_ASIAN_WIDTH, &property_value);
    if (ret != I18N_ERROR_NONE) {
        dlog_print(DLOG_INFO, LOG_TAG, "Error occured!!\n");
    } else {
        east_asian_width = (i18n_uchar_u_east_asian_width_e)property_value;
        dlog_print(DLOG_INFO, LOG_TAG, "East Asian Width Type for ( %.4x ) is ( %d )\n", code_point, east_asian_width);
        // East Asian Width Type for ( 0073 ) is ( 4 ) which is I18N_UCHAR_U_EA_NARROW
    }

    // How to get the block code for 's'
    ret = i18n_uchar_get_ublock_code(code_point, &block_code);
    if (ret != I18N_ERROR_NONE) {
        dlog_print(DLOG_INFO, LOG_TAG, "Error occured!!\n");
    } else {
        dlog_print(DLOG_INFO, LOG_TAG, "block name for ( %.4x ) is ( %d )\n", code_point, block_code);
        // block code for ( 0073 ) is ( 1 ) which is I18N_UCHAR_UBLOCK_BASIC_LATIN
    }

    // How to get the east asian width type for 'sung' as ideographs
    code_point = 0x661F;    // 'sung' as ideographs
    ret = i18n_uchar_get_int_property_value(code_point, I18N_UCHAR_EAST_ASIAN_WIDTH, &property_value);
    if (ret != I18N_ERROR_NONE) {
        dlog_print(DLOG_INFO, LOG_TAG, "Error occured!!\n");
    } else {
        east_asian_width = (i18n_uchar_u_east_asian_width_e)property_value;
        dlog_print(DLOG_INFO, LOG_TAG, "East Asian Width Type for ( %.4x ) is ( %d )\n", code_point, east_asian_width);
        // East Asian Width Type for ( 661f ) is ( 5 ) which is I18N_UCHAR_U_EA_WIDE
    }

    // How to get the block code for 'sung' as ideographs
    ret = i18n_uchar_get_ublock_code(code_point, &block_code);
    if (ret != I18N_ERROR_NONE) {
        dlog_print(DLOG_INFO, LOG_TAG, "Error occured!!\n");
    } else {
        dlog_print(DLOG_INFO, LOG_TAG, "block name for ( %.4x ) is ( %d )\n", code_point, block_code);
        // block code for ( 661f ) is ( 71 ) which is I18N_UCHAR_UBLOCK_CJK_UNIFIED_IDEOGRAPHS
    }

    // How to get the east asian width type for 'sung' as hangul
    code_point = 0xC131;    // 'sung' as hangul
    ret = i18n_uchar_get_int_property_value(code_point, I18N_UCHAR_EAST_ASIAN_WIDTH, &property_value);
    if (ret != I18N_ERROR_NONE) {
        dlog_print(DLOG_INFO, LOG_TAG, "Error occured!!\n");
    } else {
        east_asian_width = (i18n_uchar_u_east_asian_width_e)property_value;
        dlog_print(DLOG_INFO, LOG_TAG, "East Asian Width Type for ( %.4x ) is ( %d )\n", code_point, east_asian_width);
        // East Asian Width Type for ( c131 ) is ( 5 ) which is I18N_UCHAR_U_EA_WIDE
    }

    // How to get the block code for 'sung' as hangul
    ret = i18n_uchar_get_ublock_code(code_point, &block_code);
    if (ret != I18N_ERROR_NONE) {
        dlog_print(DLOG_INFO, LOG_TAG, "Error occured!!\n");
    } else {
        dlog_print(DLOG_INFO, LOG_TAG, "block name for ( %.4x ) is ( %d )\n", code_point, block_code);
        // block code for ( c131 ) is ( 74 ) which is I18N_UCHAR_UBLOCK_HANGUL_SYLLABLES
    }

Functions

int i18n_uchar_get_int_property_value (i18n_uchar32 c, i18n_uchar_uproperty_e which, int32_t *property_val)
 Gets the property value for an enumerated property for a code point.
int i18n_uchar_get_ublock_code (i18n_uchar32 c, i18n_uchar_ublock_code_e *block_val)
 Gets the Unicode allocation block that contains the character.

Typedefs

typedef uint16_t i18n_uchar
 i18n_uchar.
typedef int32_t i18n_uchar32
 i18n_uchar32.
typedef int8_t i18n_ubool
 i18n_ubool.

Defines

#define I18N_U_MASK(x)   ((uint32_t)1<<(x))
#define I18N_U_GC_CN_MASK   I18N_U_MASK(I18N_UCHAR_U_GENERAL_OTHER_TYPES)
#define I18N_U_GC_LU_MASK   I18N_U_MASK(I18N_UCHAR_U_UPPERCASE_LETTER)
#define I18N_U_GC_LL_MASK   I18N_U_MASK(I18N_UCHAR_U_LOWERCASE_LETTER)
#define I18N_U_GC_LT_MASK   I18N_U_MASK(I18N_UCHAR_U_TITLECASE_LETTER)
#define I18N_U_GC_LM_MASK   I18N_U_MASK(I18N_UCHAR_U_MODIFIER_LETTER)
#define I18N_U_GC_LO_MASK   I18N_U_MASK(I18N_UCHAR_U_OTHER_LETTER)
#define I18N_U_GC_MN_MASK   I18N_U_MASK(I18N_UCHAR_U_NON_SPACING_MARK)
#define I18N_U_GC_ME_MASK   I18N_U_MASK(I18N_UCHAR_U_ENCLOSING_MARK)
#define I18N_U_GC_MC_MASK   I18N_U_MASK(I18N_UCHAR_U_COMBINING_SPACING_MARK)
#define I18N_U_GC_ND_MASK   I18N_U_MASK(I18N_UCHAR_U_DECIMAL_DIGIT_NUMBER)
#define I18N_U_GC_NL_MASK   I18N_U_MASK(I18N_UCHAR_U_LETTER_NUMBER)
#define I18N_U_GC_NO_MASK   I18N_U_MASK(I18N_UCHAR_U_OTHER_NUMBER)
#define I18N_U_GC_ZS_MASK   I18N_U_MASK(I18N_UCHAR_U_SPACE_SEPARATOR)
#define I18N_U_GC_ZL_MASK   I18N_U_MASK(I18N_UCHAR_U_LINE_SEPARATOR)
#define I18N_U_GC_ZP_MASK   I18N_U_MASK(I18N_UCHAR_U_PARAGRAPH_SEPARATOR)
#define I18N_U_GC_CC_MASK   I18N_U_MASK(I18N_UCHAR_U_CONTROL_CHAR)
#define I18N_U_GC_CF_MASK   I18N_U_MASK(I18N_UCHAR_U_FORMAT_CHAR)
#define I18N_U_GC_CO_MASK   I18N_U_MASK(I18N_UCHAR_U_PRIVATE_USE_CHAR)
#define I18N_U_GC_CS_MASK   I18N_U_MASK(I18N_UCHAR_U_SURROGATE)
#define I18N_U_GC_PD_MASK   I18N_U_MASK(I18N_UCHAR_U_DASH_PUNCTUATION)
#define I18N_U_GC_PS_MASK   I18N_U_MASK(I18N_UCHAR_U_START_PUNCTUATION)
#define I18N_U_GC_PE_MASK   I18N_U_MASK(I18N_UCHAR_U_END_PUNCTUATION)
#define I18N_U_GC_PC_MASK   I18N_U_MASK(I18N_UCHAR_U_CONNECTOR_PUNCTUATION)
#define I18N_U_GC_PO_MASK   I18N_U_MASK(I18N_UCHAR_U_OTHER_PUNCTUATION)
#define I18N_U_GC_SM_MASK   I18N_U_MASK(I18N_UCHAR_U_MATH_SYMBOL)
#define I18N_U_GC_SC_MASK   I18N_U_MASK(I18N_UCHAR_U_CURRENCY_SYMBOL)
#define I18N_U_GC_SK_MASK   I18N_U_MASK(I18N_UCHAR_U_MODIFIER_SYMBOL)
#define I18N_U_GC_SO_MASK   I18N_U_MASK(I18N_UCHAR_U_OTHER_SYMBOL)
#define I18N_U_GC_PI_MASK   I18N_U_MASK(I18N_UCHAR_U_INITIAL_PUNCTUATION)
#define I18N_U_GC_PF_MASK   I18N_U_MASK(I18N_UCHAR_U_FINAL_PUNCTUATION)
#define I18N_U_GC_L_MASK   (I18N_U_GC_LU_MASK|I18N_U_GC_LL_MASK|I18N_U_GC_LT_MASK|I18N_U_GC_LM_MASK|I18N_U_GC_LO_MASK)
#define I18N_U_GC_LC_MASK   (I18N_U_GC_LU_MASK|I18N_U_GC_LL_MASK|I18N_U_GC_LT_MASK)
#define I18N_U_GC_M_MASK   (I18N_U_GC_MN_MASK|I18N_U_GC_ME_MASK|I18N_U_GC_MC_MASK)
#define I18N_U_GC_N_MASK   (I18N_U_GC_ND_MASK|I18N_U_GC_NL_MASK|I18N_U_GC_NO_MASK)
#define I18N_U_GC_Z_MASK   (I18N_U_GC_ZS_MASK|I18N_U_GC_ZL_MASK|I18N_U_GC_ZP_MASK)
#define I18N_U_GC_C_MASK   (I18N_U_GC_CN_MASK|I18N_U_GC_CC_MASK|I18N_U_GC_CF_MASK|I18N_U_GC_CO_MASK|I18N_U_GC_CS_MASK)
#define I18N_U_GC_P_MASK   (I18N_U_GC_PD_MASK|I18N_U_GC_PS_MASK|I18N_U_GC_PE_MASK|I18N_U_GC_PC_MASK|I18N_U_GC_PO_MASK|I18N_U_GC_PI_MASK|I18N_U_GC_PF_MASK)
#define I18N_U_GC_S_MASK   (I18N_U_GC_SM_MASK|I18N_U_GC_SC_MASK|I18N_U_GC_SK_MASK|I18N_U_GC_SO_MASK)
#define I18N_U_NO_NUMERIC_VALUE   ((double)-123456789.)
#define I18N_U_GET_GC_MASK(c)   I18N_U_MASK(u_charType(c))
#define I18N_U_FOLD_CASE_DEFAULT   0
 Option value for case folding: use default mappings defined in CaseFolding.txt.
#define I18N_U_FOLD_CASE_EXCLUDE_SPECIAL_I   1
 Option value for case folding:
Use the modified set of mappings provided in CaseFolding.txt to handle dotted I and dotless i appropriately for Turkic languages (tr, az).
Before Unicode 3.2, CaseFolding.txt contains mappings marked with 'I' that are to be included for default mappings and excluded for the Turkic-specific mappings.
Unicode 3.2 CaseFolding.txt instead contains mappings marked with 'T' that are to be excluded for default mappings and included for the Turkic-specific mappings.
#define I18N_USEARCH_DONE   -1
 DONE is returned by i18n_usearch_previous() and i18n_usearch_next() after all valid matches have been returned, and by, i18n_usearch_first() and i18n_usearch_last() if there are no matches at all.

Define Documentation

#define I18N_U_FOLD_CASE_DEFAULT   0

Option value for case folding: use default mappings defined in CaseFolding.txt.

Since :
2.3.1

Option value for case folding:
Use the modified set of mappings provided in CaseFolding.txt to handle dotted I and dotless i appropriately for Turkic languages (tr, az).
Before Unicode 3.2, CaseFolding.txt contains mappings marked with 'I' that are to be included for default mappings and excluded for the Turkic-specific mappings.
Unicode 3.2 CaseFolding.txt instead contains mappings marked with 'T' that are to be excluded for default mappings and included for the Turkic-specific mappings.

Since :
2.3.1

Mask constant for a i18n_uchar_category_e.

Since :
2.3.1

Mask constant for a i18n_uchar_category_e.

Since :
2.3.1

U_GC_XX_MASK constants are bit flags corresponding to Unicode general category values.

Since :
2.3.1

Mask constant for a i18n_uchar_category_e.

Since :
2.3.1

Mask constant for a i18n_uchar_category_e.

Since :
2.3.1

Mask constant for multiple i18n_uchar_category_e bits (LC Cased Letters).

Since :
2.3.1

Mask constant for a i18n_uchar_category_e.

Since :
2.3.1

Mask constant for a i18n_uchar_category_e.

Since :
2.3.1

Mask constant for a i18n_uchar_category_e.

Since :
2.3.1

Mask constant for a i18n_uchar_category_e.

Since :
2.3.1

Mask constant for a i18n_uchar_category_e.

Since :
2.3.1

Mask constant for multiple i18n_uchar_category_e bits (M Marks).

Since :
2.3.1

Mask constant for a i18n_uchar_category_e.

Since :
2.3.1

Mask constant for a i18n_uchar_category_e.

Since :
2.3.1

Mask constant for multiple i18n_uchar_category_e bits (N Numbers).

Since :
2.3.1

Mask constant for a i18n_uchar_category_e.

Since :
2.3.1

Mask constant for a i18n_uchar_category_e.

Since :
2.3.1

Mask constant for a i18n_uchar_category_e.

Since :
2.3.1

Mask constant for a i18n_uchar_category_e.

Since :
2.3.1

Mask constant for a i18n_uchar_category_e.

Since :
2.3.1

Mask constant for a i18n_uchar_category_e.

Since :
2.3.1

Mask constant for a i18n_uchar_category_e.

Since :
2.3.1

Mask constant for multiple i18n_uchar_category_e bits (S Symbols).

Since :
2.3.1

Mask constant for a i18n_uchar_category_e.

Since :
2.3.1

Mask constant for a i18n_uchar_category_e.

Since :
2.3.1

Mask constant for a i18n_uchar_category_e.

Since :
2.3.1

Mask constant for a i18n_uchar_category_e.

Since :
2.3.1

Mask constant for multiple i18n_uchar_category_e bits (Z Separators).

Since :
2.3.1

Mask constant for a i18n_uchar_category_e.

Since :
2.3.1

Mask constant for a i18n_uchar_category_e.

Since :
2.3.1
#define I18N_U_GET_GC_MASK (   c)    I18N_U_MASK(u_charType(c))

Get a single-bit bit set for the general category of a character.

Since :
2.3.1
#define I18N_U_MASK (   x)    ((uint32_t)1<<(x))

Get a single-bit bit set (a flag) from a bit number 0..31.

Since :
2.3.1
#define I18N_U_NO_NUMERIC_VALUE   ((double)-123456789.)

Special value that is returned by i18n_uchar_get_numeric_value()(not implemented yet) when no numeric value is defined for a code point.

Since :
2.3.1
#define I18N_USEARCH_DONE   -1

DONE is returned by i18n_usearch_previous() and i18n_usearch_next() after all valid matches have been returned, and by, i18n_usearch_first() and i18n_usearch_last() if there are no matches at all.

Since :
2.3.1

Typedef Documentation

typedef int8_t i18n_ubool

i18n_ubool.

Since :
2.3.1
typedef uint16_t i18n_uchar

i18n_uchar.

Since :
2.3.1
typedef int32_t i18n_uchar32

i18n_uchar32.

Since :
2.3.1

Enumeration Type Documentation

Enumeration for Unicode general category types.

Since :
2.3.1
Enumerator:
I18N_UCHAR_U_UNASSIGNED 

Non-category for unassigned and non-character code points

I18N_UCHAR_U_GENERAL_OTHER_TYPES 

Cn "Other, Not Assigned (no characters in [UnicodeData.txt] have this property)" (same as I18N_UCHAR_U_UNASSIGNED!)

I18N_UCHAR_U_UPPERCASE_LETTER 

Lu

I18N_UCHAR_U_LOWERCASE_LETTER 

Ll

I18N_UCHAR_U_TITLECASE_LETTER 

Lt

I18N_UCHAR_U_MODIFIER_LETTER 

Lm

I18N_UCHAR_U_OTHER_LETTER 

Lo

I18N_UCHAR_U_NON_SPACING_MARK 

Mn

I18N_UCHAR_U_ENCLOSING_MARK 

Me

I18N_UCHAR_U_COMBINING_SPACING_MARK 

Mc

I18N_UCHAR_U_DECIMAL_DIGIT_NUMBER 

Nd

I18N_UCHAR_U_LETTER_NUMBER 

Nl

I18N_UCHAR_U_OTHER_NUMBER 

No

I18N_UCHAR_U_SPACE_SEPARATOR 

Zs

I18N_UCHAR_U_LINE_SEPARATOR 

Zl

I18N_UCHAR_U_PARAGRAPH_SEPARATOR 

Zp

I18N_UCHAR_U_CONTROL_CHAR 

Cc

I18N_UCHAR_U_FORMAT_CHAR 

Cf

I18N_UCHAR_U_PRIVATE_USE_CHAR 

Co

I18N_UCHAR_U_SURROGATE 

Cs

I18N_UCHAR_U_DASH_PUNCTUATION 

Pd

I18N_UCHAR_U_START_PUNCTUATION 

Ps

I18N_UCHAR_U_END_PUNCTUATION 

Pe

I18N_UCHAR_U_CONNECTOR_PUNCTUATION 

Pc

I18N_UCHAR_U_OTHER_PUNCTUATION 

Po

I18N_UCHAR_U_MATH_SYMBOL 

Sm

I18N_UCHAR_U_CURRENCY_SYMBOL 

Sc

I18N_UCHAR_U_MODIFIER_SYMBOL 

Sk

I18N_UCHAR_U_OTHER_SYMBOL 

So

I18N_UCHAR_U_INITIAL_PUNCTUATION 

Pi

I18N_UCHAR_U_FINAL_PUNCTUATION 

Pf

I18N_UCHAR_U_CHAR_CATEGORY_COUNT 

One higher than the last enum i18n_uchar_category_e constant

Enumeration for the language directional property of a character set.

Since :
2.3.1
Enumerator:
I18N_UCHAR_U_LEFT_TO_RIGHT 

L

I18N_UCHAR_U_RIGHT_TO_LEFT 

R

I18N_UCHAR_U_EUROPEAN_NUMBER 

EN

I18N_UCHAR_U_EUROPEAN_NUMBER_SEPARATOR 

ES

I18N_UCHAR_U_EUROPEAN_NUMBER_TERMINATOR 

ET

I18N_UCHAR_U_ARABIC_NUMBER 

AN

I18N_UCHAR_U_COMMON_NUMBER_SEPARATOR 

CS

I18N_UCHAR_U_BLOCK_SEPARATOR 

B

I18N_UCHAR_U_SEGMENT_SEPARATOR 

S

I18N_UCHAR_U_WHITE_SPACE_NEUTRAL 

WS

I18N_UCHAR_U_OTHER_NEUTRAL 

ON

I18N_UCHAR_U_LEFT_TO_RIGHT_EMBEDDING 

LRE

I18N_UCHAR_U_LEFT_TO_RIGHT_OVERRIDE 

LRO

I18N_UCHAR_U_RIGHT_TO_LEFT_ARABIC 

AL

I18N_UCHAR_U_RIGHT_TO_LEFT_EMBEDDING 

RLE

I18N_UCHAR_U_RIGHT_TO_LEFT_OVERRIDE 

RLO

I18N_UCHAR_U_POP_DIRECTIONAL_FORMAT 

PDF

I18N_UCHAR_U_DIR_NON_SPACING_MARK 

NSM

I18N_UCHAR_U_BOUNDARY_NEUTRAL 

BN

I18N_UCHAR_U_CHAR_DIRECTION_COUNT 

Enumeration for Decomposition Type constants.

Since :
2.3.1
Enumerator:
I18N_UCHAR_U_DT_NONE 

[none]

I18N_UCHAR_U_DT_CANONICAL 

[can]

I18N_UCHAR_U_DT_COMPAT 

[com]

I18N_UCHAR_U_DT_CIRCLE 

[enc]

I18N_UCHAR_U_DT_FINAL 

[fin]

I18N_UCHAR_U_DT_FONT 

[font]

I18N_UCHAR_U_DT_FRACTION 

[fra]

I18N_UCHAR_U_DT_INITIAL 

[init]

I18N_UCHAR_U_DT_ISOLATED 

[iso]

I18N_UCHAR_U_DT_MEDIAL 

[med]

I18N_UCHAR_U_DT_NARROW 

[nar]

I18N_UCHAR_U_DT_NOBREAK 

[nb]

I18N_UCHAR_U_DT_SMALL 

[sml]

I18N_UCHAR_U_DT_SQUARE 

[sqr]

I18N_UCHAR_U_DT_SUB 

[sub]

I18N_UCHAR_U_DT_SUPER 

[sup]

I18N_UCHAR_U_DT_VERTICAL 

[vert]

I18N_UCHAR_U_DT_WIDE 

[wide]

I18N_UCHAR_U_DT_COUNT 

18

Enumeration for East Asian Width constants.

Since :
2.3.1
Enumerator:
I18N_UCHAR_U_EA_NEUTRAL 

[N]

I18N_UCHAR_U_EA_AMBIGUOUS 

[A]

I18N_UCHAR_U_EA_HALFWIDTH 

[H]

I18N_UCHAR_U_EA_FULLWIDTH 

[F]

I18N_UCHAR_U_EA_NARROW 

[Na]

I18N_UCHAR_U_EA_WIDE 

[W]

Enumeration for Grapheme Cluster Break constants.

Since :
2.3.1
Enumerator:
I18N_UCHAR_U_GCB_OTHER 

[XX]

I18N_UCHAR_U_GCB_CONTROL 

[CN]

I18N_UCHAR_U_GCB_CR 

[CR]

I18N_UCHAR_U_GCB_EXTEND 

[EX]

I18N_UCHAR_U_GCB_L 

[L]

I18N_UCHAR_U_GCB_LF 

[LF]

I18N_UCHAR_U_GCB_LV 

[LV]

I18N_UCHAR_U_GCB_LVT 

[LVT]

I18N_UCHAR_U_GCB_T 

[T]

I18N_UCHAR_U_GCB_V 

[V]

I18N_UCHAR_U_GCB_SPACING_MARK 

[SM]

I18N_UCHAR_U_GCB_PREPEND 

[PP]

I18N_UCHAR_UCHAR_U_GCB_COUNT 

Enumeration for Hangul Syllable Type constants.

Since :
2.3.1
Enumerator:
I18N_UCHAR_U_HST_NOT_APPLICABLE 

[NA]

I18N_UCHAR_U_HST_LEADING_JAMO 

[L]

I18N_UCHAR_U_HST_VOWEL_JAMO 

[V]

I18N_UCHAR_U_HST_TRAILING_JAMO 

[T]

I18N_UCHAR_U_HST_LV_SYLLABLE 

[LV]

I18N_UCHAR_U_HST_LVT_SYLLABLE 

[LVT]

I18N_UCHAR_U_HST_COUNT 

Enumeration for Joining Group constants.

Since :
2.3.1
Enumerator:
I18N_UCHAR_U_JG_NO_JOINING_GROUP 
I18N_UCHAR_U_JG_AIN 
I18N_UCHAR_U_JG_ALAPH 
I18N_UCHAR_U_JG_ALEF 
I18N_UCHAR_U_JG_BEH 
I18N_UCHAR_U_JG_BETH 
I18N_UCHAR_U_JG_DAL 
I18N_UCHAR_U_JG_DALATH_RISH 
I18N_UCHAR_U_JG_E 
I18N_UCHAR_U_JG_FEH 
I18N_UCHAR_U_JG_FINAL_SEMKATH 
I18N_UCHAR_U_JG_GAF 
I18N_UCHAR_U_JG_GAMAL 
I18N_UCHAR_U_JG_HAH 
I18N_UCHAR_U_JG_TEH_MARBUTA_GOAL 
I18N_UCHAR_U_JG_HAMZA_ON_HEH_GOAL 
I18N_UCHAR_U_JG_HE 
I18N_UCHAR_U_JG_HEH 
I18N_UCHAR_U_JG_HEH_GOAL 
I18N_UCHAR_U_JG_HETH 
I18N_UCHAR_U_JG_KAF 
I18N_UCHAR_U_JG_KAPH 
I18N_UCHAR_U_JG_KNOTTED_HEH 
I18N_UCHAR_U_JG_LAM 
I18N_UCHAR_U_JG_LAMADH 
I18N_UCHAR_U_JG_MEEM 
I18N_UCHAR_U_JG_MIM 
I18N_UCHAR_U_JG_NOON 
I18N_UCHAR_U_JG_NUN 
I18N_UCHAR_U_JG_PE 
I18N_UCHAR_U_JG_QAF 
I18N_UCHAR_U_JG_QAPH 
I18N_UCHAR_U_JG_REH 
I18N_UCHAR_U_JG_REVERSED_PE 
I18N_UCHAR_U_JG_SAD 
I18N_UCHAR_U_JG_SADHE 
I18N_UCHAR_U_JG_SEEN 
I18N_UCHAR_U_JG_SEMKATH 
I18N_UCHAR_U_JG_SHIN 
I18N_UCHAR_U_JG_SWASH_KAF 
I18N_UCHAR_U_JG_SYRIAC_WAW 
I18N_UCHAR_U_JG_TAH 
I18N_UCHAR_U_JG_TAW 
I18N_UCHAR_U_JG_TEH_MARBUTA 
I18N_UCHAR_U_JG_TETH 
I18N_UCHAR_U_JG_WAW 
I18N_UCHAR_U_JG_YEH 
I18N_UCHAR_U_JG_YEH_BARREE 
I18N_UCHAR_U_JG_YEH_WITH_TAIL 
I18N_UCHAR_U_JG_YUDH 
I18N_UCHAR_U_JG_YUDH_HE 
I18N_UCHAR_U_JG_ZAIN 
I18N_UCHAR_U_JG_FE 
I18N_UCHAR_U_JG_KHAPH 
I18N_UCHAR_U_JG_ZHAIN 
I18N_UCHAR_U_JG_BURUSHASKI_YEH_BARREE 
I18N_UCHAR_U_JG_FARSI_YEH 
I18N_UCHAR_U_JG_NYA 
I18N_UCHAR_U_JG_COUNT 

Enumeration for Joining Type constants.

Since :
2.3.1
Enumerator:
I18N_UCHAR_U_JT_NON_JOINING 

[U]

I18N_UCHAR_U_JT_JOIN_CAUSING 

[C]

I18N_UCHAR_U_JT_DUAL_JOINING 

[D]

I18N_UCHAR_U_JT_LEFT_JOINING 

[L]

I18N_UCHAR_U_JT_RIGHT_JOINING 

[R]

I18N_UCHAR_U_JT_TRANSPARENT 

[T]

I18N_UCHAR_U_JT_COUNT 

6

Enumeration for Line Break constants.

Since :
2.3.1
Enumerator:
I18N_UCHAR_U_LB_UNKNOWN 

[XX]

I18N_UCHAR_U_LB_AMBIGUOUS 

[AI]

I18N_UCHAR_U_LB_ALPHABETIC 

[AL]

I18N_UCHAR_U_LB_BREAK_BOTH 

[B2]

I18N_UCHAR_U_LB_BREAK_AFTER 

[BA]

I18N_UCHAR_U_LB_BREAK_BEFORE 

[BB]

I18N_UCHAR_U_LB_MANDATORY_BREAK 

[BK]

I18N_UCHAR_U_LB_CONTINGENT_BREAK 

[CB]

I18N_UCHAR_U_LB_CLOSE_PUNCTUATION 

[CL]

I18N_UCHAR_U_LB_COMBINING_MARK 

[CM]

I18N_UCHAR_U_LB_CARRIAGE_RETURN 

[CR]

I18N_UCHAR_U_LB_EXCLAMATION 

[EX]

I18N_UCHAR_U_LB_GLUE 

[GL]

I18N_UCHAR_U_LB_HYPHEN 

[HY]

I18N_UCHAR_U_LB_IDEOGRAPHIC 

[ID]

I18N_UCHAR_U_LB_INSEPARABLE 

[IN]

I18N_UCHAR_U_LB_INFIX_NUMERIC 

[IS]

I18N_UCHAR_U_LB_LINE_FEED 

[LF]

I18N_UCHAR_U_LB_NONSTARTER 

[NS]

I18N_UCHAR_U_LB_NUMERIC 

[NU]

I18N_UCHAR_U_LB_OPEN_PUNCTUATION 

[OP]

I18N_UCHAR_U_LB_POSTFIX_NUMERIC 

[PO]

I18N_UCHAR_U_LB_PREFIX_NUMERIC 

[PR]

I18N_UCHAR_U_LB_QUOTATION 

[QU]

I18N_UCHAR_U_LB_COMPLEX_CONTEXT 

[SA]

I18N_UCHAR_U_LB_SURROGATE 

[SG]

I18N_UCHAR_U_LB_SPACE 

[SP]

I18N_UCHAR_U_LB_BREAK_SYMBOLS 

[SY]

I18N_UCHAR_U_LB_ZWSPACE 

[ZW]

I18N_UCHAR_U_LB_NEXT_LINE 

[NL]

I18N_UCHAR_U_LB_WORD_JOINER 

[WJ]

I18N_UCHAR_U_LB_H2 

[H2]

I18N_UCHAR_U_LB_H3 

[H3]

I18N_UCHAR_U_LB_JL 

[JL]

I18N_UCHAR_U_LB_JT 

[JT]

I18N_UCHAR_U_LB_JV 

[JV]

I18N_UCHAR_U_LB_CLOSE_PARENTHESIS 

[CP]

Enumeration for Numeric Type constants.

Since :
2.3.1
Enumerator:
I18N_UCHAR_U_NT_NONE 

[None]

I18N_UCHAR_U_NT_DECIMAL 

[de]

I18N_UCHAR_U_NT_DIGIT 

[di]

I18N_UCHAR_U_NT_NUMERIC 

[nu]

I18N_UCHAR_U_NT_COUNT 

Enumeration for Sentence Break constants.

Since :
2.3.1
Enumerator:
I18N_UCHAR_U_SB_OTHER 

[XX]

I18N_UCHAR_U_SB_ATERM 

[AT]

I18N_UCHAR_U_SB_CLOSE 

[CL]

I18N_UCHAR_U_SB_FORMAT 

[FO]

I18N_UCHAR_U_SB_LOWER 

[LO]

I18N_UCHAR_U_SB_NUMERIC 

[NU]

I18N_UCHAR_U_SB_OLETTER 

[LE]

I18N_UCHAR_U_SB_SEP 

[SE]

I18N_UCHAR_U_SB_SP 

[SP]

I18N_UCHAR_U_SB_STERM 

[ST]

I18N_UCHAR_U_SB_UPPER 

[UP]

I18N_UCHAR_U_SB_CR 

[CR]

I18N_UCHAR_U_SB_EXTEND 

[EX]

I18N_UCHAR_U_SB_LF 

[LF]

I18N_UCHAR_U_SB_SCONTINUE 

[SC]

I18N_UCHAR_U_SB_COUNT 

Enumeration for Word Break constants.

Since :
2.3.1
Enumerator:
I18N_UCHAR_U_WB_OTHER 

[XX]

I18N_UCHAR_U_WB_ALETTER 

[LE]

I18N_UCHAR_U_WB_FORMAT 

[FO]

I18N_UCHAR_U_WB_KATAKANA 

[KA]

I18N_UCHAR_U_WB_MIDLETTER 

[ML]

I18N_UCHAR_U_WB_MIDNUM 

[MN]

I18N_UCHAR_U_WB_NUMERIC 

[NU]

I18N_UCHAR_U_WB_EXTENDNUMLET 

[EX]

I18N_UCHAR_U_WB_CR 

[CR]

I18N_UCHAR_U_WB_EXTEND 

[Extend]

I18N_UCHAR_U_WB_LF 

[LF]

I18N_UCHAR_U_WB_MIDNUMLET 

[MB]

I18N_UCHAR_U_WB_NEWLINE 

[NL]

I18N_UCHAR_U_WB_COUNT 

Constants for Unicode blocks, see the Unicode Data file Blocks.txt.

Since :
2.3.1
Enumerator:
I18N_UCHAR_UBLOCK_NO_BLOCK 
I18N_UCHAR_UBLOCK_BASIC_LATIN 
I18N_UCHAR_UBLOCK_LATIN_1_SUPPLEMENT 
I18N_UCHAR_UBLOCK_LATIN_EXTENDED_A 
I18N_UCHAR_UBLOCK_LATIN_EXTENDED_B 
I18N_UCHAR_UBLOCK_IPA_EXTENSIONS 
I18N_UCHAR_UBLOCK_SPACING_MODIFIER_LETTERS 
I18N_UCHAR_UBLOCK_COMBINING_DIACRITICAL_MARKS 
I18N_UCHAR_UBLOCK_GREEK 
I18N_UCHAR_UBLOCK_CYRILLIC 
I18N_UCHAR_UBLOCK_ARMENIAN 
I18N_UCHAR_UBLOCK_HEBREW 
I18N_UCHAR_UBLOCK_ARABIC 
I18N_UCHAR_UBLOCK_SYRIAC 
I18N_UCHAR_UBLOCK_THAANA 
I18N_UCHAR_UBLOCK_DEVANAGARI 
I18N_UCHAR_UBLOCK_BENGALI 
I18N_UCHAR_UBLOCK_GURMUKHI 
I18N_UCHAR_UBLOCK_GUJARATI 
I18N_UCHAR_UBLOCK_ORIYA 
I18N_UCHAR_UBLOCK_TAMIL 
I18N_UCHAR_UBLOCK_TELUGU 
I18N_UCHAR_UBLOCK_KANNADA 
I18N_UCHAR_UBLOCK_MALAYALAM 
I18N_UCHAR_UBLOCK_SINHALA 
I18N_UCHAR_UBLOCK_THAI 
I18N_UCHAR_UBLOCK_LAO 
I18N_UCHAR_UBLOCK_TIBETAN 
I18N_UCHAR_UBLOCK_MYANMAR 
I18N_UCHAR_UBLOCK_GEORGIAN 
I18N_UCHAR_UBLOCK_HANGUL_JAMO 
I18N_UCHAR_UBLOCK_ETHIOPIC 
I18N_UCHAR_UBLOCK_CHEROKEE 
I18N_UCHAR_UBLOCK_UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS 
I18N_UCHAR_UBLOCK_OGHAM 
I18N_UCHAR_UBLOCK_RUNIC 
I18N_UCHAR_UBLOCK_KHMER 
I18N_UCHAR_UBLOCK_MONGOLIAN 
I18N_UCHAR_UBLOCK_LATIN_EXTENDED_ADDITIONAL 
I18N_UCHAR_UBLOCK_GREEK_EXTENDED 
I18N_UCHAR_UBLOCK_GENERAL_PUNCTUATION 
I18N_UCHAR_UBLOCK_SUPERSCRIPTS_AND_SUBSCRIPTS 
I18N_UCHAR_UBLOCK_CURRENCY_SYMBOLS 
I18N_UCHAR_UBLOCK_COMBINING_MARKS_FOR_SYMBOLS 
I18N_UCHAR_UBLOCK_LETTERLIKE_SYMBOLS 
I18N_UCHAR_UBLOCK_NUMBER_FORMS 
I18N_UCHAR_UBLOCK_ARROWS 
I18N_UCHAR_UBLOCK_MATHEMATICAL_OPERATORS 
I18N_UCHAR_UBLOCK_MISCELLANEOUS_TECHNICAL 
I18N_UCHAR_UBLOCK_CONTROL_PICTURES 
I18N_UCHAR_UBLOCK_OPTICAL_CHARACTER_RECOGNITION 
I18N_UCHAR_UBLOCK_ENCLOSED_ALPHANUMERICS 
I18N_UCHAR_UBLOCK_BOX_DRAWING 
I18N_UCHAR_UBLOCK_BLOCK_ELEMENTS 
I18N_UCHAR_UBLOCK_GEOMETRIC_SHAPES 
I18N_UCHAR_UBLOCK_MISCELLANEOUS_SYMBOLS 
I18N_UCHAR_UBLOCK_DINGBATS 
I18N_UCHAR_UBLOCK_BRAILLE_PATTERNS 
I18N_UCHAR_UBLOCK_CJK_RADICALS_SUPPLEMENT 
I18N_UCHAR_UBLOCK_KANGXI_RADICALS 
I18N_UCHAR_UBLOCK_IDEOGRAPHIC_DESCRIPTION_CHARACTERS 
I18N_UCHAR_UBLOCK_CJK_SYMBOLS_AND_PUNCTUATION 
I18N_UCHAR_UBLOCK_HIRAGANA 
I18N_UCHAR_UBLOCK_KATAKANA 
I18N_UCHAR_UBLOCK_BOPOMOFO 
I18N_UCHAR_UBLOCK_HANGUL_COMPATIBILITY_JAMO 
I18N_UCHAR_UBLOCK_KANBUN 
I18N_UCHAR_UBLOCK_BOPOMOFO_EXTENDED 
I18N_UCHAR_UBLOCK_ENCLOSED_CJK_LETTERS_AND_MONTHS 
I18N_UCHAR_UBLOCK_CJK_COMPATIBILITY 
I18N_UCHAR_UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A 
I18N_UCHAR_UBLOCK_CJK_UNIFIED_IDEOGRAPHS 
I18N_UCHAR_UBLOCK_YI_SYLLABLES 
I18N_UCHAR_UBLOCK_YI_RADICALS 
I18N_UCHAR_UBLOCK_HANGUL_SYLLABLES 
I18N_UCHAR_UBLOCK_HIGH_SURROGATES 
I18N_UCHAR_UBLOCK_HIGH_PRIVATE_USE_SURROGATES 
I18N_UCHAR_UBLOCK_LOW_SURROGATES 
I18N_UCHAR_UBLOCK_PRIVATE_USE_AREA 
I18N_UCHAR_UBLOCK_PRIVATE_USE 
I18N_UCHAR_UBLOCK_CJK_COMPATIBILITY_IDEOGRAPHS 
I18N_UCHAR_UBLOCK_ALPHABETIC_PRESENTATION_FORMS 
I18N_UCHAR_UBLOCK_ARABIC_PRESENTATION_FORMS_A 
I18N_UCHAR_UBLOCK_COMBINING_HALF_MARKS 
I18N_UCHAR_UBLOCK_CJK_COMPATIBILITY_FORMS 
I18N_UCHAR_UBLOCK_SMALL_FORM_VARIANTS 
I18N_UCHAR_UBLOCK_ARABIC_PRESENTATION_FORMS_B 
I18N_UCHAR_UBLOCK_SPECIALS 
I18N_UCHAR_UBLOCK_HALFWIDTH_AND_FULLWIDTH_FORMS 
I18N_UCHAR_UBLOCK_OLD_ITALIC 
I18N_UCHAR_UBLOCK_GOTHIC 
I18N_UCHAR_UBLOCK_DESERET 
I18N_UCHAR_UBLOCK_BYZANTINE_MUSICAL_SYMBOLS 
I18N_UCHAR_UBLOCK_MUSICAL_SYMBOLS 
I18N_UCHAR_UBLOCK_MATHEMATICAL_ALPHANUMERIC_SYMBOLS 
I18N_UCHAR_UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_B 
I18N_UCHAR_UBLOCK_CJK_COMPATIBILITY_IDEOGRAPHS_SUPPLEMENT 
I18N_UCHAR_UBLOCK_TAGS 
I18N_UCHAR_UBLOCK_CYRILLIC_SUPPLEMENT 
I18N_UCHAR_UBLOCK_CYRILLIC_SUPPLEMENTARY 
I18N_UCHAR_UBLOCK_TAGALOG 
I18N_UCHAR_UBLOCK_HANUNOO 
I18N_UCHAR_UBLOCK_BUHID 
I18N_UCHAR_UBLOCK_TAGBANWA 
I18N_UCHAR_UBLOCK_MISCELLANEOUS_MATHEMATICAL_SYMBOLS_A 
I18N_UCHAR_UBLOCK_SUPPLEMENTAL_ARROWS_A 
I18N_UCHAR_UBLOCK_SUPPLEMENTAL_ARROWS_B 
I18N_UCHAR_UBLOCK_MISCELLANEOUS_MATHEMATICAL_SYMBOLS_B 
I18N_UCHAR_UBLOCK_SUPPLEMENTAL_MATHEMATICAL_OPERATORS 
I18N_UCHAR_UBLOCK_KATAKANA_PHONETIC_EXTENSIONS 
I18N_UCHAR_UBLOCK_VARIATION_SELECTORS 
I18N_UCHAR_UBLOCK_SUPPLEMENTARY_PRIVATE_USE_AREA_A 
I18N_UCHAR_UBLOCK_SUPPLEMENTARY_PRIVATE_USE_AREA_B 
I18N_UCHAR_UBLOCK_LIMBU 
I18N_UCHAR_UBLOCK_TAI_LE 
I18N_UCHAR_UBLOCK_KHMER_SYMBOLS 
I18N_UCHAR_UBLOCK_PHONETIC_EXTENSIONS 
I18N_UCHAR_UBLOCK_MISCELLANEOUS_SYMBOLS_AND_ARROWS 
I18N_UCHAR_UBLOCK_YIJING_HEXAGRAM_SYMBOLS 
I18N_UCHAR_UBLOCK_LINEAR_B_SYLLABARY 
I18N_UCHAR_UBLOCK_LINEAR_B_IDEOGRAMS 
I18N_UCHAR_UBLOCK_AEGEAN_NUMBERS 
I18N_UCHAR_UBLOCK_UGARITIC 
I18N_UCHAR_UBLOCK_SHAVIAN 
I18N_UCHAR_UBLOCK_OSMANYA 
I18N_UCHAR_UBLOCK_CYPRIOT_SYLLABARY 
I18N_UCHAR_UBLOCK_TAI_XUAN_JING_SYMBOLS 
I18N_UCHAR_UBLOCK_VARIATION_SELECTORS_SUPPLEMENT 
I18N_UCHAR_UBLOCK_ANCIENT_GREEK_MUSICAL_NOTATION 
I18N_UCHAR_UBLOCK_ANCIENT_GREEK_NUMBERS 
I18N_UCHAR_UBLOCK_ARABIC_SUPPLEMENT 
I18N_UCHAR_UBLOCK_BUGINESE 
I18N_UCHAR_UBLOCK_CJK_STROKES 
I18N_UCHAR_UBLOCK_COMBINING_DIACRITICAL_MARKS_SUPPLEMENT 
I18N_UCHAR_UBLOCK_COPTIC 
I18N_UCHAR_UBLOCK_ETHIOPIC_EXTENDED 
I18N_UCHAR_UBLOCK_ETHIOPIC_SUPPLEMENT 
I18N_UCHAR_UBLOCK_GEORGIAN_SUPPLEMENT 
I18N_UCHAR_UBLOCK_GLAGOLITIC 
I18N_UCHAR_UBLOCK_KHAROSHTHI 
I18N_UCHAR_UBLOCK_MODIFIER_TONE_LETTERS 
I18N_UCHAR_UBLOCK_NEW_TAI_LUE 
I18N_UCHAR_UBLOCK_OLD_PERSIAN 
I18N_UCHAR_UBLOCK_PHONETIC_EXTENSIONS_SUPPLEMENT 
I18N_UCHAR_UBLOCK_SUPPLEMENTAL_PUNCTUATION 
I18N_UCHAR_UBLOCK_SYLOTI_NAGRI 
I18N_UCHAR_UBLOCK_TIFINAGH 
I18N_UCHAR_UBLOCK_VERTICAL_FORMS 
I18N_UCHAR_UBLOCK_NKO 
I18N_UCHAR_UBLOCK_BALINESE 
I18N_UCHAR_UBLOCK_LATIN_EXTENDED_C 
I18N_UCHAR_UBLOCK_LATIN_EXTENDED_D 
I18N_UCHAR_UBLOCK_PHAGS_PA 
I18N_UCHAR_UBLOCK_PHOENICIAN 
I18N_UCHAR_UBLOCK_CUNEIFORM 
I18N_UCHAR_UBLOCK_CUNEIFORM_NUMBERS_AND_PUNCTUATION 
I18N_UCHAR_UBLOCK_COUNTING_ROD_NUMERALS 
I18N_UCHAR_UBLOCK_SUNDANESE 
I18N_UCHAR_UBLOCK_LEPCHA 
I18N_UCHAR_UBLOCK_OL_CHIKI 
I18N_UCHAR_UBLOCK_CYRILLIC_EXTENDED_A 
I18N_UCHAR_UBLOCK_VAI 
I18N_UCHAR_UBLOCK_CYRILLIC_EXTENDED_B 
I18N_UCHAR_UBLOCK_SAURASHTRA 
I18N_UCHAR_UBLOCK_KAYAH_LI 
I18N_UCHAR_UBLOCK_REJANG 
I18N_UCHAR_UBLOCK_CHAM 
I18N_UCHAR_UBLOCK_ANCIENT_SYMBOLS 
I18N_UCHAR_UBLOCK_PHAISTOS_DISC 
I18N_UCHAR_UBLOCK_LYCIAN 
I18N_UCHAR_UBLOCK_CARIAN 
I18N_UCHAR_UBLOCK_LYDIAN 
I18N_UCHAR_UBLOCK_MAHJONG_TILES 
I18N_UCHAR_UBLOCK_DOMINO_TILES 
I18N_UCHAR_UBLOCK_SAMARITAN 
I18N_UCHAR_UBLOCK_UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS_EXTENDED 
I18N_UCHAR_UBLOCK_TAI_THAM 
I18N_UCHAR_UBLOCK_VEDIC_EXTENSIONS 
I18N_UCHAR_UBLOCK_LISU 
I18N_UCHAR_UBLOCK_BAMUM 
I18N_UCHAR_UBLOCK_COMMON_INDIC_NUMBER_FORMS 
I18N_UCHAR_UBLOCK_DEVANAGARI_EXTENDED 
I18N_UCHAR_UBLOCK_HANGUL_JAMO_EXTENDED_A 
I18N_UCHAR_UBLOCK_JAVANESE 
I18N_UCHAR_UBLOCK_MYANMAR_EXTENDED_A 
I18N_UCHAR_UBLOCK_TAI_VIET 
I18N_UCHAR_UBLOCK_MEETEI_MAYEK 
I18N_UCHAR_UBLOCK_HANGUL_JAMO_EXTENDED_B 
I18N_UCHAR_UBLOCK_IMPERIAL_ARAMAIC 
I18N_UCHAR_UBLOCK_OLD_SOUTH_ARABIAN 
I18N_UCHAR_UBLOCK_AVESTAN 
I18N_UCHAR_UBLOCK_INSCRIPTIONAL_PARTHIAN 
I18N_UCHAR_UBLOCK_INSCRIPTIONAL_PAHLAVI 
I18N_UCHAR_UBLOCK_OLD_TURKIC 
I18N_UCHAR_UBLOCK_RUMI_NUMERAL_SYMBOLS 
I18N_UCHAR_UBLOCK_KAITHI 
I18N_UCHAR_UBLOCK_EGYPTIAN_HIEROGLYPHS 
I18N_UCHAR_UBLOCK_ENCLOSED_ALPHANUMERIC_SUPPLEMENT 
I18N_UCHAR_UBLOCK_ENCLOSED_IDEOGRAPHIC_SUPPLEMENT 
I18N_UCHAR_UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_C 
I18N_UCHAR_UBLOCK_MANDAIC 
I18N_UCHAR_UBLOCK_BATAK 
I18N_UCHAR_UBLOCK_ETHIOPIC_EXTENDED_A 
I18N_UCHAR_UBLOCK_BRAHMI 
I18N_UCHAR_UBLOCK_BAMUM_SUPPLEMENT 
I18N_UCHAR_UBLOCK_KANA_SUPPLEMENT 
I18N_UCHAR_UBLOCK_PLAYING_CARDS 
I18N_UCHAR_UBLOCK_MISCELLANEOUS_SYMBOLS_AND_PICTOGRAPHS 
I18N_UCHAR_UBLOCK_EMOTICONS 
I18N_UCHAR_UBLOCK_TRANSPORT_AND_MAP_SYMBOLS 
I18N_UCHAR_UBLOCK_ALCHEMICAL_SYMBOLS 
I18N_UCHAR_UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_D 
I18N_UCHAR_UBLOCK_COUNT 
I18N_UCHAR_UBLOCK_INVALID_CODE 

Enumeration of constants for Unicode properties. The properties APIs are intended to reflect Unicode properties as defined in the Unicode Character Database (UCD) and Unicode Technical Reports (UTR). For details about the properties see http://www.unicode.org/ucd/ . For names of Unicode properties see the UCD file PropertyAliases.txt.

Since :
2.3.1
Enumerator:
I18N_UCHAR_ALPHABETIC 
I18N_UCHAR_BINARY_START 
I18N_UCHAR_ASCII_HEX_DIGIT 
I18N_UCHAR_BIDI_CONTROL 
I18N_UCHAR_BIDI_MIRRORED 
I18N_UCHAR_DASH 
I18N_UCHAR_DEFAULT_IGNORABLE_CODE_POINT 
I18N_UCHAR_DEPRECATED 
I18N_UCHAR_DIACRITIC 
I18N_UCHAR_EXTENDER 
I18N_UCHAR_FULL_COMPOSITION_EXCLUSION 
I18N_UCHAR_GRAPHEME_BASE 
I18N_UCHAR_GRAPHEME_EXTEND 
I18N_UCHAR_GRAPHEME_LINK 
I18N_UCHAR_HEX_DIGIT 
I18N_UCHAR_HYPHEN 
I18N_UCHAR_ID_CONTINUE 
I18N_UCHAR_ID_START 
I18N_UCHAR_IDEOGRAPHIC 
I18N_UCHAR_IDS_BINARY_OPERATOR 
I18N_UCHAR_IDS_TRINARY_OPERATOR 
I18N_UCHAR_JOIN_CONTROL 
I18N_UCHAR_LOGICAL_ORDER_EXCEPTION 
I18N_UCHAR_LOWERCASE 
I18N_UCHAR_MATH 
I18N_UCHAR_NONCHARACTER_CODE_POINT 
I18N_UCHAR_QUOTATION_MARK 
I18N_UCHAR_RADICAL 
I18N_UCHAR_SOFT_DOTTED 
I18N_UCHAR_TERMINAL_PUNCTUATION 
I18N_UCHAR_UNIFIED_IDEOGRAPH 
I18N_UCHAR_UPPERCASE 
I18N_UCHAR_WHITE_SPACE 
I18N_UCHAR_XID_CONTINUE 
I18N_UCHAR_XID_START 
I18N_UCHAR_CASE_SENSITIVE 
I18N_UCHAR_S_TERM 
I18N_UCHAR_VARIATION_SELECTOR 
I18N_UCHAR_NFD_INERT 
I18N_UCHAR_NFKD_INERT 
I18N_UCHAR_NFC_INERT 
I18N_UCHAR_NFKC_INERT 
I18N_UCHAR_SEGMENT_STARTER 
I18N_UCHAR_PATTERN_SYNTAX 
I18N_UCHAR_PATTERN_WHITE_SPACE 
I18N_UCHAR_POSIX_ALNUM 
I18N_UCHAR_POSIX_BLANK 
I18N_UCHAR_POSIX_GRAPH 
I18N_UCHAR_POSIX_PRINT 
I18N_UCHAR_POSIX_XDIGIT 
I18N_UCHAR_CASED 
I18N_UCHAR_CASE_IGNORABLE 
I18N_UCHAR_CHANGES_WHEN_LOWERCASED 
I18N_UCHAR_CHANGES_WHEN_UPPERCASED 
I18N_UCHAR_CHANGES_WHEN_TITLECASED 
I18N_UCHAR_CHANGES_WHEN_CASEFOLDED 
I18N_UCHAR_CHANGES_WHEN_CASEMAPPED 
I18N_UCHAR_CHANGES_WHEN_NFKC_CASEFOLDED 
I18N_UCHAR_BINARY_LIMIT 
I18N_UCHAR_BIDI_CLASS 
I18N_UCHAR_INT_START 
I18N_UCHAR_BLOCK 
I18N_UCHAR_CANONICAL_COMBINING_CLASS 
I18N_UCHAR_DECOMPOSITION_TYPE 
I18N_UCHAR_EAST_ASIAN_WIDTH 
I18N_UCHAR_GENERAL_CATEGORY 
I18N_UCHAR_JOINING_GROUP 
I18N_UCHAR_JOINING_TYPE 
I18N_UCHAR_LINE_BREAK 
I18N_UCHAR_NUMERIC_TYPE 
I18N_UCHAR_SCRIPT 
I18N_UCHAR_HANGUL_SYLLABLE_TYPE 
I18N_UCHAR_NFD_QUICK_CHECK 
I18N_UCHAR_NFKD_QUICK_CHECK 
I18N_UCHAR_NFC_QUICK_CHECK 
I18N_UCHAR_NFKC_QUICK_CHECK 
I18N_UCHAR_LEAD_CANONICAL_COMBINING_CLASS 
I18N_UCHAR_TRAIL_CANONICAL_COMBINING_CLASS 
I18N_UCHAR_GRAPHEME_CLUSTER_BREAK 
I18N_UCHAR_SENTENCE_BREAK 
I18N_UCHAR_WORD_BREAK 
I18N_UCHAR_BIDI_PAIRED_BRACKET_TYPE 
I18N_UCHAR_INT_LIMIT 
I18N_UCHAR_GENERAL_CATEGORY_MASK 
I18N_UCHAR_MASK_START 
I18N_UCHAR_MASK_LIMIT 
I18N_UCHAR_NUMERIC_VALUE 
I18N_UCHAR_DOUBLE_START 
I18N_UCHAR_DOUBLE_LIMIT 
I18N_UCHAR_AGE 
I18N_UCHAR_STRING_START 
I18N_UCHAR_BIDI_MIRRORING_GLYPH 
I18N_UCHAR_CASE_FOLDING 
I18N_UCHAR_LOWERCASE_MAPPING 
I18N_UCHAR_NAME 
I18N_UCHAR_SIMPLE_CASE_FOLDING 
I18N_UCHAR_SIMPLE_LOWERCASE_MAPPING 
I18N_UCHAR_SIMPLE_TITLECASE_MAPPING 
I18N_UCHAR_SIMPLE_UPPERCASE_MAPPING 
I18N_UCHAR_TITLECASE_MAPPING 
I18N_UCHAR_UPPERCASE_MAPPING 
I18N_UCHAR_BIDI_PAIRED_BRACKET 
I18N_UCHAR_STRING_LIMIT 
I18N_UCHAR_SCRIPT_EXTENSIONS 
I18N_UCHAR_OTHER_PROPERTY_START 
I18N_UCHAR_OTHER_PROPERTY_LIMIT 
I18N_UCHAR_INVALID_CODE 

Function Documentation

int i18n_uchar_get_int_property_value ( i18n_uchar32  c,
i18n_uchar_uproperty_e  which,
int32_t *  property_val 
)

Gets the property value for an enumerated property for a code point.

int property_value;
i18n_uchar_u_east_asian_width_e east_asian_width;
i18n_uchar_get_int_property_value (c, I18N_UCHAR_EAST_ASIAN_WIDTH, &property_value);
east_asian_width = (i18n_uchar_u_east_asian_width_e)property_value;

int property_value;
bool is_ideographic;
i18n_uchar_get_int_property_value(c, I18N_UCHAR_IDEOGRAPHIC, &property_value);
is_ideographic = (bool)property_value;

Since :
2.3.1
Parameters:
[in]cThe code point to test.
[in]whichThe i18n_uchar_uproperty_e selector constant, identifies which property to check
Must be I18N_UCHAR_BINARY_START<=which<I18N_UCHAR_BINARY_LIMIT or I18N_UCHAR_INT_START<=which<I18N_UCHAR_INT_LIMIT or I18N_UCHAR_MASK_START<=which<I18N_UCHAR_MASK_LIMIT.
[out]property_valThe numeric value that is directly the property value or, for enumerated properties, corresponds to the numeric value of the enumerated constant of the respective property value enumeration type (cast to enum type if necessary)
Returns 0 or 1 (for false/true) for binary Unicode properties
Returns a bit-mask for mask properties
Returns 0 if 'which' is out of bounds or if the Unicode version does not have data for the property at all, or not for this code point.
Return values:
I18N_ERROR_NONESuccessful
I18N_ERROR_INVALID_PARAMETERInvalid function parameter

Gets the Unicode allocation block that contains the character.

Since :
2.3.1
Parameters:
[in]cThe code point to test
[out]block_valThe block value for the code point
Return values:
I18N_ERROR_NONESuccessful
I18N_ERROR_INVALID_PARAMETERInvalid function parameter