mirror of
https://github.com/unicode-org/icu.git
synced 2025-04-07 22:44:49 +00:00
ICU-1923 upgrade to Unicode 3.2: parse CaseFolding.txt status 'T'
X-SVN-Rev: 8771
This commit is contained in:
parent
4f02d44cc3
commit
c1f5ccefbe
1 changed files with 9 additions and 2 deletions
|
@ -407,7 +407,7 @@ caseFoldingLineFn(void *context,
|
|||
|
||||
/* get the status of this mapping */
|
||||
caseFoldings[caseFoldingCount].status=status=*u_skipWhitespace(fields[1][0]);
|
||||
if(status!='L' && status!='E' && status!='C' && status!='S' && status!='F' && status!='I') {
|
||||
if(status!='L' && status!='E' && status!='C' && status!='S' && status!='F' && status!='I' && status!='T') {
|
||||
fprintf(stderr, "genprops: unrecognized status field in CaseFolding.txt at %s\n", fields[0][0]);
|
||||
*pErrorCode=U_PARSE_ERROR;
|
||||
exit(U_PARSE_ERROR);
|
||||
|
@ -452,7 +452,14 @@ caseFoldingLineFn(void *context,
|
|||
uprv_memcpy(caseFoldings[caseFoldingCount-1].full, caseFoldings[caseFoldingCount].full, 32*U_SIZEOF_UCHAR);
|
||||
return;
|
||||
}
|
||||
} else if(status=='I') {
|
||||
} else if(status=='I' || status=='T') {
|
||||
/* check if there was a default mapping for this code point before (remove it) */
|
||||
while(caseFoldingCount>0 &&
|
||||
caseFoldings[caseFoldingCount-1].code==caseFoldings[caseFoldingCount].code
|
||||
) {
|
||||
prevCode=0;
|
||||
--caseFoldingCount;
|
||||
}
|
||||
/* store only a marker for special handling for cases like dotless i */
|
||||
caseFoldings[caseFoldingCount].simple=0;
|
||||
caseFoldings[caseFoldingCount].full[0]=0;
|
||||
|
|
Loading…
Add table
Reference in a new issue