Received: from mx0.gmx.net (mx0.gmx.net [213.165.64.100]) by h1439878.stratoserver.net (8.14.2/8.14.2/Debian-2build1) with SMTP id oAAHTIav001697 for ; Wed, 10 Nov 2010 18:29:19 +0100 Received: (qmail 22666 invoked by alias); 10 Nov 2010 17:29:13 -0000 Delivered-To: GMX delivery to rainer.schoepf@gmx.net Received: (qmail invoked by alias); 10 Nov 2010 17:29:11 -0000 Received: from relay.uni-heidelberg.de (EHLO relay.uni-heidelberg.de) [129.206.100.212] by mx0.gmx.net (mx071) with SMTP; 10 Nov 2010 18:29:11 +0100 Received: from listserv.uni-heidelberg.de (listserv.uni-heidelberg.de [129.206.100.94]) by relay.uni-heidelberg.de (8.14.1/8.14.1) with ESMTP id oAAHPnHL022437 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Wed, 10 Nov 2010 18:25:49 +0100 Received: from listserv.uni-heidelberg.de (localhost.localdomain [127.0.0.1]) by listserv.uni-heidelberg.de (8.13.1/8.13.1) with ESMTP id oAAEsdO5004690; Wed, 10 Nov 2010 18:26:18 +0100 Received: by LISTSERV.UNI-HEIDELBERG.DE (LISTSERV-TCP/IP release 16.0) with spool id 699153 for LATEX-L@LISTSERV.UNI-HEIDELBERG.DE; Wed, 10 Nov 2010 18:26:18 +0100 Received: from relay.uni-heidelberg.de (relay.uni-heidelberg.de [129.206.100.212]) by listserv.uni-heidelberg.de (8.13.1/8.13.1) with ESMTP id oAAHGI9G025962 for ; Wed, 10 Nov 2010 18:16:18 +0100 Received: from mail-wy0-f177.google.com (mail-wy0-f177.google.com [74.125.82.177]) by relay.uni-heidelberg.de (8.14.1/8.14.1) with ESMTP id oAAHFZjF024975 for ; Wed, 10 Nov 2010 18:15:39 +0100 Received: by wyf22 with SMTP id 22so920434wyf.22 for ; Wed, 10 Nov 2010 09:16:13 -0800 (PST) MIME-Version: 1.0 Received: by 10.227.128.131 with SMTP id k3mr8641380wbs.66.1289409372979; Wed, 10 Nov 2010 09:16:12 -0800 (PST) Received: by 10.216.187.144 with HTTP; Wed, 10 Nov 2010 09:16:12 -0800 (PST) Content-Type: text/plain; charset=UTF-8 X-Spam-Whitelist: Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from quoted-printable to 8bit by listserv.uni-heidelberg.de id oAAHGI9G025963 Message-ID: Date: Wed, 10 Nov 2010 18:16:12 +0100 Reply-To: Mailing list for the LaTeX3 project Sender: Mailing list for the LaTeX3 project From: =?UTF-8?Q?R=C3=A9my_Oudompheng?= Subject: Rewriting polyglossia in LaTeX3 To: LATEX-L@listserv.uni-heidelberg.de Precedence: list List-Help: , List-Unsubscribe: List-Subscribe: List-Owner: List-Archive: X-GMX-Antispam: 0 (Mail was not recognized as spam); Detail=5D7Q89H36p4U4jfdfC5HDevlx1X2sAZg1MkugZcpwIdDb8z5l6KEaP+LdZ7QLw+5CKzyp k5HTLZ1v8wPRqFdQdQapWq9qz59Rr52fCiljKsM85i3sbXAJVBjnzZkoSL42zBmmwDa5vja6zT3o 7boow==V1; X-Resent-By: Forwarder X-Resent-For: rainer.schoepf@gmx.net X-Resent-To: rainer@rainer-schoepf.de Status: R X-Status: X-Keywords: X-UID: 6468 Hello everybody, I am interested in Unicode-capable TeX engines, and as such felt that after fontspec and unicode-math, polyglossia would deserve a rewrite for expl3. polyglossia currently uses etoolbox to provide features much similar to what is offered by the LaTeX3 packages, notably a lot of keyval-like features. I found benefits in the nice syntax offered by l3keys, and the \prg_case_str function for example. You may find a Git repository at   http://github.com/remyoudompheng/polyglossia I am looking for help in testing this, hoping that you will like it, and I have also a question: for some reason, in polyglossia we need to (un)capitalize words for use in csnames. I think I can produce somthing like this in LaTeX 3: \def\art{abc} \def\func#1{\tl_to_uppercase:n{\tl_head:n{#1}}{\tl_tail:n #1}} \def\frou#1{\exp_args:Nf\func#1} \frou\art produces Abc as expected. The TeX code is polyglossia is like this: \def\xpg@uppercasefirst#1{\expandafter\xpg@@uppercasefirst #1} \def\xpg@@uppercasefirst#1{%        \if a#1A\else        \if b#1B\else        \if c#1C\else        \if d#1D\else          ... \fi\fi\fi\fi I have been trying to replace it by something like \cs_new:Npn \polyg_uppercase_first:x{\tl_to_uppercase:n{\tl_head:n{#1}{\tl_tail:n #1}} or some combination using \exp_args but the result was never equivalent, since in polyglossia the input may be a complicated macro and the output will be surrounded by \csname..\endcsname How should I do that ? Regards,   Rémy Oudompheng.