генеральный
Эти символы предназначены не для обычного текста латинского алфавита, а для фонетики, текста на кириллице, для использования в качестве математических символов (представляющих переменные) или аналогичных. Единственный Unicode-совместимый способ кодирования текста в основном латинском алфавите - это использование символов, преимущественно используемых для этой цели (т. Е. Из блока Basic Latin Unicode).
Как и во многих других стандартах, вы должны дважды подумать о нарушении Unicode. Более того, Unicode включает в себя так много систем записи, вариантов использования и всего, что просто существует для обратной совместимости с другими стандартами 1, что полное понимание всех его мотивов является собственной наукой. Короче говоря, если вы действительно не знаете, что делаете, очень вероятно, что что-то сломается, о чем вы даже и не подумали.
Конкретные примеры
доступность
Закодированный текст существует не только для визуализации каким-либо шрифтом. Это также может быть интерпретировано, например, программами чтения с экрана. И читатель экрана не должен угадывать,
предполагается, что это определенная статья или математическое произведение 2 переменных, и - для этого и созданы эти символы. Таким образом, наилучшим поведением будет то, что в нем прописаны эти символы, например, буквально произнесено следующее:
жирный шрифт small t, жирный шрифт small h, жирный шрифт small e
Вместо этого он должен просто сказать «the», потому что тогда он не будет правильно читать математические тексты, символы которых образуют произносимое слово. 3
портативность
Если ваш текст хорошо отрисован на вашем компьютере, это не значит, что он также будет на вашем читателе. Наиболее очевидный пример - у читателя нет какого-либо шрифта, поддерживающего эти символы, или текст отрисовывается программным обеспечением, не поддерживающим резервные шрифты. Следует признать, что это становится все менее распространенным. Имейте в виду, что некоторым людям, подобным дислексикам, нужны специальные шрифты, которые с меньшей вероятностью поддерживают этих персонажей.
Но даже если на машине читателя используется только другой шрифт, это может сделать текст значительно менее читабельным. Для первого примера это визуализируется с двумя разными шрифтами:
Free Serif отображает текст так, как вы, вероятно, хотели бы, чтобы он отображался при использовании специальных символов для имитации текста, а именно имитации рукописного ввода непрерывным штрихом. Однако эти символы предназначены для использования в качестве математических символов, связывать которые не имеет смысла. Следовательно, рендеринг STIX, специально разработанный для математических целей, больше соответствует тому, как эти символы предназначены для использования.
Во втором примере предположим, что вы или читатель выделены курсивом «сᴜт мy ᴀʀ» по какой-то причине. С хорошим шрифтом вы получите 4:
Причиной этого является то, что маленькие заглавные буквы (частично) были смоделированы кириллическими буквами, и кириллический курсив иногда иногда сильно отличается от своих вертикальных аналогов. Итак, еще раз, это правильное поведение.
возможности поиска
В качестве первого примера рассмотрим, что вы хотели бы, чтобы разумный поиск делал с персонажем (математический сценарий W). Предположим, что поиск имеет два режима, режим по умолчанию и точный режим (обычно называемый регистрозависимым). Этот персонаж должен быть:
найдено при поиске w или W в режиме по умолчанию - для тех, кто не хочет вводить или вставлять специальный символ в поле поиска;
найдено при поиске в точном режиме - для тех, кто хочет искать, где соответствующая переменная упоминается в математическом документе³;
не найден при поиске w или W в точном режиме из-за нарушения поиска, аналогичного описанному выше.
Однако, если вы используете этот символ для имитации обычного текста, его нужно найти при поиске W или в точном режиме, что противоречит приведенному выше.
В качестве второго примера рассмотрим, что кириллические символы никогда не должны быть найдены при поиске латинских символов и наоборот, поскольку они совершенно разные вещи. Однако, если вы используете символы кириллицы для имитации латинских заглавных букв, это должно произойти, если вы не хотите, чтобы возможность поиска была нарушена. Это может привести к тому, что люди найдут много бесполезных вещей, если будут искать редкое слово из латинского алфавита, которое точно соответствует ложным заглавным буквам некоторых популярных слов из кириллицы (и наоборот).
Точная опция поиска не может решить эту проблему, так как она зарезервирована для других целей в этих алфавитах.
В общем, невозможно построить поиск (без безумного количества опций), который не будет нарушен с помощью специальных символов для имитации стилизованного латинского текста.
+1 Вы знаете, что XKCD о неизбежном провале унификации стандартов? Ну, Unicode удалось.
2 или любой другой пустой оператор в соответствующем соглашении
3 Я знаю, что в настоящее время очень немногие математические тексты поддерживают эту кодировку или что-то совместимое с ней, но дело в том, что когда-нибудь они надеются сделать это. Ваш текст, злоупотребляющий Юникодом, может все еще быть рядом и читать тогда.
4 Если вы не локализуетесь для македонского или сербского, в котором вы получите другой, но все же нежелательный результат.