[XeTeX] RTL hyperlink problems

Khaled Hosny khaledhosny at eglug.org
Fri Aug 20 14:37:00 CEST 2010


On Fri, Aug 20, 2010 at 02:20:52PM +0200, Khaled Hosny wrote:
> On Fri, Aug 20, 2010 at 09:09:31AM +0300, Ron Aaron wrote:
> > On Wednesday 18 August 2010 23:06:02 Ron Aaron wrote:
> > > Using xetex I found that the 'hyperref' package did not product attractive links in PDF, so I had to write my own PDF link code:
> > 
> > This seems to be specifically a "dvipdfmx" problem, as using "etex" on the sample  I gave, followed by "dvipdfmx" produces precisely the same problem.
> 
> It is actually related to the way TeX--XeT RTL extension of e-TeX (which
> XeTeX inherited) works, as explained in the previous message.
                                              ^^^^^^^^^^^^^^^^

I just realised that I never sent the aforementioned message (I'm sure I
compose such a message, but I don't see it in my sent box).

Basically, when XeTeX (actually e-TeX withe \TeXXeTstate=1) encounters a
begin RTL node, it just reorders everything until the end RTL node,
including any special nodes in between. So, your input is something like:

  <begin-rtl>some text <begin-link>link<end-link> some other text<end-rtl>

What goes to the dvi is something like:

  txet rehto emos <end-link>knil<begin-link> text emos

So, in the eye of the dvi driver, <end-link> comes first so it does
nothing, and <begin-link> is runaway. Bidi package has some work around
for that, but it can't work around line breaks.

Regards,
 Khaled

-- 
 Khaled Hosny
 Arabic localiser and member of Arabeyes.org team
 Free font developer


More information about the XeTeX mailing list