Я думаю, что древнееврейский интерпретируется RTL (справа налево) в то время как другая часть LTR (слева направо). Учитывая это, TextView должен представлять собой нечто вроде этого:
\LTR 15 \RTL קמ
Моя логическое предположение, что TextView помещает часть RTL на новой линии, чтобы иметь дело с ерундой иметь обе части на одной и той же линии. Если вы заставляете это полностью RTL, когда языковой стандарт является ивритом, я думаю, что он будет регулировать рендеринг и решить проблему. Я хотел бы предложить вам попробовать добавить «RIGHT-TO-LEFT MARK» характер \u200F
в начале строки:
String text="15 קמ";
if (hebrew) {
text="\u200F"+text;
}
Кроме того, кажется, что некоторые шрифты демонстрируют графическую интерпретацию особого характера (пока он не должны). Вероятно, вам придется использовать этот font, чтобы избавиться от него.
Нет новой строки на Galaxy Nexus, показать код. – ozbek
Какой уровень API вы используете, когда видите это? Это на реальном устройстве или эмуляторе? –
Я использую API 10, но мне удалось воспроизвести проблему и в API 15. Это происходит как на реальном устройстве (HTC One X), так и на эмуляторе ... – shaylh