stringtranslate.com

Мягкий дефис

Символ ISO для мягкого дефиса

В вычислительной технике и наборе текста мягкий перенос (Unicode U+00AD SOFT HYPHEN ( ­ )) или слоговой перенос — это кодовая точка, зарезервированная в некоторых наборах кодированных символов для переноса слов на другие строки путем вставки видимых переносов , если они находятся в конце строки, но остаются невидимыми внутри нее.

Появились два альтернативных способа использования символа мягкого дефиса для этой цели в зависимости от того, будет ли закодированный текст разбит на строки его получателем или уже был предварительно отформатирован его создателем. [1] [2] [3]

Текст должен быть отформатирован получателем

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

Чтобы продемонстрировать эффект мягкого дефиса в HTML, слова следующего текста (из стихотворения Джерарда Мэнли Хопкинса « Весна и осень ») были разделены мягкими дефисами:

МаргаретТыСкорбишьОЗолотойРощеОсвобождаешьЛистьяКакВещиЧеловекаТыСвоимиСвежимиМыслямиЗаботишьсяОМожетеЛиПосколькуСердце СтановитсяСтаршеОноПридетКТакимВидениямХолоднееИНеЩадяВздыхаетХотяМирыУонвудаЛистьяМукиЛожьИВсеТыБудешьПлакатьИЗнатьПочемуСейчасНеважноРебенокИмяПечалиВесныОдинаковыНиРотНеИмелНиРазумВыражалТо,ЧтоСердцеСлышалоПризракУгадалЭтоГибельЧеловекРодилсяДляЭтоМаргаретТыПечешьПо

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

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

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

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

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

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

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

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

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

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

Они также используются в электронных письмах, чтобы попытаться обойти системы предотвращения спама. Например, фраза «Мне нужна ваша помощь сдержанно» имеет мягкий дефис в слове assistance, что может означать, что почтовая система не обнаружит эту фразу в тексте электронного письма. [ необходима цитата ]

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

Ссылки

  1. ^ abc Юкка Корпела (январь 2011 г.). «Мягкий дефис (SHY) – сложная проблема?». Технологический университет Тампере . Получено 8 апреля 2011 г.
  2. ^ ab Markus G. Kuhn (4 июня 2003 г.). "Интерпретация МЯГКОГО ДЕФИСА в Юникоде нарушает совместимость с ISO 8859-1" (PDF) . Технический комитет Юникода . L2/03-155R.
  3. ^ Эрик Мюллер (14 августа 2002 г.). «Да, МЯГКИЙ ДЕФИС — сложная проблема». Технический комитет Unicode . L2/02-279.
  4. ^ "CSS Text Module Level 3 Specification". Проект рекомендации кандидата W3C . Консорциум World Wide Web (W3C) . Получено 7 августа 2022 г.
  5. ^ "Расширенный двоично-десятичный код обмена - S/390". comsci.us . Получено 8 апреля 2011 г. .
  6. ^ "Глоссарий". IBM . Получено 8 апреля 2011 г. .
  7. ^ DIN (15 июля 1979 г.). Дополнительные функции контроля для библиографического использования в соответствии с немецким стандартом DIN 31626 (PDF) . ITSCJ/ IPSJ . ISO-IR -40.
  8. ^ "Commonly Confused Characters". Грег Бейкер, Университет Саймона Фрейзера . Получено 12 июля 2011 г.
  9. ^ «Спамеры используют мягкий дефис для сокрытия вредоносных URL-адресов». Slashdot . 7 октября 2010 г. Получено 8 апреля 2011 г.
  10. ^ "Мягкий дефис – новый метод обфускации URL". Symantec . Получено 8 апреля 2011 г.