]> Savannah Git Hosting - gnulib.git/commitdiff
Implement 3 new properties, added by Unicode 15.1.0.
authorBruno Haible <bruno@clisp.org>
Wed, 31 Jan 2024 15:43:45 +0000 (16:43 +0100)
committerBruno Haible <bruno@clisp.org>
Wed, 31 Jan 2024 15:43:45 +0000 (16:43 +0100)
* lib/gen-uni-tables.c (is_property_id_compat_math_start,
is_property_id_compat_math_continue, is_property_ids_unary_operator):
New functions.
(output_properties): Output also the properties id_compat_math_start,
id_compat_math_continue, ids_unary_operator.
* lib/unictype.in.h (UC_PROPERTY_ID_COMPAT_MATH_START,
UC_PROPERTY_ID_COMPAT_MATH_CONTINUE, UC_PROPERTY_IDS_UNARY_OPERATOR,
uc_is_property_id_compat_math_start,
uc_is_property_id_compat_math_continue,
uc_is_property_ids_unary_operator): New declarations.
* m4/unictype_h.m4 (gl_UNICTYPE_H_REQUIRE_DEFAULTS): Initialize
GNULIB_UNICTYPE_PROPERTY_ID_COMPAT_MATH_START_DLL_VARIABLE,
GNULIB_UNICTYPE_PROPERTY_ID_COMPAT_MATH_CONTINUE_DLL_VARIABLE,
GNULIB_UNICTYPE_PROPERTY_IDS_UNARY_OPERATOR_DLL_VARIABLE.
* modules/unictype/base (Makefile.am): Substitute
GNULIB_UNICTYPE_PROPERTY_ID_COMPAT_MATH_START_DLL_VARIABLE,
GNULIB_UNICTYPE_PROPERTY_ID_COMPAT_MATH_CONTINUE_DLL_VARIABLE,
GNULIB_UNICTYPE_PROPERTY_IDS_UNARY_OPERATOR_DLL_VARIABLE.
* lib/unictype/pr_id_compat_math_continue.c: New file.
* lib/unictype/pr_id_compat_math_continue.h: New generated file.
* lib/unictype/pr_id_compat_math_start.c: New file.
* lib/unictype/pr_id_compat_math_start.h: New generated file.
* lib/unictype/pr_ids_unary_operator.c: New file.
* modules/unictype/property-id-compat-math-continue: New file.
* modules/unictype/property-id-compat-math-start: New file.
* modules/unictype/property-ids-unary-operator: New file.
* tests/unictype/test-pr_id_compat_math_continue.c: New generated file.
* tests/unictype/test-pr_id_compat_math_start.c: New generated file.
* tests/unictype/test-pr_ids_unary_operator.c: New generated file.
* modules/unictype/property-id-compat-math-continue-tests: New file.
* modules/unictype/property-id-compat-math-start-tests: New file.
* modules/unictype/property-ids-unary-operator-tests: New file.
* lib/unictype/pr_byname.gperf: Add id_compat_math_start,
id_compat_math_continue, ids_unary_operator.
* lib/unictype/pr_byname.c (UC_PROPERTY_INDEX_ID_COMPAT_MATH_START,
UC_PROPERTY_INDEX_ID_COMPAT_MATH_CONTINUE,
UC_PROPERTY_INDEX_IDS_UNARY_OPERATOR): New enum items.
(uc_property_byname): Handle them.
* modules/unictype/property-byname (Depends-on): Add
unictype/property-id-compat-math-continue,
unictype/property-id-compat-math-start,
unictype/property-ids-unary-operator.
* modules/unictype/property-all (Depends-on): Likewise.
* MODULES.html.sh (func_all_modules): Add
unictype/property-id-compat-math-continue,
unictype/property-id-compat-math-start,
unictype/property-ids-unary-operator.

24 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_id_compat_math_continue.c [new file with mode: 0644]
lib/unictype/pr_id_compat_math_continue.h [new file with mode: 0644]
lib/unictype/pr_id_compat_math_start.c [new file with mode: 0644]
lib/unictype/pr_id_compat_math_start.h [new file with mode: 0644]
lib/unictype/pr_ids_unary_operator.c [new file with mode: 0644]
m4/unictype_h.m4
modules/unictype/base
modules/unictype/property-all
modules/unictype/property-byname
modules/unictype/property-id-compat-math-continue [new file with mode: 0644]
modules/unictype/property-id-compat-math-continue-tests [new file with mode: 0644]
modules/unictype/property-id-compat-math-start [new file with mode: 0644]
modules/unictype/property-id-compat-math-start-tests [new file with mode: 0644]
modules/unictype/property-ids-unary-operator [new file with mode: 0644]
modules/unictype/property-ids-unary-operator-tests [new file with mode: 0644]
tests/unictype/test-pr_id_compat_math_continue.c [new file with mode: 0644]
tests/unictype/test-pr_id_compat_math_start.c [new file with mode: 0644]
tests/unictype/test-pr_ids_unary_operator.c [new file with mode: 0644]

index 84e74778921b8ffad4c04ba07850f456c6a3f33b..4711be3dd9038830919a16204e737cad82901eb7 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,54 @@
+2024-01-31  Bruno Haible  <bruno@clisp.org>
+
+       Implement 3 new properties, added by Unicode 15.1.0.
+       * lib/gen-uni-tables.c (is_property_id_compat_math_start,
+       is_property_id_compat_math_continue, is_property_ids_unary_operator):
+       New functions.
+       (output_properties): Output also the properties id_compat_math_start,
+       id_compat_math_continue, ids_unary_operator.
+       * lib/unictype.in.h (UC_PROPERTY_ID_COMPAT_MATH_START,
+       UC_PROPERTY_ID_COMPAT_MATH_CONTINUE, UC_PROPERTY_IDS_UNARY_OPERATOR,
+       uc_is_property_id_compat_math_start,
+       uc_is_property_id_compat_math_continue,
+       uc_is_property_ids_unary_operator): New declarations.
+       * m4/unictype_h.m4 (gl_UNICTYPE_H_REQUIRE_DEFAULTS): Initialize
+       GNULIB_UNICTYPE_PROPERTY_ID_COMPAT_MATH_START_DLL_VARIABLE,
+       GNULIB_UNICTYPE_PROPERTY_ID_COMPAT_MATH_CONTINUE_DLL_VARIABLE,
+       GNULIB_UNICTYPE_PROPERTY_IDS_UNARY_OPERATOR_DLL_VARIABLE.
+       * modules/unictype/base (Makefile.am): Substitute
+       GNULIB_UNICTYPE_PROPERTY_ID_COMPAT_MATH_START_DLL_VARIABLE,
+       GNULIB_UNICTYPE_PROPERTY_ID_COMPAT_MATH_CONTINUE_DLL_VARIABLE,
+       GNULIB_UNICTYPE_PROPERTY_IDS_UNARY_OPERATOR_DLL_VARIABLE.
+       * lib/unictype/pr_id_compat_math_continue.c: New file.
+       * lib/unictype/pr_id_compat_math_continue.h: New generated file.
+       * lib/unictype/pr_id_compat_math_start.c: New file.
+       * lib/unictype/pr_id_compat_math_start.h: New generated file.
+       * lib/unictype/pr_ids_unary_operator.c: New file.
+       * modules/unictype/property-id-compat-math-continue: New file.
+       * modules/unictype/property-id-compat-math-start: New file.
+       * modules/unictype/property-ids-unary-operator: New file.
+       * tests/unictype/test-pr_id_compat_math_continue.c: New generated file.
+       * tests/unictype/test-pr_id_compat_math_start.c: New generated file.
+       * tests/unictype/test-pr_ids_unary_operator.c: New generated file.
+       * modules/unictype/property-id-compat-math-continue-tests: New file.
+       * modules/unictype/property-id-compat-math-start-tests: New file.
+       * modules/unictype/property-ids-unary-operator-tests: New file.
+       * lib/unictype/pr_byname.gperf: Add id_compat_math_start,
+       id_compat_math_continue, ids_unary_operator.
+       * lib/unictype/pr_byname.c (UC_PROPERTY_INDEX_ID_COMPAT_MATH_START,
+       UC_PROPERTY_INDEX_ID_COMPAT_MATH_CONTINUE,
+       UC_PROPERTY_INDEX_IDS_UNARY_OPERATOR): New enum items.
+       (uc_property_byname): Handle them.
+       * modules/unictype/property-byname (Depends-on): Add
+       unictype/property-id-compat-math-continue,
+       unictype/property-id-compat-math-start,
+       unictype/property-ids-unary-operator.
+       * modules/unictype/property-all (Depends-on): Likewise.
+       * MODULES.html.sh (func_all_modules): Add
+       unictype/property-id-compat-math-continue,
+       unictype/property-id-compat-math-start,
+       unictype/property-ids-unary-operator.
+
 2024-01-30  Bruno Haible  <bruno@clisp.org>
 
        Update to Unicode 15.1.0.
index 3ee896c5f2d4adcf0754113312e3d0c8584495ff..76a6291303b713c4d96f6692435724b0dfe1a6c4 100755 (executable)
@@ -3419,11 +3419,14 @@ func_all_modules ()
   func_module unictype/property-grapheme-link
   func_module unictype/property-hex-digit
   func_module unictype/property-hyphen
+  func_module unictype/property-id-compat-math-continue
+  func_module unictype/property-id-compat-math-start
   func_module unictype/property-id-continue
   func_module unictype/property-id-start
   func_module unictype/property-ideographic
   func_module unictype/property-ids-binary-operator
   func_module unictype/property-ids-trinary-operator
+  func_module unictype/property-ids-unary-operator
   func_module unictype/property-ignorable-control
   func_module unictype/property-iso-control
   func_module unictype/property-join-control
index 61ea8d0d9db81e6a0fb27a72dddce619275a3dc2..b948489fbf75f207cb912d6643056cd4074463f1 100644 (file)
@@ -3314,6 +3314,20 @@ is_property_xid_continue (unsigned int ch)
   return ((unicode_properties[ch] & (1ULL << PROP_XID_CONTINUE)) != 0);
 }
 
+/* See PropList.txt, UCD.html.  */
+static bool
+is_property_id_compat_math_start (unsigned int ch)
+{
+  return ((unicode_properties[ch] & (1ULL << PROP_ID_COMPAT_MATH_START)) != 0);
+}
+
+/* See PropList.txt, UCD.html.  */
+static bool
+is_property_id_compat_math_continue (unsigned int ch)
+{
+  return ((unicode_properties[ch] & (1ULL << PROP_ID_COMPAT_MATH_CONTINUE)) != 0);
+}
+
 /* See PropList.txt, UCD.html.  */
 static bool
 is_property_pattern_white_space (unsigned int ch)
@@ -3520,6 +3534,13 @@ is_property_radical (unsigned int ch)
   return ((unicode_properties[ch] & (1ULL << PROP_RADICAL)) != 0);
 }
 
+/* See PropList.txt, UCD.html.  */
+static bool
+is_property_ids_unary_operator (unsigned int ch)
+{
+  return ((unicode_properties[ch] & (1ULL << PROP_IDS_UNARY_OPERATOR)) != 0);
+}
+
 /* See PropList.txt, UCD.html.  */
 static bool
 is_property_ids_binary_operator (unsigned int ch)
@@ -3872,6 +3893,8 @@ output_properties (const char *version)
   PROPERTY(other_id_continue)
   PROPERTY(xid_start)
   PROPERTY(xid_continue)
+  PROPERTY(id_compat_math_start)
+  PROPERTY(id_compat_math_continue)
   PROPERTY(pattern_white_space)
   PROPERTY(pattern_syntax)
   PROPERTY(join_control)
@@ -3901,6 +3924,7 @@ output_properties (const char *version)
   PROPERTY(ideographic)
   PROPERTY(unified_ideograph)
   PROPERTY(radical)
+  PROPERTY(ids_unary_operator)
   PROPERTY(ids_binary_operator)
   PROPERTY(ids_trinary_operator)
   PROPERTY(zero_width)
index 80181230577cce5b707ecdbf1fa94a1a032bc2db..ebb883c635262727d60ee38369831964a0ecc99a 100644 (file)
@@ -640,6 +640,8 @@ extern @GNULIB_UNICTYPE_PROPERTY_ID_CONTINUE_DLL_VARIABLE@ const uc_property_t U
 extern @GNULIB_UNICTYPE_PROPERTY_OTHER_ID_CONTINUE_DLL_VARIABLE@ const uc_property_t UC_PROPERTY_OTHER_ID_CONTINUE;
 extern @GNULIB_UNICTYPE_PROPERTY_XID_START_DLL_VARIABLE@ const uc_property_t UC_PROPERTY_XID_START;
 extern @GNULIB_UNICTYPE_PROPERTY_XID_CONTINUE_DLL_VARIABLE@ const uc_property_t UC_PROPERTY_XID_CONTINUE;
+extern @GNULIB_UNICTYPE_PROPERTY_ID_COMPAT_MATH_START_DLL_VARIABLE@ const uc_property_t UC_PROPERTY_ID_COMPAT_MATH_START;
+extern @GNULIB_UNICTYPE_PROPERTY_ID_COMPAT_MATH_CONTINUE_DLL_VARIABLE@ const uc_property_t UC_PROPERTY_ID_COMPAT_MATH_CONTINUE;
 extern @GNULIB_UNICTYPE_PROPERTY_PATTERN_WHITE_SPACE_DLL_VARIABLE@ const uc_property_t UC_PROPERTY_PATTERN_WHITE_SPACE;
 extern @GNULIB_UNICTYPE_PROPERTY_PATTERN_SYNTAX_DLL_VARIABLE@ const uc_property_t UC_PROPERTY_PATTERN_SYNTAX;
 /* Shaping and rendering.  */
@@ -673,6 +675,7 @@ extern @GNULIB_UNICTYPE_PROPERTY_ASCII_HEX_DIGIT_DLL_VARIABLE@ const uc_property
 extern @GNULIB_UNICTYPE_PROPERTY_IDEOGRAPHIC_DLL_VARIABLE@ const uc_property_t UC_PROPERTY_IDEOGRAPHIC;
 extern @GNULIB_UNICTYPE_PROPERTY_UNIFIED_IDEOGRAPH_DLL_VARIABLE@ const uc_property_t UC_PROPERTY_UNIFIED_IDEOGRAPH;
 extern @GNULIB_UNICTYPE_PROPERTY_RADICAL_DLL_VARIABLE@ const uc_property_t UC_PROPERTY_RADICAL;
+extern @GNULIB_UNICTYPE_PROPERTY_IDS_UNARY_OPERATOR_DLL_VARIABLE@ const uc_property_t UC_PROPERTY_IDS_UNARY_OPERATOR;
 extern @GNULIB_UNICTYPE_PROPERTY_IDS_BINARY_OPERATOR_DLL_VARIABLE@ const uc_property_t UC_PROPERTY_IDS_BINARY_OPERATOR;
 extern @GNULIB_UNICTYPE_PROPERTY_IDS_TRINARY_OPERATOR_DLL_VARIABLE@ const uc_property_t UC_PROPERTY_IDS_TRINARY_OPERATOR;
 /* Emoji.  */
@@ -780,6 +783,10 @@ extern bool uc_is_property_xid_start (ucs4_t uc)
        _UC_ATTRIBUTE_CONST;
 extern bool uc_is_property_xid_continue (ucs4_t uc)
        _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_id_compat_math_start (ucs4_t uc)
+       _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_id_compat_math_continue (ucs4_t uc)
+       _UC_ATTRIBUTE_CONST;
 extern bool uc_is_property_pattern_white_space (ucs4_t uc)
        _UC_ATTRIBUTE_CONST;
 extern bool uc_is_property_pattern_syntax (ucs4_t uc)
@@ -838,6 +845,8 @@ extern bool uc_is_property_unified_ideograph (ucs4_t uc)
        _UC_ATTRIBUTE_CONST;
 extern bool uc_is_property_radical (ucs4_t uc)
        _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_ids_unary_operator (ucs4_t uc)
+       _UC_ATTRIBUTE_CONST;
 extern bool uc_is_property_ids_binary_operator (ucs4_t uc)
        _UC_ATTRIBUTE_CONST;
 extern bool uc_is_property_ids_trinary_operator (ucs4_t uc)
index 190669054184b568b0cb3db6dde90dc6ca2a5790..825992d345eeb9b7009305658e75acb742b6fff1 100644 (file)
@@ -69,6 +69,8 @@ enum
   UC_PROPERTY_INDEX_OTHER_ID_CONTINUE,
   UC_PROPERTY_INDEX_XID_START,
   UC_PROPERTY_INDEX_XID_CONTINUE,
+  UC_PROPERTY_INDEX_ID_COMPAT_MATH_START,
+  UC_PROPERTY_INDEX_ID_COMPAT_MATH_CONTINUE,
   UC_PROPERTY_INDEX_PATTERN_WHITE_SPACE,
   UC_PROPERTY_INDEX_PATTERN_SYNTAX,
   /* Shaping and rendering.  */
@@ -102,6 +104,7 @@ enum
   UC_PROPERTY_INDEX_IDEOGRAPHIC,
   UC_PROPERTY_INDEX_UNIFIED_IDEOGRAPH,
   UC_PROPERTY_INDEX_RADICAL,
+  UC_PROPERTY_INDEX_IDS_UNARY_OPERATOR,
   UC_PROPERTY_INDEX_IDS_BINARY_OPERATOR,
   UC_PROPERTY_INDEX_IDS_TRINARY_OPERATOR,
   /* Misc.  */
@@ -227,6 +230,10 @@ uc_property_byname (const char *property_name)
         return UC_PROPERTY_XID_START;
       case UC_PROPERTY_INDEX_XID_CONTINUE:
         return UC_PROPERTY_XID_CONTINUE;
+      case UC_PROPERTY_INDEX_ID_COMPAT_MATH_START:
+        return UC_PROPERTY_ID_COMPAT_MATH_START;
+      case UC_PROPERTY_INDEX_ID_COMPAT_MATH_CONTINUE:
+        return UC_PROPERTY_ID_COMPAT_MATH_CONTINUE;
       case UC_PROPERTY_INDEX_PATTERN_WHITE_SPACE:
         return UC_PROPERTY_PATTERN_WHITE_SPACE;
       case UC_PROPERTY_INDEX_PATTERN_SYNTAX:
@@ -285,6 +292,8 @@ uc_property_byname (const char *property_name)
         return UC_PROPERTY_UNIFIED_IDEOGRAPH;
       case UC_PROPERTY_INDEX_RADICAL:
         return UC_PROPERTY_RADICAL;
+      case UC_PROPERTY_INDEX_IDS_UNARY_OPERATOR:
+        return UC_PROPERTY_IDS_UNARY_OPERATOR;
       case UC_PROPERTY_INDEX_IDS_BINARY_OPERATOR:
         return UC_PROPERTY_IDS_BINARY_OPERATOR;
       case UC_PROPERTY_INDEX_IDS_TRINARY_OPERATOR:
index 847a8043dd0e7cbcbfdded9193d2536fb187e72e..dfeab2e4693eaf43db83f5a297fc5d6034a0ae18 100644 (file)
@@ -113,6 +113,12 @@ xids, UC_PROPERTY_INDEX_XID_START
 xid_continue, UC_PROPERTY_INDEX_XID_CONTINUE
 xidcontinue, UC_PROPERTY_INDEX_XID_CONTINUE
 xidc, UC_PROPERTY_INDEX_XID_CONTINUE
+id_compat_math_start, UC_PROPERTY_INDEX_ID_COMPAT_MATH_START
+idcompatmathstart, UC_PROPERTY_INDEX_ID_COMPAT_MATH_START
+idcms, UC_PROPERTY_INDEX_ID_COMPAT_MATH_START
+id_compat_math_continue, UC_PROPERTY_INDEX_ID_COMPAT_MATH_CONTINUE
+idcompatmathcontinue, UC_PROPERTY_INDEX_ID_COMPAT_MATH_CONTINUE
+idcmc, UC_PROPERTY_INDEX_ID_COMPAT_MATH_CONTINUE
 pattern_white_space, UC_PROPERTY_INDEX_PATTERN_WHITE_SPACE
 patternwhitespace, UC_PROPERTY_INDEX_PATTERN_WHITE_SPACE
 pat_ws, UC_PROPERTY_INDEX_PATTERN_WHITE_SPACE
@@ -189,6 +195,9 @@ unified_ideograph, UC_PROPERTY_INDEX_UNIFIED_IDEOGRAPH
 unifiedideograph, UC_PROPERTY_INDEX_UNIFIED_IDEOGRAPH
 uideo, UC_PROPERTY_INDEX_UNIFIED_IDEOGRAPH
 radical, UC_PROPERTY_INDEX_RADICAL
+ids_unary_operator, UC_PROPERTY_INDEX_IDS_UNARY_OPERATOR
+idsunaryoperator, UC_PROPERTY_INDEX_IDS_UNARY_OPERATOR
+idsu, UC_PROPERTY_INDEX_IDS_UNARY_OPERATOR
 ids_binary_operator, UC_PROPERTY_INDEX_IDS_BINARY_OPERATOR
 idsbinaryoperator, UC_PROPERTY_INDEX_IDS_BINARY_OPERATOR
 idsb, UC_PROPERTY_INDEX_IDS_BINARY_OPERATOR
diff --git a/lib/unictype/pr_id_compat_math_continue.c b/lib/unictype/pr_id_compat_math_continue.c
new file mode 100644 (file)
index 0000000..d522dc2
--- /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_id_compat_math_continue table.  */
+#include "pr_id_compat_math_continue.h"
+
+bool
+uc_is_property_id_compat_math_continue (ucs4_t uc)
+{
+  return bitmap_lookup (&u_property_id_compat_math_continue, uc);
+}
+
+const uc_property_t UC_PROPERTY_ID_COMPAT_MATH_CONTINUE =
+  { &uc_is_property_id_compat_math_continue };
diff --git a/lib/unictype/pr_id_compat_math_continue.h b/lib/unictype/pr_id_compat_math_continue.h
new file mode 100644 (file)
index 0000000..83f1b32
--- /dev/null
@@ -0,0 +1,323 @@
+/* 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[4 << 4];
+  }
+u_property_id_compat_math_continue =
+{
+  { 2 },
+  {
+        3 * sizeof (int) / sizeof (short) +     0,
+        3 * sizeof (int) / sizeof (short) +   128
+  },
+  {
+        3 +   256 * sizeof (short) / sizeof (int) +     0,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        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,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -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) +    48,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1
+  },
+  {
+    0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
+    0x00000000U, 0x020C0000U, 0x00000000U, 0x00000000U,
+    0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
+    0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
+    0x00000000U, 0x00000000U, 0x00000000U, 0x7FF10000U,
+    0x00007FFFU, 0x00000000U, 0x00000000U, 0x00000000U,
+    0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
+    0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
+    0x40000084U, 0x00000000U, 0x00000000U, 0x00000000U,
+    0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
+    0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
+    0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
+    0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
+    0x00000000U, 0x00000000U, 0x08000002U, 0x08000000U,
+    0x00200000U, 0x00200000U, 0x00008000U, 0x00008000U,
+    0x00000200U, 0x00000200U, 0x00000008U, 0x00000000U
+  }
+};
diff --git a/lib/unictype/pr_id_compat_math_start.c b/lib/unictype/pr_id_compat_math_start.c
new file mode 100644 (file)
index 0000000..73bd88b
--- /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_id_compat_math_start table.  */
+#include "pr_id_compat_math_start.h"
+
+bool
+uc_is_property_id_compat_math_start (ucs4_t uc)
+{
+  return bitmap_lookup (&u_property_id_compat_math_start, uc);
+}
+
+const uc_property_t UC_PROPERTY_ID_COMPAT_MATH_START =
+  { &uc_is_property_id_compat_math_start };
diff --git a/lib/unictype/pr_id_compat_math_start.h b/lib/unictype/pr_id_compat_math_start.h
new file mode 100644 (file)
index 0000000..0a040f6
--- /dev/null
@@ -0,0 +1,315 @@
+/* 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[2 << 4];
+  }
+u_property_id_compat_math_start =
+{
+  { 2 },
+  {
+        3 * sizeof (int) / sizeof (short) +     0,
+        3 * sizeof (int) / sizeof (short) +   128
+  },
+  {
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +     0,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -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) +    16,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1
+  },
+  {
+    0x40000084U, 0x00000000U, 0x00000000U, 0x00000000U,
+    0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
+    0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
+    0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
+    0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
+    0x00000000U, 0x00000000U, 0x08000002U, 0x08000000U,
+    0x00200000U, 0x00200000U, 0x00008000U, 0x00008000U,
+    0x00000200U, 0x00000200U, 0x00000008U, 0x00000000U
+  }
+};
diff --git a/lib/unictype/pr_ids_unary_operator.c b/lib/unictype/pr_ids_unary_operator.c
new file mode 100644 (file)
index 0000000..c665964
--- /dev/null
@@ -0,0 +1,38 @@
+/* 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"
+
+bool
+uc_is_property_ids_unary_operator (ucs4_t uc)
+{
+  return (uc >= 0x2FFE && uc <= 0x2FFF);
+}
+
+const uc_property_t UC_PROPERTY_IDS_UNARY_OPERATOR =
+  { &uc_is_property_ids_unary_operator };
index c4bc5c2c8dd40281cf9e092110dbddd29995b6ba..b6bb128dcc3a047da1b5bd035563d4dbdf0cf7a8 100644 (file)
@@ -1,4 +1,4 @@
-# unictype_h.m4 serial 1
+# unictype_h.m4 serial 2
 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,
@@ -98,6 +98,8 @@ AC_DEFUN([gl_UNICTYPE_H_REQUIRE_DEFAULTS],
     gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_OTHER_ID_CONTINUE_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
     gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_XID_START_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
     gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_XID_CONTINUE_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_ID_COMPAT_MATH_START_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_ID_COMPAT_MATH_CONTINUE_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
     gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_PATTERN_WHITE_SPACE_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
     gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_PATTERN_SYNTAX_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
     gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_JOIN_CONTROL_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
@@ -127,6 +129,7 @@ AC_DEFUN([gl_UNICTYPE_H_REQUIRE_DEFAULTS],
     gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_IDEOGRAPHIC_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
     gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_UNIFIED_IDEOGRAPH_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
     gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_RADICAL_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_IDS_UNARY_OPERATOR_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
     gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_IDS_BINARY_OPERATOR_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
     gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_IDS_TRINARY_OPERATOR_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
     gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_EMOJI_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
index f80dd02ad4b62c376b860d686cfc0a9267f1e67b..13323fd9f34f5eb5fb6e118dc17f74e341d81f3e 100644 (file)
@@ -96,6 +96,8 @@ unictype.h: unictype.in.h
              -e 's/@''GNULIB_UNICTYPE_PROPERTY_OTHER_ID_CONTINUE_DLL_VARIABLE''@/$(GNULIB_UNICTYPE_PROPERTY_OTHER_ID_CONTINUE_DLL_VARIABLE)/g' \
              -e 's/@''GNULIB_UNICTYPE_PROPERTY_XID_START_DLL_VARIABLE''@/$(GNULIB_UNICTYPE_PROPERTY_XID_START_DLL_VARIABLE)/g' \
              -e 's/@''GNULIB_UNICTYPE_PROPERTY_XID_CONTINUE_DLL_VARIABLE''@/$(GNULIB_UNICTYPE_PROPERTY_XID_CONTINUE_DLL_VARIABLE)/g' \
+             -e 's/@''GNULIB_UNICTYPE_PROPERTY_ID_COMPAT_MATH_START_DLL_VARIABLE''@/$(GNULIB_UNICTYPE_PROPERTY_ID_COMPAT_MATH_START_DLL_VARIABLE)/g' \
+             -e 's/@''GNULIB_UNICTYPE_PROPERTY_ID_COMPAT_MATH_CONTINUE_DLL_VARIABLE''@/$(GNULIB_UNICTYPE_PROPERTY_ID_COMPAT_MATH_CONTINUE_DLL_VARIABLE)/g' \
              -e 's/@''GNULIB_UNICTYPE_PROPERTY_PATTERN_WHITE_SPACE_DLL_VARIABLE''@/$(GNULIB_UNICTYPE_PROPERTY_PATTERN_WHITE_SPACE_DLL_VARIABLE)/g' \
              -e 's/@''GNULIB_UNICTYPE_PROPERTY_PATTERN_SYNTAX_DLL_VARIABLE''@/$(GNULIB_UNICTYPE_PROPERTY_PATTERN_SYNTAX_DLL_VARIABLE)/g' \
              -e 's/@''GNULIB_UNICTYPE_PROPERTY_JOIN_CONTROL_DLL_VARIABLE''@/$(GNULIB_UNICTYPE_PROPERTY_JOIN_CONTROL_DLL_VARIABLE)/g' \
@@ -127,6 +129,7 @@ unictype.h: unictype.in.h
              -e 's/@''GNULIB_UNICTYPE_PROPERTY_IDEOGRAPHIC_DLL_VARIABLE''@/$(GNULIB_UNICTYPE_PROPERTY_IDEOGRAPHIC_DLL_VARIABLE)/g' \
              -e 's/@''GNULIB_UNICTYPE_PROPERTY_UNIFIED_IDEOGRAPH_DLL_VARIABLE''@/$(GNULIB_UNICTYPE_PROPERTY_UNIFIED_IDEOGRAPH_DLL_VARIABLE)/g' \
              -e 's/@''GNULIB_UNICTYPE_PROPERTY_RADICAL_DLL_VARIABLE''@/$(GNULIB_UNICTYPE_PROPERTY_RADICAL_DLL_VARIABLE)/g' \
+             -e 's/@''GNULIB_UNICTYPE_PROPERTY_IDS_UNARY_OPERATOR_DLL_VARIABLE''@/$(GNULIB_UNICTYPE_PROPERTY_IDS_UNARY_OPERATOR_DLL_VARIABLE)/g' \
              -e 's/@''GNULIB_UNICTYPE_PROPERTY_IDS_BINARY_OPERATOR_DLL_VARIABLE''@/$(GNULIB_UNICTYPE_PROPERTY_IDS_BINARY_OPERATOR_DLL_VARIABLE)/g' \
              -e 's/@''GNULIB_UNICTYPE_PROPERTY_IDS_TRINARY_OPERATOR_DLL_VARIABLE''@/$(GNULIB_UNICTYPE_PROPERTY_IDS_TRINARY_OPERATOR_DLL_VARIABLE)/g' \
              -e 's/@''GNULIB_UNICTYPE_PROPERTY_EMOJI_DLL_VARIABLE''@/$(GNULIB_UNICTYPE_PROPERTY_EMOJI_DLL_VARIABLE)/g' \
index 73bea9dcb20f01c5d374b691c47074d4e895b04c..9d1d9d7e19c2b40433106d758c706e7c5f30eb4a 100644 (file)
@@ -52,11 +52,14 @@ unictype/property-grapheme-extend
 unictype/property-grapheme-link
 unictype/property-hex-digit
 unictype/property-hyphen
+unictype/property-id-compat-math-continue
+unictype/property-id-compat-math-start
 unictype/property-id-continue
 unictype/property-id-start
 unictype/property-ideographic
 unictype/property-ids-binary-operator
 unictype/property-ids-trinary-operator
+unictype/property-ids-unary-operator
 unictype/property-ignorable-control
 unictype/property-iso-control
 unictype/property-join-control
index 3b8b57700cdcc5cfee2d5354cd62a3a688f89150..23d82e045150d0750f149801e62b8d7df24caf82 100644 (file)
@@ -48,11 +48,14 @@ unictype/property-grapheme-extend
 unictype/property-grapheme-link
 unictype/property-hex-digit
 unictype/property-hyphen
+unictype/property-id-compat-math-continue
+unictype/property-id-compat-math-start
 unictype/property-id-continue
 unictype/property-id-start
 unictype/property-ideographic
 unictype/property-ids-binary-operator
 unictype/property-ids-trinary-operator
+unictype/property-ids-unary-operator
 unictype/property-ignorable-control
 unictype/property-iso-control
 unictype/property-join-control
diff --git a/modules/unictype/property-id-compat-math-continue b/modules/unictype/property-id-compat-math-continue
new file mode 100644 (file)
index 0000000..9f00b3a
--- /dev/null
@@ -0,0 +1,29 @@
+Description:
+Test whether a Unicode character is "id compat math continue".
+
+Files:
+lib/unictype/pr_id_compat_math_continue.c
+lib/unictype/pr_id_compat_math_continue.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-id-compat-math-continue])
+
+Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_ID_COMPAT_MATH_CONTINUE
+lib_SOURCES += unictype/pr_id_compat_math_continue.c
+endif
+
+Include:
+"unictype.h"
+
+License:
+LGPLv3+ or GPLv2+
+
+Maintainer:
+all
diff --git a/modules/unictype/property-id-compat-math-continue-tests b/modules/unictype/property-id-compat-math-continue-tests
new file mode 100644 (file)
index 0000000..e7be24f
--- /dev/null
@@ -0,0 +1,15 @@
+Files:
+tests/unictype/test-pr_id_compat_math_continue.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_id_compat_math_continue
+check_PROGRAMS += test-pr_id_compat_math_continue
+test_pr_id_compat_math_continue_SOURCES = unictype/test-pr_id_compat_math_continue.c
+test_pr_id_compat_math_continue_LDADD = $(LDADD) $(LIBUNISTRING)
diff --git a/modules/unictype/property-id-compat-math-start b/modules/unictype/property-id-compat-math-start
new file mode 100644 (file)
index 0000000..3476424
--- /dev/null
@@ -0,0 +1,29 @@
+Description:
+Test whether a Unicode character is "id compat math start".
+
+Files:
+lib/unictype/pr_id_compat_math_start.c
+lib/unictype/pr_id_compat_math_start.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-id-compat-math-start])
+
+Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_ID_COMPAT_MATH_START
+lib_SOURCES += unictype/pr_id_compat_math_start.c
+endif
+
+Include:
+"unictype.h"
+
+License:
+LGPLv3+ or GPLv2+
+
+Maintainer:
+all
diff --git a/modules/unictype/property-id-compat-math-start-tests b/modules/unictype/property-id-compat-math-start-tests
new file mode 100644 (file)
index 0000000..8d3e8d9
--- /dev/null
@@ -0,0 +1,15 @@
+Files:
+tests/unictype/test-pr_id_compat_math_start.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_id_compat_math_start
+check_PROGRAMS += test-pr_id_compat_math_start
+test_pr_id_compat_math_start_SOURCES = unictype/test-pr_id_compat_math_start.c
+test_pr_id_compat_math_start_LDADD = $(LDADD) $(LIBUNISTRING)
diff --git a/modules/unictype/property-ids-unary-operator b/modules/unictype/property-ids-unary-operator
new file mode 100644 (file)
index 0000000..b38381b
--- /dev/null
@@ -0,0 +1,27 @@
+Description:
+Test whether a Unicode character is "ids unary operator".
+
+Files:
+lib/unictype/pr_ids_unary_operator.c
+
+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-ids-unary-operator])
+
+Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_IDS_UNARY_OPERATOR
+lib_SOURCES += unictype/pr_ids_unary_operator.c
+endif
+
+Include:
+"unictype.h"
+
+License:
+LGPLv3+ or GPLv2+
+
+Maintainer:
+all
diff --git a/modules/unictype/property-ids-unary-operator-tests b/modules/unictype/property-ids-unary-operator-tests
new file mode 100644 (file)
index 0000000..0fae429
--- /dev/null
@@ -0,0 +1,15 @@
+Files:
+tests/unictype/test-pr_ids_unary_operator.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_ids_unary_operator
+check_PROGRAMS += test-pr_ids_unary_operator
+test_pr_ids_unary_operator_SOURCES = unictype/test-pr_ids_unary_operator.c
+test_pr_ids_unary_operator_LDADD = $(LDADD) $(LIBUNISTRING)
diff --git a/tests/unictype/test-pr_id_compat_math_continue.c b/tests/unictype/test-pr_id_compat_math_continue.c
new file mode 100644 (file)
index 0000000..c5ff0f3
--- /dev/null
@@ -0,0 +1,40 @@
+/* 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"
+
+    { 0x00B2, 0x00B3 },
+    { 0x00B9, 0x00B9 },
+    { 0x2070, 0x2070 },
+    { 0x2074, 0x207E },
+    { 0x2080, 0x208E },
+    { 0x2202, 0x2202 },
+    { 0x2207, 0x2207 },
+    { 0x221E, 0x221E },
+    { 0x1D6C1, 0x1D6C1 },
+    { 0x1D6DB, 0x1D6DB },
+    { 0x1D6FB, 0x1D6FB },
+    { 0x1D715, 0x1D715 },
+    { 0x1D735, 0x1D735 },
+    { 0x1D74F, 0x1D74F },
+    { 0x1D76F, 0x1D76F },
+    { 0x1D789, 0x1D789 },
+    { 0x1D7A9, 0x1D7A9 },
+    { 0x1D7C3, 0x1D7C3 }
+
+#define PREDICATE(c) uc_is_property_id_compat_math_continue (c)
+#include "test-predicate-part2.h"
diff --git a/tests/unictype/test-pr_id_compat_math_start.c b/tests/unictype/test-pr_id_compat_math_start.c
new file mode 100644 (file)
index 0000000..5884824
--- /dev/null
@@ -0,0 +1,35 @@
+/* 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"
+
+    { 0x2202, 0x2202 },
+    { 0x2207, 0x2207 },
+    { 0x221E, 0x221E },
+    { 0x1D6C1, 0x1D6C1 },
+    { 0x1D6DB, 0x1D6DB },
+    { 0x1D6FB, 0x1D6FB },
+    { 0x1D715, 0x1D715 },
+    { 0x1D735, 0x1D735 },
+    { 0x1D74F, 0x1D74F },
+    { 0x1D76F, 0x1D76F },
+    { 0x1D789, 0x1D789 },
+    { 0x1D7A9, 0x1D7A9 },
+    { 0x1D7C3, 0x1D7C3 }
+
+#define PREDICATE(c) uc_is_property_id_compat_math_start (c)
+#include "test-predicate-part2.h"
diff --git a/tests/unictype/test-pr_ids_unary_operator.c b/tests/unictype/test-pr_ids_unary_operator.c
new file mode 100644 (file)
index 0000000..ec4b0e3
--- /dev/null
@@ -0,0 +1,23 @@
+/* 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"
+
+    { 0x2FFE, 0x2FFF }
+
+#define PREDICATE(c) uc_is_property_ids_unary_operator (c)
+#include "test-predicate-part2.h"