diff --git a/icu4c/source/common/unorm.cpp b/icu4c/source/common/unorm.cpp index 6ee3cff785..cd2cd46685 100644 --- a/icu4c/source/common/unorm.cpp +++ b/icu4c/source/common/unorm.cpp @@ -250,7 +250,9 @@ loadNormData(UErrorCode &errorCode) { combiningTable=extraData+indexes[_NORM_INDEX_UCHAR_COUNT]; formatVersion_2_1=formatVersion[0]>2 || (formatVersion[0]==2 && formatVersion[1]>=1); if(formatVersion_2_1) { - canonStartSets=combiningTable+(indexes[_NORM_INDEX_FCD_TRIE_SIZE]+indexes[_NORM_INDEX_AUX_TRIE_SIZE])/2; + canonStartSets=combiningTable+ + indexes[_NORM_INDEX_COMBINE_DATA_COUNT]+ + (indexes[_NORM_INDEX_FCD_TRIE_SIZE]+indexes[_NORM_INDEX_AUX_TRIE_SIZE])/2; } haveNormData=1; @@ -574,7 +576,7 @@ unorm_getCanonStartSet(UChar32 c, USerializedSet *fillSet) { return aux32!=0 && uset_getSerializedSet(fillSet, canonStartSets+aux32, - indexes[indexes[_NORM_INDEX_CANON_SET_COUNT]]-aux32); + indexes[_NORM_INDEX_CANON_SET_COUNT]-aux32); } else { return FALSE; } diff --git a/icu4c/source/tools/gennorm/store.c b/icu4c/source/tools/gennorm/store.c index cf583268aa..2801ac43e3 100644 --- a/icu4c/source/tools/gennorm/store.c +++ b/icu4c/source/tools/gennorm/store.c @@ -1412,7 +1412,7 @@ generateData(const char *dataDir) { exit(errorCode); } - auxTrieSize=utrie_serialize(&auxTrie, auxTrieBlock, sizeof(auxTrieBlock), getFoldedAuxValue, TRUE, &errorCode); + auxTrieSize=utrie_serialize(&auxTrie, auxTrieBlock, sizeof(auxTrieBlock), getFoldedAuxValue, FALSE, &errorCode); if(U_FAILURE(errorCode)) { fprintf(stderr, "error: utrie_serialize(auxiliary data) failed, %s\n", u_errorName(errorCode)); exit(errorCode);