From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on dcvr.yhbt.net X-Spam-Level: X-Spam-ASN: AS22989 209.51.188.0/24 X-Spam-Status: No, score=-3.6 required=3.0 tests=AWL,BAYES_00,DKIM_SIGNED, DKIM_VALID,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED, SPF_HELO_NONE,SPF_PASS shortcircuit=no autolearn=ham autolearn_force=no version=3.4.2 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 541A71F46C for ; Mon, 13 Jan 2020 10:51:10 +0000 (UTC) Received: from localhost ([::1]:48716 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iqxJM-0007S7-GO for normalperson@yhbt.net; Mon, 13 Jan 2020 05:51:08 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:59595) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iqxJA-0007RT-Am for bug-gnulib@gnu.org; Mon, 13 Jan 2020 05:50:58 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iqxJ8-0005ZO-G2 for bug-gnulib@gnu.org; Mon, 13 Jan 2020 05:50:56 -0500 Received: from mout.gmx.net ([212.227.17.20]:53633) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1iqxJ6-0005VM-RP; Mon, 13 Jan 2020 05:50:53 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1578912648; bh=gd51qoW0UMc+ZOW8Co0yc5EBctV2eBCjztTTiR9QgjM=; h=X-UI-Sender-Class:Subject:To:Cc:References:From:Date:In-Reply-To; b=Lwn6w//utq2NT1ytRQYDQubDnVMhlQKgID5jFlOfdLb+V5ClwMacsFJc/oDX1Rv0m Rg1xOvTo/mOTYq3Gy2NWjcn19/wHI75V5h/+PIlqFLzmjn9KXh+MbQdCIluYKe0saB rolnkIBjC0LIrwKnxjj6KkqRnnciEs8fDZdOdfak= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from [192.168.111.218] ([31.17.216.109]) by mail.gmx.com (mrgmx104 [212.227.17.168]) with ESMTPSA (Nemesis) id 1M9Fnj-1imIc32ukZ-006PBg; Mon, 13 Jan 2020 11:50:48 +0100 Subject: Re: Unicode support in poke To: Bruno Haible , jemarch@gnu.org References: <75190314.tGigbJWGBi@omega> From: =?UTF-8?Q?Tim_R=c3=bchsen?= Autocrypt: addr=tim.ruehsen@gmx.de; prefer-encrypt=mutual; keydata= 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 Message-ID: <3698f27c-ad25-14f7-09b0-1cb5b1a5cad1@gmx.de> Date: Mon, 13 Jan 2020 11:50:43 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.3.1 MIME-Version: 1.0 In-Reply-To: <75190314.tGigbJWGBi@omega> Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="BfhHk4Lt4IH2rgt8ni0aPY8rbB7IkWSuj" X-Provags-ID: V03:K1:ioXHsu2Ka9G/1idn2Al55JbdFtw0b5uQjKlcbOAbFEzXpoQqJWw jbAJuo+82xY+OxEQ2nuvF2bxsd8NRa97WPXOMt9uv5vV/oSWRUxrHYZQN2wmVjK2+qkgfZi GrBlc5kmOOxx/zpTAV70QOfJZqK40qaYxsbgXEdZzLBlZf1wErCGxu70RV01yxyPhWAQmvP 38ztgVht8h+Y3OwxmqoUg== X-UI-Out-Filterresults: notjunk:1;V03:K0:04vhdYrC5Wo=:Lz4TXp9maSMjTmMv/651ey fYDqCKhEwvSISi2kavTC4gXgdhQFP3UgXbl7q2dRTIFaBC5A8XuHqjHb00Y1/bPgpBR4RJf/n Ev88UBprknE8NBJifftGs/KqUbAEeOKvQuz+fi7p9Ns48Oqur/60E/PB1z3LkApCDVYApyMKm ToXHKg2ZVap8BTlLWoReFX19rJcWDswHXONhtlIdlrVv60PcqnlMXs6X/Iyke65BBAU4/eNBN YuHW7bT4UxtcN2/nSuxxCpSTvPj+Bdsx2OeICJ8PBWVe9k+B8JN7+pmTIaa8cbzMD/BmgMAc7 9TWBdP4kIBLvKExOJdrJ5UVO763KHEMvIDpCBb+E1hVsSlDE+kG5LiAFasNJ1LoBdGCHqFTkv H6N6WGUQIo66/N5b+rS5ofeOrPadZvsBYu8kFxFp2ppeSgPYZTgGi9ObpSR6VL1L58cf3S37+ w5fGXhAEKuPcU4aclJyu458CVt38Z+m4BhxRHJP9S+AWCYy8FC+3kLS9hfxPzGObH84nLgm/k AtRRgafk+S5Nn6d4HCx7kaOEV7QHGzp0moTkmy7VCEbDHUoyviKtVM480ojeSAcVMsVEf0nN8 EWTBYiIRm2a/bbwxsi8fNU7K8zBYjUkCdTcva5iutKzsJ7mloIPmDJ/7u86naOjm9orA62a6W hj4gkBppGEZLizJxpr+IWOt+kbXMwrmw23nJJCa+eCjB/h1bnsg1xv8hyHhQT8hmdjCfDGTy1 krGK3hqKYozhbMh7mVFUMYicpyGrhRf18oV0BXC3oOHj89HwEpJ93XnKn7u/2Ojbi3hk6nLJE ahmHaz6dEqitcRi3Ek8AYISzAI51FnvVBWVh+blKlUyEQ9YEoMSroThw3ZOQnpmTbc9E84Lnk KFiUuiRNRdajRxfbwO+7EGzqDKr7R7SRMt8TeIx+pquv4QjbbEQteShvqf8l8GecjF+1/8EzL uR0tLbsJW+iLWuBtgBsPOGXMDP3FCakiNV3MEGGnLb+N+xNac1U54H8olumVuNZuOZl+0Kpla ThZZx6EMZsTZsBKVa6FTEnorVJsx2ke21+mT7hrTmqhAri5DvrWcHgbXnQCdib6ySzzXS4ioP 1PXpb85VmNSfh/4aBonlAhBcX9A+64iNf44RHqGmQ3NYNAoP0IwWAMC5Fwyq7OX9Tgt1R60U3 Mw0o4IV2yS/qk+Sgmddm2JwKBSIu8zUGHD/T3skshNBOXTychfrYmxmfVBdtnb4DfUsLugBuw etlRHcCcXYh/9slmHDbHPwpxMNa7SYqGJKc0KpuMqkHGWMa3rm/6n3NT9dxo= X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 212.227.17.20 X-BeenThere: bug-gnulib@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Gnulib discussion list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: bug-gnulib@gnu.org Errors-To: bug-gnulib-bounces+normalperson=yhbt.net@gnu.org Sender: "bug-gnulib" This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --BfhHk4Lt4IH2rgt8ni0aPY8rbB7IkWSuj Content-Type: multipart/mixed; boundary="XkyBtkj3LDzmEqQzeMi2ret6uaTe4NpBg"; protected-headers="v1" From: =?UTF-8?Q?Tim_R=c3=bchsen?= To: Bruno Haible , jemarch@gnu.org Cc: bug-gnulib@gnu.org Message-ID: <3698f27c-ad25-14f7-09b0-1cb5b1a5cad1@gmx.de> Subject: Re: Unicode support in poke References: <75190314.tGigbJWGBi@omega> In-Reply-To: <75190314.tGigbJWGBi@omega> --XkyBtkj3LDzmEqQzeMi2ret6uaTe4NpBg Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: quoted-printable Hi Jos=C3=A9, you could look at libidn2 as an example how to use system libunistring if there (or if new enough) and fallback to gnulib unistring. (BTW, libunistring is made of the gnulib unistring modules) It creates a separate dir / library for gnulib unistring functions, *BUT* only uses it when a system libunistring can't be found. bootstrap.conf: Call gnulib-tool in bootstrap_post_import_hook() only for the needed unistring modules. configure.ac: Check for system libunistring (set a conditional HAVE_LIBUNISTRING Makefile.am: if !HAVE_LIBUNISTRING -> add unistring/ to SUBDIR */Makefile.am: if !HAVE_LIBUNISTRING -> add unistring/ to includes in AM_CPPFLAGS I think, that's all. Regards, Tim On 1/13/20 11:33 AM, Bruno Haible wrote: > Hi Jos=C3=A9, >=20 > Yesterday, you identified a set of functions from GNU libunistring that= would > be useful to use in GNU poke. Since you will need only a few such funct= ions, > which sums up to little code and only one big table, you can take the > respective modules from gnulib - a regular use of gnulib-tool. All the = source > code of libunistring is in gnulib, distributed across ca. 350 modules. >=20 > The list of modules is as follows. The relation between function name a= nd > module name is obvious. >=20 > unitypes > unistr/base > unistr/u8-check > unistr/u8-chr > unistr/u8-cmp > unistr/u8-cmp2 > unistr/u8-cpy > unistr/u8-cpy-alloc > unistr/u8-endswith > unistr/u8-mblen > unistr/u8-mbsnlen > unistr/u8-mbtouc > unistr/u8-mbtoucr > unistr/u8-mbtouc-unsafe > unistr/u8-move > unistr/u8-next > unistr/u8-prev > unistr/u8-set > unistr/u8-startswith > unistr/u8-stpcpy > unistr/u8-stpncpy > unistr/u8-strcat > unistr/u8-strchr > unistr/u8-strcmp > unistr/u8-strcoll > unistr/u8-strcpy > unistr/u8-strcspn > unistr/u8-strdup > unistr/u8-strlen > unistr/u8-strmblen > unistr/u8-strmbtouc > unistr/u8-strncat > unistr/u8-strncmp > unistr/u8-strncpy > unistr/u8-strnlen > unistr/u8-strpbrk > unistr/u8-strrchr > unistr/u8-strspn > unistr/u8-strstr > unistr/u8-strtok > unistr/u8-to-u16 > unistr/u8-to-u32 > unistr/u8-uctomb > unistr/u16-check > unistr/u16-chr > unistr/u16-cmp > unistr/u16-cmp2 > unistr/u16-cpy > unistr/u16-cpy-alloc > unistr/u16-endswith > unistr/u16-mblen > unistr/u16-mbsnlen > unistr/u16-mbtouc > unistr/u16-mbtoucr > unistr/u16-mbtouc-unsafe > unistr/u16-move > unistr/u16-next > unistr/u16-prev > unistr/u16-set > unistr/u16-startswith > unistr/u16-stpcpy > unistr/u16-stpncpy > unistr/u16-strcat > unistr/u16-strchr > unistr/u16-strcmp > unistr/u16-strcoll > unistr/u16-strcpy > unistr/u16-strcspn > unistr/u16-strdup > unistr/u16-strlen > unistr/u16-strmblen > unistr/u16-strmbtouc > unistr/u16-strncat > unistr/u16-strncmp > unistr/u16-strncpy > unistr/u16-strnlen > unistr/u16-strpbrk > unistr/u16-strrchr > unistr/u16-strspn > unistr/u16-strstr > unistr/u16-strtok > unistr/u16-to-u32 > unistr/u16-to-u8 > unistr/u16-uctomb > unistr/u32-check > unistr/u32-chr > unistr/u32-cmp > unistr/u32-cmp2 > unistr/u32-cpy > unistr/u32-cpy-alloc > unistr/u32-endswith > unistr/u32-mblen > unistr/u32-mbsnlen > unistr/u32-mbtouc > unistr/u32-mbtoucr > unistr/u32-mbtouc-unsafe > unistr/u32-move > unistr/u32-next > unistr/u32-prev > unistr/u32-set > unistr/u32-startswith > unistr/u32-stpcpy > unistr/u32-stpncpy > unistr/u32-strcat > unistr/u32-strchr > unistr/u32-strcmp > unistr/u32-strcoll > unistr/u32-strcpy > unistr/u32-strcspn > unistr/u32-strdup > unistr/u32-strlen > unistr/u32-strmblen > unistr/u32-strmbtouc > unistr/u32-strncat > unistr/u32-strncmp > unistr/u32-strncpy > unistr/u32-strnlen > unistr/u32-strpbrk > unistr/u32-strrchr > unistr/u32-strspn > unistr/u32-strstr > unistr/u32-strtok > unistr/u32-to-u16 > unistr/u32-to-u8 > unistr/u32-uctomb > uniconv/base > uniconv/u8-conv-from-enc > uniconv/u8-conv-to-enc > uniconv/u8-strconv-from-enc > uniconv/u8-strconv-from-locale > uniconv/u8-strconv-to-enc > uniconv/u8-strconv-to-locale > uniconv/u16-conv-from-enc > uniconv/u16-conv-to-enc > uniconv/u16-strconv-from-enc > uniconv/u16-strconv-from-locale > uniconv/u16-strconv-to-enc > uniconv/u16-strconv-to-locale > uniconv/u32-conv-from-enc > uniconv/u32-conv-to-enc > uniconv/u32-strconv-from-enc > uniconv/u32-strconv-from-locale > uniconv/u32-strconv-to-enc > uniconv/u32-strconv-to-locale > unistdio/base > unistdio/u8-asnprintf > unistdio/u8-asprintf > unistdio/u8-snprintf > unistdio/u8-sprintf > unistdio/u8-u8-asnprintf > unistdio/u8-u8-asprintf > unistdio/u8-u8-snprintf > unistdio/u8-u8-sprintf > unistdio/u8-u8-vasnprintf > unistdio/u8-u8-vasprintf > unistdio/u8-u8-vsnprintf > unistdio/u8-u8-vsprintf > unistdio/u8-vasnprintf > unistdio/u8-vasprintf > unistdio/u8-vsnprintf > unistdio/u8-vsprintf > unistdio/u16-asnprintf > unistdio/u16-asprintf > unistdio/u16-snprintf > unistdio/u16-sprintf > unistdio/u16-u16-asnprintf > unistdio/u16-u16-asprintf > unistdio/u16-u16-snprintf > unistdio/u16-u16-sprintf > unistdio/u16-u16-vasnprintf > unistdio/u16-u16-vasprintf > unistdio/u16-u16-vsnprintf > unistdio/u16-u16-vsprintf > unistdio/u16-vasnprintf > unistdio/u16-vasprintf > unistdio/u16-vsnprintf > unistdio/u16-vsprintf > unistdio/u32-asnprintf > unistdio/u32-asprintf > unistdio/u32-snprintf > unistdio/u32-sprintf > unistdio/u32-u32-asnprintf > unistdio/u32-u32-asprintf > unistdio/u32-u32-snprintf > unistdio/u32-u32-sprintf > unistdio/u32-u32-vasnprintf > unistdio/u32-u32-vasprintf > unistdio/u32-u32-vsnprintf > unistdio/u32-u32-vsprintf > unistdio/u32-vasnprintf > unistdio/u32-vasprintf > unistdio/u32-vsnprintf > unistdio/u32-vsprintf > unistdio/ulc-asnprintf > unistdio/ulc-asprintf > unistdio/ulc-fprintf > unistdio/ulc-snprintf > unistdio/ulc-sprintf > unistdio/ulc-vasnprintf > unistdio/ulc-vasprintf > unistdio/ulc-vfprintf > unistdio/ulc-vsnprintf > unistdio/ulc-vsprintf > uniname/base > uniname/uniname > unictype/base > unictype/bidiclass-all > unictype/block-all > unictype/category-all > unictype/combining-class-all > unictype/ctype-alnum > unictype/ctype-alpha > unictype/ctype-blank > unictype/ctype-cntrl > unictype/ctype-digit > unictype/ctype-graph > unictype/ctype-lower > unictype/ctype-print > unictype/ctype-punct > unictype/ctype-space > unictype/ctype-upper > unictype/ctype-xdigit > unictype/decimal-digit > unictype/digit > unictype/joininggroup-all > unictype/joiningtype-all > unictype/mirror > unictype/numeric > unictype/property-all > unictype/scripts-all > unictype/syntax-c-ident > unictype/syntax-c-whitespace > unictype/syntax-java-ident > unictype/syntax-java-whitespace > uniwidth/base > uniwidth/u8-strwidth > uniwidth/u8-width > uniwidth/u16-strwidth > uniwidth/u16-width > uniwidth/u32-strwidth > uniwidth/u32-width > uniwidth/width > unigbrk/base > unigbrk/u8-grapheme-breaks > unigbrk/u8-grapheme-next > unigbrk/u8-grapheme-prev > unigbrk/u16-grapheme-breaks > unigbrk/u16-grapheme-next > unigbrk/u16-grapheme-prev > unigbrk/u32-grapheme-breaks > unigbrk/u32-grapheme-next > unigbrk/u32-grapheme-prev > unigbrk/uc-gbrk-prop > unigbrk/uc-is-grapheme-break > unigbrk/ulc-grapheme-breaks > unigbrk/uc-grapheme-breaks > uniwbrk/base > uniwbrk/u8-wordbreaks > uniwbrk/u16-wordbreaks > uniwbrk/u32-wordbreaks > uniwbrk/ulc-wordbreaks > uniwbrk/wordbreak-property > unilbrk/base > unilbrk/u8-possible-linebreaks > unilbrk/u8-width-linebreaks > unilbrk/u16-possible-linebreaks > unilbrk/u16-width-linebreaks > unilbrk/u32-possible-linebreaks > unilbrk/u32-width-linebreaks > unilbrk/ulc-possible-linebreaks > unilbrk/ulc-width-linebreaks > uninorm/base > uninorm/canonical-decomposition > uninorm/composition > uninorm/decomposition > uninorm/filter > uninorm/nfc > uninorm/nfd > uninorm/nfkc > uninorm/nfkd > uninorm/u8-normalize > uninorm/u8-normcmp > uninorm/u8-normcoll > uninorm/u8-normxfrm > uninorm/u16-normalize > uninorm/u16-normcmp > uninorm/u16-normcoll > uninorm/u16-normxfrm > uninorm/u32-normalize > uninorm/u32-normcmp > uninorm/u32-normcoll > uninorm/u32-normxfrm > unicase/base > unicase/empty-prefix-context > unicase/empty-suffix-context > unicase/locale-language > unicase/tolower > unicase/totitle > unicase/toupper > unicase/u8-casecmp > unicase/u8-casecoll > unicase/u8-casefold > unicase/u8-casexfrm > unicase/u8-ct-casefold > unicase/u8-ct-tolower > unicase/u8-ct-totitle > unicase/u8-ct-toupper > unicase/u8-is-cased > unicase/u8-is-casefolded > unicase/u8-is-lowercase > unicase/u8-is-titlecase > unicase/u8-is-uppercase > unicase/u8-prefix-context > unicase/u8-suffix-context > unicase/u8-tolower > unicase/u8-totitle > unicase/u8-toupper > unicase/u16-casecmp > unicase/u16-casecoll > unicase/u16-casefold > unicase/u16-casexfrm > unicase/u16-ct-casefold > unicase/u16-ct-tolower > unicase/u16-ct-totitle > unicase/u16-ct-toupper > unicase/u16-is-cased > unicase/u16-is-casefolded > unicase/u16-is-lowercase > unicase/u16-is-titlecase > unicase/u16-is-uppercase > unicase/u16-prefix-context > unicase/u16-suffix-context > unicase/u16-tolower > unicase/u16-totitle > unicase/u16-toupper > unicase/u32-casecmp > unicase/u32-casecoll > unicase/u32-casefold > unicase/u32-casexfrm > unicase/u32-ct-casefold > unicase/u32-ct-tolower > unicase/u32-ct-totitle > unicase/u32-ct-toupper > unicase/u32-is-cased > unicase/u32-is-casefolded > unicase/u32-is-lowercase > unicase/u32-is-titlecase > unicase/u32-is-uppercase > unicase/u32-prefix-context > unicase/u32-suffix-context > unicase/u32-tolower > unicase/u32-totitle > unicase/u32-toupper > unicase/ulc-casecmp > unicase/ulc-casecoll > unicase/ulc-casexfrm >=20 > Bruno >=20 >=20 --XkyBtkj3LDzmEqQzeMi2ret6uaTe4NpBg-- --BfhHk4Lt4IH2rgt8ni0aPY8rbB7IkWSuj Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAEBCgAdFiEEHLJ9vJhhSy1YQWRtCDAttqJnBCgFAl4cS4gACgkQCDAttqJn BCgbYw/8DvM7cbbLo8r7FhM+DKKfK1UpxP/HicMifl6ypR9TLsbpc1ViX3VqJMO0 MU3vjvg54oQeS0Nz1Tmm7GlwWompTrBazwq/VkrxIpTd9qxtfqRsqMEkw/o8rn08 nEnP34cJlSgQ4yyxl8nwgDA3GfCxyVXtTB6wTGyRdi6KiIfTRFO2x5c3kQa70tvv h2rlMAj+GHtUvYzpjQxwQHjNUpsLb7bVORIgqGJr9WMYDZyidpC92Bt+gvY7E30J 4HrER/lZh8PVPbRN+q3wudPXxPcxS9ypTW3fgWzTurrzCcbiUSafX4gci0M3au1u gKRPjKxgTgr0XAYOXYXAJNeUGia8kQVDVr5A6SreBT1oYwW0znyYRQGAzkm+O22+ zNYigA3vzQRjoikgWHjU7eslWNEQAqDSRYlvb/ZDX7TnSQMZE2dBiiKsgEjsW5dB et92NgPzSxS5NmQFTrhJXLABvgy5qa3Fymi9cK33OVLanLX6oc6jWPrANLlGfy9L Nx6xqawg2VQNoLasiPfGQHhUSttqUr4lG9bB8vnoAJJNCKb1INv5p7NohKUMH8o5 u98enEd9/A+8momSFju0gO917xYaMXcIWYNdxrht7cHFW9SZ1j7Qh2g1RJR427Om F5hECCHcn5mD90tZPuTEqMs1nRX8IFpepMwMP5l2TKIMx+FO/V4= =dKft -----END PGP SIGNATURE----- --BfhHk4Lt4IH2rgt8ni0aPY8rbB7IkWSuj--