# [XeTeX] \beginL and colour

Hans Hagen pragma at wxs.nl
Mon Nov 15 10:46:50 CET 2004

Hi Adam,

> Hi Jonathan, all.
>
> I ran into what I think is a bug. It's an interaction between colour and
> the \beginL \endL mechanism. I reduced it to this:
>
> \TeXXeTstate=1
> \def\babble{Wa dfonbds kmkn doni don cspdsc mpw mcpi kljndf l dlkn dmnde
> knds, fdwih kdfj dowk. Ifskn nods ods  cskc vif kldn conc lc -- mioefj dinj
> dfnwo dnnks kw mxzlkw mdow. }
> \babble \par
> \beginR
> \babble
> \special{x:textcolor=FF0000}
> hello there world
> \special{x:textcolor=000000}
> \babble
> \endR \par
> \babble
> \end
>
>
> Is this a bug, or a complete lack of understanding on my part of the model?

I guess that it's an illustration that rl typesetting never really got from the
ground in the tex world -)

The fact that tex can be made to go from right to left as in etex/xtex (or
bottom to top or whatever omega provides) does not give you a full blown rl
typesetting engine for free. The same is true for unicode: the fact that you can
suddenly typeset all those glyphs does not mean that you have a multi lingual
typesetting system.

However, etex, xetex, omega, aleph, ... give you the tools to build such a
machinery. The main issue is that transformations and attributes (like color) as
well as the general page layout construction need to know if we're going from
left to right and adapt accordingly; currently specials are simply swapped
(revresed) with the text, so you end up with a mismatch between begin and end

a solution is to provide something \Bspecial and \Especial (not swapped);

(i played with it long ago but dropped it since i don't do rl typesetting; if
you're interested i can send you a test file that does the right thing [for color])

Hans

-----------------------------------------------------------------