The main problem needing keyboard layout detection to solve AFAIK is the f(a) and english_word+. problem, I'll demonstrate: the expression FUNCTION f(X) should be f(X) NOITCNUF and not )f(X NOITCNUF On the contrary the expression SHALOM mumi. shoulr render the other way around as: .mumi MOLAHS and not: mumi. MOLAHS This is pretty true almost always, as you almost never need to place a dot in te end of an embedded English word Solving the problem like MSword did (Keyboard layout) seems to me like a bad idea. 1) unintuitive, setting things the way you want them to be set, and taking care for each space/punctuation directionality (MSWord has Hebrew spaces and English spaces) is an Hell on Earth. 2) not always work as intended - so we won't get so much benefit from using it (you'll solve the f(x) problem but when ending a sentence with englishword+dot - the dot will not automatically jump to the real end of the sentence) so it's not really much of a gain. 3) extra complexity sould be added, so the whole BiDi engine should be altered now.
I suggest a Unique sollution based of already existing LRM/RLM signs.
The sollution is very simple, define a macro that will cause OOo to insert LRM[1] sign automatically in the following condition: Writing a word begins with English_Letter* ')', we should think of more similar chars like ')' we want to insert the LRM sign afterwards, but the idea is simple. It's advatages: 1) almost comparable to MSWord's sollution, could immitate it almost exactly. 1) highly customable, seem to actually solve the problem completely in most cases. 2) Even in the unlikely event where the user would like to use, say, f(x) that will render as: )f(x MOLAHS He can do that very easily no exchange of character, a simple hit on the backspace key will delete the LRM and will solve the problem.
Please think of my idea - I think it'll do only good and save us from unneccessary implementation of MSWord immitation which is not neccessarily better then my sollution. Please answer me CC'd to the openoffice-hebrew mailing list at openoffice.org.il
[1] I'm not sure LRM is the correct sign, the idea is sign $ that will cause SHALOM f(x)$ to be rendered as: f(X) MOLAHS were the sign $/LRM/RLM is invisible of course Caps are Hebrew chars of course as the usual notation.
