I recently found myself writing a document containing mostly English and a little bit of Hebrew on Linux in OpenOffice.org Writer (using a prerelease of the upcoming Fedora 11).
I was pleased to see that since the last time I looked, right-to-left (RTL) text entry has improved by leaps and bounds in both Linux and OpenOffice.org. I was able to easily find the necessary control panel to allow me to add a Hebrew keyboard layout and configure how to switch to it, and it even generated a printed keyboard diagram showing all the Hebrew keys. Best of all, entry of Hebrew vowels is now supported and works astoundingly well. I was even able to cut and paste voweled text from a Web page into OpenOffice.org, and it “just worked.” It’s really quite impressive.
However, there was one annoying quirk that I just couldn’t figure out. I came up with a workaround, but I’m wondering if there’s a “right” solution that I was unable to find.
I wanted to typeset a single Hebrew word at the end of an English sentence, then another lone Hebrew word at the beginning of the next English sentence, like this: “… from תנ”ךa. חַנָּה called …” As soon as I started typing the second Hebrew word, Writer decided that both words, with the period and spaces in between them, were part of a continuous span of Hebrew text, and therefore it incorrectly typeset them all RTL, like this: “… from תנ”ך. חַנָּה called …” Doh!
I searched and searched for the correct way to tell Writer, “This is the end of this Hebrew phrase, regardless of what comes after it,” but I couldn’t find anything. The workaround I eventually came up with in Writer (and, for that matter, in HTML — the same workaround is employed above in the first example) is to insert a tiny English letter with a white foreground color (to make it invisible) after the first Hebrew word, to force the editor back into English mode before the period.
I put the invisible letter before the period rather than after it because I was typesetting with full justification and I didn’t want there to be a tiny visible gap if the first Hebrew word ended up being the last word on the line.
Is this a known problem in typesetting circles? Is there a better solution?