О текстовой системе какао

Текстовая система Какао является основной текстовой системой обработки в OS X, ответственном за обработку и дисплей всего видимого текста в Какао. Это обеспечивает полный набор высококачественных типографских служб через связанные с текстом классы AppKit, позволяющие приложениям создать, отредактировать, вывести на экран и сохранить текст всеми характеристиками прекрасного набора, такими как кернинг, лигатуры, повреждение строки и выравнивание.

../Art/text_system_architecture_2x.png

Сразу

Текстовая система Какао обеспечивает редактирование текста и расположение для большинства приложений. Объектно-ориентированный проект системы обеспечивает гибкость и простоту использования.

Большинство приложений может использовать текстовую систему какао

Если Ваше приложение должно вывести на экран текст, и особенно если его пользователи должны ввести и отредактировать текст, то необходимо использовать текстовую систему Какао. Текстовая система Какао является одной из двух текстовых систем обработки в OS X. Другой Базовый текст, обеспечивающий низкий уровень, основное текстовое расположение и обрабатывающие шрифт возможности к высокоуровневым механизмам, таким как AppKit.

Типографские понятия важны для понимания текстовой системы

Текстовая система Какао кодирует символы значениями Unicode. Это переводит символы в глифы, включая лигатуры и другие контекстные формы, и обрабатывает гарнитуры, стили, шрифты и семьи. Система делает текстовое расположение, помещая глифы горизонтально или вертикально в любом направлении, с помощью информации о метрике шрифта и кернинга использования в надлежащих случаях. Это выполняет высококачественное повреждение строки и расстановку переносов для создания строк текста с надлежащим выравниванием или выравниванием.

Текстовая система включает представления, контроллеры и классы памяти

Текстовая система Какао абстрагирована как ряд классов, представляющих модульные, многоуровневые функциональные области, отражающие парадигму проекта Контроллера представления Модели. Верхний слой системы является уровнем пользовательского интерфейса различных представлений, нижний слой хранит модели данных, и средний уровень состоит из контроллеров, интерпретирующих ввод с клавиатуры и располагающих текст для дисплея.

Четыре основных текстовых системных класса —NSTextView, NSLayoutManager, NSTextContainer, и NSTextStorage— может быть сконфигурирован в различных способах достигнуть различные обрабатывающие текст цели.

Атрибуты характеризуют текст и документы

Текстовая система Какао обрабатывает пять видов атрибутов: символьные атрибуты, такие как шрифт и размер; временные атрибуты, используемые во время обработки или дисплея, такие как подчеркивание слов с ошибками; атрибуты абзацев, такие как выравнивание и позиции табуляции; атрибуты глифа, которые могут управлять специальной обработкой определенных глифов; и атрибуты документа, такие как поля и формат бумаги.

Объекты шрифта, панель шрифта и менеджер по шрифту обеспечивают обработку гарнитуры

Панель Font, также названная окном Fonts, является объектом пользовательского интерфейса, выводящим на экран список доступных семейств шрифтов и стилей, позволяя пользователю предварительно просмотреть их и измениться, шрифт раньше выводил на экран текст. Текст просматривает работу с NSFontPanel и NSFontManager объекты реализовать систему обработки шрифта. Можно создать объекты шрифта с помощью NSFont класс и запрашивает их для метрик шрифта и подробной информации макета глифа.

Текстовые объекты являются ключевыми для редактирования текста

Обычно, редактирование текста выполняется прямым пользовательским действием с текстовым представлением, но это может также быть выполнено программируемым взаимодействием с текстовым объектом хранения. Система ввода текста переводит события клавиатуры в команды и ввод текста. Можно настроить поведение редактирования с помощью многих методов текстовых системных объектов, через мощные механизмы Какао уведомления и делегации, или, в крайних случаях, путем замены самого текстового представления пользовательским подклассом.

Предпосылки

Для понимания информации в этом документе необходимо понять материал в текстовом Руководстве по программированию Уровня Интерфейса Пользователя системы. Кроме того, у Вас должны быть общие знания о парадигмах программирования Какао и, для понимания примеров кода, знакомства с языком Objective C.

См. также

Следующие документы описывают другие аспекты текстовой системы Какао:

Текстовое Руководство по программированию Уровня Интерфейса Пользователя системы описывает высокоуровневый интерфейс к текстовой системе Какао, которая достаточна для большинства приложений.

Текстовый Системный Обзор Уровня хранения обсуждает средства низшего уровня что текстовое системное использование Какао для хранения текста.

Текстовое Руководство по программированию Расположения описывает, как текстовая система Какао размечает текст на странице, подходящей для дисплея и печати.

Следующие проекты примера кода иллюстрируют, как использовать многие из APIs текстовой системы Какао:

CircleView является небольшим приложением с демонстрационным подклассом NSView это составляет текст в кругу.

NSFontAttributeExplorer демонстрирует, как собрать и вывести на экран различную метрическую информацию для использования установленных шрифтов NSFont.

TextInputView демонстрирует, как представление может реализовать NSTextInputClient протокол.

TextViewDelegate демонстрирует использование текстового делегата представления для управления выбором и вводом данных пользователем.