CTFontManagerRegisterFontsWithAssetNames(_:_:_:_:_:)
Registers named font assets in the specified bundle with the font manager.
Declaration
func CTFontManagerRegisterFontsWithAssetNames(_ fontAssetNames: CFArray, _ bundle: CFBundle?, _ scope: CTFontManagerScope, _ enabled: Bool, _ registrationHandler: ((CFArray, Bool) -> Bool)?)Parameters
- fontAssetNames:
An array of font name assets in the asset catalog.
- bundle:
A bundle that contains the asset catalog. Passing
NULLresolves to the main bundle. - scope:
A scope constant that defines the availability and lifetime of the registration. On iOS, the only supported scope is Persistent, which means the fonts aren’t automatically available to other processes. Other processes can call Ctfontmanagerrequestfonts(_:_:) to get access to the fonts. See Ctfontmanagerscope for more details.
- enabled:
A Boolean value that indicates whether the font assets should be enabled for font descriptor matching and discoverable through Ctfontmanagerrequestfonts(_:_:).
- registrationHandler:
A block called as errors arise or upon completion.
The block’s
errorsparameter contains an array of Cferror references; an empty array indicates no errors. Each error reference contains a Cfarray of font asset names corresponding to Kctfontmanagererrorfontassetnamekey. These represent the font asset names causing the error and failing to register successfully.This block may be called multiple times during the registration process. The
doneparameter 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.
Calling this function extracts the font assets from the asset catalog and registers them. You must make this call after the completion handler of either beginAccessingResources(completionHandler:): or conditionallyBeginAccessingResources(completionHandler:) is called successfully.
Name the assets using PostScript names for individual faces, or family names for variable or collection fonts. You can use the same names to unregister the fonts with CTFontManagerUnregisterFontDescriptors(_:_:_:).
See Also
Functions
CTFontDescriptorMatchFontDescriptorsWithProgressHandler(_:_:_:)CTFontManagerCompareFontFamilyNames(_:_:_:)CTFontManagerCopyAvailableFontFamilyNames()CTFontManagerCopyAvailableFontURLs()CTFontManagerCopyAvailablePostScriptNames()CTFontManagerCreateFontDescriptorFromData(_:)CTFontManagerCreateFontDescriptorsFromURL(_:)CTFontManagerCreateFontRequestRunLoopSource(_:_:)CTFontManagerEnableFontDescriptors(_:_:)CTFontManagerGetAutoActivationSetting(_:)CTFontManagerGetScopeForURL(_:)CTFontManagerIsSupportedFont(_:)CTFontManagerRegisterFontsForURL(_:_:_:)CTFontManagerRegisterFontsForURLs(_:_:_:)CTFontManagerRegisterGraphicsFont(_:_:)