From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.io/gmane.comp.tex.context/113555 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Hans Hagen via ntg-context Newsgroups: gmane.comp.tex.context Subject: Re: Checking for a Unicode prefix of a Unicode string Date: Sat, 27 Nov 2021 19:44:43 +0100 Message-ID: <29046f7f-f861-f1d4-ba22-331a2301e2b6@xs4all.nl> References: <47a78903-0e58-7b6a-a6ba-1cf7f83e62de@xs4all.nl> Reply-To: mailing list for ConTeXt users Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="1836"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Thunderbird/91.3.2 Cc: Hans Hagen To: Joey McCollum , mailing list for ConTeXt users Original-X-From: ntg-context-bounces@ntg.nl Sat Nov 27 19:45:25 2021 Return-path: Envelope-to: gctc-ntg-context-518@m.gmane-mx.org Original-Received: from zapf.boekplan.nl ([5.39.185.232] helo=zapf.ntg.nl) by ciao.gmane.io with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1mr2hQ-0000C3-Ow for gctc-ntg-context-518@m.gmane-mx.org; Sat, 27 Nov 2021 19:45:24 +0100 Original-Received: from localhost (localhost [127.0.0.1]) by zapf.ntg.nl (Postfix) with ESMTP id BC778289545; Sat, 27 Nov 2021 19:44:51 +0100 (CET) X-Virus-Scanned: Debian amavisd-new at zapf.boekplan.nl Original-Received: from zapf.ntg.nl ([127.0.0.1]) by localhost (zapf.ntg.nl [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id wvhGshDDap4D; Sat, 27 Nov 2021 19:44:49 +0100 (CET) Original-Received: from zapf.ntg.nl (localhost [127.0.0.1]) by zapf.ntg.nl (Postfix) with ESMTP id 3902628959B; Sat, 27 Nov 2021 19:44:49 +0100 (CET) Original-Received: from localhost (localhost [127.0.0.1]) by zapf.ntg.nl (Postfix) with ESMTP id 1CD10289545 for ; Sat, 27 Nov 2021 19:44:47 +0100 (CET) X-Virus-Scanned: Debian amavisd-new at zapf.boekplan.nl Original-Received: from zapf.ntg.nl ([127.0.0.1]) by localhost (zapf.ntg.nl [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id LdyBtccMQR2W for ; Sat, 27 Nov 2021 19:44:46 +0100 (CET) Received-SPF: Pass (mailfrom) identity=mailfrom; client-ip=194.109.24.21; helo=lb1-smtp-cloud8.xs4all.net; envelope-from=j.hagen@xs4all.nl; receiver= Original-Received: from lb1-smtp-cloud8.xs4all.net (lb1-smtp-cloud8.xs4all.net [194.109.24.21]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) (No client certificate requested) by zapf.ntg.nl (Postfix) with ESMTPS id E684F2891C1 for ; Sat, 27 Nov 2021 19:44:45 +0100 (CET) Original-Received: from cust-a169be40 ([IPv6:fc0c:c118:7078:83cd:b49d:5a87:2838:627c]) by smtp-cloud8.xs4all.net with ESMTPSA id r2gmmBEcgBB1Qr2gnmyu8l; Sat, 27 Nov 2021 19:44:45 +0100 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=xs4all.nl; s=s2; t=1638038685; bh=HqExUL9kwK1HtA+iwYQJkqgKQjtw0Eul9PrIeRiSTeY=; h=Message-ID:Date:MIME-Version:Subject:To:From:Content-Type:From: Subject; b=g7jNL7yJt8B7JaLTl+2Rq3nVZlOuexukh8Wvw68RJbIBLn7/LbUBTJYCNwAKYoixY 2UR3MhXIYu+zG7WdZSd0+U3bINvqMHJEkYQdLzUlUGkKoGSfMMHTOz6Aky3WCICByL pbcs4+iLDZMMYBAWmDrpzbLaXtEgGSgxjjfcwEW+kT+zr9MQXW5QGcdovIf34Yae4D Hsb8Oou6dWs+0nxLoFEsdC7hb01FSVN6LIz0VExwu+4U52dIaRfuMFsEK09s/oBOwS TynnWpxdQWWfMp+LXDRMjYyN4laDk1Z/YPcSQ7dKZvbwuQnBBNPyNbLrY9JoElWvr4 SV3yeS/MYyi6A== Content-Language: en-US In-Reply-To: X-CMAE-Envelope: MS4xfJ/3c0b9x9n9M34LCI0gGGXZmFBx/rHpGI18Yjl/k5G/d35vn9NRjuRTWO97Rue3ssg+tRbu4zPNGeb1q5/ljCPwXMfm5ZvnWihXpC3d3dY8kf60kI4E 0nIgH2Pe7Ktyq/wuFTPllW1mPkndxjV6GmP613Rjdkyn+mXk7LOMh1Hj8A07Va33cSa1Ob+1kKe+NAbdcPuy9dY/1yZcrVaigvUh4ekb0gk5tpuPi2wi9uFY X-BeenThere: ntg-context@ntg.nl X-Mailman-Version: 2.1.26 Precedence: list List-Id: mailing list for ConTeXt users List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: ntg-context-bounces@ntg.nl Original-Sender: "ntg-context" Xref: news.gmane.io gmane.comp.tex.context:113555 Archived-At: T24gMTEvMjcvMjAyMSA2OjEzIFBNLCBKb2V5IE1jQ29sbHVtIHdyb3RlOgo+IEFsbCByaWdodCwg SSB0aGluayBJJ3ZlIHNvbHZlZCB0aGUgZXhwYW5zaW9uIHByb2JsZW0gSSBkZXNjcmliZWQgYmVm b3JlOiAKPiB0byBlbnN1cmUgdGhhdCB0aGUgZmlyc3QgaW5wdXQgaXMgZXhwYW5kZWQgd2hlbiBp dCBpcyBwYXNzZWQgdG8gTHVhLCBJIAo+IGhhdmUgdG8gcGFzcyBpdCBhcyBbPT1bIzFdPT1dLCBu b3QgIiMxIi4gQnV0IHRoZSB1cGRhdGVkIE1XRSBiZWxvdyBzdGlsbCAKPiBkb2VzIG5vdCBzZWVt IHRvIHdvcmssIGFzIHRoZSBcRG9JZlByZWZpeEVsc2UgbWFjcm8gaXMgcHJpbnRpbmcgIk5PUCIg Cj4gaW5zdGVhZCBvZiAiWUVTIjoKPiAKPiBgYGAKPiAKPiBcc3RhcnR0ZXhkZWZpbml0aW9uIGxv YyBbIzFdCj4gCj4gXGRvaWZhc3NpZ25tZW50ZWxzZXsjMX0gewo+IAo+ICUgaWYgYW4gYXNzaWdu bWVudCwgdGhlbiBwYXJzZSBhbmQgZm9ybWF0IGFjY29yZGluZ2x5Cj4gCj4gXGdldHBhcmFtZXRl cnNbbG9jXVsjMV0KPiAKPiAlIFdhcyBhIHNlY3Rpb24gbnVtYmVyIHNwZWNpZmllZD8KPiAKPiBc ZG9pZmRlZmluZWR7bG9jc2VjfSB7Cj4gCj4gwqcgXGxvY3NlYwo+IAo+IH0KPiAKPiB9IHsKPiAK PiAlIG90aGVyd2lzZSwganVzdCBwcmludCB0aGUgaW5wdXQgYXMtaXMKPiAKPiAjMQo+IAo+IH0K PiAKPiBcc3RvcHRleGRlZmluaXRpb24KPiAKPiAKPiBcZGVmXERvSWZQcmVmaXhFbHNlIzEjMntc Y3R4bHVhe2NvbW1hbmRzLmRvaWZlbHNlKHN0cmluZy5maW5kKFs9PVsjMl09PV0sIl4iLi5bPT1b IzFdPT1dKSl9fQo+IAo+IAo+IFxkZWZcY3VycmVudGJ0eGxvY3RleHR7XGxvY1tzZWM9MzFdfQo+ IAo+IAo+IFxzdGFydHRleHQKPiAKPiBcY3VycmVudGJ0eGxvY3RleHRcYmxhbmsKPiAKPiBcRG9J ZlByZWZpeEVsc2V7wqd9e1xjdXJyZW50YnR4bG9jdGV4dH17WUVTfXtOT1B9Cj4gCj4gXHN0b3B0 ZXh0Cj4gCj4gYGBgCj4gCj4gSW5kZWVkLCBpZiBJIGFkZCBhIHNpbXBsZSBcZG9pZmVsc2XCoGVx dWFsaXR5IGNoZWNrLCBpdCBsb29rcyBsaWtlIHRoZSAKPiB2YWx1ZSBJIGV4cGVjdCBpcyBub3Qg dGhlIHNhbWUgYXMgd2hhdCB0aGUgbWFjcm8gcHJvZHVjZXMsIGV2ZW4gdGhvdWdoIAo+IHRoZXkg bG9vayBpZGVudGljYWw6Cj4gCj4gYGBgCj4gCj4gXHN0YXJ0dGV4ZGVmaW5pdGlvbiBsb2MgWyMx XQo+ICDCoCDCoCBcZG9pZmFzc2lnbm1lbnRlbHNleyMxfSB7Cj4gIMKgIMKgIMKgIMKgICUgaWYg YW4gYXNzaWdubWVudCwgdGhlbiBwYXJzZSBhbmQgZm9ybWF0IGFjY29yZGluZ2x5Cj4gIMKgIMKg IMKgIMKgIFxnZXRwYXJhbWV0ZXJzW2xvY11bIzFdCj4gIMKgIMKgIMKgIMKgICUgV2FzIGEgc2Vj dGlvbiBudW1iZXIgc3BlY2lmaWVkPwo+ICDCoCDCoCDCoCDCoCBcZG9pZmRlZmluZWR7bG9jc2Vj fSB7Cj4gIMKgIMKgIMKgIMKgIMKgIMKgIMKnIFxsb2NzZWMKPiAgwqAgwqAgwqAgwqAgfQo+ICDC oCDCoCB9IHsKPiAgwqAgwqAgwqAgwqAgJSBvdGhlcndpc2UsIGp1c3QgcHJpbnQgdGhlIGlucHV0 IGFzLWlzCj4gIMKgIMKgIMKgIMKgICMxCj4gIMKgIMKgIH0KPiBcc3RvcHRleGRlZmluaXRpb24K PiAKPiBcZGVmXERvSWZQcmVmaXhFbHNlIzEjMntcY3R4bHVhe2NvbW1hbmRzLmRvaWZlbHNlKHN0 cmluZy5maW5kKFs9PVsjMl09PV0sIl4iLi5bPT1bIzFdPT1dKSl9fQo+IAo+IFxkZWZcY3VycmVu dGJ0eGxvY3RleHR7XGxvY1tzZWM9MzFdfQo+IAo+IFxzdGFydHRleHQKPiAgwqAgwqAgwqcgMzFc YmxhbmsldGhlIHJhdyB0ZXh0IHdlIGV4cGVjdAo+ICDCoCDCoCBcY3VycmVudGJ0eGxvY3RleHRc YmxhbmsldGhlIHRleHQgYXMgcHJvZHVjZWQgYnkgdGhlIG1hY3JvCj4gIMKgIMKgIFxkb2lmZWxz ZXtcY3VycmVudGJ0eGxvY3RleHR9e8KnIDMxfXtZRVN9e05PUH1cYmxhbmslIHNob3VsZCBvdXRw dXQgCj4gWUVTLCBidXQgZG9lc24ndAo+ICDCoCDCoCBcRG9JZlByZWZpeEVsc2V7wqd9e1xjdXJy ZW50YnR4bG9jdGV4dH17WUVTfXtOT1B9XGJsYW5rJSBzaG91bGQgCj4gb3V0cHV0IFlFUywgYnV0 IGRvZXNuJ3QKPiBcc3RvcHRleHQKPiAKPiBgYGAKPiAKPiBXaGF0IGFtIEkgbWlzc2luZyBoZXJl PwpFeHBhbnNpb24gaGVsbCAuLi4gYW5kIGkgZmVhciB0aGF0IHlvdSBkcmF3IHlvdXJzZWxmIGlu dG8gbW9yZSBhbmQgbW9yZSAKdHJvdWJsZSB3aXRoIHRoaXMgYXBwcm9hY2ggKHdoaWNoIGlzIHdo eSB5b3UgZG9uJ3QgZmluZCB0aGF0IGtpbmQgb2YgCmhhY2tlcnkgaW4gdGhlIGNvcmUgdW5sZXNz IHdlJ3JlIHJlYWwgZGVzcGVyYXRlKSBzbyBtYXliZSB0cnkgdG8gZXhwbGFpbiAKd2hhdCB0aGUg cmVhbCBwcm9ibGVtIGlzIHRoYXQgbmVlZHMgdG8gYmUgc29sdmVkLiBQYXJzaW5nIHRleCBpcyBz ZWxkb20gCmEgc29sdXRpb24gKGF0IGxlYXN0IG5vdCBpbiBjb250ZXh0KS4KCllvdSBjYW4gYWRk OgoKICAgICBcZWRlZlxXaGF0ZXZlcntcY3VycmVudGJ0eGxvY3RleHR9XG1lYW5pbmdcV2hhdGV2 ZXIKICAgICBcZG9pZmVsc2V7XGN1cnJlbnRidHhsb2N0ZXh0fXvCpyAzMX17WUVTfXtOT1B9XGJs YW5rCgphbmQgc2VlIHdoYXQgY29tZXMgYmFjay4gTm93LCBhcyBhbHdheXMgaW4gdGV4LCB0aGVy ZSdzIG9mIGNvdXJzZSBhIApzb2x1dGlvbiBiZWNhdXNlIGFmdGVyIGFsbCBpdCdzIGEgcHJvZ3Jh bW1pbmcgbGFuZ3VhZ2UgdG9vIChhbmQgYXQgc29tZSAKcG9pbnQgdGhlc2Ugc29sdXRpb25zIHN0 YXJ0IGxvb2tpbmcgc28gY29tcGxleCB0aGF0IG9uZSBlbnRlcnMgZ3VydSBzdGF0ZSkKClxzdGFy dHRleGRlZmluaXRpb24gbG9jIFsjMV0KICAgICBcYmVnaW5sb2NhbGNvbnRyb2wKICAgICBcZG9p ZmFzc2lnbm1lbnRlbHNleyMxfSB7CiAgICAgICAgIFxnZXRwYXJhbWV0ZXJzW2xvY11bIzFdCiAg ICAgICAgIFxkb2lmZGVmaW5lZGVsc2V7bG9jc2VjfSB7CiAgICAgICAgIFxlbmRsb2NhbGNvbnRy b2wKICAgICAgICAgICAgIMKnIFxsb2NzZWMKICAgICAgICAgfSB7CiAgICAgICAgICAgICBcZW5k bG9jYWxjb250cm9sCiAgICAgICAgIH0KICAgICB9IHsKICAgICAgICAgXGVuZGxvY2FsY29udHJv bAogICAgICAgICAjMQogICAgIH0KXHN0b3B0ZXhkZWZpbml0aW9uCgphIGN1cmlvdXMgbWl4IGJl dHdlZW4gYSBmdWxseSBleHBhbmRlZCByZXN1bHQsIHVzaW5nIHByb3RlY3RlZCBtYWNyb3MgCmFu ZCBoaWRpbmcgd2hhdCB0ZXggZG9lcyBidXQgaGFyZCB0byBleHBsYWluCgpIYW5zCgotLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSGFucyBIYWdlbiB8 IFBSQUdNQSBBREUKICAgICAgICAgICAgICAgUmlkZGVyc3RyYWF0IDI3IHwgODA2MSBHSCBIYXNz ZWx0IHwgVGhlIE5ldGhlcmxhbmRzCiAgICAgICAgdGVsOiAwMzggNDc3IDUzIDY5IHwgd3d3LnBy YWdtYS1hZGUubmwgfCB3d3cucHJhZ21hLXBvZC5ubAotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwpJZiB5b3VyIHF1ZXN0aW9uIGlzIG9mIGludGVyZXN0IHRvIG90aGVycyBhcyB3 ZWxsLCBwbGVhc2UgYWRkIGFuIGVudHJ5IHRvIHRoZSBXaWtpIQoKbWFpbGxpc3QgOiBudGctY29u dGV4dEBudGcubmwgLyBodHRwOi8vd3d3Lm50Zy5ubC9tYWlsbWFuL2xpc3RpbmZvL250Zy1jb250 ZXh0CndlYnBhZ2UgIDogaHR0cDovL3d3dy5wcmFnbWEtYWRlLm5sIC8gaHR0cDovL2NvbnRleHQu YWFuaGV0Lm5ldAphcmNoaXZlICA6IGh0dHBzOi8vYml0YnVja2V0Lm9yZy9waGcvY29udGV4dC1t aXJyb3IvY29tbWl0cy8Kd2lraSAgICAgOiBodHRwOi8vY29udGV4dGdhcmRlbi5uZXQKX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18K