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

# CTFontDescriptor

A font descriptor.

```
class CTFontDescriptor
```

## Overview

A font descriptor is a dictionary of attributes (such as name, point size, and variation) that can completely specify a font.

A font descriptor can be an incomplete specification, in which case the system chooses the most appropriate font to match the given attributes.

## Topics

### Creating Font Descriptors

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

Creates a new font descriptor with the provided PostScript name and size.

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

Creates a new font descriptor reference from a dictionary of attributes.

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

Creates a copy of the original font descriptor with new attributes.

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

Creates a copy of the original font descriptor with a new variation instance.

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

Copies a font descriptor with new feature settings.

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

Creates a copy of the font descriptor in the specified family based on the traits of the original.

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

Creates a copy of the font descriptor with the specified symbolic traits as the original.

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

Returns an array of normalized font descriptors matching the provided descriptor.

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

Returns the single preferred matching font descriptor based on the original descriptor and system precedence.

### Getting Attributes

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

Returns the attributes dictionary of the font descriptor.

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

Returns the value associated with an arbitrary attribute.

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

Returns a localized value for the requested attribute, if available.

### Getting the Font Descriptor Type

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

Returns the type identifier for Core Text font descriptor references.

### Accessing Font Attributes

[Font Attributes](/documentation/CoreText/font-attributes)

The keys for accessing font attributes from a font descriptor.

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

The intended rendering orientation of the font for obtaining glyph metrics.

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

The recognized format of the font.

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

The priority of font descriptors when resolving duplicates and sorting match results.

### Accessing Font Traits

[Font Traits](/documentation/CoreText/font-traits)

The keys for accessing font traits from a font descriptor.

[Font Class Mask Shift Constants](/documentation/CoreText/font-class-mask-shift-constants)

These constants represent the font class mask shift.

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

The symbolic representation of stylistic font attributes.

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

The stylistic class values of the font.



---

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)