]> Savannah Git Hosting - gnulib.git/commitdiff
Implement a new property, added by Unicode 16.0.0.
authorBruno Haible <bruno@clisp.org>
Fri, 13 Sep 2024 13:25:05 +0000 (15:25 +0200)
committerBruno Haible <bruno@clisp.org>
Fri, 13 Sep 2024 13:30:08 +0000 (15:30 +0200)
* lib/gen-uni-tables.c (is_property_modifier_combining_mark): New
function.
(output_properties): Output also the property modifier_combining_mark.
* lib/unictype.in.h (UC_PROPERTY_MODIFIER_COMBINING_MARK,
uc_is_property_modifier_combining_mark): New declarations.
* m4/unictype_h.m4 (gl_UNICTYPE_H_REQUIRE_DEFAULTS): Initialize
GNULIB_UNICTYPE_PROPERTY_MODIFIER_COMBINING_MARK.
* modules/unictype/base (Makefile.am): Substitute
GNULIB_UNICTYPE_PROPERTY_MODIFIER_COMBINING_MARK.
* lib/unictype/pr_modifier_combining_mark.c: New file.
* lib/unictype/pr_modifier_combining_mark.h: New generated file.
* modules/unictype/property-modifier-combining-mark: New file.
* tests/unictype/test-pr_modifier_combining_mark.c: New generated file.
* modules/unictype/property-modifier-combining-mark-tests: New file.
* lib/unictype/pr_byname.gperf: Add modifier_combining_mark.
* lib/unictype/pr_byname.c
(UC_PROPERTY_INDEX_MODIFIER_COMBINING_MARK): New enum item.
(uc_property_byname): Handle it.
* modules/unictype/property-byname (Depends-on): Add
unictype/property-modifier-combining-mark.
* modules/unictype/property-all (Depends-on): Likewise.
* MODULES.html.sh (func_all_modules): Add
unictype/property-modifier-combining-mark.

15 files changed:
ChangeLog
MODULES.html.sh
lib/gen-uni-tables.c
lib/unictype.in.h
lib/unictype/pr_byname.c
lib/unictype/pr_byname.gperf
lib/unictype/pr_modifier_combining_mark.c [new file with mode: 0644]
lib/unictype/pr_modifier_combining_mark.h [new file with mode: 0644]
m4/unictype_h.m4
modules/unictype/base
modules/unictype/property-all
modules/unictype/property-byname
modules/unictype/property-modifier-combining-mark [new file with mode: 0644]
modules/unictype/property-modifier-combining-mark-tests [new file with mode: 0644]
tests/unictype/test-pr_modifier_combining_mark.c [new file with mode: 0644]

index 5d650ab170ebd31533c05cbb3159235432ddea40..8d3c66d510eaac5159a1a3bc99260e52ba3d05d0 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,30 @@
+2024-09-13  Bruno Haible  <bruno@clisp.org>
+
+       Implement a new property, added by Unicode 16.0.0.
+       * lib/gen-uni-tables.c (is_property_modifier_combining_mark): New
+       function.
+       (output_properties): Output also the property modifier_combining_mark.
+       * lib/unictype.in.h (UC_PROPERTY_MODIFIER_COMBINING_MARK,
+       uc_is_property_modifier_combining_mark): New declarations.
+       * m4/unictype_h.m4 (gl_UNICTYPE_H_REQUIRE_DEFAULTS): Initialize
+       GNULIB_UNICTYPE_PROPERTY_MODIFIER_COMBINING_MARK.
+       * modules/unictype/base (Makefile.am): Substitute
+       GNULIB_UNICTYPE_PROPERTY_MODIFIER_COMBINING_MARK.
+       * lib/unictype/pr_modifier_combining_mark.c: New file.
+       * lib/unictype/pr_modifier_combining_mark.h: New generated file.
+       * modules/unictype/property-modifier-combining-mark: New file.
+       * tests/unictype/test-pr_modifier_combining_mark.c: New generated file.
+       * modules/unictype/property-modifier-combining-mark-tests: New file.
+       * lib/unictype/pr_byname.gperf: Add modifier_combining_mark.
+       * lib/unictype/pr_byname.c
+       (UC_PROPERTY_INDEX_MODIFIER_COMBINING_MARK): New enum item.
+       (uc_property_byname): Handle it.
+       * modules/unictype/property-byname (Depends-on): Add
+       unictype/property-modifier-combining-mark.
+       * modules/unictype/property-all (Depends-on): Likewise.
+       * MODULES.html.sh (func_all_modules): Add
+       unictype/property-modifier-combining-mark.
+
 2024-09-13  Bruno Haible  <bruno@clisp.org>
 
        Update to Unicode 16.0.0.
index 711659f0425e9513bec1e9123abb6003393fb10f..775841bff0b09a63b67e7340daf9330051105110 100755 (executable)
@@ -3438,6 +3438,7 @@ func_all_modules ()
   func_module unictype/property-logical-order-exception
   func_module unictype/property-lowercase
   func_module unictype/property-math
+  func_module unictype/property-modifier-combining-mark
   func_module unictype/property-non-break
   func_module unictype/property-not-a-character
   func_module unictype/property-numeric
index d9897d5ae597b9051a2785a21344f2a611f7e43d..c27f870bd1c76a7c7830b9e483435497571d1913 100644 (file)
@@ -3484,6 +3484,13 @@ is_property_grapheme_link (unsigned int ch)
   return ((unicode_properties[ch] & (1ULL << PROP_GRAPHEME_LINK)) != 0);
 }
 
+/* See PropList.txt, UCD.html.  */
+static bool
+is_property_modifier_combining_mark (unsigned int ch)
+{
+  return ((unicode_properties[ch] & (1ULL << PROP_MODIFIER_COMBINING_MARK)) != 0);
+}
+
 /* See PropList.txt, UCD.html.  */
 static bool
 is_property_bidi_control (unsigned int ch)
@@ -4016,6 +4023,7 @@ output_properties (const char *version)
   PROPERTY(grapheme_extend)
   PROPERTY(other_grapheme_extend)
   PROPERTY(grapheme_link)
+  PROPERTY(modifier_combining_mark)
   PROPERTY(bidi_control)
   PROPERTY(bidi_left_to_right)
   PROPERTY(bidi_hebrew_right_to_left)
index 224407b0b5487a0eac2cd569c132c0ee1149a41a..8ad2e5410d33b6e6eae9ea072a26da0ea9c18c97 100644 (file)
@@ -651,6 +651,7 @@ extern @GNULIB_UNICTYPE_PROPERTY_GRAPHEME_BASE_DLL_VARIABLE@ const uc_property_t
 extern @GNULIB_UNICTYPE_PROPERTY_GRAPHEME_EXTEND_DLL_VARIABLE@ const uc_property_t UC_PROPERTY_GRAPHEME_EXTEND;
 extern @GNULIB_UNICTYPE_PROPERTY_OTHER_GRAPHEME_EXTEND_DLL_VARIABLE@ const uc_property_t UC_PROPERTY_OTHER_GRAPHEME_EXTEND;
 extern @GNULIB_UNICTYPE_PROPERTY_GRAPHEME_LINK_DLL_VARIABLE@ const uc_property_t UC_PROPERTY_GRAPHEME_LINK;
+extern @GNULIB_UNICTYPE_PROPERTY_MODIFIER_COMBINING_MARK_DLL_VARIABLE@ const uc_property_t UC_PROPERTY_MODIFIER_COMBINING_MARK;
 /* Bidi.  */
 extern @GNULIB_UNICTYPE_PROPERTY_BIDI_CONTROL_DLL_VARIABLE@ const uc_property_t UC_PROPERTY_BIDI_CONTROL;
 extern @GNULIB_UNICTYPE_PROPERTY_BIDI_LEFT_TO_RIGHT_DLL_VARIABLE@ const uc_property_t UC_PROPERTY_BIDI_LEFT_TO_RIGHT;
@@ -803,6 +804,8 @@ extern bool uc_is_property_other_grapheme_extend (ucs4_t uc)
        _UC_ATTRIBUTE_CONST;
 extern bool uc_is_property_grapheme_link (ucs4_t uc)
        _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_modifier_combining_mark (ucs4_t uc)
+       _UC_ATTRIBUTE_CONST;
 extern bool uc_is_property_bidi_control (ucs4_t uc)
        _UC_ATTRIBUTE_CONST;
 extern bool uc_is_property_bidi_left_to_right (ucs4_t uc)
index 802e25f8e204798cca57c0489c44874d44903a64..25d12ba4fa7380563a8fcdccac49542290a3c1df 100644 (file)
@@ -79,6 +79,7 @@ enum
   UC_PROPERTY_INDEX_GRAPHEME_EXTEND,
   UC_PROPERTY_INDEX_OTHER_GRAPHEME_EXTEND,
   UC_PROPERTY_INDEX_GRAPHEME_LINK,
+  UC_PROPERTY_INDEX_MODIFIER_COMBINING_MARK,
   /* Bidi.  */
   UC_PROPERTY_INDEX_BIDI_CONTROL,
   UC_PROPERTY_INDEX_BIDI_LEFT_TO_RIGHT,
@@ -249,6 +250,8 @@ uc_property_byname (const char *property_name)
         return UC_PROPERTY_OTHER_GRAPHEME_EXTEND;
       case UC_PROPERTY_INDEX_GRAPHEME_LINK:
         return UC_PROPERTY_GRAPHEME_LINK;
+      case UC_PROPERTY_INDEX_MODIFIER_COMBINING_MARK:
+        return UC_PROPERTY_MODIFIER_COMBINING_MARK;
       case UC_PROPERTY_INDEX_BIDI_CONTROL:
         return UC_PROPERTY_BIDI_CONTROL;
       case UC_PROPERTY_INDEX_BIDI_LEFT_TO_RIGHT:
index 8a654de1293327dc35141e39ef26da46053c8133..b341947142ef2fb4161ec36133a4ace723c848fb 100644 (file)
@@ -147,6 +147,8 @@ grapheme_link, UC_PROPERTY_INDEX_GRAPHEME_LINK
 graphemelink, UC_PROPERTY_INDEX_GRAPHEME_LINK
 gr_link, UC_PROPERTY_INDEX_GRAPHEME_LINK
 grlink, UC_PROPERTY_INDEX_GRAPHEME_LINK
+modifier_combining_mark, UC_PROPERTY_INDEX_MODIFIER_COMBINING_MARK
+modifiercombiningmark, UC_PROPERTY_INDEX_MODIFIER_COMBINING_MARK
 bidi_control, UC_PROPERTY_INDEX_BIDI_CONTROL
 bidicontrol, UC_PROPERTY_INDEX_BIDI_CONTROL
 bidi_c, UC_PROPERTY_INDEX_BIDI_CONTROL
diff --git a/lib/unictype/pr_modifier_combining_mark.c b/lib/unictype/pr_modifier_combining_mark.c
new file mode 100644 (file)
index 0000000..ed5f304
--- /dev/null
@@ -0,0 +1,43 @@
+/* Properties of Unicode characters.
+   Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+   This file is free software.
+   It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
+   You can redistribute it and/or modify it under either
+     - the terms of the GNU Lesser General Public License as published
+       by the Free Software Foundation, either version 3, or (at your
+       option) any later version, or
+     - the terms of the GNU General Public License as published by the
+       Free Software Foundation; either version 2, or (at your option)
+       any later version, or
+     - the same dual license "the GNU LGPLv3+ or the GNU GPLv2+".
+
+   This file 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 and the GNU General Public License
+   for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License and of the GNU General Public License along with this
+   program.  If not, see <https://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+#include "bitmap.h"
+
+/* Define u_property_modifier_combining_mark table.  */
+#include "pr_modifier_combining_mark.h"
+
+bool
+uc_is_property_modifier_combining_mark (ucs4_t uc)
+{
+  return bitmap_lookup (&u_property_modifier_combining_mark, uc);
+}
+
+const uc_property_t UC_PROPERTY_MODIFIER_COMBINING_MARK =
+  { &uc_is_property_modifier_combining_mark };
diff --git a/lib/unictype/pr_modifier_combining_mark.h b/lib/unictype/pr_modifier_combining_mark.h
new file mode 100644 (file)
index 0000000..d5f9286
--- /dev/null
@@ -0,0 +1,184 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Properties of Unicode characters.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 16.0.0.  */
+
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
+
+   This file is free software.
+   It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
+   You can redistribute it and/or modify it under either
+     - the terms of the GNU Lesser General Public License as published
+       by the Free Software Foundation, either version 3, or (at your
+       option) any later version, or
+     - the terms of the GNU General Public License as published by the
+       Free Software Foundation; either version 2, or (at your option)
+       any later version, or
+     - the same dual license "the GNU LGPLv3+ or the GNU GPLv2+".
+
+   This file 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 and the GNU General Public License
+   for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License and of the GNU General Public License along with this
+   program.  If not, see <https://www.gnu.org/licenses/>.  */
+
+#define header_0 16
+#define header_2 9
+#define header_3 127
+#define header_4 15
+static const
+struct
+  {
+    int header[1];
+    int level1[1];
+    short level2[1 << 7];
+    unsigned int level3[2 << 4];
+  }
+u_property_modifier_combining_mark =
+{
+  { 1 },
+  {     2 * sizeof (int) / sizeof (short) +     0 },
+  {
+       -1,
+       -1,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +     0,
+        2 +   128 * sizeof (short) / sizeof (int) +    16,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1
+  },
+  {
+    0x00000000U, 0x00000000U, 0x01300000U, 0x00000000U,
+    0x00000000U, 0x00000000U, 0x10000000U, 0x00000188U,
+    0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
+    0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
+    0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
+    0x00000000U, 0x00000000U, 0x0008EC00U, 0x00080000U,
+    0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
+    0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U
+  }
+};
index 477fec995df0c408747528ab20ab7fbdeaddcf80..f36204a8c96d6b8e85cace032d7246b7170e54b4 100644 (file)
@@ -1,5 +1,5 @@
 # unictype_h.m4
-# serial 3
+# serial 4
 dnl Copyright (C) 2023-2024 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -108,6 +108,7 @@ AC_DEFUN([gl_UNICTYPE_H_REQUIRE_DEFAULTS],
     gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_GRAPHEME_EXTEND_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
     gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_OTHER_GRAPHEME_EXTEND_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
     gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_GRAPHEME_LINK_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_MODIFIER_COMBINING_MARK_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
     gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_BIDI_CONTROL_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
     gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_BIDI_LEFT_TO_RIGHT_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
     gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_BIDI_HEBREW_RIGHT_TO_LEFT_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
index 346b8ef66b2e8108a358d1f6ae19ee76c6557f06..26abd2265ee2d3ff947649738fc500260dd9f7ad 100644 (file)
@@ -105,6 +105,7 @@ unictype.h: unictype.in.h
              -e 's/@''GNULIB_UNICTYPE_PROPERTY_GRAPHEME_EXTEND_DLL_VARIABLE''@/$(GNULIB_UNICTYPE_PROPERTY_GRAPHEME_EXTEND_DLL_VARIABLE)/g' \
              -e 's/@''GNULIB_UNICTYPE_PROPERTY_OTHER_GRAPHEME_EXTEND_DLL_VARIABLE''@/$(GNULIB_UNICTYPE_PROPERTY_OTHER_GRAPHEME_EXTEND_DLL_VARIABLE)/g' \
              -e 's/@''GNULIB_UNICTYPE_PROPERTY_GRAPHEME_LINK_DLL_VARIABLE''@/$(GNULIB_UNICTYPE_PROPERTY_GRAPHEME_LINK_DLL_VARIABLE)/g' \
+             -e 's/@''GNULIB_UNICTYPE_PROPERTY_MODIFIER_COMBINING_MARK_DLL_VARIABLE''@/$(GNULIB_UNICTYPE_PROPERTY_MODIFIER_COMBINING_MARK_DLL_VARIABLE)/g' \
              -e 's/@''GNULIB_UNICTYPE_PROPERTY_BIDI_CONTROL_DLL_VARIABLE''@/$(GNULIB_UNICTYPE_PROPERTY_BIDI_CONTROL_DLL_VARIABLE)/g' \
              -e 's/@''GNULIB_UNICTYPE_PROPERTY_BIDI_LEFT_TO_RIGHT_DLL_VARIABLE''@/$(GNULIB_UNICTYPE_PROPERTY_BIDI_LEFT_TO_RIGHT_DLL_VARIABLE)/g' \
              -e 's/@''GNULIB_UNICTYPE_PROPERTY_BIDI_HEBREW_RIGHT_TO_LEFT_DLL_VARIABLE''@/$(GNULIB_UNICTYPE_PROPERTY_BIDI_HEBREW_RIGHT_TO_LEFT_DLL_VARIABLE)/g' \
index a9bc3cf6f7b65945b74f553976d2f9682fbb7942..5e52922c485097ebc728b55c530a7820653d6cd3 100644 (file)
@@ -68,6 +68,7 @@ unictype/property-line-separator
 unictype/property-logical-order-exception
 unictype/property-lowercase
 unictype/property-math
+unictype/property-modifier-combining-mark
 unictype/property-non-break
 unictype/property-not-a-character
 unictype/property-numeric
index d961cc178babaf5b8978fa9477771e59b213f651..7f470688a297ee7e8b90bf740797b4ff405f368e 100644 (file)
@@ -64,6 +64,7 @@ unictype/property-line-separator
 unictype/property-logical-order-exception
 unictype/property-lowercase
 unictype/property-math
+unictype/property-modifier-combining-mark
 unictype/property-non-break
 unictype/property-not-a-character
 unictype/property-numeric
diff --git a/modules/unictype/property-modifier-combining-mark b/modules/unictype/property-modifier-combining-mark
new file mode 100644 (file)
index 0000000..cf4af26
--- /dev/null
@@ -0,0 +1,29 @@
+Description:
+Test whether a Unicode character is "modifier combining mark".
+
+Files:
+lib/unictype/pr_modifier_combining_mark.c
+lib/unictype/pr_modifier_combining_mark.h
+lib/unictype/bitmap.h
+
+Depends-on:
+unictype/base
+
+configure.ac:
+AC_REQUIRE([AC_C_INLINE])
+gl_UNICTYPE_H_REQUIRE_DEFAULTS
+gl_LIBUNISTRING_MODULE_WITH_VARIABLE([1.3], [unictype/property-modifier-combining-mark])
+
+Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_MODIFIER_COMBINING_MARK
+lib_SOURCES += unictype/pr_modifier_combining_mark.c
+endif
+
+Include:
+"unictype.h"
+
+License:
+LGPLv3+ or GPLv2+
+
+Maintainer:
+all
diff --git a/modules/unictype/property-modifier-combining-mark-tests b/modules/unictype/property-modifier-combining-mark-tests
new file mode 100644 (file)
index 0000000..903dee9
--- /dev/null
@@ -0,0 +1,15 @@
+Files:
+tests/unictype/test-pr_modifier_combining_mark.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_modifier_combining_mark
+check_PROGRAMS += test-pr_modifier_combining_mark
+test_pr_modifier_combining_mark_SOURCES = unictype/test-pr_modifier_combining_mark.c
+test_pr_modifier_combining_mark_LDADD = $(LDADD) $(LIBUNISTRING)
diff --git a/tests/unictype/test-pr_modifier_combining_mark.c b/tests/unictype/test-pr_modifier_combining_mark.c
new file mode 100644 (file)
index 0000000..7e1f90c
--- /dev/null
@@ -0,0 +1,31 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Test the Unicode character type functions.
+   Copyright (C) 2007-2024 Free Software Foundation, Inc.
+
+   This file 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 file 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 <https://www.gnu.org/licenses/>.  */
+
+#include "test-predicate-part1.h"
+
+    { 0x0654, 0x0655 },
+    { 0x0658, 0x0658 },
+    { 0x06DC, 0x06DC },
+    { 0x06E3, 0x06E3 },
+    { 0x06E7, 0x06E8 },
+    { 0x08CA, 0x08CB },
+    { 0x08CD, 0x08CF },
+    { 0x08D3, 0x08D3 },
+    { 0x08F3, 0x08F3 }
+
+#define PREDICATE(c) uc_is_property_modifier_combining_mark (c)
+#include "test-predicate-part2.h"