A
GlyphVector
object is a collection of glyphs containing geometric information for the placement of each glyph in a transformed coordinate space which corresponds to the device on which the
GlyphVector
is ultimately displayed.
The GlyphVector
does not attempt any interpretation of the sequence of glyphs it contains. Relationships between adjacent glyphs in sequence are solely used to determine the placement of the glyphs in the visual coordinate space.
Instances of GlyphVector
are created by a Font
.
In a text processing application that can cache intermediate representations of text, creation and subsequent caching of a GlyphVector
for use during rendering is the fastest method to present the visual representation of characters to a user.
A GlyphVector
is associated with exactly one Font
, and can provide data useful only in relation to this Font
. In addition, metrics obtained from a GlyphVector
are not generally geometrically scalable since the pixelization and spacing are dependent on grid-fitting algorithms within a Font
. To facilitate accurate measurement of a GlyphVector
and its component glyphs, you must specify a scaling transform, anti-alias mode, and fractional metrics mode when creating the GlyphVector
. These characteristics can be derived from the destination device.
For each glyph in the GlyphVector
, you can obtain:
- the position of the glyph
- the transform associated with the glyph
- the metrics of the glyph in the context of the
GlyphVector
. The metrics of the glyph may be different under different transforms, application specified rendering hints, and the specific instance of the glyph within the GlyphVector
.
Altering the data used to create the GlyphVector
does not alter the state of the GlyphVector
.
Methods are provided to adjust the positions of the glyphs within the GlyphVector
. These methods are most appropriate for applications that are performing justification operations for the presentation of the glyphs.
Methods are provided to transform individual glyphs within the GlyphVector
. These methods are primarily useful for special effects.
Methods are provided to return both the visual, logical, and pixel bounds of the entire GlyphVector
or of individual glyphs within the GlyphVector
.
Methods are provided to return a Shape
for the GlyphVector
, and for individual glyphs within the GlyphVector
.