Во многих шрифтах вы действительно вряд ли найдете разницу между использованием символов Unicode для римских цифр и простым составлением их из обычных латинских букв. Например, следующее показывает Louis VII
(вверху) и Louis Ⅶ
(внизу, используя кодовые точки для римских цифр) визуализацию с FreeSans:
Помимо крошечной разницы в расстоянии, которая была, вероятно, не преднамеренной, результат идентичен.
Вот тот же текст, представленный с помощью DejaVu Sans:
Хотя персонажи все еще выглядят одинаково, расстояние между ними значительно. Может быть дело вкуса, предпочтительнее ли последнее для римских цифр, но это, конечно, не будет хорошим выбором кернинга для обычных заглавных букв.
Linux Libertine идет еще дальше:
Здесь римские цифры немного меньше заглавных букв, что соответствует арабским цифрам шрифта. Самое главное, что они связаны, воспроизводя функцию, часто встречающуюся в нарисованных от руки римских цифрах.
Теперь, некоторые могут все еще утверждать, что нет никаких улучшений в вышеупомянутом или что они не стоят усилий. Итак, вот случай, когда не использование символов Юникода приведет к ужасным результатам:
(Обратите внимание, что небольшой размер цифр отражает некоторую фактическую историческую типизацию.) Нечто подобное может происходить для шрифтов шрифтов или каллиграфии.
Без определенных точек Unicode для римских цифр решение последней проблемы было бы возможно только с:
Использование сложной функции OpenType (или аналогичной), которая пытается определить, является ли последовательность заглавных букв римской цифрой. Это неизбежно вызовет проблемы со словами, которые также будут действительными римскими цифрами.
Использование простой функции OpenType, которую необходимо активировать вручную для каждой римской цифры.
Использование Unicode для частного использования. Проблемы совместимости могут возникать даже при переключении между двумя шрифтами, которые поддерживают римские цифры.
С точки зрения Unicode, огромной семантической разницы между заглавными латинскими буквами и римскими цифрами уже должно было хватить для отдельного кодирования римских цифр.
TL; DR Консорциум Unicode рекомендует по возможности использовать латинскую букву, а не цифру, которая включена для совместимости с восточно-азиатской типографикой.
Полная история: (с обоснованием вышеприведенного утверждения)
Если вы не занимаетесь какой-нибудь восточно-азиатской типографикой, использование (неархаичных) символов римских цифр из юникода (U + 2160 - U + 217F) является хаком.
Эти символы были включены для совместимости с восточноазиатскими стандартами до Unicode. Эти символы остаются вертикальными, когда восточноазиатский текст набирается сверху вниз, в то время как обычно текст латинскими буквами (например, имена) пишется в этом контексте сбоку.
Чтобы процитировать последнюю версию стандарта Unicode (v 7.0, глава 22, стр. 20) :
Таким образом, теоретически, различие между римскими цифрами и буквой - это вопрос расширенного текста, такого как курсив, смена шрифта или дополнительные лигатуры. Тем не менее, как показывает @Wrzlprmft, некоторые шрифты используют его, чтобы избежать изменения шрифта для каждой римской цифры при сохранении хорошей типографики.
Существование символа для XII, а не для XIII подразумевает, что существует несколько разных кодировок одной и той же цифры, что приводит к трудностям в текстовом поиске: если вы пишете о Людовике XII и Людовике XIII, вы, вероятно, напишите XIII как X + I + Я + я, но ты напишешь XII как один символ? Или как X + I + I для согласованного отображения с XIII? Нет единого хорошего ответа на этот вопрос при использовании символов римских цифр, и поэтому консорциум Unicode рекомендует использовать латинские буквы, когда это возможно, а не цифры.
Edit: добавлено утверждение TL; DR в начале
источник
С точки зрения того, как это выглядит, не может быть большой разницы. Так что, если вы публикуете только печатные материалы, то нет никакой разницы, за исключением некоторых шрифтов, как указывает Wrzlprmft в своем превосходном ответе.
Семантика важна
Семантическая разница огромна. Использование римских цифр делает очевидным, что вы говорите о цифре 5 вместо буквы V. Конечно, они выглядят одинаково, но они имеют разные значения. Это будет означать, что у поисковой системы может быть больше шансов найти «XX mark V» при поиске «XX version 5».
Фактически причина того, что некоторые вещи работают плохо, заключается в том, что мы не встраиваем семантическую информацию. Мир действительно был бы лучше, если бы мы были. Таким образом, использование правильного семантического значения - это то же самое, что использование стилей в текстовом процессоре и стилизация вручную. Человеческая сторона не имеет большого значения, но в сфере автоматизации есть большие возможности.
Шрифты должны составлять разные римские цифры
Создатели шрифтов на самом деле не используют их, потому что они не очень часто используются. Но используя их, вы можете получить римские цифры на буквах, которые отличают их от текста. Таким образом, эта функция используется недостаточно, потому что это редкое использование. Шрифты на самом деле не все реализуют, и не должны. Используя их, вы выиграете, если они присутствуют.
Вывод
Это все, конечно, проблема курицы и типа яйца. Если люди не используют специальные диапазоны символов, то никаких специальных допусков для этих диапазонов не будет. Таким образом, шрифт не будет поддерживать специально стилизованные римские литералы, потому что это будет пустой тратой усилий на функции, которые никто не использует. То же самое относится и к поиску: если никто не использует римские литералы, то ни один поисковик не найдет римские литералы и семантика будет потеряна. Семантика страдает от неприятия правильного смыслового значения. То же самое, безусловно, относится и к более широкому диапазону символов Unicode.
Что касается сложности ввода, да, большинство пользователей не могут писать расширенные символы, но это не повод для опытного человека, чтобы пропустить это, если это имеет смысл. Если никто не делает вещи лучше, никакого прогресса не будет. У адского чётного слова есть режимы для написания альфы, набрав / alpha. Так что на самом деле нет никаких причин, почему не может быть простого способа пометить цифры или даже автоматически предложить их как таковые. Опять же, если никто не сделает этого, то оно никогда не получит более широкого распространения.
источник
<compat>
эквивалентны соответствующим последовательностям латинских букв, что убедительно свидетельствует о том, что единственная причина, по которой они вообще есть в Юникоде, заключается в совместимости в обоих направлениях с некоторыми унаследованными (возможно, CJK) наборами символов, которые их имели. Такие символы, как правило, не должны использоваться, за исключением документов с достоверным круговым переключением, созданных в устаревших кодировках.