From d1e9030634d4d3077a743301bbbd31efb26bfe3f Mon Sep 17 00:00:00 2001 From: Bruno Haible Date: Mon, 12 Feb 2024 18:18:43 +0100 Subject: [PATCH] Implement a new property, added by Unicode 9.0.0. * lib/gen-uni-tables.c (is_property_prepended_concatenation_mark): New function. (output_properties): Output also the property prepended_concatenation_mark. * lib/unictype.in.h (UC_PROPERTY_PREPENDED_CONCATENATION_MARK, uc_is_property_prepended_concatenation_mark): New declarations. * m4/unictype_h.m4 (gl_UNICTYPE_H_REQUIRE_DEFAULTS): Initialize GNULIB_UNICTYPE_PROPERTY_PREPENDED_CONCATENATION_MARK. * modules/unictype/base (Makefile.am): Substitute GNULIB_UNICTYPE_PROPERTY_PREPENDED_CONCATENATION_MARK. * lib/unictype/pr_prepended_concatenation_mark.c: New file. * lib/unictype/pr_prepended_concatenation_mark.h: New generated file. * modules/unictype/property-prepended-concatenation-mark: New file. * tests/unictype/test-pr_prepended_concatenation_mark.c: New generated file. * modules/unictype/property-prepended-concatenation-mark-tests: New file. * lib/unictype/pr_byname.gperf: Add prepended_concatenation_mark. * lib/unictype/pr_byname.c (UC_PROPERTY_INDEX_PREPENDED_CONCATENATION_MARK): New enum item. (uc_property_byname): Handle it. * modules/unictype/property-byname (Depends-on): Add unictype/property-prepended-concatenation-mark. * modules/unictype/property-all (Depends-on): Likewise. * MODULES.html.sh (func_all_modules): Add unictype/property-prepended-concatenation-mark. --- ChangeLog | 30 ++ MODULES.html.sh | 1 + lib/gen-uni-tables.c | 12 +- lib/unictype.in.h | 3 + lib/unictype/pr_byname.c | 3 + lib/unictype/pr_byname.gperf | 2 + .../pr_prepended_concatenation_mark.c | 43 +++ .../pr_prepended_concatenation_mark.h | 319 ++++++++++++++++++ m4/unictype_h.m4 | 3 +- modules/unictype/base | 1 + modules/unictype/property-all | 1 + modules/unictype/property-byname | 1 + .../property-prepended-concatenation-mark | 29 ++ ...roperty-prepended-concatenation-mark-tests | 15 + .../test-pr_prepended_concatenation_mark.c | 29 ++ 15 files changed, 489 insertions(+), 3 deletions(-) create mode 100644 lib/unictype/pr_prepended_concatenation_mark.c create mode 100644 lib/unictype/pr_prepended_concatenation_mark.h create mode 100644 modules/unictype/property-prepended-concatenation-mark create mode 100644 modules/unictype/property-prepended-concatenation-mark-tests create mode 100644 tests/unictype/test-pr_prepended_concatenation_mark.c diff --git a/ChangeLog b/ChangeLog index 3492c59f49..019ccf0c7b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,33 @@ +2024-02-12 Bruno Haible + + Implement a new property, added by Unicode 9.0.0. + * lib/gen-uni-tables.c (is_property_prepended_concatenation_mark): New + function. + (output_properties): Output also the property + prepended_concatenation_mark. + * lib/unictype.in.h (UC_PROPERTY_PREPENDED_CONCATENATION_MARK, + uc_is_property_prepended_concatenation_mark): New declarations. + * m4/unictype_h.m4 (gl_UNICTYPE_H_REQUIRE_DEFAULTS): Initialize + GNULIB_UNICTYPE_PROPERTY_PREPENDED_CONCATENATION_MARK. + * modules/unictype/base (Makefile.am): Substitute + GNULIB_UNICTYPE_PROPERTY_PREPENDED_CONCATENATION_MARK. + * lib/unictype/pr_prepended_concatenation_mark.c: New file. + * lib/unictype/pr_prepended_concatenation_mark.h: New generated file. + * modules/unictype/property-prepended-concatenation-mark: New file. + * tests/unictype/test-pr_prepended_concatenation_mark.c: New generated + file. + * modules/unictype/property-prepended-concatenation-mark-tests: New + file. + * lib/unictype/pr_byname.gperf: Add prepended_concatenation_mark. + * lib/unictype/pr_byname.c + (UC_PROPERTY_INDEX_PREPENDED_CONCATENATION_MARK): New enum item. + (uc_property_byname): Handle it. + * modules/unictype/property-byname (Depends-on): Add + unictype/property-prepended-concatenation-mark. + * modules/unictype/property-all (Depends-on): Likewise. + * MODULES.html.sh (func_all_modules): Add + unictype/property-prepended-concatenation-mark. + 2024-02-12 Bruno Haible posixtm tests: Fix reference to undefined module (regr. 2024-02-09). diff --git a/MODULES.html.sh b/MODULES.html.sh index 76a6291303..442be7f690 100755 --- a/MODULES.html.sh +++ b/MODULES.html.sh @@ -3450,6 +3450,7 @@ func_all_modules () func_module unictype/property-paragraph-separator func_module unictype/property-pattern-syntax func_module unictype/property-pattern-white-space + func_module unictype/property-prepended-concatenation-mark func_module unictype/property-private-use func_module unictype/property-punctuation func_module unictype/property-quotation-mark diff --git a/lib/gen-uni-tables.c b/lib/gen-uni-tables.c index 11b1a46a0f..bc228105b4 100644 --- a/lib/gen-uni-tables.c +++ b/lib/gen-uni-tables.c @@ -2692,6 +2692,7 @@ enum PROP_WHITE_SPACE, PROP_BIDI_CONTROL, PROP_JOIN_CONTROL, + PROP_PREPENDED_CONCATENATION_MARK, PROP_DASH, PROP_HYPHEN, PROP_QUOTATION_MARK, @@ -2724,7 +2725,6 @@ enum PROP_VARIATION_SELECTOR, PROP_PATTERN_WHITE_SPACE, PROP_PATTERN_SYNTAX, - PROP_PREPENDED_CONCATENATION_MARK, PROP_REGIONAL_INDICATOR, /* DerivedCoreProperties.txt */ PROP_MATH, @@ -2819,6 +2819,7 @@ fill_properties (const char *proplist_filename) PROP ("White_Space", PROP_WHITE_SPACE) PROP ("Bidi_Control", PROP_BIDI_CONTROL) PROP ("Join_Control", PROP_JOIN_CONTROL) + PROP ("Prepended_Concatenation_Mark", PROP_PREPENDED_CONCATENATION_MARK) PROP ("Dash", PROP_DASH) PROP ("Hyphen", PROP_HYPHEN) PROP ("Quotation_Mark", PROP_QUOTATION_MARK) @@ -2851,7 +2852,6 @@ fill_properties (const char *proplist_filename) PROP ("Variation_Selector", PROP_VARIATION_SELECTOR) PROP ("Pattern_White_Space", PROP_PATTERN_WHITE_SPACE) PROP ("Pattern_Syntax", PROP_PATTERN_SYNTAX) - PROP ("Prepended_Concatenation_Mark", PROP_PREPENDED_CONCATENATION_MARK) PROP ("Regional_Indicator", PROP_REGIONAL_INDICATOR) /* DerivedCoreProperties.txt */ PROP ("Math", PROP_MATH) @@ -3619,6 +3619,13 @@ is_property_format_control (unsigned int ch) && ch != 0xFEFF); } +/* See PropList.txt, UCD.html. */ +static bool +is_property_prepended_concatenation_mark (unsigned int ch) +{ + return ((unicode_properties[ch] & (1ULL << PROP_PREPENDED_CONCATENATION_MARK)) != 0); +} + /* See PropList.txt, UCD.html. */ static bool is_property_dash (unsigned int ch) @@ -3932,6 +3939,7 @@ output_properties (const char *version) PROPERTY(non_break) PROPERTY(iso_control) PROPERTY(format_control) + PROPERTY(prepended_concatenation_mark) PROPERTY(dash) PROPERTY(hyphen) PROPERTY(punctuation) diff --git a/lib/unictype.in.h b/lib/unictype.in.h index ebb883c635..fdd2cd1cec 100644 --- a/lib/unictype.in.h +++ b/lib/unictype.in.h @@ -691,6 +691,7 @@ extern @GNULIB_UNICTYPE_PROPERTY_SPACE_DLL_VARIABLE@ const uc_property_t UC_PROP extern @GNULIB_UNICTYPE_PROPERTY_NON_BREAK_DLL_VARIABLE@ const uc_property_t UC_PROPERTY_NON_BREAK; extern @GNULIB_UNICTYPE_PROPERTY_ISO_CONTROL_DLL_VARIABLE@ const uc_property_t UC_PROPERTY_ISO_CONTROL; extern @GNULIB_UNICTYPE_PROPERTY_FORMAT_CONTROL_DLL_VARIABLE@ const uc_property_t UC_PROPERTY_FORMAT_CONTROL; +extern @GNULIB_UNICTYPE_PROPERTY_PREPENDED_CONCATENATION_MARK_DLL_VARIABLE@ const uc_property_t UC_PROPERTY_PREPENDED_CONCATENATION_MARK; extern @GNULIB_UNICTYPE_PROPERTY_DASH_DLL_VARIABLE@ const uc_property_t UC_PROPERTY_DASH; extern @GNULIB_UNICTYPE_PROPERTY_HYPHEN_DLL_VARIABLE@ const uc_property_t UC_PROPERTY_HYPHEN; extern @GNULIB_UNICTYPE_PROPERTY_PUNCTUATION_DLL_VARIABLE@ const uc_property_t UC_PROPERTY_PUNCTUATION; @@ -873,6 +874,8 @@ extern bool uc_is_property_iso_control (ucs4_t uc) _UC_ATTRIBUTE_CONST; extern bool uc_is_property_format_control (ucs4_t uc) _UC_ATTRIBUTE_CONST; +extern bool uc_is_property_prepended_concatenation_mark (ucs4_t uc) + _UC_ATTRIBUTE_CONST; extern bool uc_is_property_dash (ucs4_t uc) _UC_ATTRIBUTE_CONST; extern bool uc_is_property_hyphen (ucs4_t uc) diff --git a/lib/unictype/pr_byname.c b/lib/unictype/pr_byname.c index 825992d345..802e25f8e2 100644 --- a/lib/unictype/pr_byname.c +++ b/lib/unictype/pr_byname.c @@ -113,6 +113,7 @@ enum UC_PROPERTY_INDEX_NON_BREAK, UC_PROPERTY_INDEX_ISO_CONTROL, UC_PROPERTY_INDEX_FORMAT_CONTROL, + UC_PROPERTY_INDEX_PREPENDED_CONCATENATION_MARK, UC_PROPERTY_INDEX_DASH, UC_PROPERTY_INDEX_HYPHEN, UC_PROPERTY_INDEX_PUNCTUATION, @@ -308,6 +309,8 @@ uc_property_byname (const char *property_name) return UC_PROPERTY_ISO_CONTROL; case UC_PROPERTY_INDEX_FORMAT_CONTROL: return UC_PROPERTY_FORMAT_CONTROL; + case UC_PROPERTY_INDEX_PREPENDED_CONCATENATION_MARK: + return UC_PROPERTY_PREPENDED_CONCATENATION_MARK; case UC_PROPERTY_INDEX_DASH: return UC_PROPERTY_DASH; case UC_PROPERTY_INDEX_HYPHEN: diff --git a/lib/unictype/pr_byname.gperf b/lib/unictype/pr_byname.gperf index dfeab2e469..8a654de129 100644 --- a/lib/unictype/pr_byname.gperf +++ b/lib/unictype/pr_byname.gperf @@ -213,6 +213,8 @@ iso_control, UC_PROPERTY_INDEX_ISO_CONTROL isocontrol, UC_PROPERTY_INDEX_ISO_CONTROL format_control, UC_PROPERTY_INDEX_FORMAT_CONTROL formatcontrol, UC_PROPERTY_INDEX_FORMAT_CONTROL +prepended_concatenation_mark, UC_PROPERTY_INDEX_PREPENDED_CONCATENATION_MARK +prependedconcatenationmark, UC_PROPERTY_INDEX_PREPENDED_CONCATENATION_MARK dash, UC_PROPERTY_INDEX_DASH hyphen, UC_PROPERTY_INDEX_HYPHEN punctuation, UC_PROPERTY_INDEX_PUNCTUATION diff --git a/lib/unictype/pr_prepended_concatenation_mark.c b/lib/unictype/pr_prepended_concatenation_mark.c new file mode 100644 index 0000000000..8e8ea7a2eb --- /dev/null +++ b/lib/unictype/pr_prepended_concatenation_mark.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_prepended_concatenation_mark table. */ +#include "pr_prepended_concatenation_mark.h" + +bool +uc_is_property_prepended_concatenation_mark (ucs4_t uc) +{ + return bitmap_lookup (&u_property_prepended_concatenation_mark, uc); +} + +const uc_property_t UC_PROPERTY_PREPENDED_CONCATENATION_MARK = + { &uc_is_property_prepended_concatenation_mark }; diff --git a/lib/unictype/pr_prepended_concatenation_mark.h b/lib/unictype/pr_prepended_concatenation_mark.h new file mode 100644 index 0000000000..49a73f1f15 --- /dev/null +++ b/lib/unictype/pr_prepended_concatenation_mark.h @@ -0,0 +1,319 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Properties of Unicode characters. */ +/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */ + +/* Copyright (C) 2000-2024 Free Software Foundation, Inc. + + This file is free software. + It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+". + You can redistribute it and/or modify it under either + - the terms of the GNU Lesser General Public License as published + by the Free Software Foundation, either version 3, or (at your + option) any later version, or + - the terms of the GNU General Public License as published by the + Free Software Foundation; either version 2, or (at your option) + any later version, or + - the same dual license "the GNU LGPLv3+ or the GNU GPLv2+". + + This file is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License and the GNU General Public License + for more details. + + You should have received a copy of the GNU Lesser General Public + License and of the GNU General Public License along with this + program. If not, see . */ + +#define header_0 16 +#define header_2 9 +#define header_3 127 +#define header_4 15 +static const +struct + { + int header[1]; + int level1[2]; + short level2[2 << 7]; + unsigned int level3[3 << 4]; + } +u_property_prepended_concatenation_mark = +{ + { 2 }, + { + 3 * sizeof (int) / sizeof (short) + 0, + 3 * sizeof (int) / sizeof (short) + 128 + }, + { + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 0, + 3 + 256 * sizeof (short) / sizeof (int) + 16, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 32, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1 + }, + { + 0x0000003FU, 0x00000000U, 0x00000000U, 0x00000000U, + 0x00000000U, 0x00000000U, 0x20000000U, 0x00000000U, + 0x00008000U, 0x00000000U, 0x00000000U, 0x00000000U, + 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U, + 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U, + 0x00030000U, 0x00000000U, 0x00000000U, 0x00000004U, + 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U, + 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U, + 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U, + 0x00000000U, 0x20000000U, 0x00002000U, 0x00000000U, + 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U, + 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U + } +}; diff --git a/m4/unictype_h.m4 b/m4/unictype_h.m4 index b6bb128dcc..68b864bd9f 100644 --- a/m4/unictype_h.m4 +++ b/m4/unictype_h.m4 @@ -1,4 +1,4 @@ -# unictype_h.m4 serial 2 +# unictype_h.m4 serial 3 dnl Copyright (C) 2023-2024 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -143,6 +143,7 @@ AC_DEFUN([gl_UNICTYPE_H_REQUIRE_DEFAULTS], gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_NON_BREAK_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE']) gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_ISO_CONTROL_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE']) gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_FORMAT_CONTROL_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE']) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_PREPENDED_CONCATENATION_MARK_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE']) gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_DASH_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE']) gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_HYPHEN_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE']) gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_PUNCTUATION_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE']) diff --git a/modules/unictype/base b/modules/unictype/base index 13323fd9f3..4fe6a42ddc 100644 --- a/modules/unictype/base +++ b/modules/unictype/base @@ -143,6 +143,7 @@ unictype.h: unictype.in.h -e 's/@''GNULIB_UNICTYPE_PROPERTY_NON_BREAK_DLL_VARIABLE''@/$(GNULIB_UNICTYPE_PROPERTY_NON_BREAK_DLL_VARIABLE)/g' \ -e 's/@''GNULIB_UNICTYPE_PROPERTY_ISO_CONTROL_DLL_VARIABLE''@/$(GNULIB_UNICTYPE_PROPERTY_ISO_CONTROL_DLL_VARIABLE)/g' \ -e 's/@''GNULIB_UNICTYPE_PROPERTY_FORMAT_CONTROL_DLL_VARIABLE''@/$(GNULIB_UNICTYPE_PROPERTY_FORMAT_CONTROL_DLL_VARIABLE)/g' \ + -e 's/@''GNULIB_UNICTYPE_PROPERTY_PREPENDED_CONCATENATION_MARK_DLL_VARIABLE''@/$(GNULIB_UNICTYPE_PROPERTY_PREPENDED_CONCATENATION_MARK_DLL_VARIABLE)/g' \ -e 's/@''GNULIB_UNICTYPE_PROPERTY_DASH_DLL_VARIABLE''@/$(GNULIB_UNICTYPE_PROPERTY_DASH_DLL_VARIABLE)/g' \ -e 's/@''GNULIB_UNICTYPE_PROPERTY_HYPHEN_DLL_VARIABLE''@/$(GNULIB_UNICTYPE_PROPERTY_HYPHEN_DLL_VARIABLE)/g' \ -e 's/@''GNULIB_UNICTYPE_PROPERTY_PUNCTUATION_DLL_VARIABLE''@/$(GNULIB_UNICTYPE_PROPERTY_PUNCTUATION_DLL_VARIABLE)/g' \ diff --git a/modules/unictype/property-all b/modules/unictype/property-all index 9d1d9d7e19..a9bc3cf6f7 100644 --- a/modules/unictype/property-all +++ b/modules/unictype/property-all @@ -83,6 +83,7 @@ unictype/property-paired-punctuation unictype/property-paragraph-separator unictype/property-pattern-syntax unictype/property-pattern-white-space +unictype/property-prepended-concatenation-mark unictype/property-private-use unictype/property-punctuation unictype/property-quotation-mark diff --git a/modules/unictype/property-byname b/modules/unictype/property-byname index 23d82e0451..418cd1b730 100644 --- a/modules/unictype/property-byname +++ b/modules/unictype/property-byname @@ -79,6 +79,7 @@ unictype/property-paired-punctuation unictype/property-paragraph-separator unictype/property-pattern-syntax unictype/property-pattern-white-space +unictype/property-prepended-concatenation-mark unictype/property-private-use unictype/property-punctuation unictype/property-quotation-mark diff --git a/modules/unictype/property-prepended-concatenation-mark b/modules/unictype/property-prepended-concatenation-mark new file mode 100644 index 0000000000..89644f9d73 --- /dev/null +++ b/modules/unictype/property-prepended-concatenation-mark @@ -0,0 +1,29 @@ +Description: +Test whether a Unicode character is "prepended concatenation mark". + +Files: +lib/unictype/pr_prepended_concatenation_mark.c +lib/unictype/pr_prepended_concatenation_mark.h +lib/unictype/bitmap.h + +Depends-on: +unictype/base + +configure.ac: +AC_REQUIRE([AC_C_INLINE]) +gl_UNICTYPE_H_REQUIRE_DEFAULTS +gl_LIBUNISTRING_MODULE_WITH_VARIABLE([1.2], [unictype/property-prepended-concatenation-mark]) + +Makefile.am: +if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_PREPENDED_CONCATENATION_MARK +lib_SOURCES += unictype/pr_prepended_concatenation_mark.c +endif + +Include: +"unictype.h" + +License: +LGPLv3+ or GPLv2+ + +Maintainer: +all diff --git a/modules/unictype/property-prepended-concatenation-mark-tests b/modules/unictype/property-prepended-concatenation-mark-tests new file mode 100644 index 0000000000..bfbf6df0ef --- /dev/null +++ b/modules/unictype/property-prepended-concatenation-mark-tests @@ -0,0 +1,15 @@ +Files: +tests/unictype/test-pr_prepended_concatenation_mark.c +tests/unictype/test-predicate-part1.h +tests/unictype/test-predicate-part2.h +tests/macros.h + +Depends-on: + +configure.ac: + +Makefile.am: +TESTS += test-pr_prepended_concatenation_mark +check_PROGRAMS += test-pr_prepended_concatenation_mark +test_pr_prepended_concatenation_mark_SOURCES = unictype/test-pr_prepended_concatenation_mark.c +test_pr_prepended_concatenation_mark_LDADD = $(LDADD) $(LIBUNISTRING) diff --git a/tests/unictype/test-pr_prepended_concatenation_mark.c b/tests/unictype/test-pr_prepended_concatenation_mark.c new file mode 100644 index 0000000000..5a86b2c50a --- /dev/null +++ b/tests/unictype/test-pr_prepended_concatenation_mark.c @@ -0,0 +1,29 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Test the Unicode character type functions. + Copyright (C) 2007-2024 Free Software Foundation, Inc. + + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published + by the Free Software Foundation, either version 3 of the License, + or (at your option) any later version. + + This file is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include "test-predicate-part1.h" + + { 0x0600, 0x0605 }, + { 0x06DD, 0x06DD }, + { 0x070F, 0x070F }, + { 0x0890, 0x0891 }, + { 0x08E2, 0x08E2 }, + { 0x110BD, 0x110BD }, + { 0x110CD, 0x110CD } + +#define PREDICATE(c) uc_is_property_prepended_concatenation_mark (c) +#include "test-predicate-part2.h" -- 2.39.5