При представлении текста вхождения «1/2» изменяются на «½» (вульгарная дробь половина), как я могу это предотвратить? - PullRequest
0 голосов
/ 02 мая 2019

У меня в приложении есть эта штука, которая сводит меня с ума.

В моем текущем проекте я показываю локализованные даты, и проблема в том, что вхождения «1/2» изменяются на ½, что выглядит следующим образом:

Vulgar Fraction One Half in UILabel

dateText - это именно то, что установлено на text на UILabel.

При копании глубже я видел это и в Safari:

Vulgar Fraction One Half in Safari Слева - Safari, а справа - текст в базе данных

Такое поведение наблюдается как на симуляторе, так и на телефоне.

Может кто-нибудь сказать, пожалуйста, что происходит?

1 Ответ

1 голос
/ 02 мая 2019

Вероятно, это связано с вашим шрифтом.

Шрифты имеют функцию под названием ligatures , которая в основном заменяет предопределенный набор символов одним глифом.

Обратите внимание, что вы должны иметь возможность отключать лигатуры, используя NSAttributeString (атрибут NSAttributedString.Key.ligature ).

В Safari его можно отключить с помощью свойства CSS font-feature-settings

...