Native rich-text line height
The bounded XHTML profile applies inline line-height declarations and optional font shorthand slash values to real paragraph line boxes, wrapped physical lines and saved field appearances
<p style="font-size:24pt;line-height:3">First<br />Second</p>
<p style="font:bold 24pt/48pt Sans">First<br />Second</p>
A nonnegative number is a factor inherited as a factor; lengths and percentages compute to point lengths before inheritance, using the final cascaded font size of the declaring element
Supported units are pt, px at 96 dpi, pc, in, cm, mm, em and percent; normal uses the supplied face metrics and the appearance LineSpacing setting, and inherit restores the enclosing computed value
Line height has its own declaration order and important priority; a valid font shorthand resets an omitted height to normal while respecting independently important components
Real face ascenders and descenders determine half-leading, including negative half-leading and zero requested heights; each line combines the greatest extent above and below its common baseline across the paragraph strut and all participating styled pieces
Different fonts can therefore produce a line box larger than the requested height; a larger strut does not always contain a differently sized inline box because their centers relative to the baseline differ
The decoder retains a metric-only empty run for an explicit p or div line box and for an inline-only body; a legacy parent whose child activates line-height layout contributes its own normal strut
The supplied parent face and style must have valid metrics even when they paint no text; enabled supplied-family fallback can choose an available declared or supplied face for that strut, and every admitted face counts toward aggregate font budgets
Typed runs retain their authored values and precision; the shared preparation function produces a separate layout sequence for appearance generation, RV serialization and font planning
RV stores percentages and em heights as computed point lengths and preserves unitless factors; plain V excludes struts, and paragraph boundaries retain carriage returns
FontSize zero enables bounded rich auto-fit: font sizes and absolute point heights scale together while factors remain factors, actual supplied glyph ink and decoration strokes participate in vertical fitting, and the original authored RV remains unchanged
Omitted line-height values use the legacy layout until a paragraph activates this profile; general CSS block layout, small caps, font stretch and browser font discovery remain outside the supported subset
The public Pascal run record layout adds height and strut fields; rebuild Delphi, FPC and C++Builder consumers with matching library units and generated headers, while the versioned C callback layouts remain unchanged
Native typed fields and rich FDF/XFDF use this profile; typed JSON line-height members are also bound through Windows file jobs and callback operations and the native Linux callback API
Run letter and word spacing · Run record · Height kinds · Font shorthand
Finite numeric math extends supported height values with calc, min, max, clamp, q, rem and explicit viewport units, computing lengths and percentages against the final cascaded font before inheritance