The outline of one glyph in glyph space, as the path type content stream paths use: a reusable buffer of PathVerbs and PathPoints that a FontProgram fills and Path views.
public sealed class GlyphOutline
ISO 32000-2 §9.2.4 (glyph space) and §8.5.2. Coordinates are in the program's glyph space units (font units for TrueType, mapped to text space by FontMatrix). TrueType outlines use QuadTo; CFF and Type 1 outlines use CubicTo. Every contour starts with MoveTo and ends with Close. Glyph outlines are filled with the nonzero winding number rule.
One instance is meant to be reused for many glyphs: GetOutline(Int32, GlyphOutline) clears it first, and the buffers grow to the largest glyph and stay, so extracting outlines allocates nothing once warm. Not thread-safe: use one per thread.
kind:method, kind:property, kind:ctor. Press Esc to clear.IsEmptyGets a value indicating whether the outline has no segments.PathGets the outline as a path view over the buffers; valid until the outline is next changed.Clear()Removes every segment, keeping the buffers.Close()Closes the current contour with a straight line back to its first point.CubicTo(Double, Double, Double, Double, Double, Double)Adds a cubic Bézier curve from the current point (CFF and Type 1 outlines).LineTo(Double, Double)Adds a straight line from the current point.MoveTo(Double, Double)Begins a contour at a point.QuadTo(Double, Double, Double, Double)Adds a quadratic Bézier curve from the current point (TrueType outlines).