Named Rich Text Font Families
Native rich fields can combine as many as sixteen supplied Unicode TrueType font families, each with regular, bold, italic and bold-italic programs; each selected run uses its actual font bytes, glyph mapping, width, baseline and mark geometry
Configure THPDFHeadlessRichTextFontFamilies, assign each run's FontFamily label, and call SetRichTextFieldValueWithFamilies; an empty run label picks the first configured family
For XHTML, set FontFamilyNames and the default run family before decoding; quoted or unquoted comma-separated font-family lists select the first configured label, inherit restores the enclosing family, and valid important declarations keep their priority
A valid list containing no configured label selects the first configured family; a malformed declaration leaves the prior value unchanged; matching folds ASCII letters and preserves other Unicode characters verbatim
Labels hold at most 128 UTF-16 code units, with no surrounding whitespace, controls, unpaired surrogates, quotes, backslashes, commas or semicolons; this bounded profile implements neither CSS escapes nor implicit system-font discovery
The pure family appearance builder embeds only selected styles and applies aggregate font, glyph, object, byte and cancellation budgets; missing selected fonts and unknown explicit run labels fail before any document changes are committed
Family-aware form import applies the same selection to real FDF RV and XFDF value-richtext, preserves existing field and signature policies, and compares canonical named rich values to detect semantic no-ops
The existing single-family APIs and default decoder profile retain their signatures and behaviour; programs using regenerated Pascal or C++Builder headers must rebuild when adopting the expanded managed run and option records; the external V1 C ABI records remain unchanged
Native Linux named-family JSON and versioned C ABI selection is available via the Linux family binding; Windows FDF and XFDF jobs accept nested family/style file paths or existing V1 font callbacks through Windows form-data exchange
Opt-in supplied-family grapheme fallback selects actual candidate family/style programs through the native APIs; Linux JSON fallback resolves the required configured candidate programs ahead of preparing the same appearance
Arbitrary CSS escapes, implicit system aliases, external style sheets, general CSS layout, Windows typed-rich job selection and Windows callback fallback loading are still active work
Acceptance
Six native compiler targets pass 168 assertions and 1327 independent checks across 36 actual saved PDFs per target, including eight real font programs, mixed-family advances, Unicode labels, inherited priority, FDF/XFDF import, AES R5/R6 security, rollback and initial or late cancellation
Fresh C++Builder headers compile the new family records, builders and document methods on both architectures; both versioned Linux shared libraries pass the existing four-font callbacks and independent output checks once rebuilt with the new internal records