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.




לענות