diff --git a/icu4c/source/i18n/colldata.cpp b/icu4c/source/i18n/colldata.cpp index 9860b62b34c..2358dfd4de4 100644 --- a/icu4c/source/i18n/colldata.cpp +++ b/icu4c/source/i18n/colldata.cpp @@ -775,11 +775,11 @@ bail: return; } - UChar hanRanges[] = {UCOL_FIRST_HAN, UCOL_LAST_HAN, UCOL_FIRST_HAN_COMPAT, UCOL_LAST_HAN_COMPAT, UCOL_FIRST_HAN_A, UCOL_LAST_HAN_A, - UCOL_FIRST_HAN_B_LEAD, UCOL_FIRST_HAN_B_TRAIL, UCOL_LAST_HAN_B_LEAD, UCOL_LAST_HAN_B_TRAIL}; + UChar32 hanRanges[] = {UCOL_FIRST_HAN, UCOL_LAST_HAN, UCOL_FIRST_HAN_COMPAT, UCOL_LAST_HAN_COMPAT, UCOL_FIRST_HAN_A, UCOL_LAST_HAN_A, + UCOL_FIRST_HAN_B, UCOL_LAST_HAN_B}; UChar jamoRanges[] = {UCOL_FIRST_L_JAMO, UCOL_FIRST_V_JAMO, UCOL_FIRST_T_JAMO, UCOL_LAST_T_JAMO}; - UnicodeString hanString(hanRanges, ARRAY_SIZE(hanRanges)); - UnicodeString jamoString(jamoRanges, ARRAY_SIZE(jamoRanges)); + UnicodeString hanString = UnicodeString::fromUTF32(hanRanges, ARRAY_SIZE(hanRanges)); + UnicodeString jamoString(FALSE, jamoRanges, ARRAY_SIZE(jamoRanges)); CEList hanList(coll, hanString, status); CEList jamoList(coll, jamoString, status); int32_t j = 0; diff --git a/icu4c/source/i18n/ucol_imp.h b/icu4c/source/i18n/ucol_imp.h index 0e1736f9069..d98fa031011 100644 --- a/icu4c/source/i18n/ucol_imp.h +++ b/icu4c/source/i18n/ucol_imp.h @@ -401,10 +401,8 @@ uprv_init_pce(const struct UCollationElements *elems); #define UCOL_LAST_HAN_COMPAT 0xFA2F /* Han extension B is in plane 2 */ -#define UCOL_FIRST_HAN_B_LEAD 0xD840 -#define UCOL_FIRST_HAN_B_TRAIL 0xDC00 -#define UCOL_LAST_HAN_B_LEAD 0xD869 -#define UCOL_LAST_HAN_B_TRAIL 0xDEDF +#define UCOL_FIRST_HAN_B 0x20000 +#define UCOL_LAST_HAN_B 0x2A6DF /* Hangul range */ #define UCOL_FIRST_HANGUL 0xAC00