How to prevent automatic right-to-left text direction for Hebrew and Arabic?

浪子不回头ぞ 提交于 2019-12-18 15:11:30

问题


In a TextView, when a text starts with a Hebrew letter, the entire text is shown in RTL mode.

The problem is that in my case only the first word is in Hebrew, while the entire sentence is in English, so instead of

 דני went to school

the user sees

                                                  went to school דני

(the first word is in the end of the sentence, when reading in English)

How can I prevent this from happening and force the text to start from the left?


回答1:


Unicode characters are intrisectly LTR or RTL. In most situations, the whole text takes its orientation from the first character. Hebrew character are RTL.

See http://en.wikipedia.org/wiki/Bi-directional_text

Your text starts with a RTL character, and is therefore considered RTL. You can force it to be seen as LTR by using the left-to-right mark, "\u200E".

Starting your text with this special character will tell the layout system the explicit orientation of the whole text. RTL sections will still be considered as such, though, because the characters are explicitly RTL.

Numbers, for example, are not a strong indicator, and therefore don't affect the direction of the section they are placed in. Therefore, numbers between section of different direction can be a problem, and may need explicit indication.



来源:https://stackoverflow.com/questions/27910465/how-to-prevent-automatic-right-to-left-text-direction-for-hebrew-and-arabic

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!