Core Text

редактировать

Core Text - это Core Foundation стиль API в macOS, впервые представленная в Mac OS X 10.4 Tiger, обнародованная в Mac OS X 10.5 Leopard и представленная для iPad с iPhone SDK 3.2. Предоставляя C API, он заменяет возможности отрисовки текста устаревших фреймворков QuickDraw и ATSUI в предыдущих версиях Mac OS X. Согласно Apple, Core Текст «разработан для обеспечения высокой производительности и простоты использования», а его API макета «прост, согласован и тесно интегрирован с Core Foundation, Core Graphics и Cocoa».

Содержание
  • 1 Возможности
  • 2 Пример
  • 3 ссылки
  • 4 Внешние ссылки
Возможности

Core Text предоставляет следующие непрозрачные типы:

  • CTFramesetter - создает объекты CTFrame из заданного объекта строки с атрибутами и объекта CGPath с помощью CTTypesetter.
  • CTTypesetter - выполняет разметку строк; например, разрыв строки
  • CTFrame - представляет собой массив строк (т.е. объекты CTLine).
  • CTLine - представляет массив прогонов глифов.
  • CTRun - упорядоченная коллекция глифов, имеющих один и тот же атрибут.
  • CTFont - представляет шрифт.
Пример

В следующем коде отображается текст «Hello, World!» к заданному графическому контексту.

// Подготавливаем шрифт CTFontRef font = CTFontCreateWithName (CFSTR ("Times"), 48, NULL); // Создание строки с атрибутами CFStringRef keys = {kCTFontAttributeName}; CFTypeRef values ​​= {font}; CFDictionaryRef attr = CFDictionaryCreate (NULL, (const void **) keys, (const void **) values, sizeof (keys) / sizeof (keys [0]), kCFTypeDictionaryKeyCallBacks, kCFTypeDictionaryValueCallBacks); CFAttributedStringRef attrString = CFAttributedStringCreate (NULL, CFSTR («Привет, мир!»), Attr); CFRelease (attr); // Рисуем строку CTLineRef line = CTLineCreateWithAttributedString (attrString); CGContextSetTextMatrix (контекст, CGAffineTransformIdentity); // Используйте это при использовании стандартных координат представления // CGContextSetTextMatrix (context, CGAffineTransformMakeScale (1.0, -1.0)); // Используйте это, если координаты представления перевернуты CGContextSetTextPosition (context, 10, 20); CTLineDraw (строка, контекст); // Очистить CFRelease (line); CFRelease (attrString); CFRelease (шрифт);
Ссылки
  1. ^Руководство по программированию Core Text: Обзор Core Text
Внешние ссылки
Последняя правка сделана 2021-05-15 12:21:46
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте