Swift - iOS 8 - проблемы с интервалом между символами NSKernAttributeName

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

  //adding the attributes to the NSAttributedString
  let textStyle = NSMutableParagraphStyle.defaultParagraphStyle().mutableCopy() as NSMutableParagraphStyle
  let textColor = UIColor.blackColor()
  let boxTextFontAttributes = [
  NSFontAttributeName : font!,
  NSForegroundColorAttributeName: textColor,
  NSParagraphStyleAttributeName: textStyle,
  NSKernAttributeName: (7.62),
  ]

Я вижу проблему с интервалом между символами NSKernAttributeName на выходе.

У меня есть 2 строки, обе с одинаковыми размерами CGRect (но с разными позициями по оси Y (одна под другой)), обе в верхнем регистре, с одинаковым шрифтом и размером.

Всякий раз, когда речь идет о «более тонком» символе в одной из строк, таком как «I», это влияет на интервал между следующими символами.

В основном мне нужно, чтобы каждый символ в обеих строках был вертикально встроен в строку выше/ниже, независимо от того, какой это символ? Я могу только предположить, что даже если он может иметь установленный интервал между символами, каждый символ по-прежнему имеет индивидуальную «ширину», которая влияет на остальные. Есть ли способ стандартизировать это?

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


person Stuart Pattison    schedule 09.02.2015    source источник
comment
Пробовали ли вы использовать моноширинный шрифт?   -  person Mellson    schedule 09.02.2015
comment
Мелсон, я мог бы поцеловать тебя прямо сейчас! Перешли на простой тип шрифта Courier, и он отлично работает! Большое спасибо!   -  person Stuart Pattison    schedule 10.02.2015
comment
Спасибо, я поцелую вас в ответ, если вы проголосуете за мой комментарий :)   -  person Mellson    schedule 14.02.2015


Ответы (1)


Моноширинный шрифт исправил проблему выравнивания символов. Некоторые примеры моноширинных шрифтов, доступных в iOS 8, — Courier и Menlo. Полезный пост: Что такое моноширинный шрифт в iOS?

person Stuart Pattison    schedule 10.02.2015