Юникод содержит различные символы, которые выглядят как типографские стилизованные варианты символов основного латинского алфавита и позволяют писать тексты в соответствующих типографских стилях, не прибегая к разметке или аналогичным. Например, можно смоделировать:
Маленькие заглавные буквы:
ꜰᴀɴᴄɪʟ ᴛʜɪꜱ ꜰᴀɴᴄɪʟy ᴇɴᴄᴏᴅᴇᴅ ᴛᴇxᴛ.
Автор сценария:
𝓽𝓮𝔁𝓽 𝓽𝓱𝓲𝓼 𝓯𝓪𝓷𝓬𝓲𝓵𝔂 𝓮𝓷𝓬𝓸𝓭𝓮𝓭 𝓽𝓮𝔁𝓽.
Blackletter:
𝖙𝖊𝖝𝖙 𝖙𝖍𝖎𝖘 𝖋𝖆𝖓𝖈𝖎𝖑𝖞 𝖊𝖓𝖈𝖔𝖉𝖊𝖉 𝖙𝖊𝖝𝖙.
Это вызвало интерес к обмену стеками (например, здесь , здесь и здесь ), и была высказана критика таких методов. Но что может пойти не так, когда я их использую?
unicode
text-formatting
special-characters
Wrzlprmft
источник
источник
Ответы:
Генеральная
Эти символы предназначены не для обычного текста на латинском алфавите, а для фонетики, текста на кириллице, для использования в качестве математических символов (представляющих переменные) или аналогичных. Единственный Unicode-совместимый способ кодирования текста в основном латинском алфавите - это использование символов, преимущественно используемых для этой цели (т. Е. Из блока Basic Latin Unicode).
Как и во многих других стандартах, вы должны дважды подумать о нарушении Unicode. Более того, Unicode включает в себя так много систем записи, вариантов использования и всего, что просто существует для обратной совместимости с другими стандартами 1, что полное понимание всех его мотивов является собственной наукой. Короче говоря, если вы действительно не знаете, что делаете, очень вероятно, что что-то сломается, о чем вы даже не думали.
Конкретные примеры
доступность
Закодированный текст существует не только для визуализации каким-либо шрифтом. Это также может быть интерпретировано, например, программами чтения с экрана. И программа чтения с экрана не должна угадывать,
это определенная статья или математическое произведение 2 переменных 𝓽, 𝓱 и 𝓮 - для этого и создаются эти символы. Таким образом, наилучшим поведением будет то, что в нем прописаны эти символы, например, буквально произнесено следующее:
Вместо этого он должен просто сказать «the», потому что тогда он не будет правильно читать математические тексты, символы которых образуют произносимое слово. 3
портативность
Если ваш текст хорошо отрисован на вашем компьютере, это не значит, что он будет и на читателе. Наиболее очевидным примером является то, что у читателя нет шрифта, поддерживающего эти символы, или текст отрисовывается программным обеспечением, не поддерживающим резервные шрифты. Следует признать, что это становится все менее распространенным. Имейте в виду, что некоторые люди, такие как дислексики, нуждаются в специальных шрифтах, которые с меньшей вероятностью поддерживают этих персонажей.
Но даже если компьютер читателя использует только другой шрифт, это может сделать текст значительно менее читабельным. Для первого примера это визуализируется с двумя разными шрифтами:
Free Serif отображает текст так, как вы, вероятно, хотели бы, чтобы он отображался при использовании специальных символов для имитации текста, а именно имитации рукописного ввода непрерывным штрихом. Однако эти символы предназначены для использования в качестве математических символов, связывать которые не имеет смысла. Следовательно, рендеринг STIX , специально разработанный для математических целей, больше соответствует тому, как эти символы предназначены для использования.
Во втором примере предположим, что вы или читатель выделены курсивом «сᴜт мy ᴀʀ» по какой-то причине. С хорошим шрифтом вы получите 4 :
Причина этого заключается в том, что маленькие заглавные буквы (частично) были смоделированы буквами кириллицы, и иногда курсив кириллицы сильно отличался от их вертикальных аналогов . Итак, еще раз, это правильное поведение.
возможности поиска
В качестве первого примера рассмотрим, что вы хотели бы, чтобы разумный поиск делал с символом 𝒲 (математический сценарий W ). Предположим, что поиск имеет два режима: режим по умолчанию и точный режим (обычно называемый регистрозависимым ). Этот персонаж должен быть:
найдено при поиске w или W в режиме по умолчанию - для тех, кто не хочет вводить или вставлять специальный символ в поле поиска;
найдено при поиске 𝒲 в точном режиме - для тех, кто хочет искать, где соответствующая переменная упоминается в математическом документе³;
не найден при поиске 𝓌, w или W в точном режиме из-за нарушения поиска, аналогичного описанному выше.
Однако, если вы используете этот символ для имитации обычного текста, его нужно найти при поиске W или 𝒲 в точном режиме, что противоречит приведенному выше.
В качестве второго примера рассмотрим, что кириллические символы никогда не должны быть найдены при поиске латинских символов и наоборот, поскольку они совершенно разные вещи. Однако, если вы используете символы кириллицы для имитации латинских заглавных букв, это должно произойти, если вы не хотите, чтобы возможность поиска была нарушена. Это может привести к тому, что люди найдут много бесполезных вещей, если будут искать редкое слово из латинского алфавита, которое точно соответствует ложным заглавным буквам некоторых популярных слов из кириллицы (и наоборот).
Точная опция поиска не может решить эту проблему, так как она зарезервирована для других целей в этих алфавитах.
В общем , невозможно построить поиск (без безумного количества опций), который не будет нарушен с помощью специальных символов для симуляции стилизованного латинского текста.
+1 Вы знаете, что XKCD о неизбежном провале унификации стандартов ? Ну, Юникод удался.
2 или любой другой пустой оператор в соответствующем соглашении
3 Я знаю, что в настоящее время очень немногие математические тексты поддерживают эту кодировку или что-то совместимое с ней, но дело в том, что когда-нибудь они, надеюсь, сделают. Ваш текст, злоупотребляющий Юникодом, может все еще быть рядом и читать тогда.
4 Если вы не локализуетесь для македонского или сербского, в котором вы получите другой, но все же нежелательный результат.
источник
Что может пойти не так? Ну, я вижу это:
в Firefox 50.1.0 на Windows 7.
Проблема пропущенных глифов , в данном случае на мобильном устройстве, дополнительно проиллюстрирована на рисунке, представленном пользователем Крисом Кентом в комментарии , который я обрезал и изменил размеры по сравнению с оригиналом :
И пользователи oals любезно предоставили еще один пример:
источник
У меня с этим проблема XY.
Здесь мы видим, что Y и X выглядят меньше, чем остальная часть текста. При определенных уровнях масштабирования они выглядят одинакового размера, но это, похоже, выявило проблему с этими конкретными символами в этом конкретном шрифте.
источник
Использование нелатинских символов, своего родом-Сорт похожи на латинских ставит вас в компании спамеры, pornmongers, и кто знает что-они-вверх-к лицемерам, которые хотят, чтобы их текст непостижим, unindexable и repudiatable. («Я никогда не говорил, что это безопасно! Я сказал, что это был сигма-альфа-интеграл-знак-эпизод !!!
Если вам удобно в этом клубе, тогда сделайте это.
источник