]> Savannah Git Hosting - gnulib.git/commitdiff
Implement a new property, added by Unicode 9.0.0.
authorBruno Haible <bruno@clisp.org>
Mon, 12 Feb 2024 17:18:43 +0000 (18:18 +0100)
committerBruno Haible <bruno@clisp.org>
Mon, 12 Feb 2024 17:18:43 +0000 (18:18 +0100)
* lib/gen-uni-tables.c (is_property_prepended_concatenation_mark): New
function.
(output_properties): Output also the property
prepended_concatenation_mark.
* lib/unictype.in.h (UC_PROPERTY_PREPENDED_CONCATENATION_MARK,
uc_is_property_prepended_concatenation_mark): New declarations.
* m4/unictype_h.m4 (gl_UNICTYPE_H_REQUIRE_DEFAULTS): Initialize
GNULIB_UNICTYPE_PROPERTY_PREPENDED_CONCATENATION_MARK.
* modules/unictype/base (Makefile.am): Substitute
GNULIB_UNICTYPE_PROPERTY_PREPENDED_CONCATENATION_MARK.
* lib/unictype/pr_prepended_concatenation_mark.c: New file.
* lib/unictype/pr_prepended_concatenation_mark.h: New generated file.
* modules/unictype/property-prepended-concatenation-mark: New file.
* tests/unictype/test-pr_prepended_concatenation_mark.c: New generated
file.
* modules/unictype/property-prepended-concatenation-mark-tests: New
file.
* lib/unictype/pr_byname.gperf: Add prepended_concatenation_mark.
* lib/unictype/pr_byname.c
(UC_PROPERTY_INDEX_PREPENDED_CONCATENATION_MARK): New enum item.
(uc_property_byname): Handle it.
* modules/unictype/property-byname (Depends-on): Add
unictype/property-prepended-concatenation-mark.
* modules/unictype/property-all (Depends-on): Likewise.
* MODULES.html.sh (func_all_modules): Add
unictype/property-prepended-concatenation-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_prepended_concatenation_mark.c [new file with mode: 0644]
lib/unictype/pr_prepended_concatenation_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-prepended-concatenation-mark [new file with mode: 0644]
modules/unictype/property-prepended-concatenation-mark-tests [new file with mode: 0644]
tests/unictype/test-pr_prepended_concatenation_mark.c [new file with mode: 0644]

index 3492c59f493985833e399ac36cbacc158af0a36b..019ccf0c7b6e3df8b05822cd9113f1835b9e0604 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,33 @@
+2024-02-12  Bruno Haible  <bruno@clisp.org>
+
+       Implement a new property, added by Unicode 9.0.0.
+       * lib/gen-uni-tables.c (is_property_prepended_concatenation_mark): New
+       function.
+       (output_properties): Output also the property
+       prepended_concatenation_mark.
+       * lib/unictype.in.h (UC_PROPERTY_PREPENDED_CONCATENATION_MARK,
+       uc_is_property_prepended_concatenation_mark): New declarations.
+       * m4/unictype_h.m4 (gl_UNICTYPE_H_REQUIRE_DEFAULTS): Initialize
+       GNULIB_UNICTYPE_PROPERTY_PREPENDED_CONCATENATION_MARK.
+       * modules/unictype/base (Makefile.am): Substitute
+       GNULIB_UNICTYPE_PROPERTY_PREPENDED_CONCATENATION_MARK.
+       * lib/unictype/pr_prepended_concatenation_mark.c: New file.
+       * lib/unictype/pr_prepended_concatenation_mark.h: New generated file.
+       * modules/unictype/property-prepended-concatenation-mark: New file.
+       * tests/unictype/test-pr_prepended_concatenation_mark.c: New generated
+       file.
+       * modules/unictype/property-prepended-concatenation-mark-tests: New
+       file.
+       * lib/unictype/pr_byname.gperf: Add prepended_concatenation_mark.
+       * lib/unictype/pr_byname.c
+       (UC_PROPERTY_INDEX_PREPENDED_CONCATENATION_MARK): New enum item.
+       (uc_property_byname): Handle it.
+       * modules/unictype/property-byname (Depends-on): Add
+       unictype/property-prepended-concatenation-mark.
+       * modules/unictype/property-all (Depends-on): Likewise.
+       * MODULES.html.sh (func_all_modules): Add
+       unictype/property-prepended-concatenation-mark.
+
 2024-02-12  Bruno Haible  <bruno@clisp.org>
 
        posixtm tests: Fix reference to undefined module (regr. 2024-02-09).
index 76a6291303b713c4d96f6692435724b0dfe1a6c4..442be7f6902f58fddf67d1588187e188401d1fed 100755 (executable)
@@ -3450,6 +3450,7 @@ func_all_modules ()
   func_module unictype/property-paragraph-separator
   func_module unictype/property-pattern-syntax
   func_module unictype/property-pattern-white-space
+  func_module unictype/property-prepended-concatenation-mark
   func_module unictype/property-private-use
   func_module unictype/property-punctuation
   func_module unictype/property-quotation-mark
index 11b1a46a0f672e46f778fdf225954dd823a67478..bc228105b4cd3ec960a229ca3a3ab6a859cdbfad 100644 (file)
@@ -2692,6 +2692,7 @@ enum
   PROP_WHITE_SPACE,
   PROP_BIDI_CONTROL,
   PROP_JOIN_CONTROL,
+  PROP_PREPENDED_CONCATENATION_MARK,
   PROP_DASH,
   PROP_HYPHEN,
   PROP_QUOTATION_MARK,
@@ -2724,7 +2725,6 @@ enum
   PROP_VARIATION_SELECTOR,
   PROP_PATTERN_WHITE_SPACE,
   PROP_PATTERN_SYNTAX,
-  PROP_PREPENDED_CONCATENATION_MARK,
   PROP_REGIONAL_INDICATOR,
   /* DerivedCoreProperties.txt */
   PROP_MATH,
@@ -2819,6 +2819,7 @@ fill_properties (const char *proplist_filename)
       PROP ("White_Space", PROP_WHITE_SPACE)
       PROP ("Bidi_Control", PROP_BIDI_CONTROL)
       PROP ("Join_Control", PROP_JOIN_CONTROL)
+      PROP ("Prepended_Concatenation_Mark", PROP_PREPENDED_CONCATENATION_MARK)
       PROP ("Dash", PROP_DASH)
       PROP ("Hyphen", PROP_HYPHEN)
       PROP ("Quotation_Mark", PROP_QUOTATION_MARK)
@@ -2851,7 +2852,6 @@ fill_properties (const char *proplist_filename)
       PROP ("Variation_Selector", PROP_VARIATION_SELECTOR)
       PROP ("Pattern_White_Space", PROP_PATTERN_WHITE_SPACE)
       PROP ("Pattern_Syntax", PROP_PATTERN_SYNTAX)
-      PROP ("Prepended_Concatenation_Mark", PROP_PREPENDED_CONCATENATION_MARK)
       PROP ("Regional_Indicator", PROP_REGIONAL_INDICATOR)
       /* DerivedCoreProperties.txt */
       PROP ("Math", PROP_MATH)
@@ -3619,6 +3619,13 @@ is_property_format_control (unsigned int ch)
           && ch != 0xFEFF);
 }
 
+/* See PropList.txt, UCD.html.  */
+static bool
+is_property_prepended_concatenation_mark (unsigned int ch)
+{
+  return ((unicode_properties[ch] & (1ULL << PROP_PREPENDED_CONCATENATION_MARK)) != 0);
+}
+
 /* See PropList.txt, UCD.html.  */
 static bool
 is_property_dash (unsigned int ch)
@@ -3932,6 +3939,7 @@ output_properties (const char *version)
   PROPERTY(non_break)
   PROPERTY(iso_control)
   PROPERTY(format_control)
+  PROPERTY(prepended_concatenation_mark)
   PROPERTY(dash)
   PROPERTY(hyphen)
   PROPERTY(punctuation)
index ebb883c635262727d60ee38369831964a0ecc99a..fdd2cd1cec9d421363085683be0af5e5a9379557 100644 (file)
@@ -691,6 +691,7 @@ extern @GNULIB_UNICTYPE_PROPERTY_SPACE_DLL_VARIABLE@ const uc_property_t UC_PROP
 extern @GNULIB_UNICTYPE_PROPERTY_NON_BREAK_DLL_VARIABLE@ const uc_property_t UC_PROPERTY_NON_BREAK;
 extern @GNULIB_UNICTYPE_PROPERTY_ISO_CONTROL_DLL_VARIABLE@ const uc_property_t UC_PROPERTY_ISO_CONTROL;
 extern @GNULIB_UNICTYPE_PROPERTY_FORMAT_CONTROL_DLL_VARIABLE@ const uc_property_t UC_PROPERTY_FORMAT_CONTROL;
+extern @GNULIB_UNICTYPE_PROPERTY_PREPENDED_CONCATENATION_MARK_DLL_VARIABLE@ const uc_property_t UC_PROPERTY_PREPENDED_CONCATENATION_MARK;
 extern @GNULIB_UNICTYPE_PROPERTY_DASH_DLL_VARIABLE@ const uc_property_t UC_PROPERTY_DASH;
 extern @GNULIB_UNICTYPE_PROPERTY_HYPHEN_DLL_VARIABLE@ const uc_property_t UC_PROPERTY_HYPHEN;
 extern @GNULIB_UNICTYPE_PROPERTY_PUNCTUATION_DLL_VARIABLE@ const uc_property_t UC_PROPERTY_PUNCTUATION;
@@ -873,6 +874,8 @@ extern bool uc_is_property_iso_control (ucs4_t uc)
        _UC_ATTRIBUTE_CONST;
 extern bool uc_is_property_format_control (ucs4_t uc)
        _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_prepended_concatenation_mark (ucs4_t uc)
+       _UC_ATTRIBUTE_CONST;
 extern bool uc_is_property_dash (ucs4_t uc)
        _UC_ATTRIBUTE_CONST;
 extern bool uc_is_property_hyphen (ucs4_t uc)
index 825992d345eeb9b7009305658e75acb742b6fff1..802e25f8e204798cca57c0489c44874d44903a64 100644 (file)
@@ -113,6 +113,7 @@ enum
   UC_PROPERTY_INDEX_NON_BREAK,
   UC_PROPERTY_INDEX_ISO_CONTROL,
   UC_PROPERTY_INDEX_FORMAT_CONTROL,
+  UC_PROPERTY_INDEX_PREPENDED_CONCATENATION_MARK,
   UC_PROPERTY_INDEX_DASH,
   UC_PROPERTY_INDEX_HYPHEN,
   UC_PROPERTY_INDEX_PUNCTUATION,
@@ -308,6 +309,8 @@ uc_property_byname (const char *property_name)
         return UC_PROPERTY_ISO_CONTROL;
       case UC_PROPERTY_INDEX_FORMAT_CONTROL:
         return UC_PROPERTY_FORMAT_CONTROL;
+      case UC_PROPERTY_INDEX_PREPENDED_CONCATENATION_MARK:
+        return UC_PROPERTY_PREPENDED_CONCATENATION_MARK;
       case UC_PROPERTY_INDEX_DASH:
         return UC_PROPERTY_DASH;
       case UC_PROPERTY_INDEX_HYPHEN:
index dfeab2e4693eaf43db83f5a297fc5d6034a0ae18..8a654de1293327dc35141e39ef26da46053c8133 100644 (file)
@@ -213,6 +213,8 @@ iso_control, UC_PROPERTY_INDEX_ISO_CONTROL
 isocontrol, UC_PROPERTY_INDEX_ISO_CONTROL
 format_control, UC_PROPERTY_INDEX_FORMAT_CONTROL
 formatcontrol, UC_PROPERTY_INDEX_FORMAT_CONTROL
+prepended_concatenation_mark, UC_PROPERTY_INDEX_PREPENDED_CONCATENATION_MARK
+prependedconcatenationmark, UC_PROPERTY_INDEX_PREPENDED_CONCATENATION_MARK
 dash, UC_PROPERTY_INDEX_DASH
 hyphen, UC_PROPERTY_INDEX_HYPHEN
 punctuation, UC_PROPERTY_INDEX_PUNCTUATION
diff --git a/lib/unictype/pr_prepended_concatenation_mark.c b/lib/unictype/pr_prepended_concatenation_mark.c
new file mode 100644 (file)
index 0000000..8e8ea7a
--- /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_prepended_concatenation_mark table.  */
+#include "pr_prepended_concatenation_mark.h"
+
+bool
+uc_is_property_prepended_concatenation_mark (ucs4_t uc)
+{
+  return bitmap_lookup (&u_property_prepended_concatenation_mark, uc);
+}
+
+const uc_property_t UC_PROPERTY_PREPENDED_CONCATENATION_MARK =
+  { &uc_is_property_prepended_concatenation_mark };
diff --git a/lib/unictype/pr_prepended_concatenation_mark.h b/lib/unictype/pr_prepended_concatenation_mark.h
new file mode 100644 (file)
index 0000000..49a73f1
--- /dev/null
@@ -0,0 +1,319 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Properties of Unicode characters.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.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[2];
+    short level2[2 << 7];
+    unsigned int level3[3 << 4];
+  }
+u_property_prepended_concatenation_mark =
+{
+  { 2 },
+  {
+        3 * sizeof (int) / sizeof (short) +     0,
+        3 * sizeof (int) / sizeof (short) +   128
+  },
+  {
+       -1,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +     0,
+        3 +   256 * 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,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +    32,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1
+  },
+  {
+    0x0000003FU, 0x00000000U, 0x00000000U, 0x00000000U,
+    0x00000000U, 0x00000000U, 0x20000000U, 0x00000000U,
+    0x00008000U, 0x00000000U, 0x00000000U, 0x00000000U,
+    0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
+    0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
+    0x00030000U, 0x00000000U, 0x00000000U, 0x00000004U,
+    0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
+    0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
+    0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
+    0x00000000U, 0x20000000U, 0x00002000U, 0x00000000U,
+    0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
+    0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U
+  }
+};
index b6bb128dcc3a047da1b5bd035563d4dbdf0cf7a8..68b864bd9f90942a078a8b81e93d6bf1621837b2 100644 (file)
@@ -1,4 +1,4 @@
-# unictype_h.m4 serial 2
+# unictype_h.m4 serial 3
 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,
@@ -143,6 +143,7 @@ AC_DEFUN([gl_UNICTYPE_H_REQUIRE_DEFAULTS],
     gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_NON_BREAK_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
     gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_ISO_CONTROL_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
     gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_FORMAT_CONTROL_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_PREPENDED_CONCATENATION_MARK_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
     gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_DASH_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
     gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_HYPHEN_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
     gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_PUNCTUATION_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
index 13323fd9f34f5eb5fb6e118dc17f74e341d81f3e..4fe6a42ddce864ac669244c3cedd8cc5baf490e2 100644 (file)
@@ -143,6 +143,7 @@ unictype.h: unictype.in.h
              -e 's/@''GNULIB_UNICTYPE_PROPERTY_NON_BREAK_DLL_VARIABLE''@/$(GNULIB_UNICTYPE_PROPERTY_NON_BREAK_DLL_VARIABLE)/g' \
              -e 's/@''GNULIB_UNICTYPE_PROPERTY_ISO_CONTROL_DLL_VARIABLE''@/$(GNULIB_UNICTYPE_PROPERTY_ISO_CONTROL_DLL_VARIABLE)/g' \
              -e 's/@''GNULIB_UNICTYPE_PROPERTY_FORMAT_CONTROL_DLL_VARIABLE''@/$(GNULIB_UNICTYPE_PROPERTY_FORMAT_CONTROL_DLL_VARIABLE)/g' \
+             -e 's/@''GNULIB_UNICTYPE_PROPERTY_PREPENDED_CONCATENATION_MARK_DLL_VARIABLE''@/$(GNULIB_UNICTYPE_PROPERTY_PREPENDED_CONCATENATION_MARK_DLL_VARIABLE)/g' \
              -e 's/@''GNULIB_UNICTYPE_PROPERTY_DASH_DLL_VARIABLE''@/$(GNULIB_UNICTYPE_PROPERTY_DASH_DLL_VARIABLE)/g' \
              -e 's/@''GNULIB_UNICTYPE_PROPERTY_HYPHEN_DLL_VARIABLE''@/$(GNULIB_UNICTYPE_PROPERTY_HYPHEN_DLL_VARIABLE)/g' \
              -e 's/@''GNULIB_UNICTYPE_PROPERTY_PUNCTUATION_DLL_VARIABLE''@/$(GNULIB_UNICTYPE_PROPERTY_PUNCTUATION_DLL_VARIABLE)/g' \
index 9d1d9d7e19c2b40433106d758c706e7c5f30eb4a..a9bc3cf6f7b65945b74f553976d2f9682fbb7942 100644 (file)
@@ -83,6 +83,7 @@ unictype/property-paired-punctuation
 unictype/property-paragraph-separator
 unictype/property-pattern-syntax
 unictype/property-pattern-white-space
+unictype/property-prepended-concatenation-mark
 unictype/property-private-use
 unictype/property-punctuation
 unictype/property-quotation-mark
index 23d82e045150d0750f149801e62b8d7df24caf82..418cd1b730166bd491313c7f1fdabc0dd218142b 100644 (file)
@@ -79,6 +79,7 @@ unictype/property-paired-punctuation
 unictype/property-paragraph-separator
 unictype/property-pattern-syntax
 unictype/property-pattern-white-space
+unictype/property-prepended-concatenation-mark
 unictype/property-private-use
 unictype/property-punctuation
 unictype/property-quotation-mark
diff --git a/modules/unictype/property-prepended-concatenation-mark b/modules/unictype/property-prepended-concatenation-mark
new file mode 100644 (file)
index 0000000..89644f9
--- /dev/null
@@ -0,0 +1,29 @@
+Description:
+Test whether a Unicode character is "prepended concatenation mark".
+
+Files:
+lib/unictype/pr_prepended_concatenation_mark.c
+lib/unictype/pr_prepended_concatenation_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.2], [unictype/property-prepended-concatenation-mark])
+
+Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_PREPENDED_CONCATENATION_MARK
+lib_SOURCES += unictype/pr_prepended_concatenation_mark.c
+endif
+
+Include:
+"unictype.h"
+
+License:
+LGPLv3+ or GPLv2+
+
+Maintainer:
+all
diff --git a/modules/unictype/property-prepended-concatenation-mark-tests b/modules/unictype/property-prepended-concatenation-mark-tests
new file mode 100644 (file)
index 0000000..bfbf6df
--- /dev/null
@@ -0,0 +1,15 @@
+Files:
+tests/unictype/test-pr_prepended_concatenation_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_prepended_concatenation_mark
+check_PROGRAMS += test-pr_prepended_concatenation_mark
+test_pr_prepended_concatenation_mark_SOURCES = unictype/test-pr_prepended_concatenation_mark.c
+test_pr_prepended_concatenation_mark_LDADD = $(LDADD) $(LIBUNISTRING)
diff --git a/tests/unictype/test-pr_prepended_concatenation_mark.c b/tests/unictype/test-pr_prepended_concatenation_mark.c
new file mode 100644 (file)
index 0000000..5a86b2c
--- /dev/null
@@ -0,0 +1,29 @@
+/* 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"
+
+    { 0x0600, 0x0605 },
+    { 0x06DD, 0x06DD },
+    { 0x070F, 0x070F },
+    { 0x0890, 0x0891 },
+    { 0x08E2, 0x08E2 },
+    { 0x110BD, 0x110BD },
+    { 0x110CD, 0x110CD }
+
+#define PREDICATE(c) uc_is_property_prepended_concatenation_mark (c)
+#include "test-predicate-part2.h"