I'm generating index entries for Arabic documents (using XSL Formatter
2.3) and I'm running into a problem with the how the bi-di algorithm is
being applied. I can solve the problem by adding a bidi-override element
to the output FO but that solution is not ideal because it would mean
adding markup to the input XML document, which I would like to avoid.
Here is a typical example:
<fo:block-container writing-mode="rl-tb">
<fo:block >Arabic English1 English2<fo:leader
leader-length="1em">123</fo:block>
</fo:block-container>
The desired presentation result is:
123 English1 English2 cibarA
But what I get from XSL Formatter is:
English1 English2 123 cibarA
That is, the "<fo:leader>123" is taken as part of the left-to-right
sequence, which I think is correct application of the Unicode bi-di
algorithm.
I'm wondering if there is a Unicode control character of some sort that
I can interject into the output to end the recognition of the
left-to-right text (as though a normal Arabic character occured after
the English text)? I looked through the Unicode database as presented by
Unipad but I didn't see anything that looked like what I want.
I guess another question would be does FO define any markup that I could
wrap around the entire index entry text (but not including the page
number citation) that would also have the defined semantic of limiting
the scope of the bidi recognition? I have tried putting a bidi-override
around the leader (between the index entry text and the page number
citation to no effect) but it does not produce the desired effect.
I am continuing to work with Antenna House support on this issue but I
was hoping there might be an easy solution that wouldn't require more
work on anyone's part.
Thanks,
Eliot
--
W. Eliot Kimber, eliot(_at_)isogen(_dot_)com
Consultant, ISOGEN International
1016 La Posada Dr., Suite 240
Austin, TX 78752 Phone: 512.656.4139
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list