DWRITE_GLYPH_RUN structure

Contains the information needed by renderers to draw glyph runs. All coordinates are in device independent pixels (DIPs).

Syntax

struct DWRITE_GLYPH_RUN {
  IDWriteFontFace           *fontFace;
  FLOAT                     fontEmSize;
  UINT32                    glyphCount;
  UINT16 const              *glyphIndices;
  FLOAT const               *glyphAdvances;
  DWRITE_GLYPH_OFFSET const *glyphOffsets;
  BOOL                      isSideways;
  UINT32                    bidiLevel;
};

Members

fontFace

Type: IDWriteFontFace*

The physical font face object to draw with.

fontEmSize

Type: FLOAT

The logical size of the font in DIPs (equals 1/96 inch), not points.

glyphCount

Type: UINT32

The number of glyphs in the glyph run.

glyphIndices

Type: const UINT16*

A pointer to an array of indices to render for the glyph run.

glyphAdvances

Type: const FLOAT*

A pointer to an array containing glyph advance widths for the glyph run.

glyphOffsets

Type: const DWRITE_GLYPH_OFFSET*

A pointer to an array containing glyph offsets for the glyph run.

isSideways

Type: BOOL

If true, specifies that glyphs are rotated 90 degrees to the left and vertical metrics are used. Vertical writing is achieved by specifying isSideways = true and rotating the entire run 90 degrees to the right via a rotate transform.

bidiLevel

Type: UINT32

The implicit resolved bidi level of the run. Odd levels indicate right-to-left languages like Hebrew and Arabic, while even levels indicate left-to-right languages like English and Japanese (when written horizontally). For right-to-left languages, the text origin is on the right, and text should be drawn to the left.

Requirements