В орфографии и типографике, омоглиф является одним из двух или более графем, символов или знаков с формами, которые кажутся одинаковыми или очень похожими. Обозначение также применяется к последовательностям символов, обладающих этими свойствами.
Синоглифы - это глифы, которые выглядят по-разному, но означают одно и то же. Синоглифы также неофициально известны как варианты отображения. Термин омограф иногда используется как синоним гомоглифа, но в обычном лингвистическом смысле омографы - это слова, которые пишутся одинаково, но имеют разные значения, свойство слов, а не символов.
В 2008 году Консорциум Unicode опубликовал свой Технический отчет № 36 по ряду вопросов, связанных с визуальным сходством символов как в отдельных сценариях, так и схожестью между символами в разных сценариях.
Пример гомоглифической путаницы в историческом отношении является результатом использования «y» для обозначения «þ» при установке старых английских текстов в гарнитуры, которые не содержат последний символ. В наше время это привело к такому феномену, как Ye olde shoppe, неверно подразумевая, что слово the раньше было написано ye / j iː /. Для дальнейшего обсуждения см. Шип.
Примерами гомоглифических символов являются (а) диэрезис и умляут (обе пары точек, но с разным значением, хотя и закодированы одними и теми же кодовыми точками ); и (b) дефис и знак минус (оба являются коротким горизонтальным штрихом, но имеют разное значение, хотя часто кодируются одним и тем же кодом ). Среди цифр и букв цифра 1 и строчная l всегда кодируются отдельно, но во многих шрифтах используются очень похожие глифы, а цифра 0 и заглавная O всегда кодируются отдельно, но во многих шрифтах используются очень похожие глифы. Практически каждый пример гомоглифической пары символов потенциально можно дифференцировать графически с помощью четко различимых глифов и отдельных кодовых точек, но это не всегда делается. Гарнитуры, в которых явно не различаются гомоглифы one / el и zero / oh, считаются непригодными для написания формул, URL-адресов, исходного кода, идентификаторов и другого текста, где символы не всегда можно различить без контекста. Шрифты, которые различают глифы, например, с помощью нулевой косой черты, являются предпочтительными для этих целей.
Во времена механических пишущих машинок они набирались одной и той же клавишей, которая также использовалась для двойной кавычки. Однако умляут возник именно как пара коротких вертикальных линий (а не из двух точек) (см. Саттерлин ). Между прочим, две точки над буквой E на албанском языке описываются как диарезис, но не выполняют функции диарезиса.
Два общих и важных набора гомоглифов, используемых сегодня, - это цифра ноль и заглавная буква O (то есть 0 и O); и цифра один, строчная буква L и прописная буква i (т. е. 1, l и I). На заре механических пишущих машинок между этими символами было очень мало или совсем не было визуальных различий, и машинистки считали их взаимозаменяемыми сочетаниями клавиш. Фактически, на большинстве клавиатур не было даже клавиши для цифры «1», поэтому пользователям приходилось вводить вместо нее букву «l», а некоторые также пропускали 0. Поскольку эти же машинистки в 1970-х и 1980-х годах стали операторами компьютерных клавиатур., их старые привычки к игре на клавиатуре остались с ними и время от времени вызывали путаницу.
Большинство современных шрифтовых дизайнов тщательно различают эти гомоглифы, обычно сужая нулевую цифру и рисуя цифру один с заметными засечками. Ранние компьютерные распечатки пошли еще дальше и отметили ноль косой чертой или точкой, что привело к новому конфликту между скандинавской буквой « Ø » и греческой буквой Φ ( фи ). Редизайн типов персонажей для различения этих персонажей привел к меньшей путанице. Степень, в которой два разных персонажа кажутся одинаковыми для данного наблюдателя, называется «визуальным сходством».
Некоторые другие комбинации букв похожи, например, rn похоже на m, cl похоже на d, а vv похоже на w.
В некоторых шрифтах с узким интервалом (например, Tahoma ) размещение буквы c рядом с такой буквой, как j, l или i, создаст гомоглиф, например cj cl ci (gda).
Когда некоторые персонажи помещаются рядом друг с другом, и их можно сразу увидеть вместе, они создают визуальное впечатление другого, не связанного с ними персонажа. Точнее сказать, что некоторые типографские лигатуры могут выглядеть как отдельные глифы. Например, фи лигатуры ( фи) может выглядеть примерно так А в некоторых шрифтах или шрифтов. Эта возможность путаницы иногда является аргументом против использования лигатур.
Unicode набор символов содержит много сильно homoglyphic символов, известных как «confusables». Они представляют собой риски безопасности в различных ситуациях (рассмотрены в UTR № 36) и недавно привлекли особое внимание в отношении интернационализированных доменных имен. Можно преднамеренно подделать доменное имя, заменив один символ его гомоглифом, создав таким образом второе доменное имя, трудно отличимое от первого, которое может быть использовано в фишинге ( см. Основную статью Атака гомографа IDN ). Во многих шрифтах греческой буквы «Α», то кириллица буквы «А» и латинские буквы «А» визуально идентична, как и латинская буква «а» и кириллическая буква «а» (то же самое можно применить к Латинские буквы «aBeHKopcTxy» и кириллические буквы « аВеНКорсТху »). Доменное имя можно подделать, просто заменив одну из этих форм на другую в отдельно зарегистрированном имени. Есть также много примеров почти гомоглифов в одном и том же письме, таких как 'í' (с острым ударением) и 'i', É (E-острый) и Ė (E-точка выше) и È (E-grave), Í (с острым ударением) и ĺ (L в нижнем регистре с острым ударением). При обсуждении этой конкретной проблемы безопасности любые две последовательности схожих символов могут быть оценены с точки зрения их потенциала для принятия в качестве `` пары гомоглифов '', или, если последовательности явно кажутся словами, как `` псевдогомографов '' (повторяя еще раз что эти термины сами по себе могут вызвать путаницу в других контекстах). В китайском языке многие упрощенные китайские иероглифы являются гомоглифами соответствующих традиционных китайских иероглифов.
Реестры TLD и разработчики веб-браузеров прилагают усилия для минимизации рисков гомоглифической путаницы. Обычно это достигается путем запрета имен, в которых смешаны наборы символов из разных языков ( toys-Я-us.org, использующий кириллическую букву Я, будет недействительным, но wíkipedia.org и wikipedia.org по- прежнему существуют как разные веб-сайты); Канадский реестр .ca идет еще дальше, требуя, чтобы имена, различающиеся только диакритическими знаками, имели одного и того же владельца и одного и того же регистратора. Обработка китайских иероглифов различается: в доменах.org и .info регистрация одного варианта делает другой недоступным для кого-либо, в то время как в .biz традиционная и упрощенная версии с одним и тем же именем доставляются в виде пакета с двумя доменами, которые оба указывают на тот же сервер доменного имени.
Соответствующую документацию можно найти как на веб-сайтах разработчиков, так и на форуме IDN, предоставленном ICANN.
Гомоглифы всех видов можно обнаружить с помощью процесса, называемого «двойной канонизацией». Первым шагом в этом процессе является определение наборов гомоглифов, а именно символов, которые кажутся одинаковыми для данного наблюдателя. Отсюда указывается один токен для представления набора гомоглифов. Этот знак называется каноном. Следующим шагом является преобразование каждого символа в тексте в соответствующий канон в процессе, называемом канонизацией. Если каноны двух серий текста одинаковы, но исходный текст отличается, то в тексте существует гомоглиф.