NSGlyphStorage Protocol Reference

Adopted by
Framework
/System/Library/Frameworks/AppKit.framework
Availability
Available in OS X v10.3 and later.
Declared in
NSGlyphGenerator.h
Companion guides
Text System Overview
Text Layout Programming Guide

Overview

The NSGlyphStorage protocol defines the methods that a glyph storage object must implement in order to interact properly with NSGlyphGenerator.

An example of a Cocoa class conforming to the NSGlyphStorage protocol is NSLayoutManager.

Tasks

Returning Text Storage

Returning Glyph Display Options

Modifying the Glyph Cache

Instance Methods

attributedString

Returns the text storage object from which the NSGlyphGenerator object procures characters for glyph generation. (required)

- (NSAttributedString *)attributedString
Return Value

The receiver’s text storage object.

Availability
  • Available in OS X v10.3 and later.
Declared In
NSGlyphGenerator.h

insertGlyphs:length:forStartingGlyphAtIndex:characterIndex:

Inserts the given glyphs into the glyph cache and maps them to the specified characters. (required)

- (void)insertGlyphs:(const NSGlyph *)glyphs length:(NSUInteger)length forStartingGlyphAtIndex:(NSUInteger)glyphIndex characterIndex:(NSUInteger)charIndex
Parameters
glyphs

The glyphs to insert.

glyphIndex

Location in the glyph cache to begin inserting glyphs.

length

Number of glyphs to insert.

charIndex

Index of first character to be mapped.

Discussion

This is a bulk insert method for the glyph cache.

Availability
  • Available in OS X v10.3 and later.
Declared In
NSGlyphGenerator.h

layoutOptions

Returns the current layout options. (required)

- (NSUInteger)layoutOptions
Return Value

The layout options as a bit mask, as defined in “Constants.”

Availability
  • Available in OS X v10.3 and later.
Declared In
NSGlyphGenerator.h

setIntAttribute:value:forGlyphAtIndex:

Sets a custom attribute value for a given glyph. (required)

- (void)setIntAttribute:(NSInteger)attributeTag value:(NSInteger)val forGlyphAtIndex:(NSUInteger)glyphIndex
Parameters
attributeTag

The custom attribute.

val

The new attribute value.

glyphIndex

Index of the glyph whose attribute is set.

Discussion

Custom attributes are glyph attributes such as NSGlyphInscription or attributes defined by subclasses. Subclasses that define their own custom attributes must override this method and provide their own storage for the attribute values. Nonnegative tags are reserved; you can define your own attributes with negative tags and set values using this method.

Availability
  • Available in OS X v10.3 and later.
Declared In
NSGlyphGenerator.h

Constants

Layout Options

These constants describe layout options returned as a bit mask by the layoutOptions method.

enum {
   NSShowControlGlyphs = (1 << 0),
   NSShowInvisibleGlyphs = (1 << 1),
   NSWantsBidiLevels = (1 << 2)
};
Constants
NSShowControlGlyphs

Generates displayable glyphs for control characters.

Available in OS X v10.3 and later.

Declared in NSGlyphGenerator.h.

NSShowInvisibleGlyphs

Generates displayable glyphs for invisible characters.

Available in OS X v10.3 and later.

Declared in NSGlyphGenerator.h.

NSWantsBidiLevels

Generates directional formatting codes for bidirectional text.

Available in OS X v10.3 and later.

Declared in NSGlyphGenerator.h.

Declared In
NSGlyphGenerator.h