Jump to content
Wikipedia The Free Encyclopedia

Core Text

From Wikipedia, the free encyclopedia
This article needs additional citations for verification . Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.
Find sources: "Core Text" – news · newspapers · books · scholar · JSTOR
(September 2007) (Learn how and when to remove this message)

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

[edit ]

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

[edit ]

The following code displays the text "Hello, World!" to the given graphics context in Objective-C.

// Prepare font
CTFontReffont=CTFontCreateWithName(CFSTR("Times"),48,NULL);
// Create an attributed string
CFStringRefkeys[]={kCTFontAttributeName};
CFTypeRefvalues[]={font};
CFDictionaryRefattr=CFDictionaryCreate(NULL,(constvoid**)&keys,(constvoid**)&values,
sizeof(keys)/sizeof(keys[0]),&kCFTypeDictionaryKeyCallBacks,&kCFTypeDictionaryValueCallBacks);
CFAttributedStringRefattrString=CFAttributedStringCreate(NULL,CFSTR("Hello, World!"),attr);
CFRelease(attr);
// Draw the string
CTLineRefline=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

[edit ]
[edit ]
Products
Hardware
Mac
iPod
iPhone
iPad
Other
Software
Operating
systems
Services
Financial
Media
Communication
Retail
Support
Other
Companies
Subsidiaries
Acquisitions
Partnerships
Design and marketing
Legal issues and
labour relations
Related
People
CEOs
Board chairs
Other
executives
Current
Former
Founders
  • Italics indicate discontinued products, services, or defunct companies.
  • Category
Versions
Mac OS X
OS X
macOS
Predecessors
Applications
Core
applications
Developer
Tools
Xcode
Former
Former
Utilities
Discontinued
Technologies,
user interface
Deprecated
Discontinued
  • Italics denote upcoming products.
  •  Category
Stub icon

This Macintosh-related article is a stub. You can help Wikipedia by expanding it.

AltStyle によって変換されたページ (->オリジナル) /