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».
Core Text предоставляет следующие непрозрачные типы:
В следующем коде отображается текст «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 (шрифт);