Table of Contents

Namespace LMKit.Document.Annotations.Appearance

Classes

AnnotationAppearanceBuilder

The appearance engine of the LM-Kit annotation standard: generates every mark's visual form from its Annotation record as device-independent AppearanceElements. This is the fidelity authority - every render target (embedded document appearances, flattened content, raster canvases, vector overlays) draws EXACTLY these elements, so a mark looks identical everywhere. The geometry formulas here are normative (see ANNOTATION-STANDARD.md).

AppearanceElement

One drawing primitive of a generated annotation appearance - the device-independent output of AnnotationAppearanceBuilder that every render target consumes (document appearance streams, raster canvases, vector overlays). Coordinates follow the standard's model: unrotated content points, top-left origin; any Rotation has already been baked into the points by the builder, so consumers just draw.

AppearanceFontMetrics

Text metrics for the standard's three universal font families, used to lay out FreeText content identically on every render target. Widths are the classic metric tables of the families' canonical faces (per-mille of the font size, ASCII 32–126; other characters use the average width). Italic reuses the upright widths (exact for the sans and mono canonical faces, within a percent for serif).

AppearancePath

A path made of one or more subpaths, optionally stroked and/or filled.

AppearanceSubpath

One subpath: a start point followed by segments, optionally closed.

AppearanceText

A block of laid-out text lines (FreeText body).

AppearanceTextLine

One laid-out text line: content and the baseline origin of its first glyph.

Structs

AppearanceSegment

One segment of a subpath: a straight line, or a cubic Bézier when the control points are set (quadratic sources are exact-converted to cubic at build time, so every consumer handles one curve form).

Share