summaryrefslogtreecommitdiff
path: root/lib/unicase
diff options
context:
space:
mode:
Diffstat (limited to 'lib/unicase')
-rw-r--r--lib/unicase/cased.h10
-rw-r--r--lib/unicase/casefold.h10
-rw-r--r--lib/unicase/caseprop.h10
-rw-r--r--lib/unicase/ignorable.h52
-rw-r--r--lib/unicase/invariant.h10
-rw-r--r--lib/unicase/locale-languages.h4
-rw-r--r--lib/unicase/special-casing-table.gperf2
-rw-r--r--lib/unicase/special-casing-table.h246
-rw-r--r--lib/unicase/special-casing.in.h10
-rw-r--r--lib/unicase/tocasefold.h34
-rw-r--r--lib/unicase/tolower.h34
-rw-r--r--lib/unicase/totitle.h54
-rw-r--r--lib/unicase/toupper.h54
-rw-r--r--lib/unicase/unicasemap.h10
14 files changed, 347 insertions, 193 deletions
diff --git a/lib/unicase/cased.h b/lib/unicase/cased.h
index dca12035..16e548e3 100644
--- a/lib/unicase/cased.h
+++ b/lib/unicase/cased.h
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Casing Properties of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 16.0.0. */
/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
@@ -324,7 +324,7 @@ u_casing_property_cased =
0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
0x00000000U, 0xFFFFFFFFU, 0xFFFFFFFFU, 0x3F3FFFFFU,
0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
- 0xFFFF01FFU, 0xE7FFFFFFU, 0x00000000U, 0x00000000U,
+ 0xFFFF07FFU, 0xE7FFFFFFU, 0x00000000U, 0x00000000U,
0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU,
0xFFFFFFFFU, 0xFFFFFFFFU, 0x00000000U, 0x00000000U,
0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU,
@@ -346,7 +346,7 @@ u_casing_property_cased =
0x00000000U, 0x00000000U, 0xFFFFFFFFU, 0x00003FFFU,
0x3FFFFFFFU, 0x00000000U, 0x00000000U, 0x00000000U,
0x00000000U, 0xFFFFFFFCU, 0xFFFFFFFFU, 0xFFFFFFFFU,
- 0xFFFF78FFU, 0xFFFFFFFFU, 0x03EB07FFU, 0x077C0000U,
+ 0xFFFF78FFU, 0xFFFFFFFFU, 0x1FEB3FFFU, 0x077C0000U,
0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
0x00000000U, 0xFFFF0000U, 0xF7FFFFFFU, 0xFFFF03FFU,
@@ -369,8 +369,8 @@ u_casing_property_cased =
0xFFFFFFB9U, 0x07FDFFFFU, 0x00000000U, 0x00000000U,
0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
0xFFFFFFFFU, 0x0007FFFFU, 0xFFFFFFFFU, 0x0007FFFFU,
- 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
- 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
+ 0x00000000U, 0x00000000U, 0xFFFF0000U, 0xFFFF003FU,
+ 0x0000003FU, 0x00000000U, 0x00000000U, 0x00000000U,
0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
0x00000000U, 0xFFFFFFFFU, 0xFFFFFFFFU, 0x00000000U,
0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
diff --git a/lib/unicase/casefold.h b/lib/unicase/casefold.h
index 647e05fc..bb320678 100644
--- a/lib/unicase/casefold.h
+++ b/lib/unicase/casefold.h
@@ -25,6 +25,16 @@
#include "unitypes.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
/* Return the casefold mapping of a Unicode character. */
extern ucs4_t
uc_tocasefold (ucs4_t uc);
+
+
+#ifdef __cplusplus
+}
+#endif
diff --git a/lib/unicase/caseprop.h b/lib/unicase/caseprop.h
index ac764689..d6b95bd1 100644
--- a/lib/unicase/caseprop.h
+++ b/lib/unicase/caseprop.h
@@ -25,6 +25,11 @@
#include "unitypes.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
/* Determine whether a character is "cased" according to the Unicode Standard,
<https://www.unicode.org/versions/Unicode5.0.0/ch03.pdf>, section 3.13,
definition D120. */
@@ -39,3 +44,8 @@ extern bool
extern bool
uc_is_case_ignorable (ucs4_t uc)
_UC_ATTRIBUTE_CONST;
+
+
+#ifdef __cplusplus
+}
+#endif
diff --git a/lib/unicase/ignorable.h b/lib/unicase/ignorable.h
index bf41d94e..c59ceab1 100644
--- a/lib/unicase/ignorable.h
+++ b/lib/unicase/ignorable.h
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Casing Properties of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 16.0.0. */
/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
@@ -35,7 +35,7 @@ struct
int header[1];
int level1[15];
short level2[3 << 7];
- unsigned int level3[55 << 4];
+ unsigned int level3[57 << 4];
}
u_casing_property_case_ignorable =
{
@@ -234,14 +234,14 @@ u_casing_property_case_ignorable =
-1,
-1,
-1,
+ 16 + 384 * sizeof (short) / sizeof (int) + 656,
-1,
-1,
-1,
-1,
- -1,
- 16 + 384 * sizeof (short) / sizeof (int) + 656,
- -1,
16 + 384 * sizeof (short) / sizeof (int) + 672,
+ 16 + 384 * sizeof (short) / sizeof (int) + 688,
+ 16 + 384 * sizeof (short) / sizeof (int) + 704,
-1,
-1,
-1,
@@ -273,14 +273,14 @@ u_casing_property_case_ignorable =
-1,
-1,
-1,
- 16 + 384 * sizeof (short) / sizeof (int) + 688,
+ 16 + 384 * sizeof (short) / sizeof (int) + 720,
-1,
-1,
-1,
-1,
-1,
-1,
- 16 + 384 * sizeof (short) / sizeof (int) + 704,
+ 16 + 384 * sizeof (short) / sizeof (int) + 736,
-1,
-1,
-1,
@@ -289,32 +289,32 @@ u_casing_property_case_ignorable =
-1,
-1,
-1,
- 16 + 384 * sizeof (short) / sizeof (int) + 720,
- 16 + 384 * sizeof (short) / sizeof (int) + 736,
16 + 384 * sizeof (short) / sizeof (int) + 752,
+ 16 + 384 * sizeof (short) / sizeof (int) + 768,
+ 16 + 384 * sizeof (short) / sizeof (int) + 784,
-1,
-1,
-1,
- 16 + 384 * sizeof (short) / sizeof (int) + 768,
+ 16 + 384 * sizeof (short) / sizeof (int) + 800,
-1,
-1,
- 16 + 384 * sizeof (short) / sizeof (int) + 784,
- 16 + 384 * sizeof (short) / sizeof (int) + 800,
16 + 384 * sizeof (short) / sizeof (int) + 816,
- -1,
16 + 384 * sizeof (short) / sizeof (int) + 832,
+ 16 + 384 * sizeof (short) / sizeof (int) + 848,
-1,
+ 16 + 384 * sizeof (short) / sizeof (int) + 864,
-1,
-1,
-1,
- 16 + 384 * sizeof (short) / sizeof (int) + 848,
-1,
+ 16 + 384 * sizeof (short) / sizeof (int) + 880,
-1,
-1,
-1,
-1,
-1,
- 16 + 384 * sizeof (short) / sizeof (int) + 864,
+ -1,
+ 16 + 384 * sizeof (short) / sizeof (int) + 896,
-1,
-1,
-1,
@@ -461,7 +461,7 @@ u_casing_property_case_ignorable =
0x00028000U, 0xFFFF0000U, 0x000007FFU, 0x00000000U,
0x00000000U, 0x0001FFC0U, 0x00000000U, 0x243FF800U,
0xFFC00000U, 0x00003FFFU, 0x0E000000U, 0x00000000U,
- 0xFF030100U, 0x00000000U, 0xFFFFFE00U, 0xFFFFFFFFU,
+ 0xFF830100U, 0x00000000U, 0xFFFFFE00U, 0xFFFFFFFFU,
0x00000007U, 0x14000000U, 0x00FE21FEU, 0x0002000CU,
0x00000002U, 0x10000000U, 0x0000201EU, 0x4000000CU,
0x00000006U, 0x10000000U, 0x00023986U, 0x00230000U,
@@ -566,10 +566,10 @@ u_casing_property_case_ignorable =
0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
- 0x00000000U, 0x000000F0U, 0x00000000U, 0x00000000U,
+ 0x00000000U, 0x000000F0U, 0x00004000U, 0x0000BE00U,
0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
- 0x00000000U, 0x00001800U, 0x00000000U, 0xE0000000U,
+ 0x00000000U, 0x00001800U, 0x00000000U, 0xF0000000U,
0x00000000U, 0x00000000U, 0x0001FFC0U, 0x00000000U,
0x0000003CU, 0x00000000U, 0x00000000U, 0x00000000U,
0x00000002U, 0xFF000000U, 0x0000007FU, 0x80190000U,
@@ -579,14 +579,14 @@ u_casing_property_case_ignorable =
0x00000000U, 0x40D38000U, 0x00000002U, 0x00000000U,
0x00000000U, 0x00000000U, 0x80000000U, 0x000007F8U,
0x00000003U, 0x18000000U, 0x00000001U, 0x001F1FC0U,
- 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
+ 0x00000000U, 0xF8000000U, 0x00054001U, 0x00000006U,
0x00000000U, 0xFF000000U, 0x4000005CU, 0x00000000U,
0x00000000U, 0x85F80000U, 0x0000000DU, 0x00000000U,
0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
0x00000000U, 0xB03C0000U, 0x30000001U, 0x00000000U,
0x00000000U, 0xA7F80000U, 0x00000001U, 0x00000000U,
0x00000000U, 0x00BF2800U, 0x00000000U, 0x00000000U,
- 0xE0000000U, 0x00000FBCU, 0x00000000U, 0x00000000U,
+ 0xA0000000U, 0x00000FBCU, 0x00000000U, 0x00000000U,
0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
0x00000000U, 0x06FF8000U, 0x00000000U, 0x00000000U,
0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
@@ -602,18 +602,26 @@ u_casing_property_case_ignorable =
0x00A30000U, 0x00000000U, 0x00000000U, 0x00000000U,
0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
0x00000000U, 0x00000000U, 0x00000000U, 0x00180000U,
- 0x00000003U, 0x07C00000U, 0x00000005U, 0x00000000U,
+ 0x00000003U, 0x07C00000U, 0x04000005U, 0x00000000U,
0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
0x00000000U, 0xFFFF0000U, 0x003FFF81U, 0x00000000U,
0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
+ 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
+ 0xC0000000U, 0x0000E3FFU, 0x00000000U, 0x00000000U,
+ 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
+ 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
0x00000000U, 0x00000000U, 0x00000000U, 0x001F0000U,
0x00000000U, 0x007F0000U, 0x0000000FU, 0x00000000U,
0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
+ 0x00000000U, 0x00000000U, 0x00000007U, 0x00001800U,
+ 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
+ 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
+ 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
0x00000000U, 0x00000000U, 0x00008000U, 0x00000000U,
0xFFFF8000U, 0x00000000U, 0x00000000U, 0x0000001BU,
0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
@@ -651,7 +659,7 @@ u_casing_property_case_ignorable =
0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
0x00000000U, 0x00000000U, 0x00000000U, 0x0000F800U,
0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
- 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
+ 0x00000000U, 0x00000000U, 0x00000000U, 0x0000C000U,
0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
0x00000000U, 0x00000000U, 0x007F0000U, 0x00000000U,
0x00000000U, 0x00000000U, 0x00000FF0U, 0x00000000U,
diff --git a/lib/unicase/invariant.h b/lib/unicase/invariant.h
index e0ec3a33..136c6301 100644
--- a/lib/unicase/invariant.h
+++ b/lib/unicase/invariant.h
@@ -28,6 +28,11 @@
#include "unitypes.h"
#include "uninorm.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
/* Return true if mapping NFD(S) to via MAPPING is a no-op. */
extern int
u8_is_invariant (const uint8_t *s, size_t n,
@@ -50,3 +55,8 @@ extern int
uint32_t *resultbuf, size_t *lengthp),
const char *iso639_language,
bool *resultp);
+
+
+#ifdef __cplusplus
+}
+#endif
diff --git a/lib/unicase/locale-languages.h b/lib/unicase/locale-languages.h
index 07dae3c5..1deb4c4d 100644
--- a/lib/unicase/locale-languages.h
+++ b/lib/unicase/locale-languages.h
@@ -1,5 +1,5 @@
/* ANSI-C code produced by gperf version 3.2 */
-/* Command-line: gperf -m 10 ../../lib/unicase/locale-languages.gperf */
+/* Command-line: gperf -m 10 ./unicase/locale-languages.gperf */
/* Computed positions: -k'1-3' */
#if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \
@@ -1036,7 +1036,7 @@ uc_locale_languages_lookup (register const char *str, register size_t len)
}
return 0;
}
-#line 295 "../../lib/unicase/locale-languages.gperf"
+#line 295 "./unicase/locale-languages.gperf"
/*
* Local Variables:
diff --git a/lib/unicase/special-casing-table.gperf b/lib/unicase/special-casing-table.gperf
index 39e1f5d6..f4b82c35 100644
--- a/lib/unicase/special-casing-table.gperf
+++ b/lib/unicase/special-casing-table.gperf
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Special casing rules of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 16.0.0. */
/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
diff --git a/lib/unicase/special-casing-table.h b/lib/unicase/special-casing-table.h
index 74efab9f..3681d2d9 100644
--- a/lib/unicase/special-casing-table.h
+++ b/lib/unicase/special-casing-table.h
@@ -1,5 +1,5 @@
/* ANSI-C code produced by gperf version 3.2 */
-/* Command-line: gperf -m 10 ./unicase/special-casing-table.gperf */
+/* Command-line: gperf -m 10 unicase/special-casing-table.gperf */
/* Computed positions: -k'1-3' */
@@ -70,249 +70,249 @@ gl_unicase_special_lookup (register const char *str, register size_t len)
};
static const struct special_casing_rule wordlist[] =
{
-#line 150 "./unicase/special-casing-table.gperf"
+#line 150 "unicase/special-casing-table.gperf"
{"\373\001\000", 0, SCC_ALWAYS , { '\0', '\0' }, { 0x0046, 0x0049, 0 }, { 0xFB01, 0, 0 }, { 0x0046, 0x0069, 0 }, { 0x0066, 0x0069, 0 }},
-#line 55 "./unicase/special-casing-table.gperf"
+#line 55 "unicase/special-casing-table.gperf"
{"\001I\000", 0, SCC_ALWAYS , { '\0', '\0' }, { 0x02BC, 0x004E, 0 }, { 0x0149, 0, 0 }, { 0x02BC, 0x004E, 0 }, { 0x02BC, 0x006E, 0 }},
-#line 149 "./unicase/special-casing-table.gperf"
+#line 149 "unicase/special-casing-table.gperf"
{"\373\000\000", 0, SCC_ALWAYS , { '\0', '\0' }, { 0x0046, 0x0046, 0 }, { 0xFB00, 0, 0 }, { 0x0046, 0x0066, 0 }, { 0x0066, 0x0066, 0 }},
-#line 39 "./unicase/special-casing-table.gperf"
+#line 39 "unicase/special-casing-table.gperf"
{"\000I\000", 1, SCC_MORE_ABOVE , { 'l', 't' }, { 0x0049, 0, 0 }, { 0x0069, 0x0307, 0 }, { 0x0049, 0, 0 }, { 0x0069, 0, 0 }},
-#line 151 "./unicase/special-casing-table.gperf"
+#line 151 "unicase/special-casing-table.gperf"
{"\373\002\000", 0, SCC_ALWAYS , { '\0', '\0' }, { 0x0046, 0x004C, 0 }, { 0xFB02, 0, 0 }, { 0x0046, 0x006C, 0 }, { 0x0066, 0x006C, 0 }},
-#line 152 "./unicase/special-casing-table.gperf"
+#line 152 "unicase/special-casing-table.gperf"
{"\373\003\000", 0, SCC_ALWAYS , { '\0', '\0' }, { 0x0046, 0x0046, 0x0049 }, { 0xFB03, 0, 0 }, { 0x0046, 0x0066, 0x0069 }, { 0x0066, 0x0066, 0x0069 }},
-#line 52 "./unicase/special-casing-table.gperf"
+#line 52 "unicase/special-casing-table.gperf"
{"\0010\000", 1, SCC_ALWAYS , { 't', 'r' }, { 0x0130, 0, 0 }, { 0x0069, 0, 0 }, { 0x0130, 0, 0 }, { 0x0069, 0, 0 }},
-#line 40 "./unicase/special-casing-table.gperf"
+#line 40 "unicase/special-casing-table.gperf"
{"\000I\001", 1, -SCC_BEFORE_DOT , { 't', 'r' }, { 0x0049, 0, 0 }, { 0x0131, 0, 0 }, { 0x0049, 0, 0 }, { 0x0131, 0, 0 }},
-#line 41 "./unicase/special-casing-table.gperf"
+#line 41 "unicase/special-casing-table.gperf"
{"\000I\002", 1, -SCC_BEFORE_DOT , { 'a', 'z' }, { 0x0049, 0, 0 }, { 0x0131, 0, 0 }, { 0x0049, 0, 0 }, { 0x0131, 0, 0 }},
-#line 57 "./unicase/special-casing-table.gperf"
+#line 57 "unicase/special-casing-table.gperf"
{"\003\007\000", 1, SCC_AFTER_SOFT_DOTTED, { 'l', 't' }, { 0, 0, 0 }, { 0x0307, 0, 0 }, { 0, 0, 0 }, { 0x0307, 0, 0 }},
-#line 53 "./unicase/special-casing-table.gperf"
+#line 53 "unicase/special-casing-table.gperf"
{"\0010\001", 1, SCC_ALWAYS , { 'a', 'z' }, { 0x0130, 0, 0 }, { 0x0069, 0, 0 }, { 0x0130, 0, 0 }, { 0x0069, 0, 0 }},
-#line 54 "./unicase/special-casing-table.gperf"
+#line 54 "unicase/special-casing-table.gperf"
{"\0010\002", 0, SCC_ALWAYS , { '\0', '\0' }, { 0x0130, 0, 0 }, { 0x0069, 0x0307, 0 }, { 0x0130, 0, 0 }, { 0x0069, 0x0307, 0 }},
-#line 154 "./unicase/special-casing-table.gperf"
+#line 154 "unicase/special-casing-table.gperf"
{"\373\005\000", 0, SCC_ALWAYS , { '\0', '\0' }, { 0x0053, 0x0054, 0 }, { 0xFB05, 0, 0 }, { 0x0053, 0x0074, 0 }, { 0x0073, 0x0074, 0 }},
-#line 58 "./unicase/special-casing-table.gperf"
+#line 58 "unicase/special-casing-table.gperf"
{"\003\007\001", 1, SCC_AFTER_I , { 't', 'r' }, { 0x0307, 0, 0 }, { 0, 0, 0 }, { 0x0307, 0, 0 }, { 0x0307, 0, 0 }},
-#line 59 "./unicase/special-casing-table.gperf"
+#line 59 "unicase/special-casing-table.gperf"
{"\003\007\002", 0, SCC_AFTER_I , { 'a', 'z' }, { 0x0307, 0, 0 }, { 0, 0, 0 }, { 0x0307, 0, 0 }, { 0x0307, 0, 0 }},
-#line 43 "./unicase/special-casing-table.gperf"
+#line 43 "unicase/special-casing-table.gperf"
{"\000I\004", 0, SCC_ALWAYS , { 'a', 'z' }, { 0x0049, 0, 0 }, { 0x0069, 0, 0 }, { 0x0049, 0, 0 }, { 0x0131, 0, 0 }},
-#line 47 "./unicase/special-casing-table.gperf"
+#line 47 "unicase/special-casing-table.gperf"
{"\000\314\000", 0, SCC_ALWAYS , { 'l', 't' }, { 0x00CC, 0, 0 }, { 0x0069, 0x0307, 0x0300 }, { 0x00CC, 0, 0 }, { 0x00EC, 0, 0 }},
-#line 133 "./unicase/special-casing-table.gperf"
+#line 133 "unicase/special-casing-table.gperf"
{"\037\314\000", 0, SCC_ALWAYS , { '\0', '\0' }, { 0x0397, 0x0399, 0 }, { 0x1FC3, 0, 0 }, { 0x1FCC, 0, 0 }, { 0x03B7, 0x03B9, 0 }},
-#line 109 "./unicase/special-casing-table.gperf"
+#line 109 "unicase/special-casing-table.gperf"
{"\037\243\000", 0, SCC_ALWAYS , { '\0', '\0' }, { 0x1F6B, 0x0399, 0 }, { 0x1FA3, 0, 0 }, { 0x1FAB, 0, 0 }, { 0x1F63, 0x03B9, 0 }},
-#line 104 "./unicase/special-casing-table.gperf"
+#line 104 "unicase/special-casing-table.gperf"
{"\037\236\000", 0, SCC_ALWAYS , { '\0', '\0' }, { 0x1F2E, 0x0399, 0 }, { 0x1F96, 0, 0 }, { 0x1F9E, 0, 0 }, { 0x1F26, 0x03B9, 0 }},
-#line 61 "./unicase/special-casing-table.gperf"
+#line 61 "unicase/special-casing-table.gperf"
{"\003\243\000", 0, SCC_FINAL_SIGMA , { '\0', '\0' }, { 0x03A3, 0, 0 }, { 0x03C2, 0, 0 }, { 0x03A3, 0, 0 }, { 0x03C3, 0, 0 }},
-#line 69 "./unicase/special-casing-table.gperf"
+#line 69 "unicase/special-casing-table.gperf"
{"\036\236\000", 0, SCC_ALWAYS , { '\0', '\0' }, { 0x1E9E, 0, 0 }, { 0x00DF, 0, 0 }, { 0x1E9E, 0, 0 }, { 0x0073, 0x0073, 0 }},
-#line 100 "./unicase/special-casing-table.gperf"
+#line 100 "unicase/special-casing-table.gperf"
{"\037\232\000", 0, SCC_ALWAYS , { '\0', '\0' }, { 0x1F2A, 0x0399, 0 }, { 0x1F92, 0, 0 }, { 0x1F9A, 0, 0 }, { 0x1F22, 0x03B9, 0 }},
-#line 99 "./unicase/special-casing-table.gperf"
+#line 99 "unicase/special-casing-table.gperf"
{"\037\231\000", 0, SCC_ALWAYS , { '\0', '\0' }, { 0x1F29, 0x0399, 0 }, { 0x1F91, 0, 0 }, { 0x1F99, 0, 0 }, { 0x1F21, 0x03B9, 0 }},
-#line 68 "./unicase/special-casing-table.gperf"
+#line 68 "unicase/special-casing-table.gperf"
{"\036\232\000", 0, SCC_ALWAYS , { '\0', '\0' }, { 0x0041, 0x02BE, 0 }, { 0x1E9A, 0, 0 }, { 0x0041, 0x02BE, 0 }, { 0x0061, 0x02BE, 0 }},
-#line 67 "./unicase/special-casing-table.gperf"
+#line 67 "unicase/special-casing-table.gperf"
{"\036\231\000", 0, SCC_ALWAYS , { '\0', '\0' }, { 0x0059, 0x030A, 0 }, { 0x1E99, 0, 0 }, { 0x0059, 0x030A, 0 }, { 0x0079, 0x030A, 0 }},
-#line 98 "./unicase/special-casing-table.gperf"
+#line 98 "unicase/special-casing-table.gperf"
{"\037\230\000", 0, SCC_ALWAYS , { '\0', '\0' }, { 0x1F28, 0x0399, 0 }, { 0x1F90, 0, 0 }, { 0x1F98, 0, 0 }, { 0x1F20, 0x03B9, 0 }},
-#line 97 "./unicase/special-casing-table.gperf"
+#line 97 "unicase/special-casing-table.gperf"
{"\037\227\000", 0, SCC_ALWAYS , { '\0', '\0' }, { 0x1F2F, 0x0399, 0 }, { 0x1F97, 0, 0 }, { 0x1F9F, 0, 0 }, { 0x1F27, 0x03B9, 0 }},
-#line 66 "./unicase/special-casing-table.gperf"
+#line 66 "unicase/special-casing-table.gperf"
{"\036\230\000", 0, SCC_ALWAYS , { '\0', '\0' }, { 0x0057, 0x030A, 0 }, { 0x1E98, 0, 0 }, { 0x0057, 0x030A, 0 }, { 0x0077, 0x030A, 0 }},
-#line 65 "./unicase/special-casing-table.gperf"
+#line 65 "unicase/special-casing-table.gperf"
{"\036\227\000", 0, SCC_ALWAYS , { '\0', '\0' }, { 0x0054, 0x0308, 0 }, { 0x1E97, 0, 0 }, { 0x0054, 0x0308, 0 }, { 0x0074, 0x0308, 0 }},
-#line 96 "./unicase/special-casing-table.gperf"
+#line 96 "unicase/special-casing-table.gperf"
{"\037\226\000", 0, SCC_ALWAYS , { '\0', '\0' }, { 0x1F2E, 0x0399, 0 }, { 0x1F96, 0, 0 }, { 0x1F9E, 0, 0 }, { 0x1F26, 0x03B9, 0 }},
-#line 90 "./unicase/special-casing-table.gperf"
+#line 90 "unicase/special-casing-table.gperf"
{"\037\220\000", 0, SCC_ALWAYS , { '\0', '\0' }, { 0x1F28, 0x0399, 0 }, { 0x1F90, 0, 0 }, { 0x1F98, 0, 0 }, { 0x1F20, 0x03B9, 0 }},
-#line 64 "./unicase/special-casing-table.gperf"
+#line 64 "unicase/special-casing-table.gperf"
{"\036\226\000", 0, SCC_ALWAYS , { '\0', '\0' }, { 0x0048, 0x0331, 0 }, { 0x1E96, 0, 0 }, { 0x0048, 0x0331, 0 }, { 0x0068, 0x0331, 0 }},
-#line 60 "./unicase/special-casing-table.gperf"
+#line 60 "unicase/special-casing-table.gperf"
{"\003\220\000", 0, SCC_ALWAYS , { '\0', '\0' }, { 0x0399, 0x0308, 0x0301 }, { 0x0390, 0, 0 }, { 0x0399, 0x0308, 0x0301 }, { 0x03B9, 0x0308, 0x0301 }},
-#line 81 "./unicase/special-casing-table.gperf"
+#line 81 "unicase/special-casing-table.gperf"
{"\037\207\000", 0, SCC_ALWAYS , { '\0', '\0' }, { 0x1F0F, 0x0399, 0 }, { 0x1F87, 0, 0 }, { 0x1F8F, 0, 0 }, { 0x1F07, 0x03B9, 0 }},
-#line 45 "./unicase/special-casing-table.gperf"
+#line 45 "unicase/special-casing-table.gperf"
{"\000i\000", 1, SCC_ALWAYS , { 't', 'r' }, { 0x0130, 0, 0 }, { 0x0069, 0, 0 }, { 0x0130, 0, 0 }, { 0x0069, 0, 0 }},
-#line 148 "./unicase/special-casing-table.gperf"
+#line 148 "unicase/special-casing-table.gperf"
{"\037\374\000", 0, SCC_ALWAYS , { '\0', '\0' }, { 0x03A9, 0x0399, 0 }, { 0x1FF3, 0, 0 }, { 0x1FFC, 0, 0 }, { 0x03C9, 0x03B9, 0 }},
-#line 153 "./unicase/special-casing-table.gperf"
+#line 153 "unicase/special-casing-table.gperf"
{"\373\004\000", 0, SCC_ALWAYS , { '\0', '\0' }, { 0x0046, 0x0046, 0x004C }, { 0xFB04, 0, 0 }, { 0x0046, 0x0066, 0x006C }, { 0x0066, 0x0066, 0x006C }},
-#line 147 "./unicase/special-casing-table.gperf"
+#line 147 "unicase/special-casing-table.gperf"
{"\037\367\000", 0, SCC_ALWAYS , { '\0', '\0' }, { 0x03A9, 0x0342, 0x0399 }, { 0x1FF7, 0, 0 }, { 0x03A9, 0x0342, 0x0345 }, { 0x03C9, 0x0342, 0x03B9 }},
-#line 46 "./unicase/special-casing-table.gperf"
+#line 46 "unicase/special-casing-table.gperf"
{"\000i\001", 0, SCC_ALWAYS , { 'a', 'z' }, { 0x0130, 0, 0 }, { 0x0069, 0, 0 }, { 0x0130, 0, 0 }, { 0x0069, 0, 0 }},
-#line 42 "./unicase/special-casing-table.gperf"
+#line 42 "unicase/special-casing-table.gperf"
{"\000I\003", 1, SCC_ALWAYS , { 't', 'r' }, { 0x0049, 0, 0 }, { 0x0069, 0, 0 }, { 0x0049, 0, 0 }, { 0x0131, 0, 0 }},
-#line 146 "./unicase/special-casing-table.gperf"
+#line 146 "unicase/special-casing-table.gperf"
{"\037\366\000", 0, SCC_ALWAYS , { '\0', '\0' }, { 0x03A9, 0x0342, 0 }, { 0x1FF6, 0, 0 }, { 0x03A9, 0x0342, 0 }, { 0x03C9, 0x0342, 0 }},
-#line 145 "./unicase/special-casing-table.gperf"
+#line 145 "unicase/special-casing-table.gperf"
{"\037\364\000", 0, SCC_ALWAYS , { '\0', '\0' }, { 0x038F, 0x0399, 0 }, { 0x1FF4, 0, 0 }, { 0x038F, 0x0345, 0 }, { 0x03CE, 0x03B9, 0 }},
-#line 63 "./unicase/special-casing-table.gperf"
+#line 63 "unicase/special-casing-table.gperf"
{"\005\207\000", 0, SCC_ALWAYS , { '\0', '\0' }, { 0x0535, 0x0552, 0 }, { 0x0587, 0, 0 }, { 0x0535, 0x0582, 0 }, { 0x0565, 0x0582, 0 }},
-#line 144 "./unicase/special-casing-table.gperf"
+#line 144 "unicase/special-casing-table.gperf"
{"\037\363\000", 0, SCC_ALWAYS , { '\0', '\0' }, { 0x03A9, 0x0399, 0 }, { 0x1FF3, 0, 0 }, { 0x1FFC, 0, 0 }, { 0x03C9, 0x03B9, 0 }},
-#line 143 "./unicase/special-casing-table.gperf"
+#line 143 "unicase/special-casing-table.gperf"
{"\037\362\000", 0, SCC_ALWAYS , { '\0', '\0' }, { 0x1FFA, 0x0399, 0 }, { 0x1FF2, 0, 0 }, { 0x1FFA, 0x0345, 0 }, { 0x1F7C, 0x03B9, 0 }},
-#line 56 "./unicase/special-casing-table.gperf"
+#line 56 "unicase/special-casing-table.gperf"
{"\001\360\000", 0, SCC_ALWAYS , { '\0', '\0' }, { 0x004A, 0x030C, 0 }, { 0x01F0, 0, 0 }, { 0x004A, 0x030C, 0 }, { 0x006A, 0x030C, 0 }},
-#line 142 "./unicase/special-casing-table.gperf"
+#line 142 "unicase/special-casing-table.gperf"
{"\037\347\000", 0, SCC_ALWAYS , { '\0', '\0' }, { 0x03A5, 0x0308, 0x0342 }, { 0x1FE7, 0, 0 }, { 0x03A5, 0x0308, 0x0342 }, { 0x03C5, 0x0308, 0x0342 }},
-#line 141 "./unicase/special-casing-table.gperf"
+#line 141 "unicase/special-casing-table.gperf"
{"\037\346\000", 0, SCC_ALWAYS , { '\0', '\0' }, { 0x03A5, 0x0342, 0 }, { 0x1FE6, 0, 0 }, { 0x03A5, 0x0342, 0 }, { 0x03C5, 0x0342, 0 }},
-#line 140 "./unicase/special-casing-table.gperf"
+#line 140 "unicase/special-casing-table.gperf"
{"\037\344\000", 0, SCC_ALWAYS , { '\0', '\0' }, { 0x03A1, 0x0313, 0 }, { 0x1FE4, 0, 0 }, { 0x03A1, 0x0313, 0 }, { 0x03C1, 0x0313, 0 }},
-#line 139 "./unicase/special-casing-table.gperf"
+#line 139 "unicase/special-casing-table.gperf"
{"\037\343\000", 0, SCC_ALWAYS , { '\0', '\0' }, { 0x03A5, 0x0308, 0x0301 }, { 0x1FE3, 0, 0 }, { 0x03A5, 0x0308, 0x0301 }, { 0x03C5, 0x0308, 0x0301 }},
-#line 138 "./unicase/special-casing-table.gperf"
+#line 138 "unicase/special-casing-table.gperf"
{"\037\342\000", 0, SCC_ALWAYS , { '\0', '\0' }, { 0x03A5, 0x0308, 0x0300 }, { 0x1FE2, 0, 0 }, { 0x03A5, 0x0308, 0x0300 }, { 0x03C5, 0x0308, 0x0300 }},
-#line 49 "./unicase/special-casing-table.gperf"
+#line 49 "unicase/special-casing-table.gperf"
{"\000\337\000", 0, SCC_ALWAYS , { '\0', '\0' }, { 0x0053, 0x0053, 0 }, { 0x00DF, 0, 0 }, { 0x0053, 0x0073, 0 }, { 0x0073, 0x0073, 0 }},
-#line 137 "./unicase/special-casing-table.gperf"
+#line 137 "unicase/special-casing-table.gperf"
{"\037\327\000", 0, SCC_ALWAYS , { '\0', '\0' }, { 0x0399, 0x0308, 0x0342 }, { 0x1FD7, 0, 0 }, { 0x0399, 0x0308, 0x0342 }, { 0x03B9, 0x0308, 0x0342 }},
-#line 136 "./unicase/special-casing-table.gperf"
+#line 136 "unicase/special-casing-table.gperf"
{"\037\326\000", 0, SCC_ALWAYS , { '\0', '\0' }, { 0x0399, 0x0342, 0 }, { 0x1FD6, 0, 0 }, { 0x0399, 0x0342, 0 }, { 0x03B9, 0x0342, 0 }},
-#line 135 "./unicase/special-casing-table.gperf"
+#line 135 "unicase/special-casing-table.gperf"
{"\037\323\000", 0, SCC_ALWAYS , { '\0', '\0' }, { 0x0399, 0x0308, 0x0301 }, { 0x1FD3, 0, 0 }, { 0x0399, 0x0308, 0x0301 }, { 0x03B9, 0x0308, 0x0301 }},
-#line 134 "./unicase/special-casing-table.gperf"
+#line 134 "unicase/special-casing-table.gperf"
{"\037\322\000", 0, SCC_ALWAYS , { '\0', '\0' }, { 0x0399, 0x0308, 0x0300 }, { 0x1FD2, 0, 0 }, { 0x0399, 0x0308, 0x0300 }, { 0x03B9, 0x0308, 0x0300 }},
-#line 48 "./unicase/special-casing-table.gperf"
+#line 48 "unicase/special-casing-table.gperf"
{"\000\315\000", 0, SCC_ALWAYS , { 'l', 't' }, { 0x00CD, 0, 0 }, { 0x0069, 0x0307, 0x0301 }, { 0x00CD, 0, 0 }, { 0x00ED, 0, 0 }},
-#line 132 "./unicase/special-casing-table.gperf"
+#line 132 "unicase/special-casing-table.gperf"
{"\037\307\000", 0, SCC_ALWAYS , { '\0', '\0' }, { 0x0397, 0x0342, 0x0399 }, { 0x1FC7, 0, 0 }, { 0x0397, 0x0342, 0x0345 }, { 0x03B7, 0x0342, 0x03B9 }},
-#line 131 "./unicase/special-casing-table.gperf"
+#line 131 "unicase/special-casing-table.gperf"
{"\037\306\000", 0, SCC_ALWAYS , { '\0', '\0' }, { 0x0397, 0x0342, 0 }, { 0x1FC6, 0, 0 }, { 0x0397, 0x0342, 0 }, { 0x03B7, 0x0342, 0 }},
-#line 130 "./unicase/special-casing-table.gperf"
+#line 130 "unicase/special-casing-table.gperf"
{"\037\304\000", 0, SCC_ALWAYS , { '\0', '\0' }, { 0x0389, 0x0399, 0 }, { 0x1FC4, 0, 0 }, { 0x0389, 0x0345, 0 }, { 0x03AE, 0x03B9, 0 }},
-#line 129 "./unicase/special-casing-table.gperf"
+#line 129 "unicase/special-casing-table.gperf"
{"\037\303\000", 0, SCC_ALWAYS , { '\0', '\0' }, { 0x0397, 0x0399, 0 }, { 0x1FC3, 0, 0 }, { 0x1FCC, 0, 0 }, { 0x03B7, 0x03B9, 0 }},
-#line 128 "./unicase/special-casing-table.gperf"
+#line 128 "unicase/special-casing-table.gperf"
{"\037\302\000", 0, SCC_ALWAYS , { '\0', '\0' }, { 0x1FCA, 0x0399, 0 }, { 0x1FC2, 0, 0 }, { 0x1FCA, 0x0345, 0 }, { 0x1F74, 0x03B9, 0 }},
-#line 127 "./unicase/special-casing-table.gperf"
+#line 127 "unicase/special-casing-table.gperf"
{"\037\274\000", 0, SCC_ALWAYS , { '\0', '\0' }, { 0x0391, 0x0399, 0 }, { 0x1FB3, 0, 0 }, { 0x1FBC, 0, 0 }, { 0x03B1, 0x03B9, 0 }},
-#line 126 "./unicase/special-casing-table.gperf"
+#line 126 "unicase/special-casing-table.gperf"
{"\037\267\000", 0, SCC_ALWAYS , { '\0', '\0' }, { 0x0391, 0x0342, 0x0399 }, { 0x1FB7, 0, 0 }, { 0x0391, 0x0342, 0x0345 }, { 0x03B1, 0x0342, 0x03B9 }},
-#line 125 "./unicase/special-casing-table.gperf"
+#line 125 "unicase/special-casing-table.gperf"
{"\037\266\000", 0, SCC_ALWAYS , { '\0', '\0' }, { 0x0391, 0x0342, 0 }, { 0x1FB6, 0, 0 }, { 0x0391, 0x0342, 0 }, { 0x03B1, 0x0342, 0 }},
-#line 124 "./unicase/special-casing-table.gperf"
+#line 124 "unicase/special-casing-table.gperf"
{"\037\264\000", 0, SCC_ALWAYS , { '\0', '\0' }, { 0x0386, 0x0399, 0 }, { 0x1FB4, 0, 0 }, { 0x0386, 0x0345, 0 }, { 0x03AC, 0x03B9, 0 }},
-#line 123 "./unicase/special-casing-table.gperf"
+#line 123 "unicase/special-casing-table.gperf"
{"\037\263\000", 0, SCC_ALWAYS , { '\0', '\0' }, { 0x0391, 0x0399, 0 }, { 0x1FB3, 0, 0 }, { 0x1FBC, 0, 0 }, { 0x03B1, 0x03B9, 0 }},
-#line 122 "./unicase/special-casing-table.gperf"
+#line 122 "unicase/special-casing-table.gperf"
{"\037\262\000", 0, SCC_ALWAYS , { '\0', '\0' }, { 0x1FBA, 0x0399, 0 }, { 0x1FB2, 0, 0 }, { 0x1FBA, 0x0345, 0 }, { 0x1F70, 0x03B9, 0 }},
-#line 62 "./unicase/special-casing-table.gperf"
+#line 62 "unicase/special-casing-table.gperf"
{"\003\260\000", 0, SCC_ALWAYS , { '\0', '\0' }, { 0x03A5, 0x0308, 0x0301 }, { 0x03B0, 0, 0 }, { 0x03A5, 0x0308, 0x0301 }, { 0x03C5, 0x0308, 0x0301 }},
-#line 121 "./unicase/special-casing-table.gperf"
+#line 121 "unicase/special-casing-table.gperf"
{"\037\257\000", 0, SCC_ALWAYS , { '\0', '\0' }, { 0x1F6F, 0x0399, 0 }, { 0x1FA7, 0, 0 }, { 0x1FAF, 0, 0 }, { 0x1F67, 0x03B9, 0 }},
-#line 120 "./unicase/special-casing-table.gperf"
+#line 120 "unicase/special-casing-table.gperf"
{"\037\256\000", 0, SCC_ALWAYS , { '\0', '\0' }, { 0x1F6E, 0x0399, 0 }, { 0x1FA6, 0, 0 }, { 0x1FAE, 0, 0 }, { 0x1F66, 0x03B9, 0 }},
-#line 119 "./unicase/special-casing-table.gperf"
+#line 119 "unicase/special-casing-table.gperf"
{"\037\255\000", 0, SCC_ALWAYS , { '\0', '\0' }, { 0x1F6D, 0x0399, 0 }, { 0x1FA5, 0, 0 }, { 0x1FAD, 0, 0 }, { 0x1F65, 0x03B9, 0 }},
-#line 118 "./unicase/special-casing-table.gperf"
+#line 118 "unicase/special-casing-table.gperf"
{"\037\254\000", 0, SCC_ALWAYS , { '\0', '\0' }, { 0x1F6C, 0x0399, 0 }, { 0x1FA4, 0, 0 }, { 0x1FAC, 0, 0 }, { 0x1F64, 0x03B9, 0 }},
-#line 117 "./unicase/special-casing-table.gperf"
+#line 117 "unicase/special-casing-table.gperf"
{"\037\253\000", 0, SCC_ALWAYS , { '\0', '\0' }, { 0x1F6B, 0x0399, 0 }, { 0x1FA3, 0, 0 }, { 0x1FAB, 0, 0 }, { 0x1F63, 0x03B9, 0 }},
-#line 116 "./unicase/special-casing-table.gperf"
+#line 116 "unicase/special-casing-table.gperf"
{"\037\252\000", 0, SCC_ALWAYS , { '\0', '\0' }, { 0x1F6A, 0x0399, 0 }, { 0x1FA2, 0, 0 }, { 0x1FAA, 0, 0 }, { 0x1F62, 0x03B9, 0 }},
-#line 115 "./unicase/special-casing-table.gperf"
+#line 115 "unicase/special-casing-table.gperf"
{"\037\251\000", 0, SCC_ALWAYS , { '\0', '\0' }, { 0x1F69, 0x0399, 0 }, { 0x1FA1, 0, 0 }, { 0x1FA9, 0, 0 }, { 0x1F61, 0x03B9, 0 }},
-#line 114 "./unicase/special-casing-table.gperf"
+#line 114 "unicase/special-casing-table.gperf"
{"\037\250\000", 0, SCC_ALWAYS , { '\0', '\0' }, { 0x1F68, 0x0399, 0 }, { 0x1FA0, 0, 0 }, { 0x1FA8, 0, 0 }, { 0x1F60, 0x03B9, 0 }},
-#line 113 "./unicase/special-casing-table.gperf"
+#line 113 "unicase/special-casing-table.gperf"
{"\037\247\000", 0, SCC_ALWAYS , { '\0', '\0' }, { 0x1F6F, 0x0399, 0 }, { 0x1FA7, 0, 0 }, { 0x1FAF, 0, 0 }, { 0x1F67, 0x03B9, 0 }},
-#line 112 "./unicase/special-casing-table.gperf"
+#line 112 "unicase/special-casing-table.gperf"
{"\037\246\000", 0, SCC_ALWAYS , { '\0', '\0' }, { 0x1F6E, 0x0399, 0 }, { 0x1FA6, 0, 0 }, { 0x1FAE, 0, 0 }, { 0x1F66, 0x03B9, 0 }},
-#line 111 "./unicase/special-casing-table.gperf"
+#line 111 "unicase/special-casing-table.gperf"
{"\037\245\000", 0, SCC_ALWAYS , { '\0', '\0' }, { 0x1F6D, 0x0399, 0 }, { 0x1FA5, 0, 0 }, { 0x1FAD, 0, 0 }, { 0x1F65, 0x03B9, 0 }},
-#line 110 "./unicase/special-casing-table.gperf"
+#line 110 "unicase/special-casing-table.gperf"
{"\037\244\000", 0, SCC_ALWAYS , { '\0', '\0' }, { 0x1F6C, 0x0399, 0 }, { 0x1FA4, 0, 0 }, { 0x1FAC, 0, 0 }, { 0x1F64, 0x03B9, 0 }},
-#line 108 "./unicase/special-casing-table.gperf"
+#line 108 "unicase/special-casing-table.gperf"
{"\037\242\000", 0, SCC_ALWAYS , { '\0', '\0' }, { 0x1F6A, 0x0399, 0 }, { 0x1FA2, 0, 0 }, { 0x1FAA, 0, 0 }, { 0x1F62, 0x03B9, 0 }},
-#line 107 "./unicase/special-casing-table.gperf"
+#line 107 "unicase/special-casing-table.gperf"
{"\037\241\000", 0, SCC_ALWAYS , { '\0', '\0' }, { 0x1F69, 0x0399, 0 }, { 0x1FA1, 0, 0 }, { 0x1FA9, 0, 0 }, { 0x1F61, 0x03B9, 0 }},
-#line 106 "./unicase/special-casing-table.gperf"
+#line 106 "unicase/special-casing-table.gperf"
{"\037\240\000", 0, SCC_ALWAYS , { '\0', '\0' }, { 0x1F68, 0x0399, 0 }, { 0x1FA0, 0, 0 }, { 0x1FA8, 0, 0 }, { 0x1F60, 0x03B9, 0 }},
-#line 105 "./unicase/special-casing-table.gperf"
+#line 105 "unicase/special-casing-table.gperf"
{"\037\237\000", 0, SCC_ALWAYS , { '\0', '\0' }, { 0x1F2F, 0x0399, 0 }, { 0x1F97, 0, 0 }, { 0x1F9F, 0, 0 }, { 0x1F27, 0x03B9, 0 }},
-#line 103 "./unicase/special-casing-table.gperf"
+#line 103 "unicase/special-casing-table.gperf"
{"\037\235\000", 0, SCC_ALWAYS , { '\0', '\0' }, { 0x1F2D, 0x0399, 0 }, { 0x1F95, 0, 0 }, { 0x1F9D, 0, 0 }, { 0x1F25, 0x03B9, 0 }},
-#line 102 "./unicase/special-casing-table.gperf"
+#line 102 "unicase/special-casing-table.gperf"
{"\037\234\000", 0, SCC_ALWAYS , { '\0', '\0' }, { 0x1F2C, 0x0399, 0 }, { 0x1F94, 0, 0 }, { 0x1F9C, 0, 0 }, { 0x1F24, 0x03B9, 0 }},
-#line 101 "./unicase/special-casing-table.gperf"
+#line 101 "unicase/special-casing-table.gperf"
{"\037\233\000", 0, SCC_ALWAYS , { '\0', '\0' }, { 0x1F2B, 0x0399, 0 }, { 0x1F93, 0, 0 }, { 0x1F9B, 0, 0 }, { 0x1F23, 0x03B9, 0 }},
-#line 95 "./unicase/special-casing-table.gperf"
+#line 95 "unicase/special-casing-table.gperf"
{"\037\225\000", 0, SCC_ALWAYS , { '\0', '\0' }, { 0x1F2D, 0x0399, 0 }, { 0x1F95, 0, 0 }, { 0x1F9D, 0, 0 }, { 0x1F25, 0x03B9, 0 }},
-#line 94 "./unicase/special-casing-table.gperf"
+#line 94 "unicase/special-casing-table.gperf"
{"\037\224\000", 0, SCC_ALWAYS , { '\0', '\0' }, { 0x1F2C, 0x0399, 0 }, { 0x1F94, 0, 0 }, { 0x1F9C, 0, 0 }, { 0x1F24, 0x03B9, 0 }},
-#line 93 "./unicase/special-casing-table.gperf"
+#line 93 "unicase/special-casing-table.gperf"
{"\037\223\000", 0, SCC_ALWAYS , { '\0', '\0' }, { 0x1F2B, 0x0399, 0 }, { 0x1F93, 0, 0 }, { 0x1F9B, 0, 0 }, { 0x1F23, 0x03B9, 0 }},
-#line 92 "./unicase/special-casing-table.gperf"
+#line 92 "unicase/special-casing-table.gperf"
{"\037\222\000", 0, SCC_ALWAYS , { '\0', '\0' }, { 0x1F2A, 0x0399, 0 }, { 0x1F92, 0, 0 }, { 0x1F9A, 0, 0 }, { 0x1F22, 0x03B9, 0 }},
-#line 91 "./unicase/special-casing-table.gperf"
+#line 91 "unicase/special-casing-table.gperf"
{"\037\221\000", 0, SCC_ALWAYS , { '\0', '\0' }, { 0x1F29, 0x0399, 0 }, { 0x1F91, 0, 0 }, { 0x1F99, 0, 0 }, { 0x1F21, 0x03B9, 0 }},
-#line 89 "./unicase/special-casing-table.gperf"
+#line 89 "unicase/special-casing-table.gperf"
{"\037\217\000", 0, SCC_ALWAYS , { '\0', '\0' }, { 0x1F0F, 0x0399, 0 }, { 0x1F87, 0, 0 }, { 0x1F8F, 0, 0 }, { 0x1F07, 0x03B9, 0 }},
-#line 88 "./unicase/special-casing-table.gperf"
+#line 88 "unicase/special-casing-table.gperf"
{"\037\216\000", 0, SCC_ALWAYS , { '\0', '\0' }, { 0x1F0E, 0x0399, 0 }, { 0x1F86, 0, 0 }, { 0x1F8E, 0, 0 }, { 0x1F06, 0x03B9, 0 }},
-#line 87 "./unicase/special-casing-table.gperf"
+#line 87 "unicase/special-casing-table.gperf"
{"\037\215\000", 0, SCC_ALWAYS , { '\0', '\0' }, { 0x1F0D, 0x0399, 0 }, { 0x1F85, 0, 0 }, { 0x1F8D, 0, 0 }, { 0x1F05, 0x03B9, 0 }},
-#line 86 "./unicase/special-casing-table.gperf"
+#line 86 "unicase/special-casing-table.gperf"
{"\037\214\000", 0, SCC_ALWAYS , { '\0', '\0' }, { 0x1F0C, 0x0399, 0 }, { 0x1F84, 0, 0 }, { 0x1F8C, 0, 0 }, { 0x1F04, 0x03B9, 0 }},
-#line 85 "./unicase/special-casing-table.gperf"
+#line 85 "unicase/special-casing-table.gperf"
{"\037\213\000", 0, SCC_ALWAYS , { '\0', '\0' }, { 0x1F0B, 0x0399, 0 }, { 0x1F83, 0, 0 }, { 0x1F8B, 0, 0 }, { 0x1F03, 0x03B9, 0 }},
-#line 84 "./unicase/special-casing-table.gperf"
+#line 84 "unicase/special-casing-table.gperf"
{"\037\212\000", 0, SCC_ALWAYS , { '\0', '\0' }, { 0x1F0A, 0x0399, 0 }, { 0x1F82, 0, 0 }, { 0x1F8A, 0, 0 }, { 0x1F02, 0x03B9, 0 }},
-#line 83 "./unicase/special-casing-table.gperf"
+#line 83 "unicase/special-casing-table.gperf"
{"\037\211\000", 0, SCC_ALWAYS , { '\0', '\0' }, { 0x1F09, 0x0399, 0 }, { 0x1F81, 0, 0 }, { 0x1F89, 0, 0 }, { 0x1F01, 0x03B9, 0 }},
-#line 82 "./unicase/special-casing-table.gperf"
+#line 82 "unicase/special-casing-table.gperf"
{"\037\210\000", 0, SCC_ALWAYS , { '\0', '\0' }, { 0x1F08, 0x0399, 0 }, { 0x1F80, 0, 0 }, { 0x1F88, 0, 0 }, { 0x1F00, 0x03B9, 0 }},
-#line 80 "./unicase/special-casing-table.gperf"
+#line 80 "unicase/special-casing-table.gperf"
{"\037\206\000", 0, SCC_ALWAYS , { '\0', '\0' }, { 0x1F0E, 0x0399, 0 }, { 0x1F86, 0, 0 }, { 0x1F8E, 0, 0 }, { 0x1F06, 0x03B9, 0 }},
-#line 79 "./unicase/special-casing-table.gperf"
+#line 79 "unicase/special-casing-table.gperf"
{"\037\205\000", 0, SCC_ALWAYS , { '\0', '\0' }, { 0x1F0D, 0x0399, 0 }, { 0x1F85, 0, 0 }, { 0x1F8D, 0, 0 }, { 0x1F05, 0x03B9, 0 }},
-#line 78 "./unicase/special-casing-table.gperf"
+#line 78 "unicase/special-casing-table.gperf"
{"\037\204\000", 0, SCC_ALWAYS , { '\0', '\0' }, { 0x1F0C, 0x0399, 0 }, { 0x1F84, 0, 0 }, { 0x1F8C, 0, 0 }, { 0x1F04, 0x03B9, 0 }},
-#line 77 "./unicase/special-casing-table.gperf"
+#line 77 "unicase/special-casing-table.gperf"
{"\037\203\000", 0, SCC_ALWAYS , { '\0', '\0' }, { 0x1F0B, 0x0399, 0 }, { 0x1F83, 0, 0 }, { 0x1F8B, 0, 0 }, { 0x1F03, 0x03B9, 0 }},
-#line 76 "./unicase/special-casing-table.gperf"
+#line 76 "unicase/special-casing-table.gperf"
{"\037\202\000", 0, SCC_ALWAYS , { '\0', '\0' }, { 0x1F0A, 0x0399, 0 }, { 0x1F82, 0, 0 }, { 0x1F8A, 0, 0 }, { 0x1F02, 0x03B9, 0 }},
-#line 75 "./unicase/special-casing-table.gperf"
+#line 75 "unicase/special-casing-table.gperf"
{"\037\201\000", 0, SCC_ALWAYS , { '\0', '\0' }, { 0x1F09, 0x0399, 0 }, { 0x1F81, 0, 0 }, { 0x1F89, 0, 0 }, { 0x1F01, 0x03B9, 0 }},
-#line 74 "./unicase/special-casing-table.gperf"
+#line 74 "unicase/special-casing-table.gperf"
{"\037\200\000", 0, SCC_ALWAYS , { '\0', '\0' }, { 0x1F08, 0x0399, 0 }, { 0x1F80, 0, 0 }, { 0x1F88, 0, 0 }, { 0x1F00, 0x03B9, 0 }},
-#line 73 "./unicase/special-casing-table.gperf"
+#line 73 "unicase/special-casing-table.gperf"
{"\037V\000", 0, SCC_ALWAYS , { '\0', '\0' }, { 0x03A5, 0x0313, 0x0342 }, { 0x1F56, 0, 0 }, { 0x03A5, 0x0313, 0x0342 }, { 0x03C5, 0x0313, 0x0342 }},
-#line 72 "./unicase/special-casing-table.gperf"
+#line 72 "unicase/special-casing-table.gperf"
{"\037T\000", 0, SCC_ALWAYS , { '\0', '\0' }, { 0x03A5, 0x0313, 0x0301 }, { 0x1F54, 0, 0 }, { 0x03A5, 0x0313, 0x0301 }, { 0x03C5, 0x0313, 0x0301 }},
-#line 71 "./unicase/special-casing-table.gperf"
+#line 71 "unicase/special-casing-table.gperf"
{"\037R\000", 0, SCC_ALWAYS , { '\0', '\0' }, { 0x03A5, 0x0313, 0x0300 }, { 0x1F52, 0, 0 }, { 0x03A5, 0x0313, 0x0300 }, { 0x03C5, 0x0313, 0x0300 }},
-#line 70 "./unicase/special-casing-table.gperf"
+#line 70 "unicase/special-casing-table.gperf"
{"\037P\000", 0, SCC_ALWAYS , { '\0', '\0' }, { 0x03A5, 0x0313, 0 }, { 0x1F50, 0, 0 }, { 0x03A5, 0x0313, 0 }, { 0x03C5, 0x0313, 0 }},
-#line 44 "./unicase/special-casing-table.gperf"
+#line 44 "unicase/special-casing-table.gperf"
{"\000J\000", 0, SCC_MORE_ABOVE , { 'l', 't' }, { 0x004A, 0, 0 }, { 0x006A, 0x0307, 0 }, { 0x004A, 0, 0 }, { 0x006A, 0, 0 }},
-#line 51 "./unicase/special-casing-table.gperf"
+#line 51 "unicase/special-casing-table.gperf"
{"\001.\000", 0, SCC_MORE_ABOVE , { 'l', 't' }, { 0x012E, 0, 0 }, { 0x012F, 0x0307, 0 }, { 0x012E, 0, 0 }, { 0x012F, 0, 0 }},
-#line 50 "./unicase/special-casing-table.gperf"
+#line 50 "unicase/special-casing-table.gperf"
{"\001(\000", 0, SCC_ALWAYS , { 'l', 't' }, { 0x0128, 0, 0 }, { 0x0069, 0x0307, 0x0303 }, { 0x0128, 0, 0 }, { 0x0129, 0, 0 }},
-#line 160 "./unicase/special-casing-table.gperf"
+#line 160 "unicase/special-casing-table.gperf"
{"\373\027\000", 0, SCC_ALWAYS , { '\0', '\0' }, { 0x0544, 0x053D, 0 }, { 0xFB17, 0, 0 }, { 0x0544, 0x056D, 0 }, { 0x0574, 0x056D, 0 }},
-#line 159 "./unicase/special-casing-table.gperf"
+#line 159 "unicase/special-casing-table.gperf"
{"\373\026\000", 0, SCC_ALWAYS , { '\0', '\0' }, { 0x054E, 0x0546, 0 }, { 0xFB16, 0, 0 }, { 0x054E, 0x0576, 0 }, { 0x057E, 0x0576, 0 }},
-#line 158 "./unicase/special-casing-table.gperf"
+#line 158 "unicase/special-casing-table.gperf"
{"\373\025\000", 0, SCC_ALWAYS , { '\0', '\0' }, { 0x0544, 0x053B, 0 }, { 0xFB15, 0, 0 }, { 0x0544, 0x056B, 0 }, { 0x0574, 0x056B, 0 }},
-#line 157 "./unicase/special-casing-table.gperf"
+#line 157 "unicase/special-casing-table.gperf"
{"\373\024\000", 0, SCC_ALWAYS , { '\0', '\0' }, { 0x0544, 0x0535, 0 }, { 0xFB14, 0, 0 }, { 0x0544, 0x0565, 0 }, { 0x0574, 0x0565, 0 }},
-#line 156 "./unicase/special-casing-table.gperf"
+#line 156 "unicase/special-casing-table.gperf"
{"\373\023\000", 0, SCC_ALWAYS , { '\0', '\0' }, { 0x0544, 0x0546, 0 }, { 0xFB13, 0, 0 }, { 0x0544, 0x0576, 0 }, { 0x0574, 0x0576, 0 }},
-#line 155 "./unicase/special-casing-table.gperf"
+#line 155 "unicase/special-casing-table.gperf"
{"\373\006\000", 0, SCC_ALWAYS , { '\0', '\0' }, { 0x0053, 0x0054, 0 }, { 0xFB06, 0, 0 }, { 0x0053, 0x0074, 0 }, { 0x0073, 0x0074, 0 }}
};
diff --git a/lib/unicase/special-casing.in.h b/lib/unicase/special-casing.in.h
index 5683a452..db8b8438 100644
--- a/lib/unicase/special-casing.in.h
+++ b/lib/unicase/special-casing.in.h
@@ -25,6 +25,11 @@
#include <stddef.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
/* A special casing context.
A context is negated through x -> -x. */
enum
@@ -67,3 +72,8 @@ struct special_casing_rule
extern const struct special_casing_rule *
gl_unicase_special_lookup (const char *str, size_t len);
+
+
+#ifdef __cplusplus
+}
+#endif
diff --git a/lib/unicase/tocasefold.h b/lib/unicase/tocasefold.h
index a8738ec8..c8e54ddb 100644
--- a/lib/unicase/tocasefold.h
+++ b/lib/unicase/tocasefold.h
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Simple character mapping of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 16.0.0. */
/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
@@ -35,7 +35,7 @@ struct
{
int level1[2];
short level2[2 << 9];
- int level3[37 << 7];
+ int level3[38 << 7];
}
u_mapping =
{
@@ -108,10 +108,10 @@ u_mapping =
-1, -1, -1, -1, -1, -1, -1, -1,
3712, 3840, 3968, 4096, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
- -1, 4224, -1, -1, -1, -1, -1, -1,
+ -1, 4224, 4352, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
- -1, 4352, -1, -1, -1, -1, -1, -1,
+ -1, 4480, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
@@ -132,7 +132,7 @@ u_mapping =
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 4480, -1, -1, -1,
+ -1, -1, -1, -1, 4608, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
@@ -163,7 +163,7 @@ u_mapping =
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 4608, -1, -1, -1, -1, -1,
+ -1, -1, 4736, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
@@ -364,7 +364,7 @@ u_mapping =
0, 0, 0, 0, 0, 0, 0, 0,
-8, -8, -8, -8, -8, -8, 0, 0,
-6222, -6221, -6212, -6210, -6210, -6211, -6204, -6180,
- 35267, 0, 0, 0, 0, 0, 0, 0,
+ 35267, 1, 0, 0, 0, 0, 0, 0,
-3008, -3008, -3008, -3008, -3008, -3008, -3008, -3008,
-3008, -3008, -3008, -3008, -3008, -3008, -3008, -3008,
-3008, -3008, -3008, -3008, -3008, -3008, -3008, -3008,
@@ -580,9 +580,9 @@ u_mapping =
-42258, -42282, -42261, 928, 1, 0, 1, 0,
1, 0, 1, 0, 1, 0, 1, 0,
1, 0, 1, 0, -48, -42307, -35384, 1,
- 0, 1, 0, 0, 0, 0, 0, 0,
+ 0, 1, 0, -42343, 1, 0, 0, 0,
1, 0, 0, 0, 0, 0, 1, 0,
- 1, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 1, 0, -42561, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 1, 0, 0,
@@ -719,6 +719,22 @@ u_mapping =
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
32, 32, 32, 32, 32, 32, 32, 32,
32, 32, 32, 32, 32, 32, 32, 32,
32, 32, 32, 32, 32, 32, 32, 32,
diff --git a/lib/unicase/tolower.h b/lib/unicase/tolower.h
index 9c125f50..794f4c0c 100644
--- a/lib/unicase/tolower.h
+++ b/lib/unicase/tolower.h
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Simple character mapping of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 16.0.0. */
/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
@@ -27,7 +27,7 @@ struct
{
int level1[2];
short level2[2 << 9];
- int level3[35 << 7];
+ int level3[36 << 7];
}
u_mapping =
{
@@ -100,10 +100,10 @@ u_mapping =
-1, -1, -1, -1, -1, -1, -1, -1,
3456, 3584, 3712, 3840, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
- -1, 3968, -1, -1, -1, -1, -1, -1,
+ -1, 3968, 4096, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
- -1, 4096, -1, -1, -1, -1, -1, -1,
+ -1, 4224, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
@@ -124,7 +124,7 @@ u_mapping =
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 4224, -1, -1, -1,
+ -1, -1, -1, -1, 4352, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
@@ -155,7 +155,7 @@ u_mapping =
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 4352, -1, -1, -1, -1, -1,
+ -1, -1, 4480, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
@@ -356,7 +356,7 @@ u_mapping =
8, 8, 8, 8, 8, 8, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 1, 0, 0, 0, 0, 0, 0,
-3008, -3008, -3008, -3008, -3008, -3008, -3008, -3008,
-3008, -3008, -3008, -3008, -3008, -3008, -3008, -3008,
-3008, -3008, -3008, -3008, -3008, -3008, -3008, -3008,
@@ -572,9 +572,9 @@ u_mapping =
-42258, -42282, -42261, 928, 1, 0, 1, 0,
1, 0, 1, 0, 1, 0, 1, 0,
1, 0, 1, 0, -48, -42307, -35384, 1,
- 0, 1, 0, 0, 0, 0, 0, 0,
+ 0, 1, 0, -42343, 1, 0, 0, 0,
1, 0, 0, 0, 0, 0, 1, 0,
- 1, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 1, 0, -42561, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 1, 0, 0,
@@ -679,6 +679,22 @@ u_mapping =
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
32, 32, 32, 32, 32, 32, 32, 32,
32, 32, 32, 32, 32, 32, 32, 32,
32, 32, 32, 32, 32, 32, 32, 32,
diff --git a/lib/unicase/totitle.h b/lib/unicase/totitle.h
index 9a3a3ea9..ed17a52d 100644
--- a/lib/unicase/totitle.h
+++ b/lib/unicase/totitle.h
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Simple character mapping of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 16.0.0. */
/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
@@ -35,7 +35,7 @@ struct
{
int level1[2];
short level2[2 << 9];
- int level3[40 << 7];
+ int level3[42 << 7];
}
u_mapping =
{
@@ -108,10 +108,10 @@ u_mapping =
-1, -1, -1, -1, -1, -1, -1, -1,
4224, 4352, -1, 4480, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
- -1, 4608, -1, -1, -1, -1, -1, -1,
+ -1, 4608, 4736, 4864, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
- -1, 4736, -1, -1, -1, -1, -1, -1,
+ -1, 4992, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
@@ -132,7 +132,7 @@ u_mapping =
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 4864, -1, -1, -1,
+ -1, -1, -1, -1, 5120, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
@@ -163,7 +163,7 @@ u_mapping =
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 4992, -1, -1, -1, -1, -1,
+ -1, -1, 5248, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
@@ -222,7 +222,7 @@ u_mapping =
195, 0, 0, -1, 0, -1, 0, 0,
-1, 0, 0, 0, -1, 0, 0, 0,
0, 0, -1, 0, 0, 97, 0, 0,
- 0, -1, 163, 0, 0, 0, 130, 0,
+ 0, -1, 163, 42561, 0, 0, 130, 0,
0, -1, 0, -1, 0, -1, 0, 0,
-1, 0, 0, 0, 0, -1, 0, 0,
-1, 0, 0, 0, -1, 0, -1, 0,
@@ -247,7 +247,7 @@ u_mapping =
0, -1, 0, -1, 0, -1, 0, -1,
10783, 10780, 10782, -210, -206, 0, -205, -205,
0, -202, 0, -203, 42319, 0, 0, 0,
- -205, 42315, 0, -207, 0, 42280, 42308, 0,
+ -205, 42315, 0, -207, 42343, 42280, 42308, 0,
-209, -211, 42308, 10743, 42305, 0, 0, -211,
0, 10749, -213, 0, 0, -214, 0, 0,
0, 0, 0, 0, 0, 10727, 0, 0,
@@ -380,7 +380,7 @@ u_mapping =
0, 0, 0, 0, 0, 0, 0, 0,
-8, -8, -8, -8, -8, -8, 0, 0,
-6254, -6253, -6244, -6242, -6242, -6243, -6236, -6181,
- 35266, 0, 0, 0, 0, 0, 0, 0,
+ 35266, 0, -1, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
@@ -644,9 +644,9 @@ u_mapping =
0, 0, 0, 0, 0, -1, 0, -1,
0, -1, 0, -1, 0, -1, 0, -1,
0, -1, 0, -1, 0, 0, 0, 0,
- -1, 0, -1, 0, 0, 0, 0, 0,
+ -1, 0, -1, 0, 0, -1, 0, 0,
0, -1, 0, 0, 0, 0, 0, -1,
- 0, -1, 0, 0, 0, 0, 0, 0,
+ 0, -1, 0, -1, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, -1, 0,
@@ -771,6 +771,38 @@ u_mapping =
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ -32, -32, -32, -32, -32, -32, -32, -32,
+ -32, -32, -32, -32, -32, -32, -32, -32,
+ -32, -32, -32, -32, -32, -32, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
-32, -32, -32, -32, -32, -32, -32, -32,
-32, -32, -32, -32, -32, -32, -32, -32,
-32, -32, -32, -32, -32, -32, -32, -32,
diff --git a/lib/unicase/toupper.h b/lib/unicase/toupper.h
index 4df2f32c..ff117e05 100644
--- a/lib/unicase/toupper.h
+++ b/lib/unicase/toupper.h
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Simple character mapping of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 16.0.0. */
/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
@@ -27,7 +27,7 @@ struct
{
int level1[2];
short level2[2 << 9];
- int level3[41 << 7];
+ int level3[43 << 7];
}
u_mapping =
{
@@ -100,10 +100,10 @@ u_mapping =
-1, -1, -1, -1, -1, -1, -1, -1,
4352, 4480, -1, 4608, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
- -1, 4736, -1, -1, -1, -1, -1, -1,
+ -1, 4736, 4864, 4992, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
- -1, 4864, -1, -1, -1, -1, -1, -1,
+ -1, 5120, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
@@ -124,7 +124,7 @@ u_mapping =
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 4992, -1, -1, -1,
+ -1, -1, -1, -1, 5248, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
@@ -155,7 +155,7 @@ u_mapping =
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 5120, -1, -1, -1, -1, -1,
+ -1, -1, 5376, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
@@ -214,7 +214,7 @@ u_mapping =
195, 0, 0, -1, 0, -1, 0, 0,
-1, 0, 0, 0, -1, 0, 0, 0,
0, 0, -1, 0, 0, 97, 0, 0,
- 0, -1, 163, 0, 0, 0, 130, 0,
+ 0, -1, 163, 42561, 0, 0, 130, 0,
0, -1, 0, -1, 0, -1, 0, 0,
-1, 0, 0, 0, 0, -1, 0, 0,
-1, 0, 0, 0, -1, 0, -1, 0,
@@ -239,7 +239,7 @@ u_mapping =
0, -1, 0, -1, 0, -1, 0, -1,
10783, 10780, 10782, -210, -206, 0, -205, -205,
0, -202, 0, -203, 42319, 0, 0, 0,
- -205, 42315, 0, -207, 0, 42280, 42308, 0,
+ -205, 42315, 0, -207, 42343, 42280, 42308, 0,
-209, -211, 42308, 10743, 42305, 0, 0, -211,
0, 10749, -213, 0, 0, -214, 0, 0,
0, 0, 0, 0, 0, 10727, 0, 0,
@@ -388,7 +388,7 @@ u_mapping =
0, 0, 0, 0, 0, 0, 0, 0,
-8, -8, -8, -8, -8, -8, 0, 0,
-6254, -6253, -6244, -6242, -6242, -6243, -6236, -6181,
- 35266, 0, 0, 0, 0, 0, 0, 0,
+ 35266, 0, -1, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
@@ -652,9 +652,9 @@ u_mapping =
0, 0, 0, 0, 0, -1, 0, -1,
0, -1, 0, -1, 0, -1, 0, -1,
0, -1, 0, -1, 0, 0, 0, 0,
- -1, 0, -1, 0, 0, 0, 0, 0,
+ -1, 0, -1, 0, 0, -1, 0, 0,
0, -1, 0, 0, 0, 0, 0, -1,
- 0, -1, 0, 0, 0, 0, 0, 0,
+ 0, -1, 0, -1, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, -1, 0,
@@ -779,6 +779,38 @@ u_mapping =
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ -32, -32, -32, -32, -32, -32, -32, -32,
+ -32, -32, -32, -32, -32, -32, -32, -32,
+ -32, -32, -32, -32, -32, -32, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
-32, -32, -32, -32, -32, -32, -32, -32,
-32, -32, -32, -32, -32, -32, -32, -32,
-32, -32, -32, -32, -32, -32, -32, -32,
diff --git a/lib/unicase/unicasemap.h b/lib/unicase/unicasemap.h
index 783b3930..6783b9b3 100644
--- a/lib/unicase/unicasemap.h
+++ b/lib/unicase/unicasemap.h
@@ -29,6 +29,11 @@
#include "unicase.h"
#include "uninorm.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
extern uint8_t *
u8_casemap (const uint8_t *s, size_t n,
casing_prefix_context_t prefix_context,
@@ -58,3 +63,8 @@ extern uint32_t *
size_t offset_in_rule, /* offset in 'struct special_casing_rule' */
uninorm_t nf,
uint32_t *resultbuf, size_t *lengthp);
+
+
+#ifdef __cplusplus
+}
+#endif