# [XeTeX] translating CSs into Persian (New XeTeX primitive required)

Sat Mar 28 17:43:31 CET 2009

On 28 Mar 2009, at 16:22, وفا خلیقی wrote:

> Hi Jonathan
>
> Today, I was playing with control sequences in Plain TeX and LaTeX
> and was translating them into Persian using \let and \def control
> sequences. But when it comes to \let and \def themselves, this
> approach does not make any sense and in fact has side effects.

What kind of effects? It seems to me you can write

\let\تر=\def

and then use

\تر\someOtherMacroName{macro definition....}

if you really want to. Does that not work?

>
> So I think it is nice if you could add one primitive namely
> "semiticname" so that we can translate all CSs without side effects.
>
> so let's say I want to translate "def" primitive into its
> corresponding Persian primitive, then I could have
>
> \semiticname{def}{تر}
>
> or something like that.
>
>
> The other thing is that as you know hyperref and color packages got
> issues with RTL in XeTeX. so if you could define two new primitives
> namely "beginspecial" and "endspecial", then I as a macro packager
> could easilly write a patch for hyperref and color packages so that
> the intended code goes between "beginspecial" and "endspecial"
> primitives.

What do you envisage that \beginspecial and \endspecial would do? I
know there are issues because of the hlist reversal that happens in
RTL, but I don't understand what you are intending these primitives to
do in order to solve that.

JK