Miki Dovrat wrote: > The users (at least me) don't know whether the space is RTL or LTR because > they don't "mark RTL code" since it is annoying to look at when writing a > document in RTL.
I don't understand what you mean here. When you write a mixed hebrew/english document you have to explicitly set the language of the foreign part anyway. The spaces would simply be part of this mechansim, no extra "marking" required. Whether this explicit language setting should be replaced by some automatic algorithm is a different issue that has been discussed. But even if such an algorithm is implemented the result is still that each character has an associated language that defines the direction. > I don't know how difficult it is to code this, but I think the space > should be "neutral", and that the direction should be decided according to > whether the curser is currently to the right or to the left of this border > space. And how would you output such a neutral space to LaTeX? If you have visually on screen RTL LTR where RTL is in RTL direction and LTR in LTR direction you need to decide whether to output \R{ LTR}LTR or \R{LTR} LTR} to LaTeX. How would you decide which variant to use without an explicit LTR property of the space? At first glance it might look as if both are equivalent, but this is not the case if other font changes (e.g. size) come into the play, and even if not your LTR font might have a different size of the space as your RTL font. This is exactly the reason why spaces are not handled specially anymore for font changes, and are output exactly as entered. > Lets say we have LTR RTL and the space between them. If the cursor is to > the left - continue English (you will be able to type another space there > and continue writing), and if you are to the right of the border space, > continue writing Hebrew (again, you will be able to enter another RTL > space there as well). Extra spaces should then be removed, like lyx does > today. > > The same for RTL LTR. The non-magic approach could be made to work exactly like that: If the cursor is at such a boundary with a space, set the current font that will be used for newly typed stuff either to the font at the left or the font at the right, according to the rules you gave. Strictly speaking this is a bit of magic, but I believe that in contrast to the neutral space this magic could be implemented in a reasonable manner, because it would only affect editing. A neutral space would require extra code in may different places. The result would still be that each space has an associated direction, so you could still create the other two cases of the four Stefan mentioned by inserting and removing some temporary characters. Georg