Subject: | |
From: | |
Reply To: | |
Date: | Wed, 10 Nov 2010 18:16:12 +0100 |
Content-Type: | text/plain |
Parts/Attachments: |
|
|
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.
|
|
|