Contents

CTFontManagerRegisterFontDescriptors(_:_:_:_:)

Registers font descriptors with the font manager.

Declaration

func CTFontManagerRegisterFontDescriptors(_ fontDescriptors: CFArray, _ scope: CTFontManagerScope, _ enabled: Bool, _ registrationHandler: ((CFArray, Bool) -> Bool)?)

Parameters

  • fontDescriptors:

    An array of font descriptors to register. The font descriptor keys for registration are Kctfonturlattribute, Kctfontnameattribute, Kctfontfamilynameattribute, or Kctfontregistrationuserinfoattribute.

  • scope:

    A scope constant that defines the availability and lifetime of the registration. If you specify Persistent when you register fonts on iOS, those fonts aren’t automatically available to other processes. Other processes can call Ctfontmanagerrequestfonts(_:_:) to get access to those fonts. See Ctfontmanagerscope for more details.

  • enabled:

    A Boolean value that indicates whether the font descriptors should be enabled for font descriptor matching and discoverable though Ctfontmanagerrequestfonts(_:_:).

  • registrationHandler:

    A block called as errors arise or upon completion.

    The block’s errors parameter contains an array of Cferror references; an empty array indicates no errors. Each error reference contains a Cfarray of font descriptors corresponding to Kctfontmanagererrorfontdescriptorskey. These represent the font descriptors causing the error and failing to register successfully.

    This block may be called multiple times during the registration process. The done parameter becomes True when the registration process completes. Return False from the block to stop the registration operation, like after receiving an error.

Discussion

Registered fonts are discoverable through font descriptor matching in the calling process.

Fonts descriptors registered in a disabled state (the enabled parameter set to false) aren’t immediately available for descriptor matching, but the font manager knows the descriptors can be made available if necessary. You can enable these descriptors by calling this function again with the enabled parameter set to true. This operation may fail if there’s another registered and enabled font with the same PostScript name.

See Also

Functions