summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--charclass_invlists.h10
-rw-r--r--lib/unicore/mktables2
-rw-r--r--regcharclass.h65
-rw-r--r--uni_keywords.h2
4 files changed, 55 insertions, 24 deletions
diff --git a/charclass_invlists.h b/charclass_invlists.h
index 7260165387..eb40f5eaf7 100644
--- a/charclass_invlists.h
+++ b/charclass_invlists.h
@@ -181839,7 +181839,7 @@ static const UV UNI__PERL_PROBLEMATIC_LOCALE_FOLDEDS_START_invlist[] = { /* for
0x0,
0x100,
0x130,
- 0x131,
+ 0x132,
0x149,
0x14A,
0x178,
@@ -181865,14 +181865,14 @@ static const UV UNI__PERL_PROBLEMATIC_LOCALE_FOLDEDS_START_invlist[] = { /* for
};
static const UV UNI__PERL_PROBLEMATIC_LOCALE_FOLDS_invlist[] = { /* for all charsets */
- 24, /* Number of elements */
+ 26, /* Number of elements */
148565664, /* Version and data structure type */
0, /* 0 if the list starts at 0;
1 if it starts at the element beyond 0 */
0x0,
0x100,
0x130,
- 0x131,
+ 0x132,
0x149,
0x14A,
0x178,
@@ -181881,6 +181881,8 @@ static const UV UNI__PERL_PROBLEMATIC_LOCALE_FOLDS_invlist[] = { /* for all cha
0x180,
0x1F0,
0x1F1,
+ 0x307,
+ 0x308,
0x39C,
0x39D,
0x3BC,
@@ -383690,7 +383692,7 @@ static const U8 WB_table[23][23] = {
* 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
* 03e51b0f07beebd5da62ab943899aa4934eee1f792fa27c1fb638c33bf4ac6ea regen/mk_PL_charclass.pl
diff --git a/lib/unicore/mktables b/lib/unicore/mktables
index 75dad35cbf..42b480ce26 100644
--- a/lib/unicore/mktables
+++ b/lib/unicore/mktables
@@ -14941,6 +14941,8 @@ sub compile_perl() {
# Every character 0-255 is problematic because what each folds to depends
# on the current locale
$loc_problem_folds->add_range(0, 255);
+ $loc_problem_folds->add_range(0x130, 0x131); # These are problematic in
+ # Turkic locales
$loc_problem_folds_start += $loc_problem_folds;
# Also problematic are anything these fold to outside the range. Likely
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
diff --git a/uni_keywords.h b/uni_keywords.h
index 13bcfa0080..c2fceb5527 100644
--- a/uni_keywords.h
+++ b/uni_keywords.h
@@ -6992,7 +6992,7 @@ MPH_VALt match_uniprop( const unsigned char * const key, const U16 key_len ) {
* 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
* 03e51b0f07beebd5da62ab943899aa4934eee1f792fa27c1fb638c33bf4ac6ea regen/mk_PL_charclass.pl