Jump To:
Leopard Reference Library
Mac OS X text-manipulation APIs provide basic text input and display as well as text encoding conversions, text-search capabilities, and document summarizations. These APIs also enable sophisticated typography. Developers can, for example, precisely position individual glyphs and lines of text, draw Unicode text at any angle of rotation, kern text, and activate and deactivate fonts.

Document Descriptions
On Off
Display

Sort by
Title
Sort by
Topic
Sorted by
Resource Type
Sort by
Date
Text System Overview (HTML) (PDF)
Explains how the Cocoa text system works. Includes a tutorial.
Cocoa Guides 2009-04-08
Handling Unicode Text Editing With MLTE (HTML) (PDF)
Explains how to use Apple's multilingual text engine.
Carbon Guides 2008-10-15
String Programming Guide for Cocoa (HTML) (PDF)
Explains how to create, search, concatenate, and draw strings in Cocoa.
Cocoa, Text Manipulation Guides 2008-10-15
Text Layout Programming Guide for Cocoa (HTML) (PDF)
Explains how the Cocoa text system lays out text on pages.
Cocoa Guides 2008-10-15
Core Text Programming Guide (HTML) (PDF)
Explains how to do text layout and font-related operations using the Core Text programming interfaces.
Carbon, Typography Guides 2008-06-09
Strings Programming Guide for Core Foundation (HTML) (PDF)
Explains how to create, manipulate, and search strings in Core Foundation, and how strings interact with encodings and character sets.
Carbon, Text Manipulation Guides 2008-03-11
Font Handling (HTML) (PDF)
Explains the Cocoa font management system and how users select fonts.
Cocoa, Typography Guides 2008-02-08
Text Editing Programming Guide for Cocoa (HTML) (PDF)
Explains how to control the behavior of the Cocoa text system as it performs text editing.
Cocoa, Text Manipulation Guides 2008-02-08
Apple Type Services for Fonts Programming Guide (HTML) (PDF)
Explains how to access fonts using the ATS-based font management API. Includes implementing the Fonts window.
Carbon, Typography Guides 2007-12-11
Rulers and Paragraph Styles (HTML) (PDF)
Explains paragraph styles and how to work with the rulers that enable users to manipulate them.
Cocoa, Text Manipulation Guides 2007-09-04
ATSUI Programming Guide (HTML) (PDF)
Explains how to lay out, process, and draw Unicode text.
Carbon, Typography Guides 2007-07-10
Attributed Strings Programming Guide (HTML) (PDF)
Explains how to use attributed strings, which manage attributes of character strings or individual characters.
Carbon, Cocoa, Text Manipulation Guides 2007-06-04
Text Input Management (HTML) (PDF)
Explains how to use input servers, input managers, and text views in Cocoa.
Cocoa Guides 2007-02-08
Text Attachment Programming Topics for Cocoa (HTML) (PDF)
Expalins how to add graphics and other attachments to text.
Cocoa, Text Manipulation Guides 2006-12-05
Text System User Interface Layer Programming Guide for Cocoa (HTML) (PDF)
Explains how to implement the main, high-level interface to the Cocoa text system.
Cocoa Guides 2006-06-28
Search Kit Programming Guide (HTML) (PDF)
Describes Search Kit architecture and workflow, and how to add search capabilities to Carbon and Cocoa applications.
Carbon, Cocoa Guides 2005-12-06
Text System Storage Layer Overview (HTML) (PDF)
Explains how the Cocoa text system stores the information it needs to lay out text.
Cocoa, Text Manipulation Guides 2005-08-11
Programming With the Text Encoding Conversion Manager (HTML) (PDF)
Explains character encodings, Unicode conversion, and custom converter plug-ins. Lists encoding variants.
Carbon, Text Manipulation Guides 2005-07-07
Supporting Unicode Input (HTML) (PDF)
Introduces international text in Mac OS X and lists the tasks an application needs to perform.
Carbon Guides 2005-07-07
Font Panel (HTML) (PDF)
Explains how to use the Cocoa Font panel.
Cocoa Guides 2004-08-31
Text Attributes (HTML) (PDF)
Explains how to work with attributes, the distinguishing characteristics of rich text.
Cocoa, Text Manipulation Guides 2004-02-16
Text Input and Output (HTML) (PDF)
Explains how to read and write text files in Cocoa.
Cocoa, Text Manipulation Guides 2004-02-10
Spell Checking (HTML) (PDF)
Explains how to use the spell-checking facilities in the Cocoa text system.
Cocoa, Text Manipulation Guides 2004-02-09
Text Fields (HTML) (PDF)
Explains how to use Cocoa text fields.
Cocoa, Text Manipulation Guides 2004-02-09
Text Views (HTML) (PDF)
Explains how to use Cocoa text views.
Cocoa, Text Manipulation Guides 2004-02-09
Using Ink Services in Your Application (HTML) (PDF)
Explains how Ink Services works and how to customize handwriting recognition.
Carbon, Text Manipulation Guides 2003-07-24
Understanding Text Input and the Text Services Manager in Carbon (HTML) (PDF)
Discusses keyboard input, including Unicode, and explains how events are routed and handled.
Carbon Guides 2002-12-11
CFAttributedString Reference (HTML) (PDF)
Describes an immutable character string and its associated attributes.
Carbon Reference 2009-05-06
CFMutableAttributedString Reference (HTML) (PDF)
Describes a mutable character string and associated set of attributes.
Carbon Reference 2009-05-06
IMKServerInput Protocol Reference (HTML) (PDF)
Describes the informal protocol used to receive text events.
Cocoa, Text Manipulation Reference 2009-05-06
Search Kit Reference (HTML) (PDF)
Describes the interface for supporting user searches of textual content.
Carbon, Cocoa Reference 2009-05-06
NSATSTypesetter Class Reference (HTML) (PDF)
Describes a typesetter that places glyphs for text layout.
Cocoa, Typography Reference 2009-03-04
NSString Application Kit Additions Reference (HTML) (PDF)
Describes additions for drawing strings.
Cocoa Reference 2009-02-04
NSGlyphStorage Protocol Reference (HTML) (PDF)
Describes the interface between a glyph generator and glyph storage.
Cocoa, Typography Reference 2009-01-06
NSSpeechSynthesizer Class Reference (HTML) (PDF)
Describes the Cocoa parser that converts text to speech.
Cocoa Reference 2009-01-06
NSLayoutManager Class Reference (HTML) (PDF)
Describes an object for controlling text layout.
Cocoa, Text Manipulation Reference 2008-12-20
CTFontDescriptor Reference (HTML) (PDF)
Describes a dictionary that fully specifies a font.
Carbon Reference 2008-10-15
NSAttributedString Class Reference (HTML) (PDF)
Describes a character string with attributes.
Cocoa Reference 2008-10-15
NSMutableParagraphStyle Class Reference (HTML) (PDF)
Describes a mutable paragraph style.
Cocoa Reference 2008-10-15
NSTextInputClient Protocol Reference (HTML) (PDF)
Describes the interface for receiving keyboard input as properly formed text.
Cocoa Reference 2008-10-15
NSText Class Reference (HTML) (PDF)
Describes a basic interface for text-bearing objects.
Cocoa Reference 2008-05-06
Latent Semantic Mapping Reference (HTML)
Describes the C API for classifying text and other token-based content based on latent semantic information.
Carbon, Cocoa, Text Manipulation Reference 2008-04-08
Apple Type Services for Fonts Reference (HTML) (PDF)
Describes the C API for ATS-based font access and management.
Carbon, Typography Reference 2007-12-11
Font Manager Reference (HTML) (PDF)
Describes the C API for QuickDraw-based font access and management.
Carbon Reference 2007-12-11
Script Manager Reference (HTML) (PDF)
Deprecated - Describes a deprecated technology replaced by Unicode facilities.
Carbon, Text Manipulation Reference 2007-12-11
Core Text Reference Collection (HTML) (PDF)
Describes an API providing text and font services.
Carbon, Typography Reference 2007-12-04
NSAttributedString Application Kit Additions Reference (HTML) (PDF)
Describes additions for analyzing and using attributed strings.
Cocoa Reference 2007-12-04
NSSecureTextFieldCell Class Reference (HTML) (PDF)
Describes the user interface of a secure text field.
Cocoa Reference 2007-10-31
CTFont Reference (HTML) (PDF)
Describes a representation of a font.
Carbon Reference 2007-06-29
ATSUI Reference (HTML) (PDF)
Describes the C API for rendering Unicode-encoded text with advanced typographic features.
Carbon, Typography Reference 2007-06-28
NSFont Class Reference (HTML) (PDF)
Describes a representation of a font.
Cocoa, Typography Reference 2007-06-08
Text Input Source Services Reference (HTML) (PDF)
Describes the API for operating on text input sources, such as keyboards, character palettes, and ink input.
Carbon, Text Manipulation Reference 2007-06-07
IMKInputController Class Reference (HTML) (PDF)
Describes the class that controls input on the input method side.
Cocoa, Text Manipulation Reference 2007-06-06
IMKServer Class Reference (HTML) (PDF)
Describes the class that manages connections to input method clients.
Cocoa, Text Manipulation Reference 2007-06-06
Input Method Kit Framework Reference (HTML) (PDF)
Describes the API for building input methods for Chinese, Japanese, and other languages.
Cocoa, Text Manipulation Reference 2007-06-06
IMKCandidates Class Reference (HTML) (PDF)
Describes the class that supports the use of candidate windows for an input method.
Cocoa, Text Manipulation Reference 2007-06-05
IMKMouseHandling Protocol Reference (HTML) (PDF)
Describes the protocol used to receive mouse events for an input method client session.
Cocoa, Text Manipulation Reference 2007-06-05
IMKStateSetting Protocol Reference (HTML) (PDF)
Describes the protocol used to set or access state values for an input method client session.
Cocoa, Text Manipulation Reference 2007-06-05
IMKTextInput Protocol Reference (HTML) (PDF)
Describes the protocol used to send and obtain data from an input method client session.
Cocoa, Text Manipulation Reference 2007-06-05
Text Utilities Reference (HTML) (PDF)
Describes the C API for operating on strings (formatting, sorting, converting, comparing).
Carbon, Text Manipulation Reference 2007-05-29
CTLine Reference (HTML) (PDF)
Describes a line of text.
Carbon Reference 2007-05-24
CTRun Reference (HTML) (PDF)
Describes a set of consecutive glyphs sharing the same attributes and direction.
Carbon Reference 2007-05-24
CTFontCollection Reference (HTML) (PDF)
Describes a collection of fonts.
Carbon Reference 2007-05-16
CTGlyphInfo Reference (HTML) (PDF)
Describes an opaque type used to override a font's mapping from Unicode to glyph ID.
Carbon Reference 2007-05-09
Core Text String Attributes Reference (HTML) (PDF)
Describes the string attributes recognized by Core Text.
Carbon Reference 2007-05-01
CTFrame Reference (HTML) (PDF)
Describes a multiline text frame.
Carbon Reference 2007-05-01
CTTextTab Reference (HTML) (PDF)
Describes a tab in a paragraph style.
Carbon Reference 2007-05-01
CTTypesetter Reference (HTML) (PDF)
Describes the opaque type that performs line layout.
Carbon Reference 2007-05-01
NSSpellChecker Class Reference (HTML) (PDF)
Describes the interface to the Cocoa spell-checking service.
Cocoa Reference 2007-04-27
NSSpellServer Class Reference (HTML) (PDF)
Describes an application-defined spell-checking service.
Cocoa Reference 2007-04-27
NSTextView Class Reference (HTML) (PDF)
Describes a view that displays editable text.
Cocoa Reference 2007-04-27
Core Text Utilities Reference (HTML) (PDF)
Describes general Core Text functions and data types.
Carbon Reference 2007-04-21
CTFramesetter Reference (HTML) (PDF)
Describes an opaque type that generates text frames.
Carbon Reference 2007-04-21
CTParagraphStyle Reference (HTML) (PDF)
Describes paragraph or ruler attributes in an attributed string.
Carbon Reference 2007-04-21
NSTextTable Class Reference (HTML) (PDF)
Describes a block of text that represents a table.
Cocoa Reference 2007-04-11
NSFontManager Class Reference (HTML) (PDF)
Describes an object for controlling font conversion.
Cocoa Reference 2007-04-06
NSFontPanel Class Reference (HTML) (PDF)
Describes the panel for font selection.
Cocoa Reference 2007-04-06
NSFontPanelValidation Protocol Reference (HTML) (PDF)
Describes the interface for validating fonts.
Cocoa Reference 2007-04-06
NSInputServerMouseTracker Protocol Reference (HTML) (PDF)
Describes the protocol implemented by text input servers to handle mouse events.
Cocoa Reference 2007-04-02
NSInputServiceProvider Protocol Reference (HTML) (PDF)
Describes the protocol implemented by text input servers to handle application and text field events.
Cocoa Reference 2007-04-02
NSInputManager Class Reference (HTML) (PDF)
Describes the class used by text views to communicate with the text input management system.
Cocoa Reference 2007-04-01
NSInputServer Class Reference (HTML) (PDF)
Describes the class that interprets text view events and communicates them to the text input management system.
Cocoa Reference 2007-04-01
NSTypesetter Class Reference (HTML) (PDF)
Describes the interface for typesetter objects that perform text line layout.
Cocoa, Typography Reference 2007-03-26
NSGlyphInfo Class Reference (HTML) (PDF)
Describes a glyph attribute value in an attributed string.
Cocoa Reference 2007-03-01
Fonts Panel Reference (HTML) (PDF)
Describes the C API for providing a Fonts window in a Carbon application.
Carbon Reference 2007-02-26
Multilingual Text Engine Reference (HTML) (PDF)
Describes the C API for supporting Unicode text editing.
Carbon Reference 2007-02-19
Find By Content Reference (HTML) (PDF)
Deprecated - Describes the legacy C API for performing relevance-ranked searches. Replaced by Search Kit.
Carbon, Cocoa Reference 2006-07-13
TextEdit Reference (HTML) (PDF)
Deprecated - Describes the deprecated technology replaced by the Multilingual Text Engine (MLTE).
Carbon Reference 2006-07-13
NSMutableAttributedString Class Reference (HTML) (PDF)
Describes a mutable character string with attributes.
Cocoa Reference 2006-06-28
NSChangeSpelling Protocol Reference (HTML) (PDF)
Describes the interface for correcting a misspelled word.
Cocoa Reference 2006-05-23
NSGlyphGenerator Class Reference (HTML) (PDF)
Describes a glyph generator for text layout.
Cocoa, Typography Reference 2006-05-23
NSIgnoreMisspelledWords Protocol Reference (HTML) (PDF)
Describes the interface for a spelling checker's ignored words list.
Cocoa Reference 2006-05-23
NSMutableAttributedString Additions Reference (HTML) (PDF)
Describes additions for setting attributes of mutable attributed strings.
Cocoa Reference 2006-05-23
NSParagraphStyle Class Reference (HTML) (PDF)
Describes an immutable paragraph style.
Cocoa Reference 2006-05-23
NSRulerMarker Class Objective-C Reference (HTML) (PDF)
Describes a marker on a ruler, such as a tab setting.
Cocoa Reference 2006-05-23
NSRulerView Class Reference (HTML) (PDF)
Describes a ruler, with markers, that adjoins a scroll view's document view.
Cocoa Reference 2006-05-23
NSSimpleHorizontalTypesetter Class Reference (HTML) (PDF)
Deprecated - Describes the deprecated technology replaced by NSATSTypesetter.
Cocoa, Typography Reference 2006-05-23
NSTextAttachment Class Reference (HTML) (PDF)
Describes a text attachment for an attributed string.
Cocoa Reference 2006-05-23
NSTextAttachmentCell Class Reference (HTML) (PDF)
Describes the user interface for a text attachment.
Cocoa Reference 2006-05-23
NSTextBlock Class Reference (HTML) (PDF)
Describes a block of text laid out in a subregion of a text container.
Cocoa Reference 2006-05-23
NSTextContainer Class Reference (HTML) (PDF)
Describes an area where text is laid out.
Cocoa Reference 2006-05-23
NSTextInput Protocol Reference (HTML) (PDF)
Descibes the formal protocol that text views implement to receive input from the user's keyboard and mouse.
Cocoa Reference 2006-05-23
NSTextList Class Reference (HTML) (PDF)
Describes a section of text that forms a single list.
Cocoa Reference 2006-05-23
NSTextStorage Class Reference (HTML) (PDF)
Describes the text storage system.
Cocoa Reference 2006-05-23
NSTextTab Class Reference (HTML) (PDF)
Describes a tab in a paragraph style.
Cocoa Reference 2006-05-23
NSTextTableBlock Class Reference (HTML) (PDF)
Describes a block of text that appears as a cell within a table.
Cocoa Reference 2006-05-23
Ink Services Reference (HTML) (PDF)
Defines the C API for customizing handwriting recognition.
Carbon, Text Manipulation Reference 2006-01-10
Unicode Utilities Reference (HTML) (PDF)
Describes the C API that allows applications and input methods to operate on Unicode text.
Carbon Reference 2006-01-10
Text Services Manager Reference (HTML) (PDF)
Describes the C API for communicating between client applications and provider modules.
Carbon Reference 2005-11-09
Text Encoding Conversion Manager Reference (HTML) (PDF)
Describes the C API for transferring text across other platforms or over the Internet.
Carbon, Text Manipulation Reference 2005-07-07
Keyboard Layout Services Reference (HTML) (PDF)
Describes the C API for managing key-to-character mappings used to support various languages.
Carbon Reference 2002-11-18
FontSync Reference (HTML) (PDF)
Describes the C API for content-based font identification and comparison.
Carbon, Typography Reference 2002-10-01
Locale Utilities Reference (HTML) (PDF)
Describes the C API for supporting conventions of a specific language or region.
Carbon Reference 2002-01-24
Carbon Core Release Notes (HTML)
Carbon Release Notes 2007-10-31
Input Method Kit Reference Update (HTML) (PDF)
Summarizes the symbols added to the Input Method Kit framework.
Cocoa Release Notes 2007-07-18
Input Method Kit Release Note (HTML)
Describes an Objective-C framework for building input methods for Chinese, Japanese, and other languages.
Cocoa, Text Manipulation Release Notes 2007-07-17
Text Encoding Conversion Manager Release Notes (HTML)
General Release Notes 2005-04-29
CoreTextArc (HTML) (DMG) (ZIP)
Illustrates the use of fonts, lines, and runs in a CoreText text drawing Carbon application.
Carbon Sample Code 2007-06-04
TextLayoutDemo (HTML) (DMG) (ZIP)
Customizing NSTextView with NSLayoutManager and a custom NSTextContainer.
Cocoa Sample Code 2007-06-01
CoreTextTest (HTML) (DMG) (ZIP)
Shows how to handle the CoreText objects to display text.
Carbon Sample Code 2006-12-19
NSFontAttributeExplorer (HTML) (DMG) (ZIP)
Demonstrates how to gather and display various metric information for installed fonts using NSFont.
Cocoa Sample Code 2006-10-26
PasteboardPeeker (HTML) (DMG) (ZIP)
Using pasteboards for Copy and Paste, Drag and Drop, service support and filter services.
Carbon Sample Code 2005-08-10
TypeServicesForUnicode (HTML) (DMG) (ZIP)
Shows how to use various ATSUI functions and features going from simple to very complex.
Carbon Sample Code 2005-08-10
HITextViewDemo (HTML) (DMG) (ZIP)
Overview of basic HITextView functionality, including Tiger's new font & spelling panel support.
Carbon Sample Code 2005-06-01
MLTE_CustomScrolling (HTML) (DMG) (ZIP)
Shows how to implement MLTE's custom scrolling functionality
Carbon Sample Code 2004-10-15
HITextViewShowcase (HTML) (DMG) (ZIP)
Shows how to create a HITextView using Interface Builder and using programming functions only.
Carbon Sample Code 2003-10-30
HITextShowcase (HTML) (DMG) (ZIP)
Illustrates some of the different text-related controls, non-controls, and HIViews that are available in Mac OS X 10.3.
Carbon Sample Code 2003-10-27
InkSample (HTML) (DMG) (ZIP)
Demonstrates some usage scenarios for the Ink.Framework APIs.
Carbon Sample Code 2003-10-27
MoreIsBetter (HTML) (DMG) (ZIP)
Library providing indispensable wrapers and workarounds for many areas of Mac OS programming.
Carbon, Text Manipulation Sample Code 2003-10-27
TextNameTool (HTML) (DMG) (ZIP)
A command line tool sample illustrating how to use various graphical facilities and services without a login.
Typography Sample Code 2003-10-27
ATSUIDirectAccessDemo (HTML) (DMG) (ZIP)
Demonstrates some basic manipulations of the ATSUI DirectAccess api.
Carbon Sample Code 2003-01-14
BasicInputMethod (HTML) (DMG) (ZIP)
An input method implemented as a text service component for Mac OS X.
Carbon Sample Code 2003-01-14
NamingTableAccess (HTML) (DMG) (ZIP)
Digs out the contents of the NamingTable in a TrueType 'sfnt'.
Typography Sample Code 2003-01-14
TimeZone.Daylight (HTML) (DMG) (ZIP)
Deprecated - Shows how to read the current location and time zone that is set in Date & Time.
Carbon Sample Code 2003-01-14
Multilingual Text Engine Frequently Asked Questions (HTML) (日本語 HTML)
TN2026: A list of frequently asked questions for the Multilingual Text Engine (MLTE).
Carbon Technical Notes 2005-09-12
Frequently Asked Text Services Manager (TSM) Questions (HTML)
TN2128: Regroups a collection of Text Services Manager (TSM) questions frequently asked by Input Method Developers
Carbon, Cocoa Technical Notes 2005-06-24
How to use the ATSUI Low Level APIs to get glyph outlines (HTML) (日本語 HTML)
TN2033: Covers the ATSUI low-level APIs.
Carbon Technical Notes 2001-11-26
The Euro Currency Symbol (HTML) (日本語 HTML)
TN1140: The available information about Mac OS and Mac Mac OS X Server support for the Euro currency symbol.
Typography Technical Notes 2000-01-01
Drawing attributed strings that are both filled and stroked (HTML)
QA1531: Describes how the value of NSStrokeWidthAttributeName indicates fill, stroke, or both, in attributed strings.
Cocoa Technical Q&As 2008-03-25
Connecting the Font Menu in Interface Builder 3 (HTML)
QA1571: How to connect and configure the Font/Format menus in Interface Builder 3.
Cocoa, Tools Technical Q&As 2008-01-21
How do I get the hexadecimal value of an NSColor object? (HTML)
QA1576: Describes how to convert an NSColor object to its Hexadecimal value.
Cocoa Technical Q&As 2007-12-19
How to make NSTextField accept tab, return and enter keys. (HTML)
QA1454: Describes how to make the NSTextField control accept tab, return and enter keys by using the control's dispatch delegate method.
Cocoa Technical Q&As 2006-10-09
Disabling and Enabling an NSTextView (HTML)
QA1461: Shows how a Cocoa application can disable and enable an NSTextView.
Cocoa Technical Q&As 2006-09-11
Losing the character code when using the control key (HTML)
QA1446: Explains why the control key transforms the character code instead of simply setting the appropriate modifier bit.
Carbon Technical Q&As 2006-07-17
Enumerating fonts with ATS (HTML)
QA1471: Describes the different ATS font enumeration methods
Carbon Technical Q&As 2006-04-14
Sorting Like the Finder (HTML)
QA1159: Shows how to sort strings like the Finder's list view.
Text Manipulation Technical Q&As 2004-10-27
SetFontInfoForSelection incorrect prototype (HTML)
QA1375: Describes the incorrect prototyping of the SetFontInfoForSelection API and gives a workaround.
Carbon Technical Q&As 2004-10-04
Converting to Precomposed Unicode (HTML) (日本語 HTML)
QA1235: Describes how to convert a string to precomposed Unicode.
Text Manipulation Technical Q&As 2003-02-07
Improving ATSUI Text Drawing Performance (HTML)
QA1027: Talks about one way of improving ATSUI text drawing performance.
Carbon, Typography Technical Q&As 2001-04-17
QDFlushPortBuffer (HTML) (日本語 HTML)
QD65: Describes a possible solution for window update problems under Carbon.
Carbon Technical Q&As 2000-11-08
grayishTextOr and Mac OS 8.5 (HTML) (日本語 HTML)
Deprecated - QD59: Explains why text drawn using TextMode(grayishTextOr) is never drawn; provides a workaround.
Carbon Technical Q&As 1998-12-07
Locating a Font's Home File (HTML) (日本語 HTML)
Deprecated - TB18: Lists the steps necessary to find the home file of a given font.
Carbon Technical Q&As 1996-02-15