Как красиво отобразить дробь 15/16 в Юникоде? - PullRequest
0 голосов
/ 07 марта 2019

Сегодня я узнал, что хотя обычные дроби имеют выделенные значения Unicode, для формирования менее распространенных дробей, таких как ³ / ₁₆, вы должны использовать символы верхнего индекса / нижнего индекса, за которым следует косая черта.Это подтверждается здесь и здесь .

Это работает для ¹¹ / ₁₆ и ¹³ / ₁₆, но оно перепутано с ¹⁵ / ₁₆.Вы видите, как 5 поднимается выше, чем один?Я предполагаю, что это потому, что для четкого отображения числа 5 в виде верхнего индекса требуется больше высоты, чем 1 и 3.

Что ж, это создает проблему.Как правильно отобразить дробь 15/16 в виде символов Юникода?К сожалению, я не могу использовать теги sup и sub.Я не отображаю его на странице HTML.Скорее, мы передаем строку в Java-приложение, которое затем отобразит эти значения.Я знаю, что он прекрасно отображает значения Unicode, но не распознает теги HTML.Есть ли решение Unicode?

Ответы [ 2 ]

5 голосов
/ 07 марта 2019

Это действительно проблема шрифта, однако проблема заключается в том, что в Unicode ¹, ² и ³ принадлежат блоку Latin-1 Supplement , тогда как остальные цифры надстрочного индекса принадлежат блоку Superscripts и Subscripts , и происходит некоторая замена шрифта.

См. Почему отображение символов Юникода для надстрочных цифр не на одной высоте? для получения дополнительных сведений; он помечен как iOS, но у меня такая же проблема и в macOS.

2 голосов
/ 07 марта 2019

«Правильный» способ составления произвольных вульгарных дробей в Юникоде состоит в том, чтобы вообще не использовать нижние и верхние индексы, а использовать специальные свойства символа U + 2044 FRACTION SLASH. Вы просто наберете обычные цифры ASCII и разделите их косой чертой примерно так: 15⁄16. Затем механизм рендеринга автоматически выберет правильные формы чисел, создавая чистый, равномерный вид.

Я поставил слово «надлежащий» в кавычках, поскольку этот метод не гарантированно поддерживается во всех системах, а некоторые, которые его поддерживают, делают это неправильно или не полностью. Если вам абсолютно необходимо убедиться, что 100% получателей независимо от системы определенно увидят что-то, что выглядит более или менее правильно, я бы поэтому (неохотно) рекомендовал использовать предварительно отформатированные подписи и надстрочные индексы в качестве замены. Как объясняется в другом ответе, проблема, с которой вы столкнулись, связана со шрифтом и не может быть решена, если вы не контролируете настройки шрифта.

...