Table of Contents

Namespace KernSmith.Rasterizer

Classes

BoldPostProcessor

Thickens glyph bitmaps using morphological dilation with a circular kernel. Works as a fallback for rasterizers that don't support outline-level bold transforms.

GradientPostProcessor

Applies a two-color linear gradient across each glyph at a configurable angle. Converts grayscale glyphs to RGBA.

HeightStretchPostProcessor

Scales glyph height by a percentage. 100 = normal, 120 = 20% taller, 80 = 20% shorter.

ItalicPostProcessor

Simulates italic by applying a horizontal shear transform at the pixel level. Works as a fallback for rasterizers that don't support outline-level italic transforms.

OutlinePostProcessor

Adds a colored outline (border) around each glyph. Works with both grayscale and RGBA glyphs. The outline is anti-aliased for smooth edges.

RasterOptions

Settings for rendering characters: size, DPI, effects, and variable font axes.

RasterizedGlyph

A rasterized glyph: bitmap pixel data with positioning metrics.

RasterizerFactory

Thread-safe factory for creating rasterizer instances by backend type. Built-in backends are auto-discovered on first access via Create(RasterizerBackend), GetAvailableBackends(), or IsRegistered(RasterizerBackend). Custom backends can register manually via Register(RasterizerBackend, Func<IRasterizer>).

RasterizerFontMetrics

Font-wide metrics provided by a rasterizer backend.

ShadowPostProcessor

Adds a drop shadow behind each glyph with configurable offset, color, blur radius, and opacity.

Interfaces

IGlyphPostProcessor

Post-processes a rasterized glyph bitmap, applying effects such as outline, shadow, or gradient.

IRasterizer

Rasterizes font glyphs into bitmaps for texture atlas packing.

IRasterizerCapabilities

Describes what a rasterizer backend supports.