Instance Method

setGlyphs(_:properties:characterIndexes:font:forGlyphRange:)

Stores the initial glyphs and glyph properties for a character range.

Declaration

iOS, Mac Catalyst, tvOS
func setGlyphs(_ glyphs: UnsafePointer<CGGlyph>, properties props: UnsafePointer<NSLayoutManager.GlyphProperty>, characterIndexes charIndexes: UnsafePointer<Int>, font aFont: UIFont, forGlyphRange glyphRange: NSRange)
macOS
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.

See Also

Accessing Glyphs

func cgGlyph(at: Int) -> CGGlyph

Returns the glyph at the specified index.

func cgGlyph(at: Int, isValidIndex: UnsafeMutablePointer<ObjCBool>?) -> CGGlyph

Returns the glyph at the specified index and information about whether the glyph index is valid.

func characterIndexForGlyph(at: Int) -> Int

Returns the index in the text storage for the first character associated with the given glyph.

func glyphIndexForCharacter(at: Int) -> Int

Returns the index of the first glyph associated with the character at the specified index.

func isValidGlyphIndex(Int) -> Bool

Indicates whether the specified index refers to a valid glyph, otherwise false.

var numberOfGlyphs: Int

The number of glyphs in the receiver.

func propertyForGlyph(at: Int) -> NSLayoutManager.GlyphProperty

Returns the glyph property associated with the glyph at the specified index.