Из Википедии, свободной энциклопедии
Перейти к навигации Перейти к поиску

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

Некоторые системы письма, включая арабский и иврит, или производные системы, такие как персидский , урду и идиш , написаны в форме, известной как письмо с письмом справа налево (RTL), в котором письмо начинается с правой стороны страницу и заканчивается слева. Это отличается от направления слева направо (LTR), используемого доминирующим латинским шрифтом. Когда текст LTR смешивается с текстом RTL в одном абзаце, каждый тип текста пишется в своем собственном направлении, известном как двунаправленный текст . Это может стать довольно сложным при использовании нескольких уровней котировки.

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

Примечание. Некоторые веб-браузеры могут отображать текст этой статьи на иврите в обратном направлении.

Поддержка двунаправленного скрипта [ править ]

Поддержка двунаправленных сценариев - это способность компьютерной системы правильно отображать двунаправленный текст. Этот термин часто сокращают до «BiDi» или «bidi».

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

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

Поддержка Unicode Bidi [ править ]

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

Сильные персонажи [ править ]

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

Слабые персонажи [ править ]

Слабые персонажи - это те, у кого неопределенное направление. Примеры этого типа символа включают европейские цифры, восточно-арабские-индийские цифры, арифметические символы и символы валюты.

Числа [ править ]

Если не присутствует переопределение направления, числа всегда кодируются (и вводятся) с прямым порядком байтов , а числа отображаются как LTR. Слабая направленность относится только к размещению номера целиком.

Нейтральные персонажи [ править ]

Нейтральные символы имеют направление, которое невозможно определить без контекста. Примеры включают разделители абзацев, табуляции и большинство других символов пробела. Знаки пунктуации, общие для многих скриптов, такие как двоеточие, запятая, точка и пробел, также попадают в эту категорию.

Явное форматирование [ править ]

Символы явного форматирования, также называемые «символами направленного форматирования», представляют собой специальные последовательности Unicode, которые заставляют алгоритм изменять его поведение по умолчанию. Эти символы подразделяются на «метки», «вложения», «изолирующие» и «переопределения». Их действие продолжается до тех пор, пока не появится разделитель абзацев или «всплывающий» символ.

Метки [ править ]

Если за «слабым» символом следует другой «слабый» символ, алгоритм будет смотреть на первый соседний «сильный» символ. Иногда это приводит к непреднамеренным ошибкам отображения. Эти ошибки исправляются или предотвращаются с помощью «псевдосильных» символов. Такие управляющие символы Unicode называются метками . Метка ( U + 200E LEFT-TO-RIGHT MARK (LRM) или U + 200F RIGHT-TO-LEFT MARK (RLM)) должна быть вставлена ​​в такое место, чтобы заключенный слабый символ унаследовал направление письма.

Например, для правильного отображения ЗНАКА ТОРГОВОЙ МАРКИ U + 2122 для английской торговой марки (LTR) в отрывке на арабском языке (RTL), после символа торговой марки вставляется знак LRM, если за символом не следует текст LTR (например, " رأ Wikipedia ™ وال اليوم. "). Если метка LRM не добавлена, слабый символ ™ будет соседствовать с сильным символом LTR и сильным символом RTL. Следовательно, в контексте RTL он будет считаться RTL и отображаться в неправильном порядке (например, « رأ Wikipedia ™ طوال اليوم. »).

Вложения [ править ]

«Встраивание» символов направленного форматирования является классическим методом явного форматирования Unicode, и, начиная с Unicode 6.3, они не приветствуются в пользу «изолирующих». «Встраивание» сигнализирует о том, что фрагмент текста следует рассматривать как отдельный по направлению. Текст в пределах встраиваемых символов форматирования не является независимым от окружающего текста. Кроме того, символы внутри вложения могут влиять на порядок символов снаружи. Unicode 6.3 признал, что направленные вложения обычно слишком сильно влияют на их окружение и, следовательно, излишне трудны в использовании.

Изолирует [ править ]

«Изолировать» символы направленного форматирования сигнализируют о том, что фрагмент текста следует рассматривать как направленно изолированный от его окружения. Начиная с Unicode 6.3, это символы форматирования, которые поощряются в новых документах - если известно, что целевые платформы их поддерживают. Эти символы форматирования были введены после того, как стало очевидно, что направленные вложения обычно слишком сильно влияют на их окружение и, следовательно, излишне трудны в использовании. В отличие от устаревших «встраиваемых» символов направленного форматирования, «изолированные» символы не влияют на порядок текста вне своей области. Изоляты могут быть вложенными и могут быть размещены внутри вложений и переопределений.

Переопределения [ править ]

Символы направленного форматирования «переопределения» допускают особые случаи, например, для номеров деталей (например, для принудительного написания номера детали, состоящего из смешанного английского языка, цифр и букв иврита, справа налево), и их рекомендуется по возможности избегать. . Как и в случае с другими символами направленного форматирования, «переопределения» могут быть вложены друг в друга, а также во встраиваниях и изоляциях.

Попс [ править ]

Символы направленного форматирования «всплывают» завершают область действия самого последнего «встраивания», «переопределения» или «изоляции».

Работает [ править ]

В алгоритме каждая последовательность сцепленных строгих символов называется «запуском». «Слабый» персонаж, расположенный между двумя «сильными» персонажами с одинаковой ориентацией, унаследует их ориентацию. «Слабый» символ, расположенный между двумя «сильными» символами с разным направлением письма, унаследует направление написания основного контекста (в документе LTR символ станет LTR, в документе RTL он станет RTL).

Таблица возможных типов символов BiDi [ править ]

Двунаправленный тип символа ( свойство символа Unicode Bidi_Class) [1]

Скрипты с двунаправленным текстом [ править ]

Египетские иероглифы [ править ]

Египетские иероглифы могут быть написаны двунаправленно, где знаки имеют отчетливую «голову», обращенную к началу линии, и «хвост», обращенную к ее концу.

Китайские иероглифы и другие сценарии CJK [ править ]

Китайские иероглифы можно писать в любом направлении, а также по вертикали (сверху вниз, затем справа налево), особенно в знаках (например, табличках), но ориентация отдельных символов никогда не изменяется. Это часто можно увидеть на туристических автобусах в Китае, где название компании обычно идет от передней части транспортного средства к его задней части, то есть справа налево с правой стороны автобуса и слева направо слева. сторона автобуса. Английские тексты на правой стороне автомобиля также довольно часто пишутся в обратном порядке. (См. Фотографии туристического автобуса и почтового транспорта ниже.)

Аналогичным образом, другие сценарии CJK, состоящие из тех же квадратных символов, такие как японская система письма и корейская система письма , также могут быть написаны в любом направлении, хотя и слева направо, сверху вниз и справа налево. левые наиболее распространены.

  • Правая сторона (текст идет справа налево)

  • Левая сторона (текст идет слева направо)

  • На правой стороне самолета Hainan Airlines текст идет справа налево (海南 航空).

  • Однако на левой стороне этого самолета Hainan Airlines текст идет слева направо (海南 航空).

  • Фотография с текстом на обеих сторонах автомобиля Почты Китая.

Бустрофедон [ править ]

Бустрофедон - это стиль письма, встречающийся в древнегреческих надписях и в венгерских рунах . Этот метод письма меняет направление и обычно меняет отдельные символы в каждой последующей строке.

Тип луны [ править ]

Лунный шрифт - это рельефная адаптация латинского алфавита, изобретенного в качестве тактильного алфавита для слепых. Изначально текст менял направление (но не ориентацию символов) в конце строк. Специальные рельефные линии соединяли конец линии и начало следующей. [2] Примерно в 1990 году он изменился на ориентацию слева направо .

См. Также [ править ]

  • Интернационализация и локализация
  • Горизонтальное и вертикальное письмо восточноазиатскими шрифтами
  • Система письма § Направленность
  • Объединение миллионов кириллицы
  • Отметка справа налево
  • Преобразование текста
  • Бустрофедон

Ссылки [ править ]

  1. ^ "UAX # 9: двунаправленный алгоритм Unicode" . Unicode.org. 2018-05-09 . Проверено 26 июня 2018 .
  2. ^ Moon Type для слепых , Ramseyer Bible Collection , Кэтрин А. Мартин библиотека , Университет штата Миннесота Дулут .

Внешние ссылки [ править ]

  • Приложение № 9 к стандартам Unicode . Двунаправленный алгоритм
  • Руководство W3C по методам создания двунаправленного текста - включает примеры и хорошие объяснения
  • ICU International Components for Unicode содержит реализацию двунаправленного алгоритма наряду с другими службами интернационализации.