Как знаки ударения выходят за пределы строки

В Unicode есть комбинируемые знаки: это отдельные символы, которые обычно не занимают собственного места, а присоединяются к предыдущей букве. К ним относятся, например, диакритические знаки — черточки и точки над буквами или под ними. Если поместить после одной буквы много таких знаков, каждый из них останется частью текста, хотя саму букву не заменит.

Почему буква начинает «расти»

При отображении текста программа передаёт последовательность символов шрифту. Тот старается расположить комбинируемые знаки над базовой буквой и друг над другом, чтобы они не сливались. Несколько меток помещаются вокруг неё; десятки могут выстроиться в высокую колонку. Видимая часть символа тогда занимает гораздо больше места, чем обычная строка.

Высота строки и границы нарисованных знаков — не одно и то же. Страница может оставить строке привычную высоту, а выступающие метки продолжат рисоваться за её пределами. В другом шрифте или приложении расчёт будет иным: знаки могут тесниться, перекрываться или увеличивать строку. Поэтому эффект выглядит по-разному на разных устройствах.

Формально допустимо — не значит удобно

Последовательность таких знаков может быть допустимым текстом для Unicode, но это не гарантирует, что её удобно читать или что программы покажут её одинаково. Если вставить её в сообщение или поле ввода, высокая колонка способна перекрыть соседние строки и нарушить привычное расположение текста. Причина не в том, что экран буквально «растекается», а в разнице между символами, которые хранит текст, и крупными графическими знаками, которые шрифт рисует поверх страницы.