Использование пользовательских шрифтов со смешанным языком текста на iOS и Android

Мы работаем над приложением, которому требуется текст на языках RTL и LTR на одном экране, часто в одном предложении, с использованием пользовательских шрифтов. Это создает несколько нетривиальных проблем:

  1. В дизайне используются разные пользовательские шрифты для каждого из языков LTR и RTL. Если мы используем шрифт LTR, текст RTL выглядит не очень хорошо, и наоборот.
  2. RTL-шрифты имеют большую высоту строки, чем LTR-шрифты, поэтому, если высота строки отрегулирована для RTL, она запутывается в LTR и наоборот.

Одним из предложений является использование текстовой разметки для языковых границ в многострочном тексте. Затем на основе разметки мы будем использовать эквивалент <span>s в текстовых метках и применять собственный шрифт для каждого диапазона с пользовательской высотой строки. Это звучит как решение, которое потребует значительной обработки текста на устройстве и, возможно, не будет переносимым, поэтому возникают следующие вопросы:

  1. Кто-нибудь успешно пробовал этот подход для рендеринга текста на разных языках?
  2. Есть ли другие предложения по отображению текста на разных устройствах на разных устройствах?

1 ответ

На Android вы можете добавить различные макеты xmls как для ltr, так и для rtl, точно так же, как вы делаете для mdpi/hdpi/ и т.д.. Это подход (насколько я знаю), который вы должны принять. Я понятия не имею.

Другие вопросы по тегам