123

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

  • Маленькие заглавные буквы:

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

  • Автор сценария:

    ,

  • Blackletter:

    ,

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

4 ответа4

220

генеральный

Эти символы предназначены не для обычного текста латинского алфавита, а для фонетики, текста на кириллице, для использования в качестве математических символов (представляющих переменные) или аналогичных. Единственный Unicode-совместимый способ кодирования текста в основном латинском алфавите - это использование символов, преимущественно используемых для этой цели (т. Е. Из блока Basic Latin Unicode).

Как и во многих других стандартах, вы должны дважды подумать о нарушении Unicode. Более того, Unicode включает в себя так много систем записи, вариантов использования и всего, что просто существует для обратной совместимости с другими стандартами 1, что полное понимание всех его мотивов является собственной наукой. Короче говоря, если вы действительно не знаете, что делаете, очень вероятно, что что-то сломается, о чем вы даже и не подумали.

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

доступность

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

предполагается, что это определенная статья или математическое произведение 2 переменных, и - для этого и созданы эти символы. Таким образом, наилучшим поведением будет то, что в нем прописаны эти символы, например, буквально произнесено следующее:

жирный шрифт small t, жирный шрифт small h, жирный шрифт small e

Вместо этого он должен просто сказать «the», потому что тогда он не будет правильно читать математические тексты, символы которых образуют произносимое слово. 3

портативность

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

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

ℯ визуализируется с помощью FreeSerif и STIX

Free Serif отображает текст так, как вы, вероятно, хотели бы, чтобы он отображался при использовании специальных символов для имитации текста, а именно имитации рукописного ввода непрерывным штрихом. Однако эти символы предназначены для использования в качестве математических символов, связывать которые не имеет смысла. Следовательно, рендеринг STIX, специально разработанный для математических целей, больше соответствует тому, как эти символы предназначены для использования.

Во втором примере предположим, что вы или читатель выделены курсивом «сᴜт мy ᴀʀ» по какой-то причине. С хорошим шрифтом вы получите 4:

сᴜт мой ᴀʀ вынесен вертикально и курсивом. курсив читается как "кончи мой бар"

Причиной этого является то, что маленькие заглавные буквы (частично) были смоделированы кириллическими буквами, и кириллический курсив иногда иногда сильно отличается от своих вертикальных аналогов. Итак, еще раз, это правильное поведение.

возможности поиска

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

  • найдено при поиске w или W в режиме по умолчанию - для тех, кто не хочет вводить или вставлять специальный символ в поле поиска;

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

  • не найден при поиске w или W в точном режиме из-за нарушения поиска, аналогичного описанному выше.

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

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

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

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


+1 Вы знаете, что XKCD о неизбежном провале унификации стандартов? Ну, Unicode удалось.
2 или любой другой пустой оператор в соответствующем соглашении
3 Я знаю, что в настоящее время очень немногие математические тексты поддерживают эту кодировку или что-то совместимое с ней, но дело в том, что когда-нибудь они надеются сделать это. Ваш текст, злоупотребляющий Юникодом, может все еще быть рядом и читать тогда.
4 Если вы не локализуетесь для македонского или сербского, в котором вы получите другой, но все же нежелательный результат.

66

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

в Firefox 50.1.0 на Windows 7.

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

И пользователи oals любезно предоставили еще один пример:

28

У меня с этим проблема XY.

Y и X выглядят меньше, чем остальная часть текста

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

13

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

Если вам удобно в этом клубе, тогда сделайте это.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .