Core Text
Core Text is a Core Foundation style API in macOS, first introduced in Mac OS X 10.4 Tiger, made public in Mac OS X 10.5 Leopard, and introduced for the iPad with iPhone SDK 3.2. Exposing a C API, it replaces the text rendering abilities of the now-deprecated QuickDraw and ATSUI frameworks in previous versions of Mac OS X. According to Apple, Core Text is "designed for high performance and ease of use" and its layout API is "simple, consistent, and tightly integrated with Core Foundation, Core Graphics, and Cocoa."[1]
Features
Core Text provides the following opaque types:
- CTFramesetter - creates CTFrame objects from given attributed string object and CGPath object using CTTypesetter.
- CTTypesetter - performs line layouts; e.g., line breaking
- CTFrame - represents an array of lines (i.e., CTLine objects).
- CTLine - represents an array of glyph runs.
- CTRun - an ordered collection of glyphs sharing the same attribute.
- CTFont - represents a font.
Example
The following code displays the text "Hello, World!" to the given graphics context in Objective-C.
// Prepare font CTFontRef font = CTFontCreateWithName(CFSTR("Times"), 48, NULL); // Create an attributed string 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); // Draw the string CTLineRef line = CTLineCreateWithAttributedString(attrString); CGContextSetTextMatrix(context, CGAffineTransformIdentity); //Use this one when using standard view coordinates //CGContextSetTextMatrix(context, CGAffineTransformMakeScale(1.0, -1.0)); //Use this one if the view's coordinates are flipped CGContextSetTextPosition(context, 10, 20); CTLineDraw(line, context); // Clean up CFRelease(line); CFRelease(attrString); CFRelease(font);
References
- ^ Core Text Programming Guide: Core Text Overview
External links
- Core Text overview at Apple Developer Connection
- v
- t
- e
- History
- Outline
- Timeline of products
- Environment
- Marketing
- Supply chain
Hardware |
| ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Software |
|
Financial | |
---|---|
Media | |
Communication |
|
Retail and digital sales | |
Support |
|
Other |
Subsidiaries | |
---|---|
Acquisitions |
|
Partnerships |
- Advertising
- "1984"
- "Think different"
- "Get a Mac"
- iPod
- Product Red
- Ecosystem
- Events
- Criticism
- Headquarters
- University
- Design
- History
- Community
- Litigation
- Antitrust
- Non-recruiting agreements
- Price-fixing ebooks
- FBI encryption dispute
- iOS app approvals
- Worker organizations
- Depictions of Steve Jobs
- Linux
- Car project
- Italics indicate discontinued products, services, or defunct companies.
- Category
This Macintosh-related article is a stub. You can help Wikipedia by expanding it. |
- v
- t
- e