Двунаправленный текст


Двунаправленный текст содержит два направления текста : справа налево (RTL) и слева направо (LTR). Обычно это текст, содержащий различные типы алфавитов , но также может относиться к бустрофедону , который меняет направление текста в каждой строке.

Многие компьютерные программы неправильно отображают двунаправленный текст. Например, еврейское имя Сара (שרה) пишется так: грех (ש) (крайнее правое), затем реш (ר) и, наконец, хе (ה) (которое должно стоять крайним слева).

Поддержка двунаправленного письма — это способность компьютерной системы правильно отображать двунаправленный текст. Термин часто сокращается до « биди » или « биди ».

Ранние компьютерные установки были предназначены только для поддержки одной системы письма , как правило, для письма слева направо, основанного только на латинском алфавите . Добавление новых наборов символов и кодировок символов позволило поддерживать ряд других сценариев с письмом слева направо, но с трудом поддерживало сценарии с письмом справа налево, такие как арабский или иврит , и их смешивание было нецелесообразным. Сценарии с письмом справа налево были введены с помощью таких кодировок, как ISO/IEC 8859-6 и ISO/IEC 8859-8., сохраняя буквы (обычно) в порядке записи и чтения. Можно просто перевернуть порядок отображения слева направо на порядок отображения справа налево, но при этом жертвуется способность правильно отображать сценарии слева направо. Благодаря поддержке двунаправленного письма можно смешивать символы из разных сценариев на одной странице независимо от направления письма.

В частности, стандарт Unicode обеспечивает основу для полной поддержки BiDi с подробными правилами относительно того, как должны кодироваться и отображаться комбинации сценариев с написанием слева направо и справа налево.

Стандарт Unicode требует, чтобы символы располагались «логически», т. е. в той последовательности, в которой они предназначены для интерпретации, а не в «визуальной» последовательности, в которой они появляются. Это различие имеет значение для поддержки двунаправленного текста, поскольку при любом переходе двунаправленного изображения визуальное представление перестает быть «логичным». Таким образом, чтобы предложить поддержку двунаправленного текста, Unicode предписывает алгоритм преобразования логической последовательности символов в правильное визуальное представление. Для этой цели стандарт кодирования Unicode делит все свои символы на один из четырех типов: «сильный», «слабый», «нейтральный» и «явное форматирование». [1]