Сумасшедшая проблема шрифта с NSTextView - PullRequest
4 голосов
/ 17 февраля 2011

Сейчас я по колено в метриках шрифтов с NSTextView. Я надеялся, что разработчик сможет пролить свет на то, что происходит.

С Myriad Pro в NSTextView по умолчанию (перетаскивается из IB и запускается в новом проекте), вот что вы получаете:

selected text unselected text

Обратите внимание, что выбранный прямоугольник имеет ту же высоту, что и точка вставки.

Теперь о поведении со страниц:

unselected pages text selected pages text

Обратите внимание, что выделенный прямоугольник похож на обычную версию представления текста, но высота точки вставки фактически больше отражает шрифт (и меньше!).

Weird.

Почему меня это волнует? Вот экран моего приложения с Helvetica, а затем с Myriad:

My App Helvetica My App Myraid Pro

Обратите внимание, что в обоих случаях символ контура идеально отцентрирован относительно высоты точки вставки. Эти символы на самом деле являются подпредставлениями, а не в текстовом потоке. Обратите внимание на эти символы на страницах. Они остаются сосредоточенными на Мириаде. Ясно, что Apple что-то поняла и исправила. Есть идеи, что они сделали?

Спасибо!

1 Ответ

1 голос
/ 17 февраля 2011

Это не ошибка со стороны Apple, а скорее ваше предположение.Это функция метрик шрифта, а также высоты строки. Точка вставки занимает всю высоту строки;нарисованные части шрифта не делают.

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

...