Draws a run of glyphs: fills and strokes their outlines as the run's rendering mode says.
void DrawGlyphs(in GlyphRun run)
The glyphs, their font program and outlines, and the colours and line parameters they are painted with. Each glyph maps from glyph space to user space through GetGlyphTransform(Int32), then through the current transform.
ISO 32000-2 §9.4.3 (Tj, TJ, ', "), §9.3.6 (text rendering mode, Table 104) and §9.2.4 (glyph
outlines, filled by the non-zero winding rule). Glyphs whose run neither fills nor strokes (mode 3, invisible text) paint
nothing; they reach the backend so that a backend collecting positions (hit-testing) sees them. Text in clipping modes 4 to 7
paints like modes 0 to 3; its contribution to the clip is not in the list yet. Type 3 glyphs (§9.6.4) never come
through this call: each glyph's description reaches the backend as the transforms, paths, clips and image masks it paints.
A backend may draw the glyphs natively from Program and the glyph ids, or from the interned outlines (GetOutline(Int32)); a render option to force outlines makes every backend's output comparable. A glyph that is both filled and stroked is filled, then stroked, before the next glyph is painted.