Update Unicode data to Unicode 17.0.0

Reviewed-by: Chao Li <li.evan.chao@gmail.com>
Reviewed-by: Alexander Borisov <lex.borisov@gmail.com>
Reviewed-by: Andres Freund <andres@anarazel.de>
Discussion: https://www.postgresql.org/message-id/flat/2a668979-ed92-49a3-abf9-a3ec2d460ec2%40eisentraut.org
This commit is contained in:
Peter Eisentraut 2026-03-20 08:42:50 +01:00
parent 493f8c6439
commit 57ee397953
11 changed files with 4450 additions and 4090 deletions

View file

@ -1565,6 +1565,7 @@
Ꞩ S
ꞩ s
Ɦ H
꟱ S
ꟲ C
ꟳ F
ꟴ Q

View file

@ -376,7 +376,7 @@ DOWNLOAD = wget -O $@ --no-use-server-timestamps
# Pick a release from here: <https://www.unicode.org/Public/>. Note
# that the most recent release listed there is often a pre-release;
# don't pick that one, except for testing.
UNICODE_VERSION = 16.0.0
UNICODE_VERSION = 17.0.0
# Pick a release from here: <http://cldr.unicode.org/index/downloads>
CLDR_VERSION = 47

View file

@ -1,6 +1,6 @@
# Copyright (c) 2022-2026, PostgreSQL Global Development Group
UNICODE_VERSION = '16.0.0'
UNICODE_VERSION = '17.0.0'
CLDR_VERSION = '47'
unicode_data = {}

File diff suppressed because it is too large Load diff

View file

@ -696,7 +696,7 @@ static const pg_unicode_properties unicode_opt_ascii[128] =
};
/* table of Unicode codepoint ranges and their categories */
static const pg_category_range unicode_categories[3368] =
static const pg_category_range unicode_categories[3409] =
{
{0x000000, 0x00001f, PG_U_CONTROL},
{0x000020, 0x000020, PG_U_SPACE_SEPARATOR},
@ -1046,8 +1046,8 @@ static const pg_category_range unicode_categories[3368] =
{0x00024d, 0x00024d, PG_U_LOWERCASE_LETTER},
{0x00024e, 0x00024e, PG_U_UPPERCASE_LETTER},
{0x00024f, 0x000293, PG_U_LOWERCASE_LETTER},
{0x000294, 0x000294, PG_U_OTHER_LETTER},
{0x000295, 0x0002af, PG_U_LOWERCASE_LETTER},
{0x000294, 0x000295, PG_U_OTHER_LETTER},
{0x000296, 0x0002af, PG_U_LOWERCASE_LETTER},
{0x0002b0, 0x0002c1, PG_U_MODIFIER_LETTER},
{0x0002c2, 0x0002c5, PG_U_MODIFIER_SYMBOL},
{0x0002c6, 0x0002d1, PG_U_MODIFIER_LETTER},
@ -1406,7 +1406,7 @@ static const pg_category_range unicode_categories[3368] =
{0x000860, 0x00086a, PG_U_OTHER_LETTER},
{0x000870, 0x000887, PG_U_OTHER_LETTER},
{0x000888, 0x000888, PG_U_MODIFIER_SYMBOL},
{0x000889, 0x00088e, PG_U_OTHER_LETTER},
{0x000889, 0x00088f, PG_U_OTHER_LETTER},
{0x000890, 0x000891, PG_U_FORMAT},
{0x000897, 0x00089f, PG_U_NONSPACING_MARK},
{0x0008a0, 0x0008c8, PG_U_OTHER_LETTER},
@ -1574,7 +1574,7 @@ static const pg_category_range unicode_categories[3368] =
{0x000c4a, 0x000c4d, PG_U_NONSPACING_MARK},
{0x000c55, 0x000c56, PG_U_NONSPACING_MARK},
{0x000c58, 0x000c5a, PG_U_OTHER_LETTER},
{0x000c5d, 0x000c5d, PG_U_OTHER_LETTER},
{0x000c5c, 0x000c5d, PG_U_OTHER_LETTER},
{0x000c60, 0x000c61, PG_U_OTHER_LETTER},
{0x000c62, 0x000c63, PG_U_NONSPACING_MARK},
{0x000c66, 0x000c6f, PG_U_DECIMAL_NUMBER},
@ -1600,7 +1600,7 @@ static const pg_category_range unicode_categories[3368] =
{0x000cca, 0x000ccb, PG_U_SPACING_MARK},
{0x000ccc, 0x000ccd, PG_U_NONSPACING_MARK},
{0x000cd5, 0x000cd6, PG_U_SPACING_MARK},
{0x000cdd, 0x000cde, PG_U_OTHER_LETTER},
{0x000cdc, 0x000cde, PG_U_OTHER_LETTER},
{0x000ce0, 0x000ce1, PG_U_OTHER_LETTER},
{0x000ce2, 0x000ce3, PG_U_NONSPACING_MARK},
{0x000ce6, 0x000cef, PG_U_DECIMAL_NUMBER},
@ -1874,7 +1874,8 @@ static const pg_category_range unicode_categories[3368] =
{0x001aa8, 0x001aad, PG_U_OTHER_PUNCTUATION},
{0x001ab0, 0x001abd, PG_U_NONSPACING_MARK},
{0x001abe, 0x001abe, PG_U_ENCLOSING_MARK},
{0x001abf, 0x001ace, PG_U_NONSPACING_MARK},
{0x001abf, 0x001add, PG_U_NONSPACING_MARK},
{0x001ae0, 0x001aeb, PG_U_NONSPACING_MARK},
{0x001b00, 0x001b03, PG_U_NONSPACING_MARK},
{0x001b04, 0x001b04, PG_U_SPACING_MARK},
{0x001b05, 0x001b33, PG_U_OTHER_LETTER},
@ -2293,7 +2294,7 @@ static const pg_category_range unicode_categories[3368] =
{0x00208d, 0x00208d, PG_U_OPEN_PUNCTUATION},
{0x00208e, 0x00208e, PG_U_CLOSE_PUNCTUATION},
{0x002090, 0x00209c, PG_U_MODIFIER_LETTER},
{0x0020a0, 0x0020c0, PG_U_CURRENCY_SYMBOL},
{0x0020a0, 0x0020c1, PG_U_CURRENCY_SYMBOL},
{0x0020d0, 0x0020dc, PG_U_NONSPACING_MARK},
{0x0020dd, 0x0020e0, PG_U_ENCLOSING_MARK},
{0x0020e1, 0x0020e1, PG_U_NONSPACING_MARK},
@ -2464,8 +2465,7 @@ static const pg_category_range unicode_categories[3368] =
{0x002b45, 0x002b46, PG_U_OTHER_SYMBOL},
{0x002b47, 0x002b4c, PG_U_MATH_SYMBOL},
{0x002b4d, 0x002b73, PG_U_OTHER_SYMBOL},
{0x002b76, 0x002b95, PG_U_OTHER_SYMBOL},
{0x002b97, 0x002bff, PG_U_OTHER_SYMBOL},
{0x002b76, 0x002bff, PG_U_OTHER_SYMBOL},
{0x002c00, 0x002c2f, PG_U_UPPERCASE_LETTER},
{0x002c30, 0x002c5f, PG_U_LOWERCASE_LETTER},
{0x002c60, 0x002c60, PG_U_UPPERCASE_LETTER},
@ -2988,9 +2988,13 @@ static const pg_category_range unicode_categories[3368] =
{0x00a7ca, 0x00a7ca, PG_U_LOWERCASE_LETTER},
{0x00a7cb, 0x00a7cc, PG_U_UPPERCASE_LETTER},
{0x00a7cd, 0x00a7cd, PG_U_LOWERCASE_LETTER},
{0x00a7ce, 0x00a7ce, PG_U_UPPERCASE_LETTER},
{0x00a7cf, 0x00a7cf, PG_U_LOWERCASE_LETTER},
{0x00a7d0, 0x00a7d0, PG_U_UPPERCASE_LETTER},
{0x00a7d1, 0x00a7d1, PG_U_LOWERCASE_LETTER},
{0x00a7d2, 0x00a7d2, PG_U_UPPERCASE_LETTER},
{0x00a7d3, 0x00a7d3, PG_U_LOWERCASE_LETTER},
{0x00a7d4, 0x00a7d4, PG_U_UPPERCASE_LETTER},
{0x00a7d5, 0x00a7d5, PG_U_LOWERCASE_LETTER},
{0x00a7d6, 0x00a7d6, PG_U_UPPERCASE_LETTER},
{0x00a7d7, 0x00a7d7, PG_U_LOWERCASE_LETTER},
@ -2999,7 +3003,7 @@ static const pg_category_range unicode_categories[3368] =
{0x00a7da, 0x00a7da, PG_U_UPPERCASE_LETTER},
{0x00a7db, 0x00a7db, PG_U_LOWERCASE_LETTER},
{0x00a7dc, 0x00a7dc, PG_U_UPPERCASE_LETTER},
{0x00a7f2, 0x00a7f4, PG_U_MODIFIER_LETTER},
{0x00a7f1, 0x00a7f4, PG_U_MODIFIER_LETTER},
{0x00a7f5, 0x00a7f5, PG_U_UPPERCASE_LETTER},
{0x00a7f6, 0x00a7f6, PG_U_LOWERCASE_LETTER},
{0x00a7f7, 0x00a7f7, PG_U_OTHER_LETTER},
@ -3150,13 +3154,15 @@ static const pg_category_range unicode_categories[3368] =
{0x00fb43, 0x00fb44, PG_U_OTHER_LETTER},
{0x00fb46, 0x00fbb1, PG_U_OTHER_LETTER},
{0x00fbb2, 0x00fbc2, PG_U_MODIFIER_SYMBOL},
{0x00fbc3, 0x00fbd2, PG_U_OTHER_SYMBOL},
{0x00fbd3, 0x00fd3d, PG_U_OTHER_LETTER},
{0x00fd3e, 0x00fd3e, PG_U_CLOSE_PUNCTUATION},
{0x00fd3f, 0x00fd3f, PG_U_OPEN_PUNCTUATION},
{0x00fd40, 0x00fd4f, PG_U_OTHER_SYMBOL},
{0x00fd50, 0x00fd8f, PG_U_OTHER_LETTER},
{0x00fd90, 0x00fd91, PG_U_OTHER_SYMBOL},
{0x00fd92, 0x00fdc7, PG_U_OTHER_LETTER},
{0x00fdcf, 0x00fdcf, PG_U_OTHER_SYMBOL},
{0x00fdc8, 0x00fdcf, PG_U_OTHER_SYMBOL},
{0x00fdf0, 0x00fdfb, PG_U_OTHER_LETTER},
{0x00fdfc, 0x00fdfc, PG_U_CURRENCY_SYMBOL},
{0x00fdfd, 0x00fdff, PG_U_OTHER_SYMBOL},
@ -3342,6 +3348,7 @@ static const pg_category_range unicode_categories[3368] =
{0x01091f, 0x01091f, PG_U_OTHER_PUNCTUATION},
{0x010920, 0x010939, PG_U_OTHER_LETTER},
{0x01093f, 0x01093f, PG_U_OTHER_PUNCTUATION},
{0x010940, 0x010959, PG_U_OTHER_LETTER},
{0x010980, 0x0109b7, PG_U_OTHER_LETTER},
{0x0109bc, 0x0109bd, PG_U_OTHER_NUMBER},
{0x0109be, 0x0109bf, PG_U_OTHER_LETTER},
@ -3401,7 +3408,11 @@ static const pg_category_range unicode_categories[3368] =
{0x010ead, 0x010ead, PG_U_DASH_PUNCTUATION},
{0x010eb0, 0x010eb1, PG_U_OTHER_LETTER},
{0x010ec2, 0x010ec4, PG_U_OTHER_LETTER},
{0x010efc, 0x010eff, PG_U_NONSPACING_MARK},
{0x010ec5, 0x010ec5, PG_U_MODIFIER_LETTER},
{0x010ec6, 0x010ec7, PG_U_OTHER_LETTER},
{0x010ed0, 0x010ed0, PG_U_OTHER_PUNCTUATION},
{0x010ed1, 0x010ed8, PG_U_OTHER_SYMBOL},
{0x010efa, 0x010eff, PG_U_NONSPACING_MARK},
{0x010f00, 0x010f1c, PG_U_OTHER_LETTER},
{0x010f1d, 0x010f26, PG_U_OTHER_NUMBER},
{0x010f27, 0x010f27, PG_U_OTHER_LETTER},
@ -3670,6 +3681,12 @@ static const pg_category_range unicode_categories[3368] =
{0x011a9e, 0x011aa2, PG_U_OTHER_PUNCTUATION},
{0x011ab0, 0x011af8, PG_U_OTHER_LETTER},
{0x011b00, 0x011b09, PG_U_OTHER_PUNCTUATION},
{0x011b60, 0x011b60, PG_U_NONSPACING_MARK},
{0x011b61, 0x011b61, PG_U_SPACING_MARK},
{0x011b62, 0x011b64, PG_U_NONSPACING_MARK},
{0x011b65, 0x011b65, PG_U_SPACING_MARK},
{0x011b66, 0x011b66, PG_U_NONSPACING_MARK},
{0x011b67, 0x011b67, PG_U_SPACING_MARK},
{0x011bc0, 0x011be0, PG_U_OTHER_LETTER},
{0x011be1, 0x011be1, PG_U_OTHER_PUNCTUATION},
{0x011bf0, 0x011bf9, PG_U_DECIMAL_NUMBER},
@ -3714,6 +3731,10 @@ static const pg_category_range unicode_categories[3368] =
{0x011d97, 0x011d97, PG_U_NONSPACING_MARK},
{0x011d98, 0x011d98, PG_U_OTHER_LETTER},
{0x011da0, 0x011da9, PG_U_DECIMAL_NUMBER},
{0x011db0, 0x011dd8, PG_U_OTHER_LETTER},
{0x011dd9, 0x011dd9, PG_U_MODIFIER_LETTER},
{0x011dda, 0x011ddb, PG_U_OTHER_LETTER},
{0x011de0, 0x011de9, PG_U_DECIMAL_NUMBER},
{0x011ee0, 0x011ef2, PG_U_OTHER_LETTER},
{0x011ef3, 0x011ef4, PG_U_NONSPACING_MARK},
{0x011ef5, 0x011ef6, PG_U_SPACING_MARK},
@ -3785,6 +3806,8 @@ static const pg_category_range unicode_categories[3368] =
{0x016e60, 0x016e7f, PG_U_LOWERCASE_LETTER},
{0x016e80, 0x016e96, PG_U_OTHER_NUMBER},
{0x016e97, 0x016e9a, PG_U_OTHER_PUNCTUATION},
{0x016ea0, 0x016eb8, PG_U_UPPERCASE_LETTER},
{0x016ebb, 0x016ed3, PG_U_LOWERCASE_LETTER},
{0x016f00, 0x016f4a, PG_U_OTHER_LETTER},
{0x016f4f, 0x016f4f, PG_U_NONSPACING_MARK},
{0x016f50, 0x016f50, PG_U_OTHER_LETTER},
@ -3796,9 +3819,11 @@ static const pg_category_range unicode_categories[3368] =
{0x016fe3, 0x016fe3, PG_U_MODIFIER_LETTER},
{0x016fe4, 0x016fe4, PG_U_NONSPACING_MARK},
{0x016ff0, 0x016ff1, PG_U_SPACING_MARK},
{0x017000, 0x0187f7, PG_U_OTHER_LETTER},
{0x018800, 0x018cd5, PG_U_OTHER_LETTER},
{0x018cff, 0x018d08, PG_U_OTHER_LETTER},
{0x016ff2, 0x016ff3, PG_U_MODIFIER_LETTER},
{0x016ff4, 0x016ff6, PG_U_LETTER_NUMBER},
{0x017000, 0x018cd5, PG_U_OTHER_LETTER},
{0x018cff, 0x018d1e, PG_U_OTHER_LETTER},
{0x018d80, 0x018df2, PG_U_OTHER_LETTER},
{0x01aff0, 0x01aff3, PG_U_MODIFIER_LETTER},
{0x01aff5, 0x01affb, PG_U_MODIFIER_LETTER},
{0x01affd, 0x01affe, PG_U_MODIFIER_LETTER},
@ -3818,7 +3843,11 @@ static const pg_category_range unicode_categories[3368] =
{0x01bca0, 0x01bca3, PG_U_FORMAT},
{0x01cc00, 0x01ccef, PG_U_OTHER_SYMBOL},
{0x01ccf0, 0x01ccf9, PG_U_DECIMAL_NUMBER},
{0x01ccfa, 0x01ccfc, PG_U_OTHER_SYMBOL},
{0x01cd00, 0x01ceb3, PG_U_OTHER_SYMBOL},
{0x01ceba, 0x01ced0, PG_U_OTHER_SYMBOL},
{0x01cee0, 0x01ceef, PG_U_OTHER_SYMBOL},
{0x01cef0, 0x01cef0, PG_U_MATH_SYMBOL},
{0x01cf00, 0x01cf2d, PG_U_NONSPACING_MARK},
{0x01cf30, 0x01cf46, PG_U_NONSPACING_MARK},
{0x01cf50, 0x01cfc3, PG_U_OTHER_SYMBOL},
@ -3957,6 +3986,17 @@ static const pg_category_range unicode_categories[3368] =
{0x01e5f0, 0x01e5f0, PG_U_OTHER_LETTER},
{0x01e5f1, 0x01e5fa, PG_U_DECIMAL_NUMBER},
{0x01e5ff, 0x01e5ff, PG_U_OTHER_PUNCTUATION},
{0x01e6c0, 0x01e6de, PG_U_OTHER_LETTER},
{0x01e6e0, 0x01e6e2, PG_U_OTHER_LETTER},
{0x01e6e3, 0x01e6e3, PG_U_NONSPACING_MARK},
{0x01e6e4, 0x01e6e5, PG_U_OTHER_LETTER},
{0x01e6e6, 0x01e6e6, PG_U_NONSPACING_MARK},
{0x01e6e7, 0x01e6ed, PG_U_OTHER_LETTER},
{0x01e6ee, 0x01e6ef, PG_U_NONSPACING_MARK},
{0x01e6f0, 0x01e6f4, PG_U_OTHER_LETTER},
{0x01e6f5, 0x01e6f5, PG_U_NONSPACING_MARK},
{0x01e6fe, 0x01e6fe, PG_U_OTHER_LETTER},
{0x01e6ff, 0x01e6ff, PG_U_MODIFIER_LETTER},
{0x01e7e0, 0x01e7e6, PG_U_OTHER_LETTER},
{0x01e7e8, 0x01e7eb, PG_U_OTHER_LETTER},
{0x01e7ed, 0x01e7ee, PG_U_OTHER_LETTER},
@ -4027,11 +4067,10 @@ static const pg_category_range unicode_categories[3368] =
{0x01f260, 0x01f265, PG_U_OTHER_SYMBOL},
{0x01f300, 0x01f3fa, PG_U_OTHER_SYMBOL},
{0x01f3fb, 0x01f3ff, PG_U_MODIFIER_SYMBOL},
{0x01f400, 0x01f6d7, PG_U_OTHER_SYMBOL},
{0x01f400, 0x01f6d8, PG_U_OTHER_SYMBOL},
{0x01f6dc, 0x01f6ec, PG_U_OTHER_SYMBOL},
{0x01f6f0, 0x01f6fc, PG_U_OTHER_SYMBOL},
{0x01f700, 0x01f776, PG_U_OTHER_SYMBOL},
{0x01f77b, 0x01f7d9, PG_U_OTHER_SYMBOL},
{0x01f700, 0x01f7d9, PG_U_OTHER_SYMBOL},
{0x01f7e0, 0x01f7eb, PG_U_OTHER_SYMBOL},
{0x01f7f0, 0x01f7f0, PG_U_OTHER_SYMBOL},
{0x01f800, 0x01f80b, PG_U_OTHER_SYMBOL},
@ -4041,26 +4080,28 @@ static const pg_category_range unicode_categories[3368] =
{0x01f890, 0x01f8ad, PG_U_OTHER_SYMBOL},
{0x01f8b0, 0x01f8bb, PG_U_OTHER_SYMBOL},
{0x01f8c0, 0x01f8c1, PG_U_OTHER_SYMBOL},
{0x01f900, 0x01fa53, PG_U_OTHER_SYMBOL},
{0x01f8d0, 0x01f8d8, PG_U_MATH_SYMBOL},
{0x01f900, 0x01fa57, PG_U_OTHER_SYMBOL},
{0x01fa60, 0x01fa6d, PG_U_OTHER_SYMBOL},
{0x01fa70, 0x01fa7c, PG_U_OTHER_SYMBOL},
{0x01fa80, 0x01fa89, PG_U_OTHER_SYMBOL},
{0x01fa8f, 0x01fac6, PG_U_OTHER_SYMBOL},
{0x01face, 0x01fadc, PG_U_OTHER_SYMBOL},
{0x01fadf, 0x01fae9, PG_U_OTHER_SYMBOL},
{0x01faf0, 0x01faf8, PG_U_OTHER_SYMBOL},
{0x01fa80, 0x01fa8a, PG_U_OTHER_SYMBOL},
{0x01fa8e, 0x01fac6, PG_U_OTHER_SYMBOL},
{0x01fac8, 0x01fac8, PG_U_OTHER_SYMBOL},
{0x01facd, 0x01fadc, PG_U_OTHER_SYMBOL},
{0x01fadf, 0x01faea, PG_U_OTHER_SYMBOL},
{0x01faef, 0x01faf8, PG_U_OTHER_SYMBOL},
{0x01fb00, 0x01fb92, PG_U_OTHER_SYMBOL},
{0x01fb94, 0x01fbef, PG_U_OTHER_SYMBOL},
{0x01fbf0, 0x01fbf9, PG_U_DECIMAL_NUMBER},
{0x01fbfa, 0x01fbfa, PG_U_OTHER_SYMBOL},
{0x020000, 0x02a6df, PG_U_OTHER_LETTER},
{0x02a700, 0x02b739, PG_U_OTHER_LETTER},
{0x02b740, 0x02b81d, PG_U_OTHER_LETTER},
{0x02b820, 0x02cea1, PG_U_OTHER_LETTER},
{0x02a700, 0x02b81d, PG_U_OTHER_LETTER},
{0x02b820, 0x02cead, PG_U_OTHER_LETTER},
{0x02ceb0, 0x02ebe0, PG_U_OTHER_LETTER},
{0x02ebf0, 0x02ee5d, PG_U_OTHER_LETTER},
{0x02f800, 0x02fa1d, PG_U_OTHER_LETTER},
{0x030000, 0x03134a, PG_U_OTHER_LETTER},
{0x031350, 0x0323af, PG_U_OTHER_LETTER},
{0x031350, 0x033479, PG_U_OTHER_LETTER},
{0x0e0001, 0x0e0001, PG_U_FORMAT},
{0x0e0020, 0x0e007f, PG_U_FORMAT},
{0x0e0100, 0x0e01ef, PG_U_NONSPACING_MARK},
@ -4069,7 +4110,7 @@ static const pg_category_range unicode_categories[3368] =
};
/* table of Unicode codepoint ranges of Alphabetic characters */
static const pg_unicode_range unicode_alphabetic[1179] =
static const pg_unicode_range unicode_alphabetic[1202] =
{
{0x000041, 0x00005a},
{0x000061, 0x00007a},
@ -4083,8 +4124,8 @@ static const pg_unicode_range unicode_alphabetic[1179] =
{0x0001bc, 0x0001bf},
{0x0001c0, 0x0001c3},
{0x0001c4, 0x000293},
{0x000294, 0x000294},
{0x000295, 0x0002af},
{0x000294, 0x000295},
{0x000296, 0x0002af},
{0x0002b0, 0x0002c1},
{0x0002c6, 0x0002d1},
{0x0002e0, 0x0002e4},
@ -4154,7 +4195,7 @@ static const pg_unicode_range unicode_alphabetic[1179] =
{0x000840, 0x000858},
{0x000860, 0x00086a},
{0x000870, 0x000887},
{0x000889, 0x00088e},
{0x000889, 0x00088f},
{0x000897, 0x000897},
{0x0008a0, 0x0008c8},
{0x0008c9, 0x0008c9},
@ -4287,7 +4328,7 @@ static const pg_unicode_range unicode_alphabetic[1179] =
{0x000c4a, 0x000c4c},
{0x000c55, 0x000c56},
{0x000c58, 0x000c5a},
{0x000c5d, 0x000c5d},
{0x000c5c, 0x000c5d},
{0x000c60, 0x000c61},
{0x000c62, 0x000c63},
{0x000c80, 0x000c80},
@ -4307,7 +4348,7 @@ static const pg_unicode_range unicode_alphabetic[1179] =
{0x000cca, 0x000ccb},
{0x000ccc, 0x000ccc},
{0x000cd5, 0x000cd6},
{0x000cdd, 0x000cde},
{0x000cdc, 0x000cde},
{0x000ce0, 0x000ce1},
{0x000ce2, 0x000ce3},
{0x000cf1, 0x000cf2},
@ -4643,11 +4684,8 @@ static const pg_unicode_range unicode_alphabetic[1179] =
{0x00a788, 0x00a788},
{0x00a78b, 0x00a78e},
{0x00a78f, 0x00a78f},
{0x00a790, 0x00a7cd},
{0x00a7d0, 0x00a7d1},
{0x00a7d3, 0x00a7d3},
{0x00a7d5, 0x00a7dc},
{0x00a7f2, 0x00a7f4},
{0x00a790, 0x00a7dc},
{0x00a7f1, 0x00a7f4},
{0x00a7f5, 0x00a7f6},
{0x00a7f7, 0x00a7f7},
{0x00a7f8, 0x00a7f9},
@ -4830,6 +4868,7 @@ static const pg_unicode_range unicode_alphabetic[1179] =
{0x0108f4, 0x0108f5},
{0x010900, 0x010915},
{0x010920, 0x010939},
{0x010940, 0x010959},
{0x010980, 0x0109b7},
{0x0109be, 0x0109bf},
{0x010a00, 0x010a00},
@ -4863,7 +4902,9 @@ static const pg_unicode_range unicode_alphabetic[1179] =
{0x010eab, 0x010eac},
{0x010eb0, 0x010eb1},
{0x010ec2, 0x010ec4},
{0x010efc, 0x010efc},
{0x010ec5, 0x010ec5},
{0x010ec6, 0x010ec7},
{0x010efa, 0x010efc},
{0x010f00, 0x010f1c},
{0x010f27, 0x010f27},
{0x010f30, 0x010f45},
@ -5049,6 +5090,12 @@ static const pg_unicode_range unicode_alphabetic[1179] =
{0x011a97, 0x011a97},
{0x011a9d, 0x011a9d},
{0x011ab0, 0x011af8},
{0x011b60, 0x011b60},
{0x011b61, 0x011b61},
{0x011b62, 0x011b64},
{0x011b65, 0x011b65},
{0x011b66, 0x011b66},
{0x011b67, 0x011b67},
{0x011bc0, 0x011be0},
{0x011c00, 0x011c08},
{0x011c0a, 0x011c2e},
@ -5084,6 +5131,9 @@ static const pg_unicode_range unicode_alphabetic[1179] =
{0x011d95, 0x011d95},
{0x011d96, 0x011d96},
{0x011d98, 0x011d98},
{0x011db0, 0x011dd8},
{0x011dd9, 0x011dd9},
{0x011dda, 0x011ddb},
{0x011ee0, 0x011ef2},
{0x011ef3, 0x011ef4},
{0x011ef5, 0x011ef6},
@ -5121,6 +5171,8 @@ static const pg_unicode_range unicode_alphabetic[1179] =
{0x016d43, 0x016d6a},
{0x016d6b, 0x016d6c},
{0x016e40, 0x016e7f},
{0x016ea0, 0x016eb8},
{0x016ebb, 0x016ed3},
{0x016f00, 0x016f4a},
{0x016f4f, 0x016f4f},
{0x016f50, 0x016f50},
@ -5130,9 +5182,11 @@ static const pg_unicode_range unicode_alphabetic[1179] =
{0x016fe0, 0x016fe1},
{0x016fe3, 0x016fe3},
{0x016ff0, 0x016ff1},
{0x017000, 0x0187f7},
{0x018800, 0x018cd5},
{0x018cff, 0x018d08},
{0x016ff2, 0x016ff3},
{0x016ff4, 0x016ff6},
{0x017000, 0x018cd5},
{0x018cff, 0x018d1e},
{0x018d80, 0x018df2},
{0x01aff0, 0x01aff3},
{0x01aff5, 0x01affb},
{0x01affd, 0x01affe},
@ -5197,6 +5251,17 @@ static const pg_unicode_range unicode_alphabetic[1179] =
{0x01e4eb, 0x01e4eb},
{0x01e5d0, 0x01e5ed},
{0x01e5f0, 0x01e5f0},
{0x01e6c0, 0x01e6de},
{0x01e6e0, 0x01e6e2},
{0x01e6e3, 0x01e6e3},
{0x01e6e4, 0x01e6e5},
{0x01e6e6, 0x01e6e6},
{0x01e6e7, 0x01e6ed},
{0x01e6ee, 0x01e6ef},
{0x01e6f0, 0x01e6f4},
{0x01e6f5, 0x01e6f5},
{0x01e6fe, 0x01e6fe},
{0x01e6ff, 0x01e6ff},
{0x01e7e0, 0x01e7e6},
{0x01e7e8, 0x01e7eb},
{0x01e7ed, 0x01e7ee},
@ -5242,18 +5307,17 @@ static const pg_unicode_range unicode_alphabetic[1179] =
{0x01f150, 0x01f169},
{0x01f170, 0x01f189},
{0x020000, 0x02a6df},
{0x02a700, 0x02b739},
{0x02b740, 0x02b81d},
{0x02b820, 0x02cea1},
{0x02a700, 0x02b81d},
{0x02b820, 0x02cead},
{0x02ceb0, 0x02ebe0},
{0x02ebf0, 0x02ee5d},
{0x02f800, 0x02fa1d},
{0x030000, 0x03134a},
{0x031350, 0x0323af},
{0x031350, 0x033479},
};
/* table of Unicode codepoint ranges of Lowercase characters */
static const pg_unicode_range unicode_lowercase[690] =
static const pg_unicode_range unicode_lowercase[692] =
{
{0x000061, 0x00007a},
{0x0000aa, 0x0000aa},
@ -5402,7 +5466,7 @@ static const pg_unicode_range unicode_lowercase[690] =
{0x00024b, 0x00024b},
{0x00024d, 0x00024d},
{0x00024f, 0x000293},
{0x000295, 0x0002af},
{0x000296, 0x0002af},
{0x0002b0, 0x0002b8},
{0x0002c0, 0x0002c1},
{0x0002e0, 0x0002e4},
@ -5880,13 +5944,14 @@ static const pg_unicode_range unicode_lowercase[690] =
{0x00a7c8, 0x00a7c8},
{0x00a7ca, 0x00a7ca},
{0x00a7cd, 0x00a7cd},
{0x00a7cf, 0x00a7cf},
{0x00a7d1, 0x00a7d1},
{0x00a7d3, 0x00a7d3},
{0x00a7d5, 0x00a7d5},
{0x00a7d7, 0x00a7d7},
{0x00a7d9, 0x00a7d9},
{0x00a7db, 0x00a7db},
{0x00a7f2, 0x00a7f4},
{0x00a7f1, 0x00a7f4},
{0x00a7f6, 0x00a7f6},
{0x00a7f8, 0x00a7f9},
{0x00a7fa, 0x00a7fa},
@ -5912,6 +5977,7 @@ static const pg_unicode_range unicode_lowercase[690] =
{0x010d70, 0x010d85},
{0x0118c0, 0x0118df},
{0x016e60, 0x016e7f},
{0x016ebb, 0x016ed3},
{0x01d41a, 0x01d433},
{0x01d44e, 0x01d454},
{0x01d456, 0x01d467},
@ -5948,7 +6014,7 @@ static const pg_unicode_range unicode_lowercase[690] =
};
/* table of Unicode codepoint ranges of Uppercase characters */
static const pg_unicode_range unicode_uppercase[656] =
static const pg_unicode_range unicode_uppercase[660] =
{
{0x000041, 0x00005a},
{0x0000c0, 0x0000d6},
@ -6554,7 +6620,10 @@ static const pg_unicode_range unicode_uppercase[656] =
{0x00a7c4, 0x00a7c7},
{0x00a7c9, 0x00a7c9},
{0x00a7cb, 0x00a7cc},
{0x00a7ce, 0x00a7ce},
{0x00a7d0, 0x00a7d0},
{0x00a7d2, 0x00a7d2},
{0x00a7d4, 0x00a7d4},
{0x00a7d6, 0x00a7d6},
{0x00a7d8, 0x00a7d8},
{0x00a7da, 0x00a7da},
@ -6571,6 +6640,7 @@ static const pg_unicode_range unicode_uppercase[656] =
{0x010d50, 0x010d65},
{0x0118a0, 0x0118bf},
{0x016e40, 0x016e5f},
{0x016ea0, 0x016eb8},
{0x01d400, 0x01d419},
{0x01d434, 0x01d44d},
{0x01d468, 0x01d481},
@ -6609,7 +6679,7 @@ static const pg_unicode_range unicode_uppercase[656] =
};
/* table of Unicode codepoint ranges of Case_Ignorable characters */
static const pg_unicode_range unicode_case_ignorable[506] =
static const pg_unicode_range unicode_case_ignorable[518] =
{
{0x000027, 0x000027},
{0x00002e, 0x00002e},
@ -6807,7 +6877,8 @@ static const pg_unicode_range unicode_case_ignorable[506] =
{0x001aa7, 0x001aa7},
{0x001ab0, 0x001abd},
{0x001abe, 0x001abe},
{0x001abf, 0x001ace},
{0x001abf, 0x001add},
{0x001ae0, 0x001aeb},
{0x001b00, 0x001b03},
{0x001b34, 0x001b34},
{0x001b36, 0x001b3a},
@ -6887,7 +6958,7 @@ static const pg_unicode_range unicode_case_ignorable[506] =
{0x00a770, 0x00a770},
{0x00a788, 0x00a788},
{0x00a789, 0x00a78a},
{0x00a7f2, 0x00a7f4},
{0x00a7f1, 0x00a7f4},
{0x00a7f8, 0x00a7f9},
{0x00a802, 0x00a802},
{0x00a806, 0x00a806},
@ -6963,7 +7034,8 @@ static const pg_unicode_range unicode_case_ignorable[506] =
{0x010d69, 0x010d6d},
{0x010d6f, 0x010d6f},
{0x010eab, 0x010eac},
{0x010efc, 0x010eff},
{0x010ec5, 0x010ec5},
{0x010efa, 0x010eff},
{0x010f46, 0x010f50},
{0x010f82, 0x010f85},
{0x011001, 0x011001},
@ -7040,6 +7112,9 @@ static const pg_unicode_range unicode_case_ignorable[506] =
{0x011a59, 0x011a5b},
{0x011a8a, 0x011a96},
{0x011a98, 0x011a99},
{0x011b60, 0x011b60},
{0x011b62, 0x011b64},
{0x011b66, 0x011b66},
{0x011c30, 0x011c36},
{0x011c38, 0x011c3d},
{0x011c3f, 0x011c3f},
@ -7055,6 +7130,7 @@ static const pg_unicode_range unicode_case_ignorable[506] =
{0x011d90, 0x011d91},
{0x011d95, 0x011d95},
{0x011d97, 0x011d97},
{0x011dd9, 0x011dd9},
{0x011ef3, 0x011ef4},
{0x011f00, 0x011f01},
{0x011f36, 0x011f3a},
@ -7077,6 +7153,7 @@ static const pg_unicode_range unicode_case_ignorable[506] =
{0x016fe0, 0x016fe1},
{0x016fe3, 0x016fe3},
{0x016fe4, 0x016fe4},
{0x016ff2, 0x016ff3},
{0x01aff0, 0x01aff3},
{0x01aff5, 0x01affb},
{0x01affd, 0x01affe},
@ -7110,6 +7187,11 @@ static const pg_unicode_range unicode_case_ignorable[506] =
{0x01e4eb, 0x01e4eb},
{0x01e4ec, 0x01e4ef},
{0x01e5ee, 0x01e5ef},
{0x01e6e3, 0x01e6e3},
{0x01e6e6, 0x01e6e6},
{0x01e6ee, 0x01e6ef},
{0x01e6f5, 0x01e6f5},
{0x01e6ff, 0x01e6ff},
{0x01e8d0, 0x01e8d6},
{0x01e944, 0x01e94a},
{0x01e94b, 0x01e94b},

View file

@ -61,10 +61,10 @@ static const struct mbinterval east_asian_fw[] = {
{0xFF01, 0xFF60},
{0xFFE0, 0xFFE6},
{0x16FE0, 0x16FE4},
{0x16FF0, 0x16FF1},
{0x17000, 0x187F7},
{0x18800, 0x18CD5},
{0x18CFF, 0x18D08},
{0x16FF0, 0x16FF6},
{0x17000, 0x18CD5},
{0x18CFF, 0x18D1E},
{0x18D80, 0x18DF2},
{0x1AFF0, 0x1AFF3},
{0x1AFF5, 0x1AFFB},
{0x1AFFD, 0x1AFFE},
@ -106,7 +106,7 @@ static const struct mbinterval east_asian_fw[] = {
{0x1F680, 0x1F6C5},
{0x1F6CC, 0x1F6CC},
{0x1F6D0, 0x1F6D2},
{0x1F6D5, 0x1F6D7},
{0x1F6D5, 0x1F6D8},
{0x1F6DC, 0x1F6DF},
{0x1F6EB, 0x1F6EC},
{0x1F6F4, 0x1F6FC},
@ -116,11 +116,12 @@ static const struct mbinterval east_asian_fw[] = {
{0x1F93C, 0x1F945},
{0x1F947, 0x1F9FF},
{0x1FA70, 0x1FA7C},
{0x1FA80, 0x1FA89},
{0x1FA8F, 0x1FAC6},
{0x1FACE, 0x1FADC},
{0x1FADF, 0x1FAE9},
{0x1FAF0, 0x1FAF8},
{0x1FA80, 0x1FA8A},
{0x1FA8E, 0x1FAC6},
{0x1FAC8, 0x1FAC8},
{0x1FACD, 0x1FADC},
{0x1FADF, 0x1FAEA},
{0x1FAEF, 0x1FAF8},
{0x20000, 0x2FFFD},
{0x30000, 0x3FFFD},
};

View file

@ -212,7 +212,7 @@ static const struct mbinterval nonspacing[] = {
{0x10D24, 0x10D27},
{0x10D69, 0x10D6D},
{0x10EAB, 0x10EAC},
{0x10EFC, 0x10EFF},
{0x10EFA, 0x10EFF},
{0x10F46, 0x10F50},
{0x10F82, 0x10F85},
{0x11001, 0x11001},
@ -286,6 +286,9 @@ static const struct mbinterval nonspacing[] = {
{0x11A59, 0x11A5B},
{0x11A8A, 0x11A96},
{0x11A98, 0x11A99},
{0x11B60, 0x11B60},
{0x11B62, 0x11B64},
{0x11B66, 0x11B66},
{0x11C30, 0x11C3D},
{0x11C3F, 0x11C3F},
{0x11C92, 0x11CA7},
@ -332,6 +335,10 @@ static const struct mbinterval nonspacing[] = {
{0x1E2EC, 0x1E2EF},
{0x1E4EC, 0x1E4EF},
{0x1E5EE, 0x1E5EF},
{0x1E6E3, 0x1E6E3},
{0x1E6E6, 0x1E6E6},
{0x1E6EE, 0x1E6EF},
{0x1E6F5, 0x1E6F5},
{0x1E8D0, 0x1E8D6},
{0x1E944, 0x1E94A},
{0xE0001, 0xE01EF},

File diff suppressed because it is too large Load diff

View file

@ -36,7 +36,7 @@ typedef struct
#define DECOMPOSITION_IS_COMPAT(x) (((x)->dec_size_flags & DECOMP_COMPAT) != 0)
/* Table of Unicode codepoints and their decompositions */
static const pg_unicode_decomposition UnicodeDecompMain[6843] =
static const pg_unicode_decomposition UnicodeDecompMain[6878] =
{
{0x00A0, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x0020},
{0x00A8, 0, 2 | DECOMP_COMPAT, 0},
@ -976,6 +976,33 @@ static const pg_unicode_decomposition UnicodeDecompMain[6843] =
{0x1ACC, 230, 0, 0},
{0x1ACD, 230, 0, 0},
{0x1ACE, 230, 0, 0},
{0x1ACF, 230, 0, 0},
{0x1AD0, 230, 0, 0},
{0x1AD1, 230, 0, 0},
{0x1AD2, 230, 0, 0},
{0x1AD3, 230, 0, 0},
{0x1AD4, 230, 0, 0},
{0x1AD5, 230, 0, 0},
{0x1AD6, 230, 0, 0},
{0x1AD7, 230, 0, 0},
{0x1AD8, 230, 0, 0},
{0x1AD9, 230, 0, 0},
{0x1ADA, 230, 0, 0},
{0x1ADB, 230, 0, 0},
{0x1ADC, 230, 0, 0},
{0x1ADD, 220, 0, 0},
{0x1AE0, 230, 0, 0},
{0x1AE1, 230, 0, 0},
{0x1AE2, 230, 0, 0},
{0x1AE3, 230, 0, 0},
{0x1AE4, 230, 0, 0},
{0x1AE5, 230, 0, 0},
{0x1AE6, 220, 0, 0},
{0x1AE7, 230, 0, 0},
{0x1AE8, 230, 0, 0},
{0x1AE9, 230, 0, 0},
{0x1AEA, 230, 0, 0},
{0x1AEB, 234, 0, 0},
{0x1B06, 0, 2, 885},
{0x1B08, 0, 2, 887},
{0x1B0A, 0, 2, 889},
@ -3026,6 +3053,7 @@ static const pg_unicode_decomposition UnicodeDecompMain[6843] =
{0xA6F0, 230, 0, 0},
{0xA6F1, 230, 0, 0},
{0xA770, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0xA76F},
{0xA7F1, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x0053},
{0xA7F2, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x0043},
{0xA7F3, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x0046},
{0xA7F4, 0, 1 | DECOMP_COMPAT | DECOMP_INLINE, 0x0051},
@ -4714,6 +4742,8 @@ static const pg_unicode_decomposition UnicodeDecompMain[6843] =
{0x10D6D, 230, 0, 0},
{0x10EAB, 230, 0, 0},
{0x10EAC, 230, 0, 0},
{0x10EFA, 220, 0, 0},
{0x10EFB, 220, 0, 0},
{0x10EFD, 220, 0, 0},
{0x10EFE, 220, 0, 0},
{0x10EFF, 220, 0, 0},
@ -6038,6 +6068,11 @@ static const pg_unicode_decomposition UnicodeDecompMain[6843] =
{0x1E4EF, 230, 0, 0},
{0x1E5EE, 230, 0, 0},
{0x1E5EF, 220, 0, 0},
{0x1E6E3, 230, 0, 0},
{0x1E6E6, 230, 0, 0},
{0x1E6EE, 230, 0, 0},
{0x1E6EF, 230, 0, 0},
{0x1E6F5, 230, 0, 0},
{0x1E8D0, 220, 0, 0},
{0x1E8D1, 220, 0, 0},
{0x1E8D2, 220, 0, 0},

File diff suppressed because it is too large Load diff

View file

@ -11,4 +11,4 @@
*-------------------------------------------------------------------------
*/
#define PG_UNICODE_VERSION "16.0"
#define PG_UNICODE_VERSION "17.0"