Базы данныхИнтернетКомпьютерыОперационные системыПрограммированиеСетиСвязьРазное
Поиск по сайту:
Подпишись на рассылку:

Назад в раздел

9 Текст

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

9.1 Неотображаемые символы

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

  • пробел набора символов ASCII ( )
  • табуляция набора символов ASCII (	)
  • ASCII form feed ()
  • пробел нулевой ширины (​)

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

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

Для всех элементов HTML, кроме последовательностей неотображаемых слово (мы используем термин "слово" для обозначения "последовательности отображаемых символов") в теге PRE. При форматировании текст агенты пользователей должны идентифицировать эти слова и обрабатывать их в соответствии с соглашениями относительно определенного языка и целевого носителя.

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

Помните, что последовательность неотображаемых символов между словами в исходном документе может вызвать отображение совершенно другого межсловного пробела (кроме элемента PRE). В частности, агенты пользователей должны прекращать ввод последовательностей неотображаемых символов при выводе межсловного пробела. Это можно и нужно делать, даже при отсутствии информации о языке (из атрибута lang, полях заголовка HTTP "Content-Language" (см. [RFC2068], раздел14.13), настроек агента пользователя и т.д.).

Элемент PRE используется для форматированного текста, в котором неотображаемые символы имеют важное значение.

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

  <P>Мы предлагаем бесплатную <A>техническую поддержку</A> для зарегистрированных пользователей.</P>

и не должны писать:

  <P>Мы предлагаем бесплатную<A> техническую поддержку </A>для зарегистрированных пользователей.</P>

9.2 Структурированный текст

9.2.1 Элементы фраз: EM, STRONG, DFN, CODE, SAMP, KBD, VAR, CITE, ABBR и ACRONYM

<!ENTITY % phrase "EM | STRONG | DFN | CODE |
                   SAMP | KBD | VAR | CITE | ABBR | ACRONYM" >
<!ELEMENT (%fontstyle;|%phrase;) - - (%inline;)*>
<!ATTLIST (%fontstyle;|%phrase;)
  %attrs;                              -- %coreattrs, %i18n, %events --
  >

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

Фразовые элементы добавляют в текстовые фрагменты структуру. Обычное значение фразовых элементов следующее:

EM:
Выделение.
STRONG:
Более сильное выделение.
CITE:
Содержит цитату или ссылку на другие ресурсы.
DFN:
Указывает, что это является определением вложенного термина.
CODE:
Фрагмент компьютерного кода.
SAMP:
Вывод примера программ, сценариев и т.д.
KBD:
Текст, который должен ввести пользователь.
VAR:
Экземпляр переменной или аргумента программы.
ABBR:
Сокращенная форма (например, WWW, HTTP, URI, Mass., и т.д.).
ACRONYM:
Акроним (например, WAC, радар и т.д.).

Элементы EM и STRONG используются для выделения. Другие фразовые элементы имеют определенное значение в технических документах. В следующих примерах показано использование некоторых фразовых элементов:

Как сказал <CITE>Гари Трумэн</CITE>,
<Q lang="en-US">The buck stops here.</Q>

Подробнее см. <CITE>[ISO-0000]</CITE>.

В дальнейшем используйте следующий номер ссылки: <STRONG>1-234-55</STRONG>

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

Элементы ABBR и ACRONYM позволяют авторам явно показывать использование аббревиатур и акронимов. Западные языки широко используют акронимы, такие как "GmbH", "НАТО" и "ФБР", а также аббревиатуры типа "M.", "Inc.", "et al.", "etc.". В китайском и японском языках используются аналогичные механизмы аббревиатур, когда длинное название заменяется по