Процесс описывается двунаправленным алгоритмом Unicode, описанным здесь: http://www.unicode.org/reports/tr9/
.
По умолчанию текст слева направо (уровень 0).Unicode имеет специальные коды символов для разграничения текста RTL в пределах уровня 0 (уровень 1).Вы используете специальные символы для разграничения LTR внутри RTL и так далее.Я думаю, что вы можете иметь до 61 уровня встраивания.
HTML-теги имеют атрибут "dir" для указания направления по умолчанию.
Процесс не зависит от платформы, но вы будете полагаться наалгоритм Юникода, чтобы понять это правильно.