---
title: Core Text
framework: Core Text
role: collection
role_heading: Framework
platforms: [iOS 3.2+, iPadOS 3.2+, Mac Catalyst 13.1+, macOS 10.8+, tvOS 9.0+, visionOS 1.0+, watchOS 2.0+]
path: coretext
---

# Core Text

Create text layouts, optimize font handling, and access font metrics and glyph data.

## Overview

Overview Core Text provides a low-level programming interface for laying out text and handling fonts. The Core Text layout engine is designed for high performance, ease of use, and close integration with Core Foundation. The text layout API provides high-quality typesetting, including character-to-glyph conversion, with ligatures, kerning, and so on. The complementary Core Text font technology provides automatic font substitution (cascading), font descriptors and collections, easy access to font metrics and glyph data, and many other features. note: All individual functions in Core Text are thread-safe. Font objects (CTFont, CTFontDescriptor, and associated objects) can be used simultaneously by multiple operations, work queues, or threads. However, the layout objects (CTTypesetter, CTFramesetter, CTRun, CTLine, CTFrame, and associated objects) should be used in a single operation, work queue, or thread.

## Topics

### Opaque Types

- [CTFont](coretext/ctfont.md)
- [CTFontCollection](coretext/ctfontcollection.md)
- [CTFontDescriptor](coretext/ctfontdescriptor.md)
- [CTFrame](coretext/ctframe.md)
- [CTFramesetter](coretext/ctframesetter.md)
- [CTGlyphInfo](coretext/ctglyphinfo.md)
- [CTLine](coretext/ctline.md)
- [CTParagraphStyle](coretext/ctparagraphstyle.md)
- [CTRun](coretext/ctrun.md)
- [CTRunDelegate](coretext/ctrundelegate.md)
- [CTTextTab](coretext/cttexttab.md)
- [CTTypesetter](coretext/cttypesetter.md)

### Reference

- [Styling Attributed Strings](coretext/styling-attributed-strings.md)
- [Core Text Structures](coretext/core-text-structures.md)
- [Core Text Enumerations](coretext/core-text-enumerations.md)
- [Core Text Constants](coretext/core-text-constants.md)
- [Core Text Functions](coretext/core-text-functions.md)
- [Core Text Data Types](coretext/core-text-data-types.md)
- [SFNT Support](coretext/sfnt-support.md)

### Macros

- [Macros](coretext/coretext-macros.md)

### Classes

- [CTRubyAnnotation](coretext/ctrubyannotation.md)

### Protocols

- [CTAdaptiveImageProviding](coretext/ctadaptiveimageproviding.md)

### Variables

- [kCTFontDescriptorLanguageAttribute](coretext/kctfontdescriptorlanguageattribute.md)

### Functions

- [CTFontGetUIFontType(_:)](coretext/ctfontgetuifonttype(_:).md)

## See Also

### Related Documentation

- [Core Text Programming Guide](apple-archive/documentation/StringsTextFonts/Conceptual/CoreText_Programming/Introduction.md)
