<!--
{
  "availability" : [
    "iOS: -",
    "iPadOS: -",
    "macCatalyst: -",
    "macOS: -",
    "tvOS: -",
    "visionOS: -",
    "watchOS: -"
  ],
  "documentType" : "symbol",
  "framework" : "CoreText",
  "identifier" : "/documentation/CoreText/CTFramesetter",
  "metadataVersion" : "0.1.0",
  "role" : "Class",
  "symbol" : {
    "kind" : "Class",
    "modules" : [
      "Core Text"
    ],
    "preciseIdentifier" : "c:@T@CTFramesetterRef"
  },
  "title" : "CTFramesetter"
}
-->

# CTFramesetter

Generate text frames.

```
class CTFramesetter
```

## Overview

`CTFramesetter` is an object factory for [`CTFrame`](/documentation/CoreText/CTFrame) objects.

The framesetter takes an attributed string object and a shape descriptor object and calls into the typesetter to create line objects that fill that shape. The output is a frame object containing an array of lines. The frame can then draw itself directly into the current graphic context.

## Topics

### Creating a Framesetter

[`CTFramesetterCreateWithAttributedString(_:)`](/documentation/CoreText/CTFramesetterCreateWithAttributedString(_:))

Creates an immutable framesetter object from an attributed string.

[`CTFramesetterCreateWithTypesetter(_:)`](/documentation/CoreText/CTFramesetterCreateWithTypesetter(_:))

Creates a framesetter directly from a typesetter.

### Creating Frames

[`CTFramesetterCreateFrame(_:_:_:_:)`](/documentation/CoreText/CTFramesetterCreateFrame(_:_:_:_:))

Creates an immutable frame using a framesetter.

[`CTFramesetterGetTypesetter(_:)`](/documentation/CoreText/CTFramesetterGetTypesetter(_:))

Returns the typesetter object being used by the framesetter.

### Frame Sizing

[`CTFramesetterSuggestFrameSizeWithConstraints(_:_:_:_:_:)`](/documentation/CoreText/CTFramesetterSuggestFrameSizeWithConstraints(_:_:_:_:_:))

Determines the frame size needed for a string range.

### Getting the Type Identifier

[`CTFramesetterGetTypeID()`](/documentation/CoreText/CTFramesetterGetTypeID())

Returns the Core Foundation type identifier of the framesetter object.



---

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)