Hi,

if I understand correctly, that way the output still shows the letters or the deprecated unicode codepoints. It should be analog to medieval / lowercase numbers. E.g. it's still the number 123 it only uses different glyphs. So when I copypaste it, it shows the number 123 and not cxxiii.

This could be a very complex procedure, if applied to arbitrary numbers, but most times it can be reduced to low numbers.

Another idea:

the macro \roman{counter} does the complicated part of the job. Could one use the result of that macro (letters) and transform them to the desired output?

bye

Toscho

Am 18.06.2011 21:43, schrieb enrico.grego...@univr.it:
Hi,

you totally misunderstood my intentions. I don't want to use
neither Ⅰ,  Ⅱ, Ⅲ, Ⅳ, … (u2160-u217f) nor I, II, III, IV, … (letters). I want
to use
something along "Henri {\fontchangingcommand 4} was a foobar king."

Is \fontspec capable of doing this?

Of course not, or maybe yes, but limited to numbers from 1 up to 12,
via a proper mapping file. However, with the macros I gave you before,
you can define

\makeatletter
\newcommand\ordinal[1]{\@UniRoman{#1}}
\makeatother

and write "Henri~\ordinal{4}". The tilde is for avoiding a line break. This will
use the character corresponding to the number, if in the range 1–12, otherwise
the number will be constructed from the Roman numerals.

Ciao
Enrico

--
Enrico Gregorio          + Dipartimento di Informatica          + Tel: +39 045 
8027937
enrico.grego...@univr.it + Università degli Studi di Verona     +
(grego...@math.unipd.it) + Strada le Grazie 15 / I-37134 Verona + Fax: +39 045 
8027928



--------------------------------------------------
Subscriptions, Archive, and List information, etc.:
 http://tug.org/mailman/listinfo/xetex

Reply via email to