changeset 14156:db96bbe8ff00

New module 'unictype/property-changes-when-uppercased'. * modules/unictype/property-changes-when-uppercased: New file. * lib/unictype/pr_changes_when_uppercased.c: New file. * lib/unictype/pr_changes_when_uppercased.h: New file, automatically generated by gen-uni-tables. * modules/unictype/property-changes-when-uppercased-tests: New file. * tests/unictype/test-pr_changes_when_uppercased.c: New file, automatically generated by gen-uni-tables.
author Bruno Haible <bruno@clisp.org>
date Sun, 09 Jan 2011 11:24:48 +0100
parents 27b76213d76e
children c5271e39d58a
files ChangeLog lib/unictype/pr_changes_when_uppercased.c lib/unictype/pr_changes_when_uppercased.h modules/unictype/property-changes-when-uppercased modules/unictype/property-changes-when-uppercased-tests tests/unictype/test-pr_changes_when_uppercased.c
diffstat 6 files changed, 1013 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,14 @@
 2011-01-09  Bruno Haible  <bruno@clisp.org>
 
+	New module 'unictype/property-changes-when-uppercased'.
+	* modules/unictype/property-changes-when-uppercased: New file.
+	* lib/unictype/pr_changes_when_uppercased.c: New file.
+	* lib/unictype/pr_changes_when_uppercased.h: New file, automatically
+	generated by gen-uni-tables.
+	* modules/unictype/property-changes-when-uppercased-tests: New file.
+	* tests/unictype/test-pr_changes_when_uppercased.c: New file,
+	automatically generated by gen-uni-tables.
+
 	New module 'unictype/property-changes-when-lowercased'.
 	* modules/unictype/property-changes-when-lowercased: New file.
 	* lib/unictype/pr_changes_when_lowercased.c: New file.
new file mode 100644
--- /dev/null
+++ b/lib/unictype/pr_changes_when_uppercased.c
@@ -0,0 +1,35 @@
+/* Properties of Unicode characters.
+   Copyright (C) 2002, 2006-2007, 2009-2011 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2011.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+#include "bitmap.h"
+
+/* Define u_property_changes_when_uppercased table.  */
+#include "pr_changes_when_uppercased.h"
+
+bool
+uc_is_property_changes_when_uppercased (ucs4_t uc)
+{
+  return bitmap_lookup (&u_property_changes_when_uppercased, uc);
+}
+
+const uc_property_t UC_PROPERTY_CHANGES_WHEN_UPPERCASED =
+  { &uc_is_property_changes_when_uppercased };
new file mode 100644
--- /dev/null
+++ b/lib/unictype/pr_changes_when_uppercased.h
@@ -0,0 +1,331 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Properties of Unicode characters.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
+#define header_0 16
+#define header_2 9
+#define header_3 127
+#define header_4 15
+static const
+struct
+  {
+    int header[1];
+    int level1[2];
+    short level2[2 << 7];
+    /*unsigned*/ int level3[12 << 4];
+  }
+u_property_changes_when_uppercased =
+{
+  { 2 },
+  {
+        3 * sizeof (int) / sizeof (short) +     0,
+        3 * sizeof (int) / sizeof (short) +   128
+  },
+  {
+        3 +   256 * sizeof (short) / sizeof (int) +     0,
+        3 +   256 * sizeof (short) / sizeof (int) +    16,
+        3 +   256 * sizeof (short) / sizeof (int) +    32,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +    48,
+        3 +   256 * sizeof (short) / sizeof (int) +    64,
+        3 +   256 * sizeof (short) / sizeof (int) +    80,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +    96,
+       -1,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   112,
+       -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,
+       -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,
+        3 +   256 * sizeof (short) / sizeof (int) +   128,
+       -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,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   144,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   160,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   176,
+       -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,
+       -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,
+       -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,
+       -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,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1
+  },
+  {
+    0x00000000, 0x00000000, 0x00000000, 0x07FFFFFE,
+    0x00000000, 0x00200000, 0x80000000, 0xFF7FFFFF,
+    0xAAAAAAAA, 0x54AAAAAA, 0xAAAAAB55, 0xD4AAAAAA,
+    0x46241129, 0xA251212A, 0xB5555B60, 0xAA2DAAAA,
+    0xAAAAAAAA, 0x900AAAA8, 0x0ADFAA85, 0x20268B09,
+    0x00041F09, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000020, 0x388A0000,
+    0x00010000, 0xFFFFF000, 0xAAE37FFF, 0x0927AAAA,
+    0x00000000, 0xFFFF0000, 0xFFFFFFFF, 0xAAAAAAAA,
+    0xAAAAA802, 0xAAAAAAAA, 0xAAAAD554, 0xAAAAAAAA,
+    0xAAAAAAAA, 0x0000002A, 0x00000000, 0xFFFFFFFE,
+    0x000000FF, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x22000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xAAAAAAAA, 0xAAAAAAAA, 0xAAAAAAAA, 0xAAAAAAAA,
+    0x0FEAAAAA, 0xAAAAAAAA, 0xAAAAAAAA, 0xAAAAAAAA,
+    0x003F00FF, 0x00FF00FF, 0x00FF003F, 0x3FFF00FF,
+    0xFFFFFFFF, 0x50DFFFFF, 0x00CF10DC, 0x10DC00FF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00004000, 0xFFFF0000,
+    0x00000010, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0xFFFF0000, 0x000003FF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0xFFFF0000, 0x7FFFFFFF, 0x00481562,
+    0xAAAAAAAA, 0xAAAAAAAA, 0xAAAAAAAA, 0x0000500A,
+    0xFFFFFFFF, 0x0000003F, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0xAAAAAAAA, 0x00002AA8,
+    0x00AAAAAA, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0xAAA8AAA8, 0xAAAAAAAA, 0x9400AAAA,
+    0x000010AA, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00F8007F, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x07FFFFFE, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0xFFFFFF00, 0x0000FFFF, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000
+  }
+};
new file mode 100644
--- /dev/null
+++ b/modules/unictype/property-changes-when-uppercased
@@ -0,0 +1,28 @@
+Description:
+Test whether a Unicode character changes when uppercased.
+
+Files:
+lib/unictype/pr_changes_when_uppercased.c
+lib/unictype/pr_changes_when_uppercased.h
+lib/unictype/bitmap.h
+
+Depends-on:
+unictype/base
+
+configure.ac:
+AC_REQUIRE([AC_C_INLINE])
+gl_LIBUNISTRING_MODULE([0.9.4], [unictype/property-changes-when-uppercased])
+
+Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_CHANGES_WHEN_UPPERCASED
+lib_SOURCES += unictype/pr_changes_when_uppercased.c
+endif
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
new file mode 100644
--- /dev/null
+++ b/modules/unictype/property-changes-when-uppercased-tests
@@ -0,0 +1,15 @@
+Files:
+tests/unictype/test-pr_changes_when_uppercased.c
+tests/unictype/test-predicate-part1.h
+tests/unictype/test-predicate-part2.h
+tests/macros.h
+
+Depends-on:
+
+configure.ac:
+
+Makefile.am:
+TESTS += test-pr_changes_when_uppercased
+check_PROGRAMS += test-pr_changes_when_uppercased
+test_pr_changes_when_uppercased_SOURCES = unictype/test-pr_changes_when_uppercased.c
+test_pr_changes_when_uppercased_LDADD = $(LDADD) $(LIBUNISTRING)
new file mode 100644
--- /dev/null
+++ b/tests/unictype/test-pr_changes_when_uppercased.c
@@ -0,0 +1,595 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Test the Unicode character type functions.
+   Copyright (C) 2007 Free Software Foundation, Inc.
+
+   This program is free software: you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include "test-predicate-part1.h"
+
+    { 0x0061, 0x007A },
+    { 0x00B5, 0x00B5 },
+    { 0x00DF, 0x00F6 },
+    { 0x00F8, 0x00FF },
+    { 0x0101, 0x0101 },
+    { 0x0103, 0x0103 },
+    { 0x0105, 0x0105 },
+    { 0x0107, 0x0107 },
+    { 0x0109, 0x0109 },
+    { 0x010B, 0x010B },
+    { 0x010D, 0x010D },
+    { 0x010F, 0x010F },
+    { 0x0111, 0x0111 },
+    { 0x0113, 0x0113 },
+    { 0x0115, 0x0115 },
+    { 0x0117, 0x0117 },
+    { 0x0119, 0x0119 },
+    { 0x011B, 0x011B },
+    { 0x011D, 0x011D },
+    { 0x011F, 0x011F },
+    { 0x0121, 0x0121 },
+    { 0x0123, 0x0123 },
+    { 0x0125, 0x0125 },
+    { 0x0127, 0x0127 },
+    { 0x0129, 0x0129 },
+    { 0x012B, 0x012B },
+    { 0x012D, 0x012D },
+    { 0x012F, 0x012F },
+    { 0x0131, 0x0131 },
+    { 0x0133, 0x0133 },
+    { 0x0135, 0x0135 },
+    { 0x0137, 0x0137 },
+    { 0x013A, 0x013A },
+    { 0x013C, 0x013C },
+    { 0x013E, 0x013E },
+    { 0x0140, 0x0140 },
+    { 0x0142, 0x0142 },
+    { 0x0144, 0x0144 },
+    { 0x0146, 0x0146 },
+    { 0x0148, 0x0149 },
+    { 0x014B, 0x014B },
+    { 0x014D, 0x014D },
+    { 0x014F, 0x014F },
+    { 0x0151, 0x0151 },
+    { 0x0153, 0x0153 },
+    { 0x0155, 0x0155 },
+    { 0x0157, 0x0157 },
+    { 0x0159, 0x0159 },
+    { 0x015B, 0x015B },
+    { 0x015D, 0x015D },
+    { 0x015F, 0x015F },
+    { 0x0161, 0x0161 },
+    { 0x0163, 0x0163 },
+    { 0x0165, 0x0165 },
+    { 0x0167, 0x0167 },
+    { 0x0169, 0x0169 },
+    { 0x016B, 0x016B },
+    { 0x016D, 0x016D },
+    { 0x016F, 0x016F },
+    { 0x0171, 0x0171 },
+    { 0x0173, 0x0173 },
+    { 0x0175, 0x0175 },
+    { 0x0177, 0x0177 },
+    { 0x017A, 0x017A },
+    { 0x017C, 0x017C },
+    { 0x017E, 0x0180 },
+    { 0x0183, 0x0183 },
+    { 0x0185, 0x0185 },
+    { 0x0188, 0x0188 },
+    { 0x018C, 0x018C },
+    { 0x0192, 0x0192 },
+    { 0x0195, 0x0195 },
+    { 0x0199, 0x019A },
+    { 0x019E, 0x019E },
+    { 0x01A1, 0x01A1 },
+    { 0x01A3, 0x01A3 },
+    { 0x01A5, 0x01A5 },
+    { 0x01A8, 0x01A8 },
+    { 0x01AD, 0x01AD },
+    { 0x01B0, 0x01B0 },
+    { 0x01B4, 0x01B4 },
+    { 0x01B6, 0x01B6 },
+    { 0x01B9, 0x01B9 },
+    { 0x01BD, 0x01BD },
+    { 0x01BF, 0x01BF },
+    { 0x01C5, 0x01C6 },
+    { 0x01C8, 0x01C9 },
+    { 0x01CB, 0x01CC },
+    { 0x01CE, 0x01CE },
+    { 0x01D0, 0x01D0 },
+    { 0x01D2, 0x01D2 },
+    { 0x01D4, 0x01D4 },
+    { 0x01D6, 0x01D6 },
+    { 0x01D8, 0x01D8 },
+    { 0x01DA, 0x01DA },
+    { 0x01DC, 0x01DD },
+    { 0x01DF, 0x01DF },
+    { 0x01E1, 0x01E1 },
+    { 0x01E3, 0x01E3 },
+    { 0x01E5, 0x01E5 },
+    { 0x01E7, 0x01E7 },
+    { 0x01E9, 0x01E9 },
+    { 0x01EB, 0x01EB },
+    { 0x01ED, 0x01ED },
+    { 0x01EF, 0x01F0 },
+    { 0x01F2, 0x01F3 },
+    { 0x01F5, 0x01F5 },
+    { 0x01F9, 0x01F9 },
+    { 0x01FB, 0x01FB },
+    { 0x01FD, 0x01FD },
+    { 0x01FF, 0x01FF },
+    { 0x0201, 0x0201 },
+    { 0x0203, 0x0203 },
+    { 0x0205, 0x0205 },
+    { 0x0207, 0x0207 },
+    { 0x0209, 0x0209 },
+    { 0x020B, 0x020B },
+    { 0x020D, 0x020D },
+    { 0x020F, 0x020F },
+    { 0x0211, 0x0211 },
+    { 0x0213, 0x0213 },
+    { 0x0215, 0x0215 },
+    { 0x0217, 0x0217 },
+    { 0x0219, 0x0219 },
+    { 0x021B, 0x021B },
+    { 0x021D, 0x021D },
+    { 0x021F, 0x021F },
+    { 0x0223, 0x0223 },
+    { 0x0225, 0x0225 },
+    { 0x0227, 0x0227 },
+    { 0x0229, 0x0229 },
+    { 0x022B, 0x022B },
+    { 0x022D, 0x022D },
+    { 0x022F, 0x022F },
+    { 0x0231, 0x0231 },
+    { 0x0233, 0x0233 },
+    { 0x023C, 0x023C },
+    { 0x023F, 0x0240 },
+    { 0x0242, 0x0242 },
+    { 0x0247, 0x0247 },
+    { 0x0249, 0x0249 },
+    { 0x024B, 0x024B },
+    { 0x024D, 0x024D },
+    { 0x024F, 0x0254 },
+    { 0x0256, 0x0257 },
+    { 0x0259, 0x0259 },
+    { 0x025B, 0x025B },
+    { 0x0260, 0x0260 },
+    { 0x0263, 0x0263 },
+    { 0x0268, 0x0269 },
+    { 0x026B, 0x026B },
+    { 0x026F, 0x026F },
+    { 0x0271, 0x0272 },
+    { 0x0275, 0x0275 },
+    { 0x027D, 0x027D },
+    { 0x0280, 0x0280 },
+    { 0x0283, 0x0283 },
+    { 0x0288, 0x028C },
+    { 0x0292, 0x0292 },
+    { 0x0345, 0x0345 },
+    { 0x0371, 0x0371 },
+    { 0x0373, 0x0373 },
+    { 0x0377, 0x0377 },
+    { 0x037B, 0x037D },
+    { 0x0390, 0x0390 },
+    { 0x03AC, 0x03CE },
+    { 0x03D0, 0x03D1 },
+    { 0x03D5, 0x03D7 },
+    { 0x03D9, 0x03D9 },
+    { 0x03DB, 0x03DB },
+    { 0x03DD, 0x03DD },
+    { 0x03DF, 0x03DF },
+    { 0x03E1, 0x03E1 },
+    { 0x03E3, 0x03E3 },
+    { 0x03E5, 0x03E5 },
+    { 0x03E7, 0x03E7 },
+    { 0x03E9, 0x03E9 },
+    { 0x03EB, 0x03EB },
+    { 0x03ED, 0x03ED },
+    { 0x03EF, 0x03F2 },
+    { 0x03F5, 0x03F5 },
+    { 0x03F8, 0x03F8 },
+    { 0x03FB, 0x03FB },
+    { 0x0430, 0x045F },
+    { 0x0461, 0x0461 },
+    { 0x0463, 0x0463 },
+    { 0x0465, 0x0465 },
+    { 0x0467, 0x0467 },
+    { 0x0469, 0x0469 },
+    { 0x046B, 0x046B },
+    { 0x046D, 0x046D },
+    { 0x046F, 0x046F },
+    { 0x0471, 0x0471 },
+    { 0x0473, 0x0473 },
+    { 0x0475, 0x0475 },
+    { 0x0477, 0x0477 },
+    { 0x0479, 0x0479 },
+    { 0x047B, 0x047B },
+    { 0x047D, 0x047D },
+    { 0x047F, 0x047F },
+    { 0x0481, 0x0481 },
+    { 0x048B, 0x048B },
+    { 0x048D, 0x048D },
+    { 0x048F, 0x048F },
+    { 0x0491, 0x0491 },
+    { 0x0493, 0x0493 },
+    { 0x0495, 0x0495 },
+    { 0x0497, 0x0497 },
+    { 0x0499, 0x0499 },
+    { 0x049B, 0x049B },
+    { 0x049D, 0x049D },
+    { 0x049F, 0x049F },
+    { 0x04A1, 0x04A1 },
+    { 0x04A3, 0x04A3 },
+    { 0x04A5, 0x04A5 },
+    { 0x04A7, 0x04A7 },
+    { 0x04A9, 0x04A9 },
+    { 0x04AB, 0x04AB },
+    { 0x04AD, 0x04AD },
+    { 0x04AF, 0x04AF },
+    { 0x04B1, 0x04B1 },
+    { 0x04B3, 0x04B3 },
+    { 0x04B5, 0x04B5 },
+    { 0x04B7, 0x04B7 },
+    { 0x04B9, 0x04B9 },
+    { 0x04BB, 0x04BB },
+    { 0x04BD, 0x04BD },
+    { 0x04BF, 0x04BF },
+    { 0x04C2, 0x04C2 },
+    { 0x04C4, 0x04C4 },
+    { 0x04C6, 0x04C6 },
+    { 0x04C8, 0x04C8 },
+    { 0x04CA, 0x04CA },
+    { 0x04CC, 0x04CC },
+    { 0x04CE, 0x04CF },
+    { 0x04D1, 0x04D1 },
+    { 0x04D3, 0x04D3 },
+    { 0x04D5, 0x04D5 },
+    { 0x04D7, 0x04D7 },
+    { 0x04D9, 0x04D9 },
+    { 0x04DB, 0x04DB },
+    { 0x04DD, 0x04DD },
+    { 0x04DF, 0x04DF },
+    { 0x04E1, 0x04E1 },
+    { 0x04E3, 0x04E3 },
+    { 0x04E5, 0x04E5 },
+    { 0x04E7, 0x04E7 },
+    { 0x04E9, 0x04E9 },
+    { 0x04EB, 0x04EB },
+    { 0x04ED, 0x04ED },
+    { 0x04EF, 0x04EF },
+    { 0x04F1, 0x04F1 },
+    { 0x04F3, 0x04F3 },
+    { 0x04F5, 0x04F5 },
+    { 0x04F7, 0x04F7 },
+    { 0x04F9, 0x04F9 },
+    { 0x04FB, 0x04FB },
+    { 0x04FD, 0x04FD },
+    { 0x04FF, 0x04FF },
+    { 0x0501, 0x0501 },
+    { 0x0503, 0x0503 },
+    { 0x0505, 0x0505 },
+    { 0x0507, 0x0507 },
+    { 0x0509, 0x0509 },
+    { 0x050B, 0x050B },
+    { 0x050D, 0x050D },
+    { 0x050F, 0x050F },
+    { 0x0511, 0x0511 },
+    { 0x0513, 0x0513 },
+    { 0x0515, 0x0515 },
+    { 0x0517, 0x0517 },
+    { 0x0519, 0x0519 },
+    { 0x051B, 0x051B },
+    { 0x051D, 0x051D },
+    { 0x051F, 0x051F },
+    { 0x0521, 0x0521 },
+    { 0x0523, 0x0523 },
+    { 0x0525, 0x0525 },
+    { 0x0561, 0x0587 },
+    { 0x1D79, 0x1D79 },
+    { 0x1D7D, 0x1D7D },
+    { 0x1E01, 0x1E01 },
+    { 0x1E03, 0x1E03 },
+    { 0x1E05, 0x1E05 },
+    { 0x1E07, 0x1E07 },
+    { 0x1E09, 0x1E09 },
+    { 0x1E0B, 0x1E0B },
+    { 0x1E0D, 0x1E0D },
+    { 0x1E0F, 0x1E0F },
+    { 0x1E11, 0x1E11 },
+    { 0x1E13, 0x1E13 },
+    { 0x1E15, 0x1E15 },
+    { 0x1E17, 0x1E17 },
+    { 0x1E19, 0x1E19 },
+    { 0x1E1B, 0x1E1B },
+    { 0x1E1D, 0x1E1D },
+    { 0x1E1F, 0x1E1F },
+    { 0x1E21, 0x1E21 },
+    { 0x1E23, 0x1E23 },
+    { 0x1E25, 0x1E25 },
+    { 0x1E27, 0x1E27 },
+    { 0x1E29, 0x1E29 },
+    { 0x1E2B, 0x1E2B },
+    { 0x1E2D, 0x1E2D },
+    { 0x1E2F, 0x1E2F },
+    { 0x1E31, 0x1E31 },
+    { 0x1E33, 0x1E33 },
+    { 0x1E35, 0x1E35 },
+    { 0x1E37, 0x1E37 },
+    { 0x1E39, 0x1E39 },
+    { 0x1E3B, 0x1E3B },
+    { 0x1E3D, 0x1E3D },
+    { 0x1E3F, 0x1E3F },
+    { 0x1E41, 0x1E41 },
+    { 0x1E43, 0x1E43 },
+    { 0x1E45, 0x1E45 },
+    { 0x1E47, 0x1E47 },
+    { 0x1E49, 0x1E49 },
+    { 0x1E4B, 0x1E4B },
+    { 0x1E4D, 0x1E4D },
+    { 0x1E4F, 0x1E4F },
+    { 0x1E51, 0x1E51 },
+    { 0x1E53, 0x1E53 },
+    { 0x1E55, 0x1E55 },
+    { 0x1E57, 0x1E57 },
+    { 0x1E59, 0x1E59 },
+    { 0x1E5B, 0x1E5B },
+    { 0x1E5D, 0x1E5D },
+    { 0x1E5F, 0x1E5F },
+    { 0x1E61, 0x1E61 },
+    { 0x1E63, 0x1E63 },
+    { 0x1E65, 0x1E65 },
+    { 0x1E67, 0x1E67 },
+    { 0x1E69, 0x1E69 },
+    { 0x1E6B, 0x1E6B },
+    { 0x1E6D, 0x1E6D },
+    { 0x1E6F, 0x1E6F },
+    { 0x1E71, 0x1E71 },
+    { 0x1E73, 0x1E73 },
+    { 0x1E75, 0x1E75 },
+    { 0x1E77, 0x1E77 },
+    { 0x1E79, 0x1E79 },
+    { 0x1E7B, 0x1E7B },
+    { 0x1E7D, 0x1E7D },
+    { 0x1E7F, 0x1E7F },
+    { 0x1E81, 0x1E81 },
+    { 0x1E83, 0x1E83 },
+    { 0x1E85, 0x1E85 },
+    { 0x1E87, 0x1E87 },
+    { 0x1E89, 0x1E89 },
+    { 0x1E8B, 0x1E8B },
+    { 0x1E8D, 0x1E8D },
+    { 0x1E8F, 0x1E8F },
+    { 0x1E91, 0x1E91 },
+    { 0x1E93, 0x1E93 },
+    { 0x1E95, 0x1E9B },
+    { 0x1EA1, 0x1EA1 },
+    { 0x1EA3, 0x1EA3 },
+    { 0x1EA5, 0x1EA5 },
+    { 0x1EA7, 0x1EA7 },
+    { 0x1EA9, 0x1EA9 },
+    { 0x1EAB, 0x1EAB },
+    { 0x1EAD, 0x1EAD },
+    { 0x1EAF, 0x1EAF },
+    { 0x1EB1, 0x1EB1 },
+    { 0x1EB3, 0x1EB3 },
+    { 0x1EB5, 0x1EB5 },
+    { 0x1EB7, 0x1EB7 },
+    { 0x1EB9, 0x1EB9 },
+    { 0x1EBB, 0x1EBB },
+    { 0x1EBD, 0x1EBD },
+    { 0x1EBF, 0x1EBF },
+    { 0x1EC1, 0x1EC1 },
+    { 0x1EC3, 0x1EC3 },
+    { 0x1EC5, 0x1EC5 },
+    { 0x1EC7, 0x1EC7 },
+    { 0x1EC9, 0x1EC9 },
+    { 0x1ECB, 0x1ECB },
+    { 0x1ECD, 0x1ECD },
+    { 0x1ECF, 0x1ECF },
+    { 0x1ED1, 0x1ED1 },
+    { 0x1ED3, 0x1ED3 },
+    { 0x1ED5, 0x1ED5 },
+    { 0x1ED7, 0x1ED7 },
+    { 0x1ED9, 0x1ED9 },
+    { 0x1EDB, 0x1EDB },
+    { 0x1EDD, 0x1EDD },
+    { 0x1EDF, 0x1EDF },
+    { 0x1EE1, 0x1EE1 },
+    { 0x1EE3, 0x1EE3 },
+    { 0x1EE5, 0x1EE5 },
+    { 0x1EE7, 0x1EE7 },
+    { 0x1EE9, 0x1EE9 },
+    { 0x1EEB, 0x1EEB },
+    { 0x1EED, 0x1EED },
+    { 0x1EEF, 0x1EEF },
+    { 0x1EF1, 0x1EF1 },
+    { 0x1EF3, 0x1EF3 },
+    { 0x1EF5, 0x1EF5 },
+    { 0x1EF7, 0x1EF7 },
+    { 0x1EF9, 0x1EF9 },
+    { 0x1EFB, 0x1EFB },
+    { 0x1EFD, 0x1EFD },
+    { 0x1EFF, 0x1F07 },
+    { 0x1F10, 0x1F15 },
+    { 0x1F20, 0x1F27 },
+    { 0x1F30, 0x1F37 },
+    { 0x1F40, 0x1F45 },
+    { 0x1F50, 0x1F57 },
+    { 0x1F60, 0x1F67 },
+    { 0x1F70, 0x1F7D },
+    { 0x1F80, 0x1FB4 },
+    { 0x1FB6, 0x1FB7 },
+    { 0x1FBC, 0x1FBC },
+    { 0x1FBE, 0x1FBE },
+    { 0x1FC2, 0x1FC4 },
+    { 0x1FC6, 0x1FC7 },
+    { 0x1FCC, 0x1FCC },
+    { 0x1FD0, 0x1FD3 },
+    { 0x1FD6, 0x1FD7 },
+    { 0x1FE0, 0x1FE7 },
+    { 0x1FF2, 0x1FF4 },
+    { 0x1FF6, 0x1FF7 },
+    { 0x1FFC, 0x1FFC },
+    { 0x214E, 0x214E },
+    { 0x2170, 0x217F },
+    { 0x2184, 0x2184 },
+    { 0x24D0, 0x24E9 },
+    { 0x2C30, 0x2C5E },
+    { 0x2C61, 0x2C61 },
+    { 0x2C65, 0x2C66 },
+    { 0x2C68, 0x2C68 },
+    { 0x2C6A, 0x2C6A },
+    { 0x2C6C, 0x2C6C },
+    { 0x2C73, 0x2C73 },
+    { 0x2C76, 0x2C76 },
+    { 0x2C81, 0x2C81 },
+    { 0x2C83, 0x2C83 },
+    { 0x2C85, 0x2C85 },
+    { 0x2C87, 0x2C87 },
+    { 0x2C89, 0x2C89 },
+    { 0x2C8B, 0x2C8B },
+    { 0x2C8D, 0x2C8D },
+    { 0x2C8F, 0x2C8F },
+    { 0x2C91, 0x2C91 },
+    { 0x2C93, 0x2C93 },
+    { 0x2C95, 0x2C95 },
+    { 0x2C97, 0x2C97 },
+    { 0x2C99, 0x2C99 },
+    { 0x2C9B, 0x2C9B },
+    { 0x2C9D, 0x2C9D },
+    { 0x2C9F, 0x2C9F },
+    { 0x2CA1, 0x2CA1 },
+    { 0x2CA3, 0x2CA3 },
+    { 0x2CA5, 0x2CA5 },
+    { 0x2CA7, 0x2CA7 },
+    { 0x2CA9, 0x2CA9 },
+    { 0x2CAB, 0x2CAB },
+    { 0x2CAD, 0x2CAD },
+    { 0x2CAF, 0x2CAF },
+    { 0x2CB1, 0x2CB1 },
+    { 0x2CB3, 0x2CB3 },
+    { 0x2CB5, 0x2CB5 },
+    { 0x2CB7, 0x2CB7 },
+    { 0x2CB9, 0x2CB9 },
+    { 0x2CBB, 0x2CBB },
+    { 0x2CBD, 0x2CBD },
+    { 0x2CBF, 0x2CBF },
+    { 0x2CC1, 0x2CC1 },
+    { 0x2CC3, 0x2CC3 },
+    { 0x2CC5, 0x2CC5 },
+    { 0x2CC7, 0x2CC7 },
+    { 0x2CC9, 0x2CC9 },
+    { 0x2CCB, 0x2CCB },
+    { 0x2CCD, 0x2CCD },
+    { 0x2CCF, 0x2CCF },
+    { 0x2CD1, 0x2CD1 },
+    { 0x2CD3, 0x2CD3 },
+    { 0x2CD5, 0x2CD5 },
+    { 0x2CD7, 0x2CD7 },
+    { 0x2CD9, 0x2CD9 },
+    { 0x2CDB, 0x2CDB },
+    { 0x2CDD, 0x2CDD },
+    { 0x2CDF, 0x2CDF },
+    { 0x2CE1, 0x2CE1 },
+    { 0x2CE3, 0x2CE3 },
+    { 0x2CEC, 0x2CEC },
+    { 0x2CEE, 0x2CEE },
+    { 0x2D00, 0x2D25 },
+    { 0xA641, 0xA641 },
+    { 0xA643, 0xA643 },
+    { 0xA645, 0xA645 },
+    { 0xA647, 0xA647 },
+    { 0xA649, 0xA649 },
+    { 0xA64B, 0xA64B },
+    { 0xA64D, 0xA64D },
+    { 0xA64F, 0xA64F },
+    { 0xA651, 0xA651 },
+    { 0xA653, 0xA653 },
+    { 0xA655, 0xA655 },
+    { 0xA657, 0xA657 },
+    { 0xA659, 0xA659 },
+    { 0xA65B, 0xA65B },
+    { 0xA65D, 0xA65D },
+    { 0xA65F, 0xA65F },
+    { 0xA663, 0xA663 },
+    { 0xA665, 0xA665 },
+    { 0xA667, 0xA667 },
+    { 0xA669, 0xA669 },
+    { 0xA66B, 0xA66B },
+    { 0xA66D, 0xA66D },
+    { 0xA681, 0xA681 },
+    { 0xA683, 0xA683 },
+    { 0xA685, 0xA685 },
+    { 0xA687, 0xA687 },
+    { 0xA689, 0xA689 },
+    { 0xA68B, 0xA68B },
+    { 0xA68D, 0xA68D },
+    { 0xA68F, 0xA68F },
+    { 0xA691, 0xA691 },
+    { 0xA693, 0xA693 },
+    { 0xA695, 0xA695 },
+    { 0xA697, 0xA697 },
+    { 0xA723, 0xA723 },
+    { 0xA725, 0xA725 },
+    { 0xA727, 0xA727 },
+    { 0xA729, 0xA729 },
+    { 0xA72B, 0xA72B },
+    { 0xA72D, 0xA72D },
+    { 0xA72F, 0xA72F },
+    { 0xA733, 0xA733 },
+    { 0xA735, 0xA735 },
+    { 0xA737, 0xA737 },
+    { 0xA739, 0xA739 },
+    { 0xA73B, 0xA73B },
+    { 0xA73D, 0xA73D },
+    { 0xA73F, 0xA73F },
+    { 0xA741, 0xA741 },
+    { 0xA743, 0xA743 },
+    { 0xA745, 0xA745 },
+    { 0xA747, 0xA747 },
+    { 0xA749, 0xA749 },
+    { 0xA74B, 0xA74B },
+    { 0xA74D, 0xA74D },
+    { 0xA74F, 0xA74F },
+    { 0xA751, 0xA751 },
+    { 0xA753, 0xA753 },
+    { 0xA755, 0xA755 },
+    { 0xA757, 0xA757 },
+    { 0xA759, 0xA759 },
+    { 0xA75B, 0xA75B },
+    { 0xA75D, 0xA75D },
+    { 0xA75F, 0xA75F },
+    { 0xA761, 0xA761 },
+    { 0xA763, 0xA763 },
+    { 0xA765, 0xA765 },
+    { 0xA767, 0xA767 },
+    { 0xA769, 0xA769 },
+    { 0xA76B, 0xA76B },
+    { 0xA76D, 0xA76D },
+    { 0xA76F, 0xA76F },
+    { 0xA77A, 0xA77A },
+    { 0xA77C, 0xA77C },
+    { 0xA77F, 0xA77F },
+    { 0xA781, 0xA781 },
+    { 0xA783, 0xA783 },
+    { 0xA785, 0xA785 },
+    { 0xA787, 0xA787 },
+    { 0xA78C, 0xA78C },
+    { 0xFB00, 0xFB06 },
+    { 0xFB13, 0xFB17 },
+    { 0xFF41, 0xFF5A },
+    { 0x10428, 0x1044F }
+
+#define PREDICATE(c) uc_is_property_changes_when_uppercased (c)
+#include "test-predicate-part2.h"