bug-gnulib
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Implement 3 new properties, added by Unicode 15.1.0


From: Bruno Haible
Subject: Implement 3 new properties, added by Unicode 15.1.0
Date: Wed, 31 Jan 2024 16:47:10 +0100

Unicode 15.1.0 introduced three new character properties:
  ID_Compat_Math_Start
  ID_Compat_Math_Continue
  IDS_Unary_Operator

This patch implements them.


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.

diff --git a/MODULES.html.sh b/MODULES.html.sh
index 3ee896c5f2..76a6291303 100755
--- a/MODULES.html.sh
+++ b/MODULES.html.sh
@@ -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
diff --git a/lib/gen-uni-tables.c b/lib/gen-uni-tables.c
index 61ea8d0d9d..b948489fbf 100644
--- a/lib/gen-uni-tables.c
+++ b/lib/gen-uni-tables.c
@@ -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)
diff --git a/lib/unictype.in.h b/lib/unictype.in.h
index 8018123057..ebb883c635 100644
--- a/lib/unictype.in.h
+++ b/lib/unictype.in.h
@@ -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)
diff --git a/lib/unictype/pr_byname.c b/lib/unictype/pr_byname.c
index 1906690541..825992d345 100644
--- a/lib/unictype/pr_byname.c
+++ b/lib/unictype/pr_byname.c
@@ -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:
diff --git a/lib/unictype/pr_byname.gperf b/lib/unictype/pr_byname.gperf
index 847a8043dd..dfeab2e469 100644
--- a/lib/unictype/pr_byname.gperf
+++ b/lib/unictype/pr_byname.gperf
@@ -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
index 0000000000..d522dc2264
--- /dev/null
+++ b/lib/unictype/pr_id_compat_math_continue.c
@@ -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_start.c 
b/lib/unictype/pr_id_compat_math_start.c
new file mode 100644
index 0000000000..73bd88b87b
--- /dev/null
+++ b/lib/unictype/pr_id_compat_math_start.c
@@ -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_ids_unary_operator.c 
b/lib/unictype/pr_ids_unary_operator.c
new file mode 100644
index 0000000000..c665964b4d
--- /dev/null
+++ b/lib/unictype/pr_ids_unary_operator.c
@@ -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 };
diff --git a/m4/unictype_h.m4 b/m4/unictype_h.m4
index c4bc5c2c8d..b6bb128dcc 100644
--- a/m4/unictype_h.m4
+++ b/m4/unictype_h.m4
@@ -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'])
diff --git a/modules/unictype/base b/modules/unictype/base
index f80dd02ad4..13323fd9f3 100644
--- a/modules/unictype/base
+++ b/modules/unictype/base
@@ -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'
 \
diff --git a/modules/unictype/property-all b/modules/unictype/property-all
index 73bea9dcb2..9d1d9d7e19 100644
--- a/modules/unictype/property-all
+++ b/modules/unictype/property-all
@@ -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
diff --git a/modules/unictype/property-byname b/modules/unictype/property-byname
index 3b8b57700c..23d82e0451 100644
--- a/modules/unictype/property-byname
+++ b/modules/unictype/property-byname
@@ -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
index 0000000000..9f00b3a997
--- /dev/null
+++ b/modules/unictype/property-id-compat-math-continue
@@ -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
index 0000000000..e7be24fdfe
--- /dev/null
+++ b/modules/unictype/property-id-compat-math-continue-tests
@@ -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
index 0000000000..3476424700
--- /dev/null
+++ b/modules/unictype/property-id-compat-math-start
@@ -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
index 0000000000..8d3e8d9ed4
--- /dev/null
+++ b/modules/unictype/property-id-compat-math-start-tests
@@ -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
index 0000000000..b38381b85b
--- /dev/null
+++ b/modules/unictype/property-ids-unary-operator
@@ -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
index 0000000000..0fae42972c
--- /dev/null
+++ b/modules/unictype/property-ids-unary-operator-tests
@@ -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)






reply via email to

[Prev in Thread] Current Thread [Next in Thread]