mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-09-09 01:08:39 +09:00
Issue #1971 - Part 2: Update ICU source to 63.2.
This commit is contained in:
parent
8df84683be
commit
1e69214382
3160 changed files with 275815 additions and 234203 deletions
|
|
@ -1,4 +1,4 @@
|
|||
// Copyright (C) 2016 and later: Unicode, Inc. and others.
|
||||
// © 2016 and later: Unicode, Inc. and others.
|
||||
// License & terms of use: http://www.unicode.org/copyright.html
|
||||
/*
|
||||
******************************************************************************
|
||||
|
|
@ -8,7 +8,7 @@
|
|||
*
|
||||
******************************************************************************
|
||||
* file name: unisetspan.cpp
|
||||
* encoding: US-ASCII
|
||||
* encoding: UTF-8
|
||||
* tab size: 8 (not used)
|
||||
* indentation:4
|
||||
*
|
||||
|
|
@ -502,7 +502,7 @@ spanOneBack(const UnicodeSet &set, const UChar *s, int32_t length) {
|
|||
static inline int32_t
|
||||
spanOneUTF8(const UnicodeSet &set, const uint8_t *s, int32_t length) {
|
||||
UChar32 c=*s;
|
||||
if((int8_t)c>=0) {
|
||||
if(U8_IS_SINGLE(c)) {
|
||||
return set.contains(c) ? 1 : -1;
|
||||
}
|
||||
// Take advantage of non-ASCII fastpaths in U8_NEXT_OR_FFFD().
|
||||
|
|
@ -514,7 +514,7 @@ spanOneUTF8(const UnicodeSet &set, const uint8_t *s, int32_t length) {
|
|||
static inline int32_t
|
||||
spanOneBackUTF8(const UnicodeSet &set, const uint8_t *s, int32_t length) {
|
||||
UChar32 c=s[length-1];
|
||||
if((int8_t)c>=0) {
|
||||
if(U8_IS_SINGLE(c)) {
|
||||
return set.contains(c) ? 1 : -1;
|
||||
}
|
||||
int32_t i=length-1;
|
||||
|
|
@ -1006,11 +1006,9 @@ int32_t UnicodeSetStringSpan::spanUTF8(const uint8_t *s, int32_t length, USetSpa
|
|||
// Try to match if the increment is not listed already.
|
||||
// Match at code point boundaries. (The UTF-8 strings were converted
|
||||
// from UTF-16 and are guaranteed to be well-formed.)
|
||||
if( !U8_IS_TRAIL(s[pos-overlap]) &&
|
||||
!offsets.containsOffset(inc) &&
|
||||
matches8(s+pos-overlap, s8, length8)
|
||||
|
||||
) {
|
||||
if(!U8_IS_TRAIL(s[pos-overlap]) &&
|
||||
!offsets.containsOffset(inc) &&
|
||||
matches8(s+pos-overlap, s8, length8)) {
|
||||
if(inc==rest) {
|
||||
return length; // Reached the end of the string.
|
||||
}
|
||||
|
|
@ -1052,11 +1050,10 @@ int32_t UnicodeSetStringSpan::spanUTF8(const uint8_t *s, int32_t length, USetSpa
|
|||
// Try to match if the string is longer or starts earlier.
|
||||
// Match at code point boundaries. (The UTF-8 strings were converted
|
||||
// from UTF-16 and are guaranteed to be well-formed.)
|
||||
if( !U8_IS_TRAIL(s[pos-overlap]) &&
|
||||
(overlap>maxOverlap || /* redundant overlap==maxOverlap && */ inc>maxInc) &&
|
||||
matches8(s+pos-overlap, s8, length8)
|
||||
|
||||
) {
|
||||
if(!U8_IS_TRAIL(s[pos-overlap]) &&
|
||||
(overlap>maxOverlap ||
|
||||
/* redundant overlap==maxOverlap && */ inc>maxInc) &&
|
||||
matches8(s+pos-overlap, s8, length8)) {
|
||||
maxInc=inc; // Longest match from earliest start.
|
||||
maxOverlap=overlap;
|
||||
break;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue