<!--
{
  "availability" : [
    "iOS: 3.2.0 -",
    "iPadOS: 3.2.0 -",
    "macCatalyst: 13.1.0 -",
    "macOS: 10.8.0 -",
    "tvOS: 9.0.0 -",
    "visionOS: 1.0.0 -",
    "watchOS: 2.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "CoreText",
  "identifier" : "/documentation/CoreText",
  "metadataVersion" : "0.1.0",
  "role" : "Framework",
  "symbol" : {
    "kind" : "Framework",
    "modules" : [
      "Core Text"
    ],
    "preciseIdentifier" : "CoreText"
  },
  "title" : "Core Text"
}
-->

# Core Text

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

## 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 <doc://com.apple.documentation/documentation/CoreFoundation>. 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 (``doc://com.apple.coretext/documentation/CoreText/CTFont``, ``doc://com.apple.coretext/documentation/CoreText/CTFontDescriptor``, and associated objects) can be used simultaneously by multiple operations, work queues, or threads. However, the layout objects (``doc://com.apple.coretext/documentation/CoreText/CTTypesetter``, ``doc://com.apple.coretext/documentation/CoreText/CTFramesetter``, ``doc://com.apple.coretext/documentation/CoreText/CTRun``, ``doc://com.apple.coretext/documentation/CoreText/CTLine``, ``doc://com.apple.coretext/documentation/CoreText/CTFrame``, and associated objects) should be used in a single operation, work queue, or thread.

## Topics

### Opaque Types

[`class CTFont`](/documentation/CoreText/CTFont)

A font object.

[`class CTFontCollection`](/documentation/CoreText/CTFontCollection)

A font collection.

[`class CTFontDescriptor`](/documentation/CoreText/CTFontDescriptor)

A font descriptor.

[`class CTFrame`](/documentation/CoreText/CTFrame)

A frame.

[`class CTFramesetter`](/documentation/CoreText/CTFramesetter)

Generate text frames.

[`class CTGlyphInfo`](/documentation/CoreText/CTGlyphInfo)

Override a font’s specified mapping from Unicode to the glyph ID.

[`class CTLine`](/documentation/CoreText/CTLine)

A line of text.

[`class CTParagraphStyle`](/documentation/CoreText/CTParagraphStyle)

Paragraph or ruler attributes in an attributed string.

[`class CTRun`](/documentation/CoreText/CTRun)

A glyph run.

[`class CTRunDelegate`](/documentation/CoreText/CTRunDelegate)

A run delegate.

[`class CTTextTab`](/documentation/CoreText/CTTextTab)

A tab in a paragraph style, storing an alignment type and location.

[`class CTTypesetter`](/documentation/CoreText/CTTypesetter)

A typesetter which performs line layout.

### Reference

[Styling Attributed Strings](/documentation/CoreText/styling-attributed-strings)

Attributes to which Core Text responds when placed in a `CFAttributedString` object.

[Core Text Structures](/documentation/CoreText/core-text-structures)

[Core Text Enumerations](/documentation/CoreText/core-text-enumerations)

[Core Text Constants](/documentation/CoreText/core-text-constants)

[Core Text Functions](/documentation/CoreText/core-text-functions)

[Core Text Data Types](/documentation/CoreText/core-text-data-types)

[SFNT Support](/documentation/CoreText/sfnt-support)

### Macros

[Macros](/documentation/CoreText/CoreText-macros)

### Classes

[`class CTRubyAnnotation`](/documentation/CoreText/CTRubyAnnotation)

### Protocols

[`protocol CTAdaptiveImageProviding`](/documentation/CoreText/CTAdaptiveImageProviding)

### Variables

[`let kCTFontDescriptorLanguageAttribute: CFString`](/documentation/CoreText/kCTFontDescriptorLanguageAttribute)

### Functions

[`func CTFontGetUIFontType(CTFont) -> CTFontUIFontType`](/documentation/CoreText/CTFontGetUIFontType(_:))

## See Also

  [Core Text Programming Guide](https://developer.apple.com/library/archive/documentation/StringsTextFonts/Conceptual/CoreText_Programming/Introduction/Introduction.html#//apple_ref/doc/uid/TP40005533)



---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)