Почему я не должен использовать символы Юникода для имитации типографические стили (такие, как капители или скрипт)?

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

  • Капители:

ʙᴇʜᴏʟᴅ ᴛʜɪꜱ ꜰᴀɴᴄɪʟy ᴇɴᴄᴏᴅᴇᴅ ᴛᴇxᴛ.

  • Скрипт:

𝓑𝓮𝓱𝓸𝓵𝓭 𝓽𝓱𝓲𝓼 𝓯𝓪𝓷𝓬𝓲𝓵𝔂 𝓮𝓷𝓬𝓸𝓭𝓮𝓭 𝓽𝓮𝔁𝓽.

  • Старопечатный:

𝕭𝖊𝖍𝖔𝖑𝖉 𝖙𝖍𝖎𝖘 𝖋𝖆𝖓𝖈𝖎𝖑𝖞 𝖊𝖓𝖈𝖔𝖉𝖊𝖉 𝖙𝖊𝖝𝖙.

Это встретило интерес на обмен стека (например, здесь, здесь, и здесь) и критика таких методов был сделан. Но что может пойти не так, когда я могу их использовать?

Комментарии к вопросу (20)
Решение

Общие

Эти символы не предназначены для регулярного латинского алфавита текст, но для фонетики, кириллица-алфавит текстом, для использования в качестве математических символов (представляющие переменные), или похожие. Только в Unicode-совместимых способ кодирования текста в базовом латинском алфавите является использование символов в основном используется для этой цели (т. е., с латинского блок Unicode). Как и во многих других стандартов, вы должны думать дважды о нарушении Юникод. Кроме того, Юникод включает в себя так много систем письменности, примеры, и прочее, что только существует для обратной совместимости с другими стандартами на<SUP-серфинг>1</суп> что полностью понимая все его мотивы-это наука своего собственного. Короче говоря, если вы действительно знаете, что вы делаете, весьма вероятно, что что-то сломается, что вы не даже отдаленно мысли.

Конкретные примеры

Доступность

Закодированный текст не только существовать, которые должны быть оказаны в некоторых шрифтов. Он также может быть интерпретировано, например, для чтения с экрана. И программы чтения с экрана не нужно угадать, будет ли

𝓽𝓱𝓮 должен быть определенный артикль или математического продукта<суп>2</с SUP> У переменных 𝓽, 𝓱, и 𝓮 – что эти персонажи сделаны для. Поэтому лучшим поведением будет то, что в нем прописаны эти персонажи, например, сказав буквально следующее: жирным шрифтом малых t, смелый сценарий небольшой, жирным шрифтом малых е Она должна не просто сказать “на”, а не потому, что тогда это будет не правильно читать математические тексты, символы которого произошло в форме pronouncable слово.<суп>3</SUP и ГТ;

Переносимости

Если ваш текст красиво отображается на вашей машине, это не значит, что он тоже будет на читатель один. Наиболее очевидным примером является то, что читатель не имеет ни какого шрифта поддерживает эти символы или текст наносится программное обеспечение не поддерживает резервных шрифтов. Правда, это становится все менее распространенным. Имейте в виду, что некоторые люди, как дислексики нужны специальные шрифты, которые менее склонны поддерживать эти символы. Но даже если читатель использует только другим шрифтом, это может сделать текст значительно менее читаемым. Для пример, это 𝓉𝒽ℯ вынесено с двух разных шрифтов: ![𝓉𝒽ℯ вынесено с FreeSerif и Стикс](//i.stack.imgur.com/4YT3J.png) Бесплатные засечек отображает текст, как вы, вероятно, хотите, чтобы он быть оказаны при использовании специальных символов для имитации текста, а именно имитации почерка с непрерывного хода. Однако, эти персонажи сделаны для использования в качестве математических символов, соединение которых нет смысла. Следовательно, оказание помощи Стикс, который специально предназначен для математических целей, больше в соответствии с тем, как эти символы предназначены для использования. В второй пример предположим, что вы или читатель курсив “сᴜт мой вᴀʀ” по какой-то причине. С хорошим шрифтом, вы получите<суп>4</суп>: ![сᴜт мой вᴀʀ оказанные в вертикальном положении и курсив. курсив читается как "окончание моем баре"](//i.stack.imgur.com/Gh4CO.png) Причина этого заключается в том, что капители были (частично) моделируется с буквами кириллицей, и кириллический курсив иногда очень отличаются от своих праведных контрагентами. Так опять же, это правильное поведение.

Поиска

Как первый пример, подумайте, что бы вы хотели разумный поиска, чтобы сделать с характером 𝒲 (математический сценарий Ш). Предположим, что поиск имеет два режима, режим по умолчанию и режим (обычно называется регистр). Этот персонаж должен быть:

  • найдено при поиске Ш И Ш в режиме по умолчанию – для тех, кто не хочет заморачиваться ввода или копирования-вставки специального символа в поле поиска;
  • найдено при поиске 𝒲 в точный режим – для тех, кто хочет искать, где соответствующая переменная упоминается в математической документ³;

  • не найден при поиске 𝓌, Ш И Ш в точном режиме на счет взлома поиск аналогичные вышеуказанным.

Однако, если вы использовать этот персонаж, чтобы имитировать обычный текст, то он должен быть найден при поиске Ш или 𝒲 в точный режим, который вступает в противоречие с вышесказанным. Как второй пример считают, что кириллические символы не должны быть найдены при поиске латинскими буквами, и наоборот, так как они совершенно разные вещи. Однако если использовать кириллические символы для моделирования Латинской капители, вам нужно, чтобы это произошло, если вы не хотите, возможности поиска, чтобы быть сломанным. Это позволит людям найти множество бесполезных вещей, если они ищут редкое латинского алфавита слово, что просто так, случается, соответствуют искусственного капители некоторых популярных кириллица-алфавит Слово (и наоборот). Точную опцию поиска не может решить эту проблему, так как это зарезервировано для других целей в этих алфавитов. Вообще, невозможно построить (без безумного количества вариантов), которая не нарушается с помощью специальных символов для имитации стиле латинский текст.

<суп>1</суп> вы знаете, что XKCD о неизбежном провале унификации стандартов? Ну, Юникод удалось. <суп>2</суп> или на любой пустой оператор в соответствующей конвенции <суп>3</с SUP> Я осознаю, что очень мало математических текстов в настоящее время поддержка этой кодировки или что-то совместимое, но дело в том, что когда-нибудь они, надеюсь, сделают. Юникод-текст злоупотреблении они могут быть рядом и читала тогда. <суп>4</суп> если вы не локализации на Македонский или Сербский, в которой вы получите разные но все же нежелательный результат.

Комментарии (4)

Что может пойти не так? Ну, я вижу это:

в Firefox 50.1.0 на Windows 7.

Проблема глифов, в этом случае на мобильном устройстве, дополнительно иллюстрируется в качестве изображения, данные пользователя Крис Кент В а comment, что у меня обрезано от оригинал:

И пользователей oals пожалуйста contributed другой пример:

Комментарии (15)

Я'м, имеющим проблемы XY с этим.

Здесь мы видим, что y и X меньше, чем остальной текст. При определенном масштабе они кажутся одинакового размера, но это, кажется, выявили проблемы с эти символы определенного шрифта.

Комментарии (4)

Используя нелатинские символы это своего рода выглядит как латинских, вы окажетесь в компании спамеров, pornmongers, и кто-знает-что-они'повторно в лицемеры, которые хотят, чтобы их текст непостижимы, unindexable, и repudiatable. ("Я никогда не говорил, что это было безопасно!! Я сказал, что это Сигма-Альфа-Интеграл-знак-epislon!!! Может'т судить меня!!!&и")

Если вы'вновь уютно в этом клубе, затем пойти на это.

Комментарии (0)