пытаюсь добавить арабский текст в свой проект, но возникают две проблемы:
Это выглядит как:
Это не проблема со шрифтом, ведь в других программах он работает как надо? textDirection="anyRtl" не помогает
Текстовый вид:
<TextView
android:id = "@+id/text_ayah_text"
android:layout_width = "0dp"
android:layout_height = "wrap_content"
android:fontFamily = "@font/uthman_taha_naskh_regular"
android:textSize = "34sp"
app:layout_constraintEnd_toEndOf = "parent"
app:layout_constraintStart_toEndOf = "@id/barrier"
app:layout_constraintTop_toTopOf = "parent"
tools:text = "اللَّهُ لا إِلٰهَ إِلّا هُوَ الحَيُّ القَيّومُ" />
@ADM ахах, я имею в виду MS Word и сайт, на котором я скачал шрифт. Это не работает везде в моем приложении. На самом деле поддержка RTL в Android за последние годы стала намного лучше, но это все еще проблема, верно?
Ваша проблема не в Direction, что-то, что можно легко исправить, ваша проблема в рисовании текста, который является внутренним делом. Попробуйте использовать некоторые другие арабские шрифты только для testibg, посмотрите, видите ли вы какую-либо разницу.
@ADM Я пробовал несколько арабских шрифтов, некоторые из них работают нормально, а некоторые имеют ту же проблему. Но этот шрифт самый распространенный, я его вижу во многих приложениях, так что он должен нормально работать. Похоже, что программа чтения глифов читает ltr вместо rtl и из-за этого не находит нужный глиф.
//Add this code in java file
textview.setTextDirection(View.TEXT_DIRECTION_ANY_RTL).
//And in textview
android:textDirection = "anyRtl"
к сожалению, это не работает
Проблема была с буквенным интервалом для TextView в темах. Удалил и все работает
Когда вы говорите
in other programs it works as it should, что вы имеете в виду? это работает в другом месте в вашем приложении. я всегда нахожу поддержку RTL в Android проблематичной ..