From: Bruno Haible Date: Wed, 31 Jan 2024 15:43:45 +0000 (+0100) Subject: Implement 3 new properties, added by Unicode 15.1.0. X-Git-Tag: v1.0~473 X-Git-Url: https://gitweb.git.savannah.gnu.org/gitweb/?a=commitdiff_plain;h=7bc53cd0bc2f3097e48f3dd99d00647535767b6a;p=gnulib.git 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/ChangeLog b/ChangeLog index 84e7477892..4711be3dd9 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,54 @@ +2024-01-31 Bruno Haible + + 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 Update to Unicode 15.1.0. 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 , 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 . */ + +#include + +/* 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 index 0000000000..83f1b329ef --- /dev/null +++ b/lib/unictype/pr_id_compat_math_continue.h @@ -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 . */ + +#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 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 , 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 . */ + +#include + +/* 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 index 0000000000..0a040f6005 --- /dev/null +++ b/lib/unictype/pr_id_compat_math_start.h @@ -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 . */ + +#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 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 , 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 . */ + +#include + +/* 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) 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 index 0000000000..c5ff0f340d --- /dev/null +++ b/tests/unictype/test-pr_id_compat_math_continue.c @@ -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 . */ + +#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 index 0000000000..588482438d --- /dev/null +++ b/tests/unictype/test-pr_id_compat_math_start.c @@ -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 . */ + +#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 index 0000000000..ec4b0e32ab --- /dev/null +++ b/tests/unictype/test-pr_ids_unary_operator.c @@ -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 . */ + +#include "test-predicate-part1.h" + + { 0x2FFE, 0x2FFF } + +#define PREDICATE(c) uc_is_property_ids_unary_operator (c) +#include "test-predicate-part2.h"