+// © 2016 and later: Unicode, Inc. and others.
+// License & terms of use: http://www.unicode.org/copyright.html
/********************************************************************
- * Copyright (c) 1997-2014, International Business Machines
+ * Copyright (c) 1997-2016, International Business Machines
* Corporation and others. All Rights Reserved.
********************************************************************/
err = U_ZERO_ERROR;
capacity = 10;
num = uscript_getCode("ja",script,capacity, &err);
- if(num!=(sizeof(jaCode)/sizeof(UScriptCode))){
+ if(num!=UPRV_LENGTHOF(jaCode)){
log_err("Errors uscript_getScriptCode() for Japanese locale: num=%d, expected %d \n",
- num, (sizeof(jaCode)/sizeof(UScriptCode)));
+ num, UPRV_LENGTHOF(jaCode));
}
- for(j=0;j<sizeof(jaCode)/sizeof(UScriptCode);j++) {
+ for(j=0;j<UPRV_LENGTHOF(jaCode);j++) {
if(script[j]!=jaCode[j]) {
log_err("Japanese locale: code #%d was %d (%s) but expected %d (%s)\n", j,
script[j], uscript_getName(script[j]),
NULL
};
i=0;
- while(i<sizeof(testAbbr)/sizeof(UScriptCode)){
+ while(i<UPRV_LENGTHOF(testAbbr)){
const char* name = uscript_getName(testAbbr[i]);
if(name == NULL) {
log_data_err("Couldn't get script name\n");
NULL
};
i=0;
- while(i<sizeof(testAbbr)/sizeof(UScriptCode)){
+ while(i<UPRV_LENGTHOF(testAbbr)){
const char* name = uscript_getShortName(testAbbr[i]);
numErrors=0;
if(strcmp(expectedAbbr[i],name)!=0){
0x0001D1AA, /* USCRIPT_INHERITED*/
0x00020000, /* USCRIPT_HAN*/
0x00000D02, /* USCRIPT_MALAYALAM*/
- 0x00000D00, /* USCRIPT_UNKNOWN (new Zzzz value in Unicode 5.0) */
+ 0x00050005, /* USCRIPT_UNKNOWN (new Zzzz value in Unicode 5.0) */
0x00000000, /* USCRIPT_COMMON*/
0x0001D169, /* USCRIPT_INHERITED*/
0x0001D182, /* USCRIPT_INHERITED*/
static const char* expectedLong[] = {
"Balinese", "Batak", "Blis", "Brahmi", "Cham", "Cirt", "Cyrs",
"Egyd", "Egyh", "Egyptian_Hieroglyphs",
- "Geok", "Hans", "Hant", "Pahawh_Hmong", "Hung", "Inds",
+ "Geok", "Hans", "Hant", "Pahawh_Hmong", "Old_Hungarian", "Inds",
"Javanese", "Kayah_Li", "Latf", "Latg",
"Lepcha", "Linear_A", "Mandaic", "Maya", "Meroitic_Hieroglyphs",
"Nko", "Old_Turkic", "Old_Permic", "Phags_Pa", "Phoenician",
"Miao", "Roro", "Sara", "Syre", "Syrj", "Syrn", "Teng", "Vai", "Visp", "Cuneiform",
"Zxxx", "Unknown",
- "Carian", "Jpan", "Tai_Tham", "Lycian", "Lydian", "Ol_Chiki", "Rejang", "Saurashtra", "Sgnw", "Sundanese",
+ "Carian", "Jpan", "Tai_Tham", "Lycian", "Lydian", "Ol_Chiki", "Rejang", "Saurashtra", "SignWriting", "Sundanese",
"Moon", "Meetei_Mayek",
/* new in ICU 4.0 */
"Imperial_Aramaic", "Avestan", "Chakma", "Kore",
"Loma", "Mende_Kikakui", "Meroitic_Cursive",
"Old_North_Arabian", "Nabataean", "Palmyrene", "Khudawadi", "Warang_Citi",
/* new in ICU 4.8 */
- "Afak", "Jurc", "Mro", "Nshu", "Sharada", "Sora_Sompeng", "Takri", "Tang", "Wole",
+ "Afak", "Jurc", "Mro", "Nushu", "Sharada", "Sora_Sompeng", "Takri", "Tangut", "Wole",
/* new in ICU 49 */
- "Hluw", "Khojki", "Tirhuta",
+ "Anatolian_Hieroglyphs", "Khojki", "Tirhuta",
/* new in ICU 52 */
"Caucasian_Albanian", "Mahajani",
/* new in ICU 54 */
- "Ahom", "Hatr", "Modi", "Mult", "Pau_Cin_Hau", "Siddham"
+ "Ahom", "Hatran", "Modi", "Multani", "Pau_Cin_Hau", "Siddham",
+ // new in ICU 58
+ "Adlam", "Bhaiksuki", "Marchen", "Newa", "Osage", "Hanb", "Jamo", "Zsye",
+ // new in ICU 60
+ "Masaram_Gondi", "Soyombo", "Zanabazar_Square",
+ // new in ICU 61
+ "Dogra", "Gunjala_Gondi", "Makasar", "Medefaidrin",
+ "Hanifi_Rohingya", "Sogdian", "Old_Sogdian",
+ // new in ICU 64
+ "Elymaic", "Nyiakeng_Puachue_Hmong", "Nandinagari", "Wancho",
};
static const char* expectedShort[] = {
"Bali", "Batk", "Blis", "Brah", "Cham", "Cirt", "Cyrs", "Egyd", "Egyh", "Egyp",
/* new in ICU 52 */
"Aghb", "Mahj",
/* new in ICU 54 */
- "Ahom", "Hatr", "Modi", "Mult", "Pauc", "Sidd"
+ "Ahom", "Hatr", "Modi", "Mult", "Pauc", "Sidd",
+ // new in ICU 58
+ "Adlm", "Bhks", "Marc", "Newa", "Osge", "Hanb", "Jamo", "Zsye",
+ // new in ICU 60
+ "Gonm", "Soyo", "Zanb",
+ // new in ICU 61
+ "Dogr", "Gong", "Maka", "Medf", "Rohg", "Sogd", "Sogo",
+ // new in ICU 64
+ "Elym", "Hmnp", "Nand", "Wcho",
};
int32_t j = 0;
if(UPRV_LENGTHOF(expectedLong)!=(USCRIPT_CODE_LIMIT-USCRIPT_BALINESE)) {
}
}
-static UBool scriptsContain(int32_t scripts[], int32_t length, int32_t script) {
+static UBool scriptsContain(UScriptCode scripts[], int32_t length, UScriptCode script) {
UBool contain=FALSE;
int32_t prev=-1, i;
for(i=0; i<length; ++i) {
}
if(uscript_getUsage(USCRIPT_LATIN)!=USCRIPT_USAGE_RECOMMENDED ||
- uscript_getUsage(USCRIPT_YI)!=USCRIPT_USAGE_ASPIRATIONAL ||
+ // Unicode 10 gives up on "aspirational".
+ uscript_getUsage(USCRIPT_YI)!=USCRIPT_USAGE_LIMITED_USE ||
uscript_getUsage(USCRIPT_CHEROKEE)!=USCRIPT_USAGE_LIMITED_USE ||
uscript_getUsage(USCRIPT_COPTIC)!=USCRIPT_USAGE_EXCLUDED ||
uscript_getUsage(USCRIPT_CIRTH)!=USCRIPT_USAGE_NOT_ENCODED ||