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.