Как предотвратить автоматическое направление текста справа налево для иврита и арабского?

В TextView, когда текст начинается с буквы на иврите, весь текст отображается в режиме RTL.

Проблема в том, что в моем случае только первое слово находится на иврите, а все предложение на английском языке, поэтому вместо

 דני went to school

пользователь видит

                                                  went to school דני

(первое слово в конце предложения при чтении на английском языке)

Как я могу предотвратить это и заставить текст начинаться слева?

Ответ 1

Символы Unicode являются intritectly LTR или RTL. В большинстве ситуаций весь текст принимает ориентацию от первого символа. Ивритский символ - RTL.

См. http://en.wikipedia.org/wiki/Bi-directional_text

Текст начинается с символа RTL и поэтому считается RTL. Вы можете заставить его рассматривать как LTR с помощью left-to-right mark, "\u200E".

Запуск текста с помощью этого специального символа будет указывать системе макета на явную ориентацию всего текста. RTL-разделы по-прежнему будут считаться таковыми, хотя, поскольку символы явно RTL.

Числа, например, не являются сильным индикатором и, следовательно, не влияют на направление раздела, в котором они размещены. Поэтому числа между разделами различного направления могут быть проблемой и могут нуждаться в явной индикации.