changeset 14154:b0887c69787c

New module 'unictype/property-case-ignorable'. * modules/unictype/property-case-ignorable: New file. * lib/unictype/pr_case_ignorable.c: New file. * lib/unictype/pr_case_ignorable.h: New file, automatically generated by gen-uni-tables. * modules/unictype/property-case-ignorable-tests: New file. * tests/unictype/test-pr_case_ignorable.c: New file, automatically generated by gen-uni-tables.
author Bruno Haible <bruno@clisp.org>
date Sun, 09 Jan 2011 11:20:53 +0100
parents 0f2b09130fa4
children 27b76213d76e
files ChangeLog lib/unictype/pr_case_ignorable.c lib/unictype/pr_case_ignorable.h modules/unictype/property-case-ignorable modules/unictype/property-case-ignorable-tests tests/unictype/test-pr_case_ignorable.c
diffstat 6 files changed, 927 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-case-ignorable'.
+	* modules/unictype/property-case-ignorable: New file.
+	* lib/unictype/pr_case_ignorable.c: New file.
+	* lib/unictype/pr_case_ignorable.h: New file, automatically generated
+	by gen-uni-tables.
+	* modules/unictype/property-case-ignorable-tests: New file.
+	* tests/unictype/test-pr_case_ignorable.c: New file, automatically
+	generated by gen-uni-tables.
+
 	New module 'unictype/property-cased'.
 	* modules/unictype/property-cased: New file.
 	* lib/unictype/pr_cased.c: New file.
new file mode 100644
--- /dev/null
+++ b/lib/unictype/pr_case_ignorable.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_case_ignorable table.  */
+#include "pr_case_ignorable.h"
+
+bool
+uc_is_property_case_ignorable (ucs4_t uc)
+{
+  return bitmap_lookup (&u_property_case_ignorable, uc);
+}
+
+const uc_property_t UC_PROPERTY_CASE_IGNORABLE =
+  { &uc_is_property_case_ignorable };
new file mode 100644
--- /dev/null
+++ b/lib/unictype/pr_case_ignorable.h
@@ -0,0 +1,552 @@
+/* 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[15];
+    short level2[3 << 7];
+    /*unsigned*/ int level3[32 << 4];
+  }
+u_property_case_ignorable =
+{
+  { 15 },
+  {
+       16 * sizeof (int) / sizeof (short) +     0,
+       16 * sizeof (int) / sizeof (short) +   128,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       16 * sizeof (int) / sizeof (short) +   256
+  },
+  {
+       16 +   384 * sizeof (short) / sizeof (int) +     0,
+       16 +   384 * sizeof (short) / sizeof (int) +    16,
+       16 +   384 * sizeof (short) / sizeof (int) +    32,
+       16 +   384 * sizeof (short) / sizeof (int) +    48,
+       16 +   384 * sizeof (short) / sizeof (int) +    64,
+       16 +   384 * sizeof (short) / sizeof (int) +    80,
+       16 +   384 * sizeof (short) / sizeof (int) +    96,
+       16 +   384 * sizeof (short) / sizeof (int) +   112,
+       16 +   384 * sizeof (short) / sizeof (int) +   128,
+       16 +   384 * sizeof (short) / sizeof (int) +   144,
+       -1,
+       16 +   384 * sizeof (short) / sizeof (int) +   160,
+       16 +   384 * sizeof (short) / sizeof (int) +   176,
+       16 +   384 * sizeof (short) / sizeof (int) +   192,
+       16 +   384 * sizeof (short) / sizeof (int) +   208,
+       16 +   384 * sizeof (short) / sizeof (int) +   224,
+       16 +   384 * sizeof (short) / sizeof (int) +   240,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       16 +   384 * sizeof (short) / sizeof (int) +   256,
+       16 +   384 * sizeof (short) / sizeof (int) +   272,
+       16 +   384 * sizeof (short) / sizeof (int) +   288,
+       -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,
+       16 +   384 * sizeof (short) / sizeof (int) +   304,
+       -1,
+       16 +   384 * sizeof (short) / sizeof (int) +   320,
+       16 +   384 * sizeof (short) / sizeof (int) +   336,
+       16 +   384 * sizeof (short) / sizeof (int) +   352,
+       16 +   384 * sizeof (short) / sizeof (int) +   368,
+       -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,
+       16 +   384 * sizeof (short) / sizeof (int) +   384,
+       -1,
+       16 +   384 * sizeof (short) / sizeof (int) +   400,
+       16 +   384 * sizeof (short) / sizeof (int) +   416,
+       -1,
+       -1,
+       -1,
+       -1,
+       16 +   384 * sizeof (short) / sizeof (int) +   432,
+       -1,
+       -1,
+       16 +   384 * sizeof (short) / sizeof (int) +   448,
+       -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,
+       16 +   384 * sizeof (short) / sizeof (int) +   464,
+       16 +   384 * sizeof (short) / sizeof (int) +   480,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       16 +   384 * sizeof (short) / sizeof (int) +   496,
+       -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,
+       -1,
+       -1
+  },
+  {
+    0x00000000, 0x04004080, 0x40000000, 0x00000001,
+    0x00000000, 0x0190A100, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0xFFFF0000, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x0430FFFF,
+    0x000000B0, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x000003F8, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x02000000, 0x00000000,
+    0xFFFE0000, 0xBFFFFFFF, 0x000000B6, 0x00100000,
+    0x07FF000F, 0x00000000, 0x7FFFF801, 0x00010000,
+    0x00000000, 0x00000000, 0xFFC00000, 0x00003DFF,
+    0x00028000, 0xFFFF0000, 0x000007FF, 0x00000000,
+    0x00000000, 0x0001FFC0, 0x00000000, 0x043FF800,
+    0xFFC00000, 0x00003FFF, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000007, 0x10000000, 0x003E21FE, 0x0002000C,
+    0x00000002, 0x10000000, 0x0000201E, 0x0000000C,
+    0x00000006, 0x10000000, 0x00023986, 0x00230000,
+    0x00000006, 0x10000000, 0x000021BE, 0x0000000C,
+    0x00000002, 0x90000000, 0x0040201E, 0x0000000C,
+    0x00000004, 0x00000000, 0x00002001, 0x00000000,
+    0x00000000, 0xC0000000, 0x00603DC1, 0x0000000C,
+    0x00000000, 0x90000000, 0x00003040, 0x0000000C,
+    0x00000000, 0x00000000, 0x0000201E, 0x0000000C,
+    0x00000000, 0x00000000, 0x005C0400, 0x00000000,
+    0x00000000, 0x07F20000, 0x00007FC0, 0x00000000,
+    0x00000000, 0x1BF20000, 0x00003F40, 0x00000000,
+    0x03000000, 0x02A00000, 0x00000000, 0x7FFE0000,
+    0xFEFF00DF, 0x1FFFFFFF, 0x00000040, 0x00000000,
+    0x00000000, 0x66FDE000, 0xC3000000, 0x001E0001,
+    0x20002064, 0x00000000, 0x00000000, 0x10000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x80000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x001C0000, 0x001C0000, 0x000C0000, 0x000C0000,
+    0x00000000, 0x3FB00000, 0x208FFE40, 0x00000000,
+    0x00003800, 0x00000000, 0x00000008, 0x00000000,
+    0x00000000, 0x00000200, 0x00000000, 0x00000000,
+    0x00000000, 0x0E040187, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x01800000, 0x00000000, 0x7F400000, 0x9FF81FE5,
+    0x00000000, 0x00000080, 0x00000000, 0x00000000,
+    0x0000000F, 0x17D00000, 0x00000004, 0x000FF800,
+    0x00000003, 0x0000033C, 0x00000000, 0x00000000,
+    0x00000000, 0x00CFF000, 0x00000000, 0x3F000000,
+    0x00000000, 0x00000000, 0xFFF70000, 0x000021FD,
+    0x00000000, 0xFFFFF000, 0xFFFFFFFF, 0x01000003,
+    0xF8000000, 0xFFFFFFFF, 0xFFFFFFFF, 0xE000007F,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0xA0000000, 0xE000E003, 0x6000E000,
+    0x0300F800, 0x00007C90, 0x00000000, 0x8002FC1F,
+    0x001F0000, 0x00000000, 0xFFFF0000, 0x0001FFFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x20000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00038000,
+    0x00000000, 0x00000000, 0x00000000, 0x00008000,
+    0x00000000, 0x00000000, 0x00000000, 0xFFFFFFFF,
+    0x00000000, 0x00008000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000020, 0x083EFC00, 0x00000000, 0x00000000,
+    0x7E000000, 0x00000000, 0x00000000, 0x70000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00200000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x3F000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00001000, 0x00000000, 0x00000000, 0xB0078000,
+    0x00000000, 0x00000000, 0x00000000, 0x00030000,
+    0xFFFFFFFF, 0x00000003, 0x00000000, 0x00010000,
+    0x00000700, 0x00000000, 0x00000000, 0x00000000,
+    0x00000844, 0x00000060, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000010, 0x0003FFFF,
+    0x00000000, 0x00003FC0, 0x0003FF80, 0x00000000,
+    0x00000007, 0x13C80000, 0x00008000, 0x00000000,
+    0x00000000, 0x00667E00, 0x00001008, 0x00010000,
+    0x00000000, 0xC19D0000, 0x20000002, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00002120,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x40000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x0008FFFF, 0x0000007F, 0x00240000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x80000000,
+    0x04004080, 0x40000000, 0x00000001, 0x00010000,
+    0xC0000000, 0x00000000, 0x00000000, 0x0E000008,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x20000000,
+    0x0000F06E, 0x87000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000003, 0x26780000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0xFFF80380,
+    0x00000FE7, 0x00003C00, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x0000001C, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000002, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x0000FFFF
+  }
+};
new file mode 100644
--- /dev/null
+++ b/modules/unictype/property-case-ignorable
@@ -0,0 +1,28 @@
+Description:
+Test whether a Unicode character is "case ignorable".
+
+Files:
+lib/unictype/pr_case_ignorable.c
+lib/unictype/pr_case_ignorable.h
+lib/unictype/bitmap.h
+
+Depends-on:
+unictype/base
+
+configure.ac:
+AC_REQUIRE([AC_C_INLINE])
+gl_LIBUNISTRING_MODULE([0.9.4], [unictype/property-case-ignorable])
+
+Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_CASE_IGNORABLE
+lib_SOURCES += unictype/pr_case_ignorable.c
+endif
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
new file mode 100644
--- /dev/null
+++ b/modules/unictype/property-case-ignorable-tests
@@ -0,0 +1,15 @@
+Files:
+tests/unictype/test-pr_case_ignorable.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_case_ignorable
+check_PROGRAMS += test-pr_case_ignorable
+test_pr_case_ignorable_SOURCES = unictype/test-pr_case_ignorable.c
+test_pr_case_ignorable_LDADD = $(LDADD) $(LIBUNISTRING)
new file mode 100644
--- /dev/null
+++ b/tests/unictype/test-pr_case_ignorable.c
@@ -0,0 +1,288 @@
+/* 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"
+
+    { 0x0027, 0x0027 },
+    { 0x002E, 0x002E },
+    { 0x003A, 0x003A },
+    { 0x005E, 0x005E },
+    { 0x0060, 0x0060 },
+    { 0x00A8, 0x00A8 },
+    { 0x00AD, 0x00AD },
+    { 0x00AF, 0x00AF },
+    { 0x00B4, 0x00B4 },
+    { 0x00B7, 0x00B8 },
+    { 0x02B0, 0x036F },
+    { 0x0374, 0x0375 },
+    { 0x037A, 0x037A },
+    { 0x0384, 0x0385 },
+    { 0x0387, 0x0387 },
+    { 0x0483, 0x0489 },
+    { 0x0559, 0x0559 },
+    { 0x0591, 0x05BD },
+    { 0x05BF, 0x05BF },
+    { 0x05C1, 0x05C2 },
+    { 0x05C4, 0x05C5 },
+    { 0x05C7, 0x05C7 },
+    { 0x05F4, 0x05F4 },
+    { 0x0600, 0x0603 },
+    { 0x0610, 0x061A },
+    { 0x0640, 0x0640 },
+    { 0x064B, 0x065E },
+    { 0x0670, 0x0670 },
+    { 0x06D6, 0x06E8 },
+    { 0x06EA, 0x06ED },
+    { 0x070F, 0x070F },
+    { 0x0711, 0x0711 },
+    { 0x0730, 0x074A },
+    { 0x07A6, 0x07B0 },
+    { 0x07EB, 0x07F5 },
+    { 0x07FA, 0x07FA },
+    { 0x0816, 0x082D },
+    { 0x0900, 0x0902 },
+    { 0x093C, 0x093C },
+    { 0x0941, 0x0948 },
+    { 0x094D, 0x094D },
+    { 0x0951, 0x0955 },
+    { 0x0962, 0x0963 },
+    { 0x0971, 0x0971 },
+    { 0x0981, 0x0981 },
+    { 0x09BC, 0x09BC },
+    { 0x09C1, 0x09C4 },
+    { 0x09CD, 0x09CD },
+    { 0x09E2, 0x09E3 },
+    { 0x0A01, 0x0A02 },
+    { 0x0A3C, 0x0A3C },
+    { 0x0A41, 0x0A42 },
+    { 0x0A47, 0x0A48 },
+    { 0x0A4B, 0x0A4D },
+    { 0x0A51, 0x0A51 },
+    { 0x0A70, 0x0A71 },
+    { 0x0A75, 0x0A75 },
+    { 0x0A81, 0x0A82 },
+    { 0x0ABC, 0x0ABC },
+    { 0x0AC1, 0x0AC5 },
+    { 0x0AC7, 0x0AC8 },
+    { 0x0ACD, 0x0ACD },
+    { 0x0AE2, 0x0AE3 },
+    { 0x0B01, 0x0B01 },
+    { 0x0B3C, 0x0B3C },
+    { 0x0B3F, 0x0B3F },
+    { 0x0B41, 0x0B44 },
+    { 0x0B4D, 0x0B4D },
+    { 0x0B56, 0x0B56 },
+    { 0x0B62, 0x0B63 },
+    { 0x0B82, 0x0B82 },
+    { 0x0BC0, 0x0BC0 },
+    { 0x0BCD, 0x0BCD },
+    { 0x0C3E, 0x0C40 },
+    { 0x0C46, 0x0C48 },
+    { 0x0C4A, 0x0C4D },
+    { 0x0C55, 0x0C56 },
+    { 0x0C62, 0x0C63 },
+    { 0x0CBC, 0x0CBC },
+    { 0x0CBF, 0x0CBF },
+    { 0x0CC6, 0x0CC6 },
+    { 0x0CCC, 0x0CCD },
+    { 0x0CE2, 0x0CE3 },
+    { 0x0D41, 0x0D44 },
+    { 0x0D4D, 0x0D4D },
+    { 0x0D62, 0x0D63 },
+    { 0x0DCA, 0x0DCA },
+    { 0x0DD2, 0x0DD4 },
+    { 0x0DD6, 0x0DD6 },
+    { 0x0E31, 0x0E31 },
+    { 0x0E34, 0x0E3A },
+    { 0x0E46, 0x0E4E },
+    { 0x0EB1, 0x0EB1 },
+    { 0x0EB4, 0x0EB9 },
+    { 0x0EBB, 0x0EBC },
+    { 0x0EC6, 0x0EC6 },
+    { 0x0EC8, 0x0ECD },
+    { 0x0F18, 0x0F19 },
+    { 0x0F35, 0x0F35 },
+    { 0x0F37, 0x0F37 },
+    { 0x0F39, 0x0F39 },
+    { 0x0F71, 0x0F7E },
+    { 0x0F80, 0x0F84 },
+    { 0x0F86, 0x0F87 },
+    { 0x0F90, 0x0F97 },
+    { 0x0F99, 0x0FBC },
+    { 0x0FC6, 0x0FC6 },
+    { 0x102D, 0x1030 },
+    { 0x1032, 0x1037 },
+    { 0x1039, 0x103A },
+    { 0x103D, 0x103E },
+    { 0x1058, 0x1059 },
+    { 0x105E, 0x1060 },
+    { 0x1071, 0x1074 },
+    { 0x1082, 0x1082 },
+    { 0x1085, 0x1086 },
+    { 0x108D, 0x108D },
+    { 0x109D, 0x109D },
+    { 0x10FC, 0x10FC },
+    { 0x135F, 0x135F },
+    { 0x1712, 0x1714 },
+    { 0x1732, 0x1734 },
+    { 0x1752, 0x1753 },
+    { 0x1772, 0x1773 },
+    { 0x17B4, 0x17B5 },
+    { 0x17B7, 0x17BD },
+    { 0x17C6, 0x17C6 },
+    { 0x17C9, 0x17D3 },
+    { 0x17D7, 0x17D7 },
+    { 0x17DD, 0x17DD },
+    { 0x180B, 0x180D },
+    { 0x1843, 0x1843 },
+    { 0x18A9, 0x18A9 },
+    { 0x1920, 0x1922 },
+    { 0x1927, 0x1928 },
+    { 0x1932, 0x1932 },
+    { 0x1939, 0x193B },
+    { 0x1A17, 0x1A18 },
+    { 0x1A56, 0x1A56 },
+    { 0x1A58, 0x1A5E },
+    { 0x1A60, 0x1A60 },
+    { 0x1A62, 0x1A62 },
+    { 0x1A65, 0x1A6C },
+    { 0x1A73, 0x1A7C },
+    { 0x1A7F, 0x1A7F },
+    { 0x1AA7, 0x1AA7 },
+    { 0x1B00, 0x1B03 },
+    { 0x1B34, 0x1B34 },
+    { 0x1B36, 0x1B3A },
+    { 0x1B3C, 0x1B3C },
+    { 0x1B42, 0x1B42 },
+    { 0x1B6B, 0x1B73 },
+    { 0x1B80, 0x1B81 },
+    { 0x1BA2, 0x1BA5 },
+    { 0x1BA8, 0x1BA9 },
+    { 0x1C2C, 0x1C33 },
+    { 0x1C36, 0x1C37 },
+    { 0x1C78, 0x1C7D },
+    { 0x1CD0, 0x1CD2 },
+    { 0x1CD4, 0x1CE0 },
+    { 0x1CE2, 0x1CE8 },
+    { 0x1CED, 0x1CED },
+    { 0x1D2C, 0x1D61 },
+    { 0x1D78, 0x1D78 },
+    { 0x1D9B, 0x1DE6 },
+    { 0x1DFD, 0x1DFF },
+    { 0x1FBD, 0x1FBD },
+    { 0x1FBF, 0x1FC1 },
+    { 0x1FCD, 0x1FCF },
+    { 0x1FDD, 0x1FDF },
+    { 0x1FED, 0x1FEF },
+    { 0x1FFD, 0x1FFE },
+    { 0x200B, 0x200F },
+    { 0x2018, 0x2019 },
+    { 0x2024, 0x2024 },
+    { 0x2027, 0x2027 },
+    { 0x202A, 0x202E },
+    { 0x2060, 0x2064 },
+    { 0x206A, 0x206F },
+    { 0x2071, 0x2071 },
+    { 0x207F, 0x207F },
+    { 0x2090, 0x2094 },
+    { 0x20D0, 0x20F0 },
+    { 0x2C7D, 0x2C7D },
+    { 0x2CEF, 0x2CF1 },
+    { 0x2D6F, 0x2D6F },
+    { 0x2DE0, 0x2DFF },
+    { 0x2E2F, 0x2E2F },
+    { 0x3005, 0x3005 },
+    { 0x302A, 0x302F },
+    { 0x3031, 0x3035 },
+    { 0x303B, 0x303B },
+    { 0x3099, 0x309E },
+    { 0x30FC, 0x30FE },
+    { 0xA015, 0xA015 },
+    { 0xA4F8, 0xA4FD },
+    { 0xA60C, 0xA60C },
+    { 0xA66F, 0xA672 },
+    { 0xA67C, 0xA67D },
+    { 0xA67F, 0xA67F },
+    { 0xA6F0, 0xA6F1 },
+    { 0xA700, 0xA721 },
+    { 0xA770, 0xA770 },
+    { 0xA788, 0xA78A },
+    { 0xA802, 0xA802 },
+    { 0xA806, 0xA806 },
+    { 0xA80B, 0xA80B },
+    { 0xA825, 0xA826 },
+    { 0xA8C4, 0xA8C4 },
+    { 0xA8E0, 0xA8F1 },
+    { 0xA926, 0xA92D },
+    { 0xA947, 0xA951 },
+    { 0xA980, 0xA982 },
+    { 0xA9B3, 0xA9B3 },
+    { 0xA9B6, 0xA9B9 },
+    { 0xA9BC, 0xA9BC },
+    { 0xA9CF, 0xA9CF },
+    { 0xAA29, 0xAA2E },
+    { 0xAA31, 0xAA32 },
+    { 0xAA35, 0xAA36 },
+    { 0xAA43, 0xAA43 },
+    { 0xAA4C, 0xAA4C },
+    { 0xAA70, 0xAA70 },
+    { 0xAAB0, 0xAAB0 },
+    { 0xAAB2, 0xAAB4 },
+    { 0xAAB7, 0xAAB8 },
+    { 0xAABE, 0xAABF },
+    { 0xAAC1, 0xAAC1 },
+    { 0xAADD, 0xAADD },
+    { 0xABE5, 0xABE5 },
+    { 0xABE8, 0xABE8 },
+    { 0xABED, 0xABED },
+    { 0xFB1E, 0xFB1E },
+    { 0xFE00, 0xFE0F },
+    { 0xFE13, 0xFE13 },
+    { 0xFE20, 0xFE26 },
+    { 0xFE52, 0xFE52 },
+    { 0xFE55, 0xFE55 },
+    { 0xFEFF, 0xFEFF },
+    { 0xFF07, 0xFF07 },
+    { 0xFF0E, 0xFF0E },
+    { 0xFF1A, 0xFF1A },
+    { 0xFF3E, 0xFF3E },
+    { 0xFF40, 0xFF40 },
+    { 0xFF70, 0xFF70 },
+    { 0xFF9E, 0xFF9F },
+    { 0xFFE3, 0xFFE3 },
+    { 0xFFF9, 0xFFFB },
+    { 0x101FD, 0x101FD },
+    { 0x10A01, 0x10A03 },
+    { 0x10A05, 0x10A06 },
+    { 0x10A0C, 0x10A0F },
+    { 0x10A38, 0x10A3A },
+    { 0x10A3F, 0x10A3F },
+    { 0x11080, 0x11081 },
+    { 0x110B3, 0x110B6 },
+    { 0x110B9, 0x110BA },
+    { 0x110BD, 0x110BD },
+    { 0x1D167, 0x1D169 },
+    { 0x1D173, 0x1D182 },
+    { 0x1D185, 0x1D18B },
+    { 0x1D1AA, 0x1D1AD },
+    { 0x1D242, 0x1D244 },
+    { 0xE0001, 0xE0001 },
+    { 0xE0020, 0xE007F },
+    { 0xE0100, 0xE01EF }
+
+#define PREDICATE(c) uc_is_property_case_ignorable (c)
+#include "test-predicate-part2.h"