Received: from mout.gmx.net (mout.gmx.net [212.227.17.22]) by h1439878.stratoserver.net (8.14.2/8.14.2/Debian-2build1) with ESMTP id s5UIV0wk019451 for ; Mon, 30 Jun 2014 20:31:01 +0200 Received: from relay2.uni-heidelberg.de ([129.206.210.211]) by mx-ha.gmx.net (mxgmx113) with ESMTPS (Nemesis) id 0LvyRV-1WZoIt1ftF-017pCC for ; Mon, 30 Jun 2014 20:30:54 +0200 Received: from listserv.uni-heidelberg.de (listserv.uni-heidelberg.de [129.206.100.94]) by relay2.uni-heidelberg.de (8.13.8/8.13.8) with ESMTP id s5UISQHG017034 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Mon, 30 Jun 2014 20:28:26 +0200 Received: from listserv.uni-heidelberg.de (listserv.uni-heidelberg.de [127.0.0.1]) by listserv.uni-heidelberg.de (8.13.8/8.13.8) with ESMTP id s5UCPPCh024201; Mon, 30 Jun 2014 20:28:26 +0200 Received: by LISTSERV.UNI-HEIDELBERG.DE (LISTSERV-TCP/IP release 16.0) with spool id 11100279 for LATEX-L@LISTSERV.UNI-HEIDELBERG.DE; Mon, 30 Jun 2014 20:28:26 +0200 Received: from relay.uni-heidelberg.de (relay.uni-heidelberg.de [129.206.100.212]) by listserv.uni-heidelberg.de (8.13.8/8.13.8) with ESMTP id s5UISPTC015186 for ; Mon, 30 Jun 2014 20:28:25 +0200 Received: from smtp2.easily.co.uk (smtp2.easily.co.uk [91.194.151.17]) by relay.uni-heidelberg.de (8.14.1/8.14.1) with ESMTP id s5UISIpU020915 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Mon, 30 Jun 2014 20:28:21 +0200 Received: from [139.222.113.100] (port=58566 helo=[139.222.113.100]) by smtp2.easily.co.uk with esmtpa (Exim 4.43) id 1X1gJO-00012i-ER for LATEX-L@listserv.uni-heidelberg.de; Mon, 30 Jun 2014 19:28:18 +0100 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:24.0) Gecko/20100101 Thunderbird/24.6.0 MIME-Version: 1.0 References: <53B11E4F.5010603@morningstar2.co.uk> X-Enigmail-Version: 1.6 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Message-ID: <53B1AC42.4080002@morningstar2.co.uk> Date: Mon, 30 Jun 2014 19:28:18 +0100 Reply-To: Mailing list for the LaTeX3 project Sender: Mailing list for the LaTeX3 project From: Joseph Wright Subject: Re: Case changing operations To: LATEX-L@LISTSERV.UNI-HEIDELBERG.DE In-Reply-To: <53B11E4F.5010603@morningstar2.co.uk> Precedence: list List-Help: , List-Unsubscribe: List-Subscribe: List-Owner: List-Archive: Envelope-To: X-GMX-Antispam: 0 (Mail was not recognized as spam); Detail=V3; X-GMX-Antivirus: 0 (no virus found) X-UI-Filterresults: notjunk:1;V01:K0:4ZvlV8iVz14=:Z6hrrYQVUR4EitWeeaQ03PbpXh 0jxCCMfLCZkMbCCoERCKF8tV0/tYqHkv6IO9Q15+DSqSDIt2QKWGHqiQCzKNYz8nXr2vmVtl3 +zUZG4/Vl1Eq9otXGpFa9aXWDfivip/SSoPkms6YpDWDf1hgqixNLh25qExGQb5FOpbjjTjPC leK7iLkWW/pLQi78dUBRMbkMngeWGNhv06hnrGBivSKsLqxzeb5YfqqQgXSdmNlh5jpEEZItE /x/+Db+fpgJ0zSBvBUqv+q4C52EQK296e/j3deHp4nyZVmAcSfPMHCltNc2zH0cp1pr4nsn03 L8LEWbRr0MoOdxOaxPKbe4jqPD9h+yPOGbWbFotA+0Hx/IKjzyC0wpiDfNhgXhZLGFHnLw3K8 84vJ3+yutfGsqBMNBYaOgSPZddVa/NRBLAgilQAL8JJirQr6SfdCyWnlIez1Csjf7syXjB3zo liAcYYomPS1pJMIeHjlJvvhOg4l1qqOxmd+h21KPBgdTCUDKIfeXZCHem5WRBwZcix3IAyr2+ CPrdB3NhOP9sApsBPkD7Zqq1AXEwuO2cc+soq8FamFxYpsmt21x3O+GvWTlEyYwC5Afp0rpQB PIzc+Nng+HSC6gvg7aRjy2YJYT5qrExCaBff+5TC8zBRwmFzO0WQ85wsKWaBEaGCfyTQqxL8v jlGvqi9G/oc3vFQ2EpxvvKZNBrMifhnLsB8Zt/kOraDt32qPUh4C9k1luGFgek/laeFK9qYqK 6N8iDR/oG88Csar7t6FzwLrd/sV7L7Ne7xP7+2Ui5ppf4PmZGXl7Q9NgCwSW2Dti8ZEscUOZT U7T0P1VQ5fzvbzOl6ur2WbZnnclJ02wyiVbgFLDLvPn/sVPW4i7gGUJ2833WY4gQXzIS6qxhm qqCe25yC8NQCIxtUREK14VxrRIblEqMNamgwSwuDFz0tUBr6obDsE20Z/L4F4JFmNuiC63ubV qZGIE/NLIWIeGYgloHXLTUgC3V75Lkn/FAbqo8OPXdIx5G5ClefuZvF4ryI0MNUKruCkp8Uqb D229aSZlAbI3Ku0VqHnTZP8CSvOhOu8M+ZyFlbX2venuWDMIl4NG3zgXuKDD2gVPoyutm6x2/ Tjv0LAt5ilm/61i9mj4BWp5VyT9xVltWAI9Q6fFBoVHkr4sg2f81ReIgEXbcq55gLg7dsfv1d tTijnr65pd6HZggR9zxL3QxMXJKKol8Rvz8vlTGw4YdJBoy0y3hNDr4iSTb7tfit5mGFsQFr2 XpdfNu6YJw/iWpLa5wt2WCWeuM8klSeR8l1fRPhXVowsYtqPlaWIZEMyTaIwTezwVcvcGHX/Y l65tBVygei6y6cVDU5aGsCc0+r371nQO3cH8cVy2SWCUUGpqZx1OzwozRwsbZ/WUkJQ7KPXJk miSym8j2AeqSe35+xmzB4k4T9ilZyGEAXtxffEdtHsF3PCpFGsaqyj+J4eRu1koUzJiVLycVd Rk3cE1BTEb7Q6PFrTgX8JsnQ75dXMg9huljMCnuwK54mDF83HR0I1nL03dG3Yx5IN/8ZwiwRb RU5e2iui7hgtPq5b6VNE= X-UI-Loop:V01:xYw7MaHzjcM=:Aavp8clKua1eQjkq3EIC505EubpZM2IQBzumVFl3KmQ= Status: R X-Status: X-Keywords: X-UID: 7523 On 30/06/2014 09:22, Joseph Wright wrote: > To support case-changing operations in expl3, the team some time ago > added an experimental pair > \tl_expandable_uppercase:n/\tl_expandable_lowercase:n as alternatives to > \tl_to_uppercase:n/\tl_to_lowercase:n. While the expandable operations > are useful, there are issues both in terms of naming (solvable) and > functionality (more complex). In particular, they cover only the ASCII > range and do not offer some of the context-sensitive case changing that > is required for languages other than English. > > In order to address this, we have now added a new set of experimental > functions to l3candidates: > > - \tl_upper_case:n(n) > - \tl_lower_case:n(n) > - \tl_mixed_case:n(n) A question raised elsewhere (http://chat.stackexchange.com/transcript/message/16351207#16351207) is of course whether "tl" is the right place for such functions at all. It's arguable that they can be regarded a "text" functions, so perhaps a "text manipulation" module would be a better location. That does not of course preclude discussing the detail of how they should also work, but may be worth consideration. Feedback here also welcome! -- Joseph Wright