AzoftБлогОт печатного издательства — к электронному: CoreText в помощь

От печатного издательства — к электронному: CoreText в помощь

Иван Ожиганов Февраль 26, 2013

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

Почему мы считаем, что Core Text — удобный, а, главное, наиболее перспективный инструмент электронного издательства на iPad?

Причина 1. Core Text предоставляет широкие возможности верстки текста

С помощью объекта NSAttributedString в Core Text можно применять любые варианты форматирования текста:

  • менять шрифт, его размер, цвет и стиль (жирный, курсив);
  • устанавливать настройки абзацев: отступы справа, слева, снизу, сверху, отступ от первой строки;
  • менять цвет фона.

Можно преобразовывать знаки в глифы, графическое представление конкретного знака. Например, создавать такие глифы знака «А»:

Пример взят из Core Text Programming Guide от Apple.

Причина 2. Core Text позволяет экспериментировать с расположением текста

  • Core Text допускает обтекание текстом сложных границ:

  • позволяет фигурное оформление текста: придание тексту формы треугольника и окружности, разбивка по столбцам, по кругу, и более сложные формы.

На заметку разработчикам: для выполнения этой задачи сначала c помощью методов объекта CGMutablePathRefpath = CGPathCreateMutable() нужно создать shape. Затем использовать выбранный path для создания объекта CTFrame, куда непосредственно и будет вводиться текст.

Причина 3. Core Text может сделать текст мультимедийным

Размещение аудио- и видеоматериала на странице происходит без ущерба качеству графики и скорости отображения данных.

Отметим, что среди существующих технологий для отображения электронного контента возможность добавлять медиаэлементы на страницу помимо Core Text предлагает только WebView. Но не стоит забывать, что WebView — это, по сути своей, аналог браузера, и запуск нескольких элементов WebView для системы будет равнозначен запуску нескольких мини-браузеров, что не может не сказаться на скорости работы приложения.

Причина 4. Core Text предлагает уникальные условия для ввода и обработки данных

  • Простота ввода материала: текст заносится непосредственно на страницу, без использования промежуточных технологий. Например, в WebView нужно дополнительно прибегать к HTML и CSS.
  • Высокая скорость рендеринга, т. е. текст быстро обрабатывается и выводится на экран мобильного устройства. На данный момент это, пожалуй, самый быстрый способ рендеринга для iOS-приложений.

Низкая скорость обработки данных и тяжеловесность контента — главные недостатки таких наиболее распространенных среди электронных изданий технологий, как PDF и WebView. С Core Text вы не испугаете читателей «объемом».

Благодаря тому, что в Core Text применяется векторный рендеринг, качество изображения не ухудшается даже при его значительном увеличении. Это особенно ценно, когда текст сопровождается графиками, таблицами и другими элементами, требующими пристального рассмотрения.

На заметку разработчикам: фреймворк Core Text является достаточно гибкой средой для разработки, так как с его помощью можно решать самые разные задачи. Например, необходимость правильной расстановки переносов в словах. Для решения этой проблемы, мы советуем обратиться к алгоритму Ляна-Кнута для мягких переносов.

Но не все идеально. У Core Text тоже есть свои минусы, а точнее один недостаток свойств: в нем отсутствуют механизмы создания функций копирования и выделения текста. Для выполнения этих задач разработчикам придется самостоятельно придумывать решения.

В заключение — хорошая новость для разработчиков. Теперь атрибуты форматирования Core Text доступны при работе с классами UITextView, UILabel, UIButton, UIPickerView, UITableViewCell и UITextField. Начиная с iOS6, эти классы могут поддерживать объект NSAttributedString, а значит, больше не придется дополнительно обращаться к элементам WebView для форматирования.

Таким образом, технология Core Text — это быстрый и удобный способ для обработки контента. Она идеально подходит для газетных приложений, подразумевающих регулярное обновление материала, и поможет эффективно организовать электронное издательство книг, журналов, каталогов, учебных материалов и т.д.

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

Комментарии

комментарии



Content created by Vladimir Tchernitski