Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Приоритет над двунаправленным алгоритмом: элемент BDO



<! ELEMENT BDO — - (%inline; )* -- I18N BiDi over-ride --> <! ATTLIST BDO

%coreattrs; -- id, class, style, title --

lang %LanguageCode; #IMPLIED -- код языка --

dir (ltr|rtl) #REQUIRED — направление --

>

Начальный тэг: обязателен. Конечный тэг: обязателен.

Определения атрибутов dir = LTR | RTL [CI]

Этот обязательный атрибут указывает основное направление текстового содержимого элемента. Это направление имеет приоритет по отношению к наследуемому направлению символов, как определено в UNICODE. Возможные значения:

  • LTR: Направление слева направо.
  • RTL: Направление справа налево.

Атрибуты, определяемые в любом другом месте lang (информация о языке)

Двунаправленного алгоритма и атрибута dir обычно достаточно для управления изменением направления внедренного текста. Однако в некоторых ситуациях двунаправленный алгоритм может привести к некорректному представлению. Элемент BDO позволяет авторам отключать двунаправленный алгоритм для выбранных фрагментов текста.

Элемент BDO следует использовать в сценариях, где необходим абсолютный контроль над последовательностью (например, многоязыковые номера частей). Атрибут dir для этого элемента является обязательным. Авторы могут также использовать специальные символы Unicode ля того, чтобы избежать использования двунаправленного алгоритма — LEFT-TO-RIGHT OVERRIDE (202D) или RIGHT-TO-LEFT OVERRIDE (202E). Символ POP DIRECTIONAL FORMATTING (шест-надцатеричный код 202C) заканчивает любую последовательность, используемую для обхода двунаправленного алгоритма.

Помните, что при использовании атрибута dir во встроенных элементах (включая BDO ) одновременно с соответствующими символами форматирования, могут возникать конфликты.

Существуют специальные соглашения относительно использования значений параметра « charset » для указания обработки двунаправлен-ности в почте MIME, в частности для отличия визуальной, явной и неявной направленности. Значение параметра «ISO-8859-8» (для иврита) обозначает визуальную кодировку, «ISO-8859-8-i» обозначает неявную двунаправленность, а «ISO-8859-8-e» обозначает явную направленность.

Поскольку HTML использует двунаправленный алгоритм Unicode, соответствующие документы, использующие кодировку ISO 8859-8, должны помечаться как «ISO-8859-8-i». Явное управление направлением в HTML также возможно, но его нельзя выразить в ISO 8859-8, поскольку не следует использовать «ISO-8859-8-e».

Значение «ISO-8859-8» подразумевает, что документ отформатирован визуально, и некоторая разметка будет использоваться неправильно (например, TABLE с выравниванием по правому краю без разбивки строк), чтобы гарантировать правильное отображение для более старых браузеров, не поддерживающих двунаправленность. При необходимости документы можно изменить (и одновременно они будут корректно отображаться в старых версиях браузеров), добавив, где нужно, разметку BDO. Вопреки сказанному, кодировка ISO-8859-6 (арабская) не представляет визуального порядка.

Ссылки на символы для управления направлением и объединением

Поскольку иногда возникает двусмысленность относительно некоторых символов (например, символов пунктуации), UNICODE включает символы для правильного определения назначения. Unicode также включает некоторые символы для управления объединением при необходимости (например, в некоторых ситуациях с арабскими символами). HTML 4.0 включает для этих символов ссылки на символы.

Следующее DTD определяет представление некоторых объектов направления:

<! ENTITY zwnj CDATA " & #8204; " --=нулевая ширина без объединения--> <! ENTITY zwj CDATA " & #8205; " --=объединитель нулевой ширины--> <! ENTITY lrm CDATA " & #8206; " --=метка слева направо-->

<! ENTITY rlm CDATA " & #8207; " --=метка справа налево--> Объект zwnj используется для блокировки объединения в тех контекстах, где объединение произойдет, но оно происходить не должно. Объект zwj имеет обратное действие; он производит объединение в случае, когда оно не предполагается, но должно произойти. Например, арабская буква «HEH» используется для сокращения «Hijri», названия исламской системы летоисчисления. Поскольку отдельный иероглиф «HEH» в арабской письменности выглядит как цифра пять, для того, чтобы не путать букву «HEH» с последней цифрой пять в годе, используется исходная форма буквы «HEH». Однако, нет последующего контекста (например, буквы для объединения), с которым можно объединить «HEH». Символ zwj предоставляет такой контекст.

Точно так же в персидских текстах буква может иногда объединяться с последующей буквой, в то время как в рукописном тексте этого быть не должно. Символ zwnj используется для блокировки объединения в таких случаях.

Символы порядка — lrm и rlm, используются для определения направления нейтральных по отношению к направлению символов. Например, если двойные кавычки ставятся между арабской (справа налево) и латинской (слева направо) буквами, направление кавычек неясно (относятся ли они к арабскому или к латинскому тексту? ). Символы lrm и rlm имеют свойство направления, но не имеют свойств ширины и разделения слов/строк.

Отражение глифов символов

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

Таблица стилей и двунаправленность

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

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

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

Глава 21. Списки

Язык HTML предлагает авторам несколько механизмов создания списков информации. В каждом списке должен быть один или несколько элементов списков. Списки могут содержать:

  • Неупорядоченную информацию.
  • Упорядоченную информацию.
  • Определения.

Предыдущий список, например, не упорядочен, он создан с помощью элемента UL:

< UL>

< LI> Неупорядоченную информацию.

< LI> Упорядоченную информацию.

< LI> Определения.

< /UL>

Упорядоченный список, создаваемый с помощью элемента OL, может содержать информацию, в которой важен порядок, например, рецепт:

1. Тщательно смешать сухие ингредиенты.

2. Влить жидкость.

3. Смешивать 10 минут.

4. Выпекать в течение часа при температуре 300 градусов.

Списки определений, создаваемые с помощью элемента DL, могут содержать ряд пар термин/определение (хотя списки определений могут иметь и иные применения). Например, список определений можно использовать в рекламе изделия:

Низкая цена

Новая модель этого изделия существенно дешевле предыдущей!

Проще работа

Мы изменили изделие, так что с ним теперь легко работать!

Безопасно для детей

Вы можете оставить своих детей в комнате, и изделие не причинит

им вреда (не гарантируется).

На языке HTML он определяется следующим образом:

< DL>

< DT> < STRONG> Низкая цена< /STRONG>

< DD> Новая модель этого изделия существенно дешевле предыдущей! < DT> < STRONG> Проще работа< /STRONG>

< DD> Мы изменили изделие, так что с ним теперь легко работать! < DT> < STRONG> Безопасно для детей < /STRONG>

< DD> Вы можете оставить своих детей в комнате, и изделие не причинит им вреда (не гарантируется). < /DL>

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

Ингредиенты:

  • 100 г муки
  • 10 г сахара
  • 1 стакан воды
  • 2 яйца
  • соль, перец

Процедура:

1. Тщательно смешайте сухие ингредиенты.

2. Влейте жидкие ингредиенты.

3. Смешивайте 10 минут.

4. Выпекайте в течение часа при температуре 300 градусов.

Примечания:

Можно добавить изюм.

Точное представление трех типов списков зависит от браузера. Не стоит использовать списки для создания отступов в тексте. Это делается с помощью таблиц стилей.


Поделиться:



Популярное:

Последнее изменение этой страницы: 2017-03-03; Просмотров: 452; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.017 с.)
Главная | Случайная страница | Обратная связь