From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on starla X-Spam-Level: X-Spam-Status: No, score=-0.7 required=3.0 tests=DKIM_INVALID,DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED, RCVD_IN_MSPIKE_H4,RCVD_IN_MSPIKE_WL,SPF_HELO_PASS,SPF_PASS, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dcvr.yhbt.net (Postfix) with ESMTPS id 77A951F44D for ; Mon, 12 Feb 2024 17:22:18 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rZa0C-00035I-6n; Mon, 12 Feb 2024 12:21:56 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rZa0A-00035A-GH for bug-gnulib@gnu.org; Mon, 12 Feb 2024 12:21:54 -0500 Received: from mo4-p00-ob.smtp.rzone.de ([81.169.146.216]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rZa06-0006hb-51 for bug-gnulib@gnu.org; Mon, 12 Feb 2024 12:21:54 -0500 ARC-Seal: i=1; a=rsa-sha256; t=1707758506; cv=none; d=strato.com; s=strato-dkim-0002; b=mUgJEGuIRAD6VMZ0TLq78IMolZEj05Ui+YJJ39nkKoflWtOmDKoS/y8r7dr9QxeN7f SMOnZfI29FbEA6IMgVSerYTg1xJ/qyNWHmGeDLCrf413BZq7Md1uspxR22aGxW5F5pI0 M8nqnif/zfrBsGhqy4PB42+kPcclkt/94K4mBK8xZCrG1DazNs6t8rdwRhvC4gb8ckcl kpjAk1mPWblD5ilq+Js+Fp3APcbV069JIBBXgsgwA8ikFchoqpGSPGbaA9SktxQYoUL0 7d5fKwfD5V9FNIy1T5g3l6Ufrn6Dq3s6Pj1NIRHjCO01NMgtpmaZez83loN+VvftYPbP vlyQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; t=1707758506; s=strato-dkim-0002; d=strato.com; h=Message-ID:Date:Subject:To:From:Cc:Date:From:Subject:Sender; bh=k7Ohn4Upnif7I/yqGEfCoDjLv6SuhsMYcNSP0oB5P0c=; b=Gz4mokIPesQM0m0/oGge472ESJvDJRwKI0vbylElfj5dvu4gzqc54blnFN6i30DI0b OoUp0i88fpFz41m60jUzL5Me2g4WccyBrzr0kasxtVnNS67Zw2bTX+KzN7MaeEqRb7N4 beR5CVBTKnUKx+SiAS24IjABa68/S9o2166mVIVrK1Skyj8fvo6SpvAF7sNjPmJ6Dd6Y X0+0utqkjG0bSWcovwFm1HCxoFB+s4DT3qIifDXDjnFH4MPYGkxuEuKI44gkKpQya/Zx ek632Skxtsuc1Gc6H7PdJfEpXBZwlTuX0RG6lVvfye2UReQ0SGrYNqRXnJC2w6zwJm9b s68g== ARC-Authentication-Results: i=1; strato.com; arc=none; dkim=none X-RZG-CLASS-ID: mo00 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; t=1707758506; s=strato-dkim-0002; d=clisp.org; h=Message-ID:Date:Subject:To:From:Cc:Date:From:Subject:Sender; bh=k7Ohn4Upnif7I/yqGEfCoDjLv6SuhsMYcNSP0oB5P0c=; b=sDMECrh/vQa7hHCbwmEEDfuSWFtzpu8lzxsovjB8BHTg68/gN5bhUqOoi+0/JPVbMz nGgargUCvqo+mTkOWPtj1Y7C+XV1hJQYO6DJFKC4d2j4fBLraG4H5Gq6miMmtJ4CYxe+ /tQyNRzSky3zuR1KMNBmk2hUuO2Vo52taVL9t7E2MZVcJmxAyaGWQ8ROnq3PaR97Zi70 4oj7HGgis7QpKIUw+75CAPpmYfghUXJjhGdUS/Wvx6ZfaXO5fEcMI/qJIheef3vCrtNo 90UbP70aZXJKtvWtuaVYIGVg9Fd4VL+vvp5u21rWSykvHrw6f9vfJ1tyNk8zEaRKOoK9 98EQ== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; t=1707758506; s=strato-dkim-0003; d=clisp.org; h=Message-ID:Date:Subject:To:From:Cc:Date:From:Subject:Sender; bh=k7Ohn4Upnif7I/yqGEfCoDjLv6SuhsMYcNSP0oB5P0c=; b=g3yvuxbJQoDU7DCulhq+UxrhAQyfbu0ZyZzb0R39VSa30ysKZuv2a1Bp/7BbGnZcRT hCf9W1PYdEpdSDp4O5DA== X-RZG-AUTH: ":Ln4Re0+Ic/6oZXR1YgKryK8brlshOcZlIWs+iCP5vnk6shH0WWb0LN8XZoH94zq68+3cfpOUjvAJksypBZYobnjb6pNDlL8vrQ==" Received: from nimes.localnet by smtp.strato.de (RZmta 49.11.2 AUTH) with ESMTPSA id 23464801CHLkcbU (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256 bits)) (Client did not present a certificate); Mon, 12 Feb 2024 18:21:46 +0100 (CET) From: Bruno Haible To: bug-gnulib@gnu.org Subject: Implement a new property, added by Unicode 9.0.0 Date: Mon, 12 Feb 2024 18:21:46 +0100 Message-ID: <9922065.EvYhyI6sBW@nimes> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="nextPart6084748.kQq0lBPeGt" Content-Transfer-Encoding: 7Bit Received-SPF: none client-ip=81.169.146.216; envelope-from=bruno@clisp.org; helo=mo4-p00-ob.smtp.rzone.de X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_PASS=-0.001, SPF_NONE=0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: bug-gnulib@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gnulib discussion list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnulib-bounces+normalperson=yhbt.net@gnu.org Sender: bug-gnulib-bounces+normalperson=yhbt.net@gnu.org This is a multi-part message in MIME format. --nextPart6084748.kQq0lBPeGt Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" When upgrading to Unicode 9.0.0, it was forgotten to add a new character property, that was introduced in Unicode 9.0.0. This patch adds it now. 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. --nextPart6084748.kQq0lBPeGt Content-Disposition: attachment; filename="0001-Implement-a-new-property-added-by-Unicode-9.0.0.patch" Content-Transfer-Encoding: 7Bit Content-Type: text/x-patch; charset="UTF-8"; name="0001-Implement-a-new-property-added-by-Unicode-9.0.0.patch" >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.34.1 --nextPart6084748.kQq0lBPeGt--