[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