* Implement 3 new properties, added by Unicode 15.1.0
@ 2024-01-31 15:47 Bruno Haible
0 siblings, 0 replies; only message in thread
From: Bruno Haible @ 2024-01-31 15:47 UTC (permalink / raw)
To: bug-gnulib
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)
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2024-01-31 15:47 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-01-31 15:47 Implement 3 new properties, added by Unicode 15.1.0 Bruno Haible
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).