Core Text es una API de estilo Core Foundation en macOS , introducida por primera vez en Mac OS X 10.4 Tiger , publicada en Mac OS X 10.5 Leopard e introducida para el iPad con el SDK 3.2 del iPhone. Al exponer una API de C , reemplaza las capacidades de representación de texto de los marcos QuickDraw y ATSUI , ahora obsoletos , en versiones anteriores de Mac OS X. Según Apple, Core Text está "diseñado para un alto rendimiento y facilidad de uso" y su API de diseño es "simple, consistente y está estrechamente integrada con Core Foundation, Core Graphics y Cocoa". [ 1 ]
Características
Core Text proporciona los siguientes tipos opacos:
- CTFramesetter : crea objetos CTFrame a partir de un objeto de cadena con atributos y un objeto CGPath utilizando CTTypesetter.
- CTTypesetter : realiza el diseño de líneas; por ejemplo, el salto de línea.
- CTFrame : representa una matriz de líneas (es decir, objetos CTLine).
- CTLine : representa una matriz de secuencias de glifos.
- CTRun : una colección ordenada de glifos que comparten el mismo atributo.
- CTFont - representa una fuente.
Ejemplo
El siguiente código muestra el texto "¡Hola, mundo!" en el contexto gráfico dado en Objective-C .
// Preparar la fuente CTFontRef font = CTFontCreateWithName ( CFSTR ( "Times" ), 48 , NULL );// Crea una cadena con atributos 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 ( "Hello, World!" ), attr ); CFRelease ( attr );// Dibujar la cadena CTLineRef line = CTLineCreateWithAttributedString ( attrString ); CGContextSetTextMatrix ( context , CGAffineTransformIdentity ); // Usar esta cuando se utilizan coordenadas de vista estándar //CGContextSetTextMatrix(context, CGAffineTransformMakeScale(1.0, -1.0)); // Usar esta si las coordenadas de la vista están invertidasCGContextSetTextPosition ( contexto , 10 , 20 ); CTLineDraw ( línea , contexto );// Limpiar CFRelease ( línea ); CFRelease ( attrString ); CFRelease ( fuente );Referencias
- ↑ Guía de programación de Core Text: Descripción general de Core Text
Enlaces externos
- Descripción general de Core Text en Apple Developer Connection
- Macintosh stubs
- Bibliotecas de representación de texto
- API de macOS
