[EMAIL PROTECTED] wrote:

> I could spec what is needed
> (based on the bidi facilities in hebrew latex). I could perhaps
> find a student or a team to do coding in a software project course
> next year. But if we do anything I would like it to be part of the
> usual distribution so that it is maintained properly rather than fall
> out of synch with the main version.
>
> (There was a hebrew patch to emacs, but it was not in the main sources
> so it is not maintained and nobody uses it. With vim the situation
> is different because the hebrew support is maintained as part of the
> sources).

The best way is to let the student or the team to be in LyX dev-team.
Anyway I'm interested in how RTL text drawing is achieved.

XOM (X Output Method) of X11R6 supports
  XOMOrientation_LTR_TTB
      each line is drawn from left to right,
      lines are laid out from top to bottom;
  XOMOrientation_RTL_TTB
      each line is drawn from right to left,
      lines are laid out from top to bottom;
  XOMOrientation_TTB_RTL
      each line is drawn from top to bottom,
      lines are laid out from right to left;
  XOMOrientation_TTB_LTR
      each line is drawn from top to bottom,
      lines are laid out from left to right;
The modes are properties of XOC (X Output Context), xoc->core.orientation
;;XOMOrientation_TTB_RTL is the most common mode on printed papers in
;;eastern Asian countries, while on computer displays, XOMOrientation_LTR_TTB
;;is by far more common.  Since LyX is not WYSIWYG, I don't think
;;vertical text drawing is necessarily to be supported.

However, our consensus is to reinvent the wheel and implement RTL
text drawing.  The reasons are that XOM is bound to locale, not
portable to X11R5, Ncurse and non-X environments, and not all locales
are supported by X11R6.
Please see "The design of Encoding class" thread, e.g. X-num: 4237
and X-num: 4249.  (Encoding conversions between different locales must
be done in the LyX Encoding class, while mbstowcs, wcstombs encoding
conversions, if necessary, must be done inside locale support functions
in libc.)

So could you explain how RTL text drawing is done in terminal applications
such as vim as well as how it is done in X frontends like X-emacs?

Regards,
        SMiyata

Reply via email to