Stores the initial glyphs and glyph properties for a character range.
SDKs
- iOS 7.0+
- macOS 10.11+
- Mac Catalyst 13.0+
- tvOS 9.0+
Frameworks
- UIKit
- App
Kit
Declaration
func setGlyphs(_ glyphs: Unsafe Pointer<CGGlyph>, properties props: Unsafe Pointer<NSLayout Manager.Glyph Property>, characterIndexes charIndexes: Unsafe Pointer<Int>, font aFont: UIFont, forGlyphRange glyphRange: NSRange)
func setGlyphs(_ glyphs: Unsafe Pointer<CGGlyph>, properties props: Unsafe Pointer<NSLayout Manager.Glyph Property>, characterIndexes charIndexes: Unsafe Pointer<Int>, font aFont: NSFont, forGlyphRange glyphRange: NSRange)
Parameters
glyphs
A pointer to the layout manager's glyph cache.
props
A pointer to a buffer containing glyph properties for the glyphs in the cache.
charIndexes
A pointer to the starting index for the characters in the text storage for which glyphs are generated.
aFont
A font to override the font attributes in the text storage for the specified character range.
glyphRange
The range of glyphs in the glyph cache to set.
Discussion
This method is invoked by text system during the glyph generation process. The only place apps are allowed to call this method directly is from an implementation of the NSLayout
protocol method layout
.
Each array has glyph
items. The specified char
must be contiguous (no skipped indexes), enabling multiple items to have a same character index (as when one character index generates multiple glyph IDs). Due to font substitution, a
passed into this method might not match the font in the attributes dictionary. Calling this method for a character range that has previously calculated layout information invalidates the layout and display.