<!--
{
  "availability" : [
    "iOS: 3.2.0 -",
    "iPadOS: 3.2.0 -",
    "macCatalyst: 13.1.0 -",
    "macOS: 10.5.0 -",
    "tvOS: 9.0.0 -",
    "visionOS: 1.0.0 -",
    "watchOS: 2.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "CoreText",
  "identifier" : "/documentation/CoreText/CTFontCopyFeatureSettings(_:)",
  "metadataVersion" : "0.1.0",
  "role" : "Function",
  "symbol" : {
    "kind" : "Function",
    "modules" : [
      "Core Text"
    ],
    "preciseIdentifier" : "c:@F@CTFontCopyFeatureSettings"
  },
  "title" : "CTFontCopyFeatureSettings(_:)"
}
-->

# CTFontCopyFeatureSettings(_:)

Returns an array of font feature-setting tuples.

```
func CTFontCopyFeatureSettings(_ font: CTFont) -> CFArray?
```

## Parameters

`font`

The font reference.

## Return Value

A normalized array of font feature-setting dictionaries. The array contains only the non-default settings that should be applied to the font, or `NULL` if the default settings should be used.

## Discussion

A feature-setting dictionary is a tuple of a [`kCTFontFeatureTypeIdentifierKey`](/documentation/CoreText/kCTFontFeatureTypeIdentifierKey) key-value pair and a [`kCTFontFeatureSelectorIdentifierKey`](/documentation/CoreText/kCTFontFeatureSelectorIdentifierKey) key-value pair. Each setting dictionary indicates which setting is enabled. It is the caller’s responsibility to handle exclusive and nonexclusive settings as necessary.

The feature settings are verified against those that the font supports and any that do not apply are removed. Further, feature settings that represent a default setting for the font are also removed.

---

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)