As John Cowan said at Unicode List Dated Sun, 3 Feb 2002 21:24:47 -0500 (EST) This is not a Unicode problem per se: it is about embedded text vs. text that is not embedded. The Yudit and IE versions are displaying a text (Java code) that is essentially in Latin script (LTR) with some RTL inclusions. However, when the Java application actually runs, it displays three separate and distinct texts, each of which is an RTL text with some LTR inclusions. They are assumed to be RTL text, by the bidi rules, because they begin with a strong RTL character. Similar things happen when you construct XML documents with RTL element names: the bidi rules, which are meant for true text and not computer-readable stuff, sometimes produce visually confusing results.