setGlyphs(_:properties:characterIndexes:font:forGlyphRange:)
Stores the initial glyphs and glyph properties for a character range.
Declaration
func setGlyphs(_ glyphs: UnsafePointer<CGGlyph>, properties props: UnsafePointer<NSLayoutManager.GlyphProperty>, characterIndexes charIndexes: UnsafePointer<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 NSLayoutManagerDelegate protocol method layoutManager(_:shouldGenerateGlyphs:properties:characterIndexes:font:forGlyphRange:).
Each array has glyphRange.length items. The specified charIndexes 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, aFont 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.