summaryrefslogtreecommitdiff
path: root/regcharclass.h
diff options
context:
space:
mode:
authorKarl Williamson <khw@cpan.org>2019-01-21 09:46:00 -0700
committerKarl Williamson <khw@cpan.org>2019-02-05 11:44:28 -0700
commite061e59351ce8074d899ffcfe7c4b029c3322928 (patch)
tree2dc27c5e5f42baf607a0771b8145d4b287db1643 /regcharclass.h
parente2e3bb6ab2dc831e06e3f552bfafd7c66ad52179 (diff)
downloadperl-e061e59351ce8074d899ffcfe7c4b029c3322928.tar.gz
mktables: Make Turkic 'I' chars problematic
In a Turkic locale, these are problematic because their mappings cross the 255/256 boundary. This change has the side effect of causing U+307 to be added to the problematic list, and it normally really isn't problematic, because in those locales where U+130 and U+131 are problematic, U+307 isn't used. But applications could switch in and out of Turkic locales, so it's best to leave it be considered problematic. The consequences of making this mark problematic are simply slightly less optimized regex pattern code.
Diffstat (limited to 'regcharclass.h')
-rw-r--r--regcharclass.h65
1 files changed, 46 insertions, 19 deletions
diff --git a/regcharclass.h b/regcharclass.h
index 3a78d24066..537c2f9812 100644
--- a/regcharclass.h
+++ b/regcharclass.h
@@ -521,10 +521,14 @@
( ( ((const U8*)s)[0] <= 0x7F ) ? 1 \
: ( ( ((const U8*)s)[0] & 0xFE ) == 0xC2 ) ? \
2 \
-: ( 0xC4 == ((const U8*)s)[0] || 0xC7 == ((const U8*)s)[0] ) ? \
- ( ( 0xB0 == ((const U8*)s)[1] ) ? 2 : 0 ) \
+: ( 0xC4 == ((const U8*)s)[0] ) ? \
+ ( ( ( ((const U8*)s)[1] & 0xFE ) == 0xB0 ) ? 2 : 0 ) \
: ( 0xC5 == ((const U8*)s)[0] ) ? \
( ( 0x89 == ((const U8*)s)[1] || 0xB8 == ((const U8*)s)[1] || 0xBF == ((const U8*)s)[1] ) ? 2 : 0 )\
+: ( 0xC7 == ((const U8*)s)[0] ) ? \
+ ( ( 0xB0 == ((const U8*)s)[1] ) ? 2 : 0 ) \
+: ( 0xCC == ((const U8*)s)[0] ) ? \
+ ( ( 0x87 == ((const U8*)s)[1] ) ? 2 : 0 ) \
: ( 0xCE == ((const U8*)s)[0] ) ? \
( ( ( ((const U8*)s)[1] & 0xDF ) == 0x9C ) ? 2 : 0 ) \
: ( 0xE1 == ((const U8*)s)[0] ) ? \
@@ -537,16 +541,18 @@
#define is_PROBLEMATIC_LOCALE_FOLD_cp(cp) \
( cp <= 0xFF || ( 0xFF < cp && \
( 0x130 == cp || ( 0x130 < cp && \
+( 0x131 == cp || ( 0x131 < cp && \
( 0x149 == cp || ( 0x149 < cp && \
( 0x178 == cp || ( 0x178 < cp && \
( 0x17F == cp || ( 0x17F < cp && \
( 0x1F0 == cp || ( 0x1F0 < cp && \
+( 0x307 == cp || ( 0x307 < cp && \
( 0x39C == cp || ( 0x39C < cp && \
( 0x3BC == cp || ( 0x3BC < cp && \
( ( 0x1E96 <= cp && cp <= 0x1E9A ) || ( 0x1E9A < cp && \
( 0x1E9E == cp || ( 0x1E9E < cp && \
( 0x212A == cp || ( 0x212A < cp && \
-( 0x212B == cp || ( 0xFB00 <= cp && cp <= 0xFB06 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
+( 0x212B == cp || ( 0xFB00 <= cp && cp <= 0xFB06 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
/*
PROBLEMATIC_LOCALE_FOLDEDS_START: The first folded character of folds which are problematic under locale
@@ -558,10 +564,12 @@
( ( ((const U8*)s)[0] <= 0x7F ) ? 1 \
: ( ( ((const U8*)s)[0] & 0xFE ) == 0xC2 ) ? \
2 \
-: ( 0xC4 == ((const U8*)s)[0] || 0xC7 == ((const U8*)s)[0] ) ? \
- ( ( 0xB0 == ((const U8*)s)[1] ) ? 2 : 0 ) \
+: ( 0xC4 == ((const U8*)s)[0] ) ? \
+ ( ( ( ((const U8*)s)[1] & 0xFE ) == 0xB0 ) ? 2 : 0 ) \
: ( 0xC5 == ((const U8*)s)[0] ) ? \
( ( 0x89 == ((const U8*)s)[1] || 0xB8 == ((const U8*)s)[1] || 0xBF == ((const U8*)s)[1] ) ? 2 : 0 )\
+: ( 0xC7 == ((const U8*)s)[0] ) ? \
+ ( ( 0xB0 == ((const U8*)s)[1] ) ? 2 : 0 ) \
: ( 0xCA == ((const U8*)s)[0] ) ? \
( ( 0xBC == ((const U8*)s)[1] ) ? 2 : 0 ) \
: ( 0xCE == ((const U8*)s)[0] ) ? \
@@ -576,6 +584,7 @@
#define is_PROBLEMATIC_LOCALE_FOLDEDS_START_cp(cp) \
( cp <= 0xFF || ( 0xFF < cp && \
( 0x130 == cp || ( 0x130 < cp && \
+( 0x131 == cp || ( 0x131 < cp && \
( 0x149 == cp || ( 0x149 < cp && \
( 0x178 == cp || ( 0x178 < cp && \
( 0x17F == cp || ( 0x17F < cp && \
@@ -586,7 +595,7 @@
( ( 0x1E96 <= cp && cp <= 0x1E9A ) || ( 0x1E9A < cp && \
( 0x1E9E == cp || ( 0x1E9E < cp && \
( 0x212A == cp || ( 0x212A < cp && \
-( 0x212B == cp || ( 0xFB00 <= cp && cp <= 0xFB06 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
+( 0x212B == cp || ( 0xFB00 <= cp && cp <= 0xFB06 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
/*
PATWS: pattern white space
@@ -1147,12 +1156,16 @@
( ( ( ( ((const U8*)s)[0] & 0xC0 ) == 0x00 ) || ( ( ((const U8*)s)[0] & 0xEF ) == 0x40 ) || ( ( ((const U8*)s)[0] & 0xDF ) == 0x4B ) || ( ( ((const U8*)s)[0] & 0xCC ) == 0x4C ) || ( ( ((const U8*)s)[0] & 0xDE ) == 0x5A ) || ( ( ((const U8*)s)[0] & 0xFE ) == 0x60 ) || ((const U8*)s)[0] == 0x79 || ( ( ((const U8*)s)[0] & 0xEF ) == 0x81 ) || ( ( ((const U8*)s)[0] & 0xEE ) == 0x82 ) || ( ( ((const U8*)s)[0] & 0xEC ) == 0x84 ) || ( ( ((const U8*)s)[0] & 0xEE ) == 0x88 ) || ((const U8*)s)[0] == 0xA1 || ( ( ((const U8*)s)[0] & 0xBE ) == 0xA2 ) || ( ( ((const U8*)s)[0] & 0xBC ) == 0xA4 ) || ( ( ((const U8*)s)[0] & 0xFE ) == 0xA8 ) || ( ( ((const U8*)s)[0] & 0xEF ) == 0xAD ) || ( ( ((const U8*)s)[0] & 0xE8 ) == 0xC0 ) || ( ( ((const U8*)s)[0] & 0xCE ) == 0xC8 ) || ((const U8*)s)[0] == 0xE0 || ( ( ((const U8*)s)[0] & 0xF8 ) == 0xF0 ) || ((const U8*)s)[0] == 0xFF ) ? 1\
: ( 0x80 == ((const U8*)s)[0] || ( ((const U8*)s)[0] & 0xFE ) == 0x8A ) ? \
( ( ( 0x41 <= ((const U8*)s)[1] && ((const U8*)s)[1] <= 0x4A ) || ( 0x51 <= ((const U8*)s)[1] && ((const U8*)s)[1] <= 0x59 ) || ( 0x62 <= ((const U8*)s)[1] && ((const U8*)s)[1] <= 0x6A ) || ( ((const U8*)s)[1] & 0xFC ) == 0x70 ) ? 2 : 0 )\
-: ( 0x8D == ((const U8*)s)[0] || 0x9C == ((const U8*)s)[0] ) ? \
- ( ( 0x57 == ((const U8*)s)[1] ) ? 2 : 0 ) \
+: ( 0x8D == ((const U8*)s)[0] ) ? \
+ ( ( 0x57 == ((const U8*)s)[1] || 0x58 == ((const U8*)s)[1] ) ? 2 : 0 ) \
: ( 0x8E == ((const U8*)s)[0] ) ? \
( ( 0x4A == ((const U8*)s)[1] ) ? 2 : 0 ) \
: ( 0x8F == ((const U8*)s)[0] ) ? \
( ( 0x67 == ((const U8*)s)[1] || 0x73 == ((const U8*)s)[1] ) ? 2 : 0 ) \
+: ( 0x9C == ((const U8*)s)[0] ) ? \
+ ( ( 0x57 == ((const U8*)s)[1] ) ? 2 : 0 ) \
+: ( 0xAF == ((const U8*)s)[0] ) ? \
+ ( ( 0x48 == ((const U8*)s)[1] ) ? 2 : 0 ) \
: ( 0xB3 == ((const U8*)s)[0] || 0xB4 == ((const U8*)s)[0] ) ? \
( ( 0x70 == ((const U8*)s)[1] ) ? 2 : 0 ) \
: ( 0xBF == ((const U8*)s)[0] ) ? \
@@ -1165,16 +1178,18 @@
#define is_PROBLEMATIC_LOCALE_FOLD_cp(cp) \
( cp <= 0xFF || ( 0xFF < cp && \
( 0x130 == cp || ( 0x130 < cp && \
+( 0x131 == cp || ( 0x131 < cp && \
( 0x149 == cp || ( 0x149 < cp && \
( 0x178 == cp || ( 0x178 < cp && \
( 0x17F == cp || ( 0x17F < cp && \
( 0x1F0 == cp || ( 0x1F0 < cp && \
+( 0x307 == cp || ( 0x307 < cp && \
( 0x39C == cp || ( 0x39C < cp && \
( 0x3BC == cp || ( 0x3BC < cp && \
( ( 0x1E96 <= cp && cp <= 0x1E9A ) || ( 0x1E9A < cp && \
( 0x1E9E == cp || ( 0x1E9E < cp && \
( 0x212A == cp || ( 0x212A < cp && \
-( 0x212B == cp || ( 0xFB00 <= cp && cp <= 0xFB06 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
+( 0x212B == cp || ( 0xFB00 <= cp && cp <= 0xFB06 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
/*
PROBLEMATIC_LOCALE_FOLDEDS_START: The first folded character of folds which are problematic under locale
@@ -1186,12 +1201,14 @@
( ( ( ( ((const U8*)s)[0] & 0xC0 ) == 0x00 ) || ( ( ((const U8*)s)[0] & 0xEF ) == 0x40 ) || ( ( ((const U8*)s)[0] & 0xDF ) == 0x4B ) || ( ( ((const U8*)s)[0] & 0xCC ) == 0x4C ) || ( ( ((const U8*)s)[0] & 0xDE ) == 0x5A ) || ( ( ((const U8*)s)[0] & 0xFE ) == 0x60 ) || ((const U8*)s)[0] == 0x79 || ( ( ((const U8*)s)[0] & 0xEF ) == 0x81 ) || ( ( ((const U8*)s)[0] & 0xEE ) == 0x82 ) || ( ( ((const U8*)s)[0] & 0xEC ) == 0x84 ) || ( ( ((const U8*)s)[0] & 0xEE ) == 0x88 ) || ((const U8*)s)[0] == 0xA1 || ( ( ((const U8*)s)[0] & 0xBE ) == 0xA2 ) || ( ( ((const U8*)s)[0] & 0xBC ) == 0xA4 ) || ( ( ((const U8*)s)[0] & 0xFE ) == 0xA8 ) || ( ( ((const U8*)s)[0] & 0xEF ) == 0xAD ) || ( ( ((const U8*)s)[0] & 0xE8 ) == 0xC0 ) || ( ( ((const U8*)s)[0] & 0xCE ) == 0xC8 ) || ((const U8*)s)[0] == 0xE0 || ( ( ((const U8*)s)[0] & 0xF8 ) == 0xF0 ) || ((const U8*)s)[0] == 0xFF ) ? 1\
: ( 0x80 == ((const U8*)s)[0] || ( ((const U8*)s)[0] & 0xFE ) == 0x8A ) ? \
( ( ( 0x41 <= ((const U8*)s)[1] && ((const U8*)s)[1] <= 0x4A ) || ( 0x51 <= ((const U8*)s)[1] && ((const U8*)s)[1] <= 0x59 ) || ( 0x62 <= ((const U8*)s)[1] && ((const U8*)s)[1] <= 0x6A ) || ( ((const U8*)s)[1] & 0xFC ) == 0x70 ) ? 2 : 0 )\
-: ( 0x8D == ((const U8*)s)[0] || 0x9C == ((const U8*)s)[0] ) ? \
- ( ( 0x57 == ((const U8*)s)[1] ) ? 2 : 0 ) \
+: ( 0x8D == ((const U8*)s)[0] ) ? \
+ ( ( 0x57 == ((const U8*)s)[1] || 0x58 == ((const U8*)s)[1] ) ? 2 : 0 ) \
: ( 0x8E == ((const U8*)s)[0] ) ? \
( ( 0x4A == ((const U8*)s)[1] ) ? 2 : 0 ) \
: ( 0x8F == ((const U8*)s)[0] ) ? \
( ( 0x67 == ((const U8*)s)[1] || 0x73 == ((const U8*)s)[1] ) ? 2 : 0 ) \
+: ( 0x9C == ((const U8*)s)[0] ) ? \
+ ( ( 0x57 == ((const U8*)s)[1] ) ? 2 : 0 ) \
: ( 0xAB == ((const U8*)s)[0] || ( 0xB3 == ((const U8*)s)[0] || 0xB4 == ((const U8*)s)[0] ) ) ?\
( ( 0x70 == ((const U8*)s)[1] ) ? 2 : 0 ) \
: ( 0xBF == ((const U8*)s)[0] ) ? \
@@ -1204,6 +1221,7 @@
#define is_PROBLEMATIC_LOCALE_FOLDEDS_START_cp(cp) \
( cp <= 0xFF || ( 0xFF < cp && \
( 0x130 == cp || ( 0x130 < cp && \
+( 0x131 == cp || ( 0x131 < cp && \
( 0x149 == cp || ( 0x149 < cp && \
( 0x178 == cp || ( 0x178 < cp && \
( 0x17F == cp || ( 0x17F < cp && \
@@ -1214,7 +1232,7 @@
( ( 0x1E96 <= cp && cp <= 0x1E9A ) || ( 0x1E9A < cp && \
( 0x1E9E == cp || ( 0x1E9E < cp && \
( 0x212A == cp || ( 0x212A < cp && \
-( 0x212B == cp || ( 0xFB00 <= cp && cp <= 0xFB06 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
+( 0x212B == cp || ( 0xFB00 <= cp && cp <= 0xFB06 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
/*
PATWS: pattern white space
@@ -1764,12 +1782,16 @@
( ( ( ( ((const U8*)s)[0] & 0xC0 ) == 0x00 ) || ( ( ((const U8*)s)[0] & 0xEF ) == 0x40 ) || ( ( ((const U8*)s)[0] & 0xDF ) == 0x4B ) || ( ( ((const U8*)s)[0] & 0xFC ) == 0x4C ) || ( ( ((const U8*)s)[0] & 0xDE ) == 0x5A ) || ( ( ((const U8*)s)[0] & 0xFE ) == 0x5C ) || ((const U8*)s)[0] == 0x5E || ( ( ((const U8*)s)[0] & 0xFE ) == 0x60 ) || ( ( ((const U8*)s)[0] & 0xEC ) == 0x6C ) || ((const U8*)s)[0] == 0x79 || ( ( ((const U8*)s)[0] & 0xEF ) == 0x81 ) || ( ( ((const U8*)s)[0] & 0xEE ) == 0x82 ) || ( ( ((const U8*)s)[0] & 0xEC ) == 0x84 ) || ( ( ((const U8*)s)[0] & 0xEE ) == 0x88 ) || ((const U8*)s)[0] == 0xA1 || ( ( ((const U8*)s)[0] & 0xBE ) == 0xA2 ) || ( ( ((const U8*)s)[0] & 0xBC ) == 0xA4 ) || ( ( ((const U8*)s)[0] & 0xFE ) == 0xA8 ) || ((const U8*)s)[0] == 0xB0 || ( ( ((const U8*)s)[0] & 0xFE ) == 0xBA ) || ( ( ((const U8*)s)[0] & 0xE8 ) == 0xC0 ) || ( ( ((const U8*)s)[0] & 0xCE ) == 0xC8 ) || ((const U8*)s)[0] == 0xE0 || ( ( ((const U8*)s)[0] & 0xF8 ) == 0xF0 ) || ((const U8*)s)[0] == 0xFF ) ? 1\
: ( 0x78 == ((const U8*)s)[0] || 0x80 == ((const U8*)s)[0] || 0x8A == ((const U8*)s)[0] ) ?\
( ( ( 0x41 <= ((const U8*)s)[1] && ((const U8*)s)[1] <= 0x4A ) || ( 0x51 <= ((const U8*)s)[1] && ((const U8*)s)[1] <= 0x59 ) || 0x5F == ((const U8*)s)[1] || ( 0x62 <= ((const U8*)s)[1] && ((const U8*)s)[1] <= 0x6A ) || ( 0x70 <= ((const U8*)s)[1] && ((const U8*)s)[1] <= 0x72 ) ) ? 2 : 0 )\
-: ( 0x8C == ((const U8*)s)[0] || 0x9B == ((const U8*)s)[0] ) ? \
- ( ( 0x57 == ((const U8*)s)[1] ) ? 2 : 0 ) \
+: ( 0x8C == ((const U8*)s)[0] ) ? \
+ ( ( 0x57 == ((const U8*)s)[1] || 0x58 == ((const U8*)s)[1] ) ? 2 : 0 ) \
: ( 0x8D == ((const U8*)s)[0] ) ? \
( ( 0x4A == ((const U8*)s)[1] ) ? 2 : 0 ) \
: ( 0x8E == ((const U8*)s)[0] ) ? \
( ( 0x66 == ((const U8*)s)[1] || 0x72 == ((const U8*)s)[1] ) ? 2 : 0 ) \
+: ( 0x9B == ((const U8*)s)[0] ) ? \
+ ( ( 0x57 == ((const U8*)s)[1] ) ? 2 : 0 ) \
+: ( 0xAD == ((const U8*)s)[0] ) ? \
+ ( ( 0x48 == ((const U8*)s)[1] ) ? 2 : 0 ) \
: ( ( ((const U8*)s)[0] & 0xFE ) == 0xB2 ) ? \
( ( 0x6A == ((const U8*)s)[1] ) ? 2 : 0 ) \
: ( 0xBF == ((const U8*)s)[0] ) ? \
@@ -1782,16 +1804,18 @@
#define is_PROBLEMATIC_LOCALE_FOLD_cp(cp) \
( cp <= 0xFF || ( 0xFF < cp && \
( 0x130 == cp || ( 0x130 < cp && \
+( 0x131 == cp || ( 0x131 < cp && \
( 0x149 == cp || ( 0x149 < cp && \
( 0x178 == cp || ( 0x178 < cp && \
( 0x17F == cp || ( 0x17F < cp && \
( 0x1F0 == cp || ( 0x1F0 < cp && \
+( 0x307 == cp || ( 0x307 < cp && \
( 0x39C == cp || ( 0x39C < cp && \
( 0x3BC == cp || ( 0x3BC < cp && \
( ( 0x1E96 <= cp && cp <= 0x1E9A ) || ( 0x1E9A < cp && \
( 0x1E9E == cp || ( 0x1E9E < cp && \
( 0x212A == cp || ( 0x212A < cp && \
-( 0x212B == cp || ( 0xFB00 <= cp && cp <= 0xFB06 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
+( 0x212B == cp || ( 0xFB00 <= cp && cp <= 0xFB06 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
/*
PROBLEMATIC_LOCALE_FOLDEDS_START: The first folded character of folds which are problematic under locale
@@ -1803,12 +1827,14 @@
( ( ( ( ((const U8*)s)[0] & 0xC0 ) == 0x00 ) || ( ( ((const U8*)s)[0] & 0xEF ) == 0x40 ) || ( ( ((const U8*)s)[0] & 0xDF ) == 0x4B ) || ( ( ((const U8*)s)[0] & 0xFC ) == 0x4C ) || ( ( ((const U8*)s)[0] & 0xDE ) == 0x5A ) || ( ( ((const U8*)s)[0] & 0xFE ) == 0x5C ) || ((const U8*)s)[0] == 0x5E || ( ( ((const U8*)s)[0] & 0xFE ) == 0x60 ) || ( ( ((const U8*)s)[0] & 0xEC ) == 0x6C ) || ((const U8*)s)[0] == 0x79 || ( ( ((const U8*)s)[0] & 0xEF ) == 0x81 ) || ( ( ((const U8*)s)[0] & 0xEE ) == 0x82 ) || ( ( ((const U8*)s)[0] & 0xEC ) == 0x84 ) || ( ( ((const U8*)s)[0] & 0xEE ) == 0x88 ) || ((const U8*)s)[0] == 0xA1 || ( ( ((const U8*)s)[0] & 0xBE ) == 0xA2 ) || ( ( ((const U8*)s)[0] & 0xBC ) == 0xA4 ) || ( ( ((const U8*)s)[0] & 0xFE ) == 0xA8 ) || ((const U8*)s)[0] == 0xB0 || ( ( ((const U8*)s)[0] & 0xFE ) == 0xBA ) || ( ( ((const U8*)s)[0] & 0xE8 ) == 0xC0 ) || ( ( ((const U8*)s)[0] & 0xCE ) == 0xC8 ) || ((const U8*)s)[0] == 0xE0 || ( ( ((const U8*)s)[0] & 0xF8 ) == 0xF0 ) || ((const U8*)s)[0] == 0xFF ) ? 1\
: ( 0x78 == ((const U8*)s)[0] || 0x80 == ((const U8*)s)[0] || 0x8A == ((const U8*)s)[0] ) ?\
( ( ( 0x41 <= ((const U8*)s)[1] && ((const U8*)s)[1] <= 0x4A ) || ( 0x51 <= ((const U8*)s)[1] && ((const U8*)s)[1] <= 0x59 ) || 0x5F == ((const U8*)s)[1] || ( 0x62 <= ((const U8*)s)[1] && ((const U8*)s)[1] <= 0x6A ) || ( 0x70 <= ((const U8*)s)[1] && ((const U8*)s)[1] <= 0x72 ) ) ? 2 : 0 )\
-: ( 0x8C == ((const U8*)s)[0] || 0x9B == ((const U8*)s)[0] ) ? \
- ( ( 0x57 == ((const U8*)s)[1] ) ? 2 : 0 ) \
+: ( 0x8C == ((const U8*)s)[0] ) ? \
+ ( ( 0x57 == ((const U8*)s)[1] || 0x58 == ((const U8*)s)[1] ) ? 2 : 0 ) \
: ( 0x8D == ((const U8*)s)[0] ) ? \
( ( 0x4A == ((const U8*)s)[1] ) ? 2 : 0 ) \
: ( 0x8E == ((const U8*)s)[0] ) ? \
( ( 0x66 == ((const U8*)s)[1] || 0x72 == ((const U8*)s)[1] ) ? 2 : 0 ) \
+: ( 0x9B == ((const U8*)s)[0] ) ? \
+ ( ( 0x57 == ((const U8*)s)[1] ) ? 2 : 0 ) \
: ( 0xAA == ((const U8*)s)[0] || ( ((const U8*)s)[0] & 0xFE ) == 0xB2 ) ? \
( ( 0x6A == ((const U8*)s)[1] ) ? 2 : 0 ) \
: ( 0xBF == ((const U8*)s)[0] ) ? \
@@ -1821,6 +1847,7 @@
#define is_PROBLEMATIC_LOCALE_FOLDEDS_START_cp(cp) \
( cp <= 0xFF || ( 0xFF < cp && \
( 0x130 == cp || ( 0x130 < cp && \
+( 0x131 == cp || ( 0x131 < cp && \
( 0x149 == cp || ( 0x149 < cp && \
( 0x178 == cp || ( 0x178 < cp && \
( 0x17F == cp || ( 0x17F < cp && \
@@ -1831,7 +1858,7 @@
( ( 0x1E96 <= cp && cp <= 0x1E9A ) || ( 0x1E9A < cp && \
( 0x1E9E == cp || ( 0x1E9E < cp && \
( 0x212A == cp || ( 0x212A < cp && \
-( 0x212B == cp || ( 0xFB00 <= cp && cp <= 0xFB06 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
+( 0x212B == cp || ( 0xFB00 <= cp && cp <= 0xFB06 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
/*
PATWS: pattern white space
@@ -1909,7 +1936,7 @@
* 018e20fa2f469667cc7ccd8a3d4a4a8cce8ad9bdf5fce5b2f61137660ea1065f lib/unicore/extracted/DLineBreak.txt
* 88c30a794011f5e6dc62154342e8bab1bd4ce2d0c0ab06fb69ba47134dc75b23 lib/unicore/extracted/DNumType.txt
* dab1e84f48990e30635a4f489d33212b25d0e35d80839c08e33a8afe5736346c lib/unicore/extracted/DNumValues.txt
- * b4d304a8173a57d5baca855ba3465c0fbec45a723983445c03bb80cf2dff9f46 lib/unicore/mktables
+ * 457213d2957fa73d19eba1479093ab28419712c03c49f156c732ddb36d011112 lib/unicore/mktables
* 7bd6bcbe3813e0cd55e0998053d182b7bc8c97dcfd0b85028e9f7f55af4ad61b lib/unicore/version
* 4bb677187a1a64e39d48f2e341b5ecb6c99857e49d7a79cf503bd8a3c709999b regen/charset_translations.pl
* 6b1c1caf1004a96c15218dba6cec482f36a036ed91bb545315ba280319133a80 regen/regcharclass.pl