Персидский и арабский пишутся справа налево. Вставьте персидскую фразу в английское предложение, допишите в её конце «!», и браузер нарисует знак не с той стороны фразы.
Текст раскладывает Unicode Bidirectional Algorithm. У букв направление задано жёстко. А пробелы и большинство знаков препинания нейтральны: они берут направление от соседей. Если соседи смотрят в разные стороны, решает базовое направление, а оно по умолчанию слева направо.
Браузеру надо подсказать: обернуть фразу в или . Второй сам определяет направление по первой букве с жёстким направлением.
В этом и ловушка: персидское название книги, начатое словом CSS, он примет за текст слева направо. Тут без скрипта, который оценит всю строку, не обойтись.
Ещё в статье: почему у ChatGPT разъезжаются стрелки и числа и почему виновата отрисовка, а не модель.
👍 - если было полезно
👉
@frontend_mind