ATSUI Programming Guide
PDF
Introduction
Typography Concepts
Characters, Glyphs, and Fonts
Character Encoding and Glyph Codes
Unicode
Text Storage
Text Measurements
Typestyles
Font Variations
Font Instances
Text Layout
Text Direction
Baselines
Leading Edges and Trailing Edges
Text Runs, Style Runs, and Direction Runs
Contextual Forms and Ligatures
Alignment and Justification
Kerning and Tracking
Special Font Features
Line Breaking
Font Substitution
Caret Handling
Caret Positioning
Highlighting
Converting Screen Position to Text Offset
ATSUI Style and Text Layout Objects
Style Objects
Style Attributes
Ascent Attribute Tag
Baseline Attribute Tag
Caret Angle Attribute Tag
Cross-Stream Kerning Attribute Tag
Descent Attribute Tag
Font ID Attribute Tag
Font Matrix Attribute Tag
Glyph Orientation Attribute Tag
Glyph Selector Attribute Tag
Glyph Width Attribute Tag
Hanging Punctuation Attribute Tag
Forced Hanging Glyphs Attribute Tag
Justification Override Attribute Tag
Kerning Attribute Tag
Language Region Attribute Tag
Leading Attribute Tag
Ligature Decomposition Attribute Tag
Ligature Splitting Attribute Tag
Optical Alignment Attribute Tag
Postcompensation Justification Attribute Tag
Style Rendering Options Attribute Tag
Style Text Locator Attribute Tag
Text Color (RGB) Attribute Tag
Text Color (RGB Alpha) Attribute Tag
Text Size Attribute Tag
Tracking Setting Attribute Tag
Text Style Attribute Tags
With-Stream Shift and Cross-Stream Shift Attribute Tags
Custom Attribute Tags
Font Variations
Font Features
Text Layout Objects
Text Information
Text Length and Unicode Separator Characters
More About Text Offsets
Style Run Information
Line and Layout Attributes
Alignment (Flushness) Attribute Tag
Baseline Offsets Attribute Tag
Font Fallbacks Attribute Tag
Justification Attribute Tag
Language Region Attribute Tag
Layout Operation Override Specifier Attribute Tag
Line Ascent Attribute Tag
Line Descent Attribute Tag
Line Direction Attribute Tag
Line Layout Options Attribute Tag
Line Truncation Attribute Tag
Quartz Context Attribute Tag
Rotation Attribute Tag
Text Locator Attribute Tag
Width Attribute Tag
Basic Tasks: Working With Objects and Drawing Text
Guidelines for Using ATSUI
Creating Style Objects and Setting Attributes
Creating a Text Layout Object and Setting Attributes
Determining Paragraphs in a Unicode Text Block
Drawing Horizontal Text
Drawing Text Using a Quartz Context
Drawing Equations
Drawing Vertical Text
Breaking Lines
Measuring Text
Calculating Line Height
Flowing Text Around a Graphic
Setting Up a Tab Ruler
Interactive Tasks: Supporting Carets and Highlighting Text
Positioning the Caret
Setting the Insertion Point
Moving the Caret
Highlighting Selected Text
Advanced Tasks: Substituting Fonts and Modifying Layouts
Using Font Fallback Objects
Setting a Baseline
Kerning Text
Adjusting Interglyph Positions
Retrieving Glyph Metrics
Direct-Access Tasks: Working With Glyph Data
Overriding ATSUI Layout Operations
Guidelines for Overriding Layout Operations
Extending the Space Between Glyphs
Writing a Callback to Modify Advance Delta Values
Installing a Callback for a Justification Override Operation
Positioning Glyphs Along a Curve
Writing the Callback to Modify Baseline Delta Values
Installing a Callback for a Post-Layout Operation
Retrieving and Drawing Glyph Outlines
Appendix A: ATSUI Implementation of the Unicode Specification
Unsupported Control Characters
Surrogates
Character Properties
Appendix B: Font Features
All-Typographic Features Feature Type
Annotation Feature Type
Cursive Connection Feature Type
Character Alternatives Feature Type
Character Shape Feature Type
CJK Italic Roman Feature Type
CJK Roman Spacing Feature Type
Design Complexity Feature Type
Diacritical Marks Feature Type
Fractions Feature Type
Ideographic Spacing Feature Type
Kana Spacing Feature Type
Letter Case Feature Type
Ligatures Feature Type
Linguistic Rearrangement Feature Type
Mathematical Extras Feature Type
Number Case Feature Type
Number Spacing Feature Type
Ornament Sets Feature Type
Overlapping Glyphs Feature Type
Ruby Kana Feature Type
Smart Swashes Feature Type
Style Options Feature Type
Text Spacing Feature Type
Transliteration Feature Type
Typographical Extras Feature Type
Unicode Decomposition Feature Type
Vertical Position Feature Type
Vertical Substitution Feature Type
Revision History
ATSUI Glossary