[EMAIL PROTECTED] (Lars Gullik Bj$Bxn(Jnes) wrote:
> | P.S. We have to write an inline text inset.
>
> Yes, and some of the code for doing this is in the old devel branch.
I have taken a look. I'm afraid it is not what I wanted to see.
I was considering the possibility to have short RTL phrases inlined
in LTR paragraphs and vice versa. I haven't checked the hebrew
macro package, but the arabtex macros support short inlined texts
of this nature for both Arabic and Hebrew.
IMHO Perso-Arabic/Hebrew RTL script support must be distinguished
from the Unicode inset. The Unicode inset is for inputting texts
in non native languages into a document written in a certain native
language. While, Perso-Arabic/Hebrew RTL script should be the native
language of a frame document, if it is used. So my opinion is RTL
paragraphs are not special insets but normal paragraphs. In other
words, their apparence should be handled by LyXText::Draw().
On the other hand, the Unicode inset must be a lockable inset with
inline/paragraph modes just like the Mathed having inline/display
modes. I agree that the TeX inset in the old devel branch can be
a basis of the Unicode inset. I wonder if it is not plausible to
pass the reference to the action rather than the value of the action
to UpdatableInset::LocalDispatch() so that it can be appropriately
modifiable by the LocalDispatch. This simplifies the implementation
quite a lot, I think.
The requirement in the Unicode inset are input methods and a drawing
routine. I have an idea for input methods implementation, but, since
it needs quite a few elaboration before it will be in a descent shape,
I won't mention it now. What I'd like to say now is that as far as
the Xlib supports the typesetting convention for a language, the
Unicode inset must support the language. As I already mentioned,
XDrawString() and XDrawString16(), (and locale based XmbDrawString()
and XwcDrawString()) determine the drawing directions by the width
of characters. So if users are guaranteed to have fonts with
negative width characters for Arabic/Hebrew, the scripting in these
languages must be supported. On the while, we are not going to
support Indic languages in the Unicode inset in the near future:
These languages typeset syllables from left to right, but a vowel
and consonants comprising a syllable are rearranged in a complicated,
context dependent, non-linear way. TeX macro packages for these
languages come with C source code for preprocessors. Omega/Lambda
font metric files can store extended attributes for these character
sets. However, the Xlib does not have any support for drawing
of such scripts.
Regards,
SMiyata