Мягкий дефис - Soft hyphen

10

В вычислениях и наборе мягкий дефис (ISO 8859: 0xAD, Unicode U + 00AD МЯГКИЙ ДЕФИС, HTML: & # 173; & shy;) или слоговый дефис (EBCDIC: 0xCA), сокращенно ЗАСТЕНЧИВЫЙ, это кодовая точка, зарезервированная в некоторых кодированные наборы символов с целью разбивки слов по строкам, вставляя видимые дефисы. Появились два альтернативных способа использования символа мягкого дефиса для этой цели, в зависимости от того, будет ли закодированный текст разбит на строки его получателем или уже был предварительно отформатирован его создателем.[1][2][3]

Текст для форматирования получателем

Использование символов SHY в тексте, который будет разбит на строки получателем, является контекстом приложения, учитываемым после 1999 года. HTML и Unicode спецификации, а также некоторые форматы файлов для обработки текстов. В этом контексте мягкий дефис также можно назвать дискреционный дефис или же необязательный дефис. Он служит невидимым маркером, используемым для указания места в тексте, где разрешен перенос через дефис без принудительного Разрыв строки в неудобном месте, если текст перетечен. Становится видимым только после перенос слов в конце строки. Семантика Unicode мягкого дефиса и реализация HTML во многом похожи на Unicode. пространство нулевой ширины, за исключением того, что мягкий дефис сохранит кернинг символов с обеих сторон, когда они не видны. С другой стороны, пространство нулевой ширины не будет, поскольку оно считается видимым символом, даже если оно не визуализировано, таким образом, имея свои собственные метрики кернинга.

Чтобы показать эффект мягкого переноса в HTML, слова следующего текста[4] были разделены мягкими дефисами:

MargaretAreYouGrievingOverGoldengroveUnleavingLeavesLikeTheThingsOfManYouWithYourFreshThoughtsCareForCanYouAhAsTheHeartGrowsOlderItWillComeToSuchSightsColderByAndByNorSpareASighThoughWorldsOfWanwoodLeafmealLieAndYetYouWillWeepAndKnowWhyNowNoMatterChildTheNameSorrowsSpringsAreTheSameNorMouthHadNoNorMindExpressedWhatHeartHeardOfGhostGuessedItIsTheBlightManWasBornForItIsMargaretYouMournFor

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

Текст, отформатированный автором

Символ SHY также используется в тексте, где абзацы уже разбиты на строки, например, в некоторых простой текст файлы, текст отправлен VT100 -стиль эмуляторы терминала или принтеры, или страницы, представленные в языки описания страниц. Это контекст приложения, изначально рассматриваемый EBCDIC и ISO 8859-1 стандартов и внедрены во многих VT100 эмуляторы терминала.[1][2]

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

Примером приложения, которое выводит мягкие дефисы по этой причине, является Groff средство форматирования текста, используемое во многих системах Unix / Linux для отображения страницы руководства.

Кодировки и определения

SHY символы в наборах кодированных символов, примерно в хронологическом порядке:

  • EBCDIC поместил символ SHY (известный там как «слоговый дефис») на позицию 202 (0xCA шестнадцатеричный ).[1][5] IBM определила свое назначение как «дефис, используемый для разделения слова в конце строки, [который] может быть удален, когда программа корректирует строки».[6]
  • Немецкий стандарт DIN 31626 определил Набор управляющих кодов C1 определение 0x8D как «необязательного элемента управления слогами (OSC)», «символа управления печатью» для маркировки границ слогов в длинных словах. Этот контрольный набор C1 был зарегистрирован в 1979 году.[7] (Примечание: это не то же самое, что ISO / IEC 6429 Контрольный код C1 Команда операционной системы (OSC).)
  • ISO 8859-1: 1986 (Latin 1) унаследовал SHY от EBCDIC, но назвал его «мягким дефисом», поместил его в позицию 0xAD (шестнадцатеричный) и заявил, что его цель - «для использования, когда в слове установлен разрыв строки». Другой ISO 8859 части поместили его в такое же положение, за исключением ISO 8859-11 (Латинский / тайский), в котором его нет.
  • IBM кодовая страница 850 (ан MS-DOS набор символов, охватывающий все символы ISO 8859-1) поместил его в позицию 240 = 0xF0.
  • SGML "Цифровая и специальная графика" (isonum) сущность персонажа набор (ISO 8879: 1986) включает "& shy;" для мягкого переноса ISO 8859-1.
  • Unicode 1.0 (1991) и ISO 10646 (1993) взяли первые 256 позиций кода из ISO 8859-1, что привело к SHY в кодовой точке Unicode U + 00AD.
  • HTML 2 (1995) включил в себя "& shy;" символьный объект из SGML, но явно не рекомендовал его использование.
  • HTML 4 (1999) переопределил назначение символа как отметку возможности расстановки переносов, которая становится видимой только как дефис в конце строки после форматирования.
  • Unicode 4.0 (2002) изменил категорию своего символа SHY с ранее использовавшегося «Pd» (пунктуация, тире) на «Cf» (другой, формат), тем самым согласовав его интерпретацию символа с интерпретацией HTML 4.

Другие команды для обозначения возможности расстановки переносов в языках форматирования текста (аналогично интерпретации SHY в HTML 4 и Unicode 4.0):

Проблемы с безопасностью

Мягкие дефисы использовались, чтобы скрыть вредоносные домены или же URL-адреса в спам в электронной почте.[9][10]

Смотрите также

Рекомендации

  1. ^ а б c Юкка Корпела (январь 2011 г.). «Мягкий дефис (SHY) - сложная проблема?». Технологический университет Тампере. Получено 8 апреля 2011.
  2. ^ а б Маркус Г. Кун (4 июня 2003 г.). «Интерпретация Unicode SOFT HYPHEN нарушает совместимость ISO 8859-1» (PDF). Технический комитет Unicode. L2 / 03-155R.
  3. ^ Эрик Мюллер (14 августа 2002 г.). «Да, SOFT HYPHEN - сложная проблема». Технический комитет Unicode. L2 / 02-279.
  4. ^ Демонстрационный текст из стихотворения Хопкинс, Джерард Мэнли, Весна и осень: маленькому ребенку
  5. ^ «Расширенный двоично-десятичный код обмена - S / 390». comsci.us. Получено 8 апреля 2011.
  6. ^ «Глоссарий». IBM. Получено 8 апреля 2011.
  7. ^ DIN (15 июля 1979 г.). Дополнительные функции управления для библиографического использования в соответствии с немецким стандартом DIN 31626 (PDF). ITSCJ /IPSJ. ISO-IR-040.
  8. ^ «Персонажи, которые часто путают». Грег Бейкер, Университет Саймона Фрейзера. Получено 12 июля 2011.
  9. ^ «Спамеры, использующие мягкий дефис для скрытия вредоносных URL». Slashdot. 7 октября 2010 г.. Получено 8 апреля 2011.
  10. ^ "Мягкий перенос - новый метод обфускации URL". Symantec. Получено 8 апреля 2011.